Current Work

My research focuses on finding ways to better utilize multicores. As multicores become more and more common and chips host more cores, programmers will find it increasingly hard to keep all the cores busy.

Along with my research group, I am working on leveraging compiler research to develop runtime-based frameworks to allow a more complete utilisation of computing resources.

With the thread interaction project, I am trying to find ways to express threading behaviors in a way that will allow threads to be written independently of each other. I have also worked on Software Transactional Memories to allow programmers to relax the constraints of traditional STMs. The profiling project studies the behavior of applications in terms of slack to determine how best to take advantage of the soft real-time behavior of certain applications like games.

More details on each of the above projects can be found in the subsections in the menu on the left.

Past Work

I previously worked with the Trimaran compiler to develop a compiling framework for the MONARCH chip developed by Raytheon. More information on that project can be found here.