After 5 1/2 years I'm finally done. More up to date information about my current activities can be found at the ECE Dept. of the University of Toronto.
Academic interviews? For whathever they are worth, here are my:
Thesis Research

My research focused on how to store and retrieve values from memory with low latency and high bandwidth. The novelty of my work stems from viewing memory not only as storage but also as a communi cation mechanism. This perspective enables the development of techniques that improve the memory system by exploiting the behavior of the communicating parties (i.e., of the dependent stores and loads).


  • Memory Dependence Prediction: memory dependences are amenable to history based prediction.
  • Dynamic Synchronization and Speculation of Memory Dependences (Squash Buffers) : expose the parallel ism hindered by unresolved memory dependences while keeping the net mis-speculation penalty low.
  • Speculative Memory Cloaking: communicate values from stores to loads prior to address calculation and disambiguation via a small and fast storage structure.
  • Speculative Memory Bypassing: take store-load dependences off the communication path converting def- store-load-use chains into def-use ones.
  • Transient Value Cache: provide the benefits of additional data cache ports with less real-estate and without impacting the latency of accessing the L1 data cache.