I am a fourth year Ph.D. student in the Department of Electronics and Information Systems at Ghent University in Belgium. I am pursuing my degree under the supervision of Lieven Eeckhout. Before moving to Ghent in 2012, I spent two years as an Early Stage Researcher at the Foundation of Research and Technology (FORTH) in Heraklion, Greece. My research at FORTH was funded by an EU Marie Curie fellowship. I got my M.S. in Electrical and Computer Engineering at the University of Illinois at Urbana Champaign in 2009. I was a recipient of the J. William Fulbright scholarship from the U.S. Department of State. Before all the foreign travels, I got my B.Sc. in Electrical Engineering in 2006 from the University of Engineering and Technology in Lahore, Pakistan.

I am planning to defend my thesis at the end of 2016. I am currently exploring job opportunities in Europe and abroad.


Generally, I am interested in computer architecture, performance analysis, and run-time scheduling. The overreaching goal of my current research is to uncover opportunities to make software systems run more efficiently on modern hardware. I am particulary interested in breaking the boundaries between different layers of the computing stack - the user application, the runtime environment including the OS, and the core microarchitecture - to cooperatively improve performance and increase efficiency. I use a combination of tools in my research for a deeper understanding of an application's behavior and how it interacts with the underlying hardware, including analytical modeling, workload characterization and novel metrics. For more details, take a look at my past and current projects, or look at the list of my publications.



The focus of my Ph.D. research is to enable energy-efficient execution of managed language applications on modern multicore hardware. My new contributions include:
  1. A scheduling framework for energy-efficient execution of managed language applications on heterogeneous multicore processors. My proposed scheduler leverages the JVM to communicate GC criticality information to the OS. The OS adjusts the GC's share of big core cycles to prevent it from becoming critical in future, and halting the application due to lack of memory. Extensive evaluations show that cooperatively adjusting the speed of collection increases the performance and efficiency of managed applications.
  2. An analytical model to estimate the performance impact of DVFS for managed multithreaded applications. My proposed predictor takes into account synchronization, inter-thread dependencies, and store bursts, which frequently occur in managed applications. Different case studies using the proposed predictor as part of an energy manager demonstrate substantial energy savings for managed applications running on multicore hardware.
WebPage Visits