Hardware Acceleration Of Irregular Applications Using Event-Driven Execution