Z photo

Mohamed Zahran

Clinical Associate Professor 
Computer Science Department
Courant Institute of Mathematical Sciences 
NYU

Office: WWH 320  
251 Mercer street, Manhattan, NY, 10012

Main    Students    Publications    Research    Teaching

NYU logo


 

                        Research Interest 
 

My research interest is in Computer Architecture in general. As we are approaching the end of Moore's law (with Dennard scalaing already stopped) at the hardware side, and the move to parallel programming, before we are totally ready for it, we have many challenges to deal with.


Hardware/Software Interaction

How to parallelize irregular applications on heterogeneous systems? This requires not only algorithmic effort and programming work, but also making the hardware and software play well together. For instance:

  • Given specifications of a hardware system, what are the characteristics of the software that makes the best use of this hardware?
  • Given a software program, what is the best hardware to execute it and get the best performance?
  • Given both the software program and the hardware specification, how to adapt each other to get the best performance?

Architecture of Heterogeneous Systems and the road to exascale

Multicore processors become more heterogeneous: cores of different capabilities, GPUs, and recently even FPGAs. This offers many opportunities, yet present many challenges.
In this research, we try to answer the questions such as:
  • How does the memory hierarchy look like in such systems?
  • What do we do with the bandwidth wall, both off-chip and on-chip?
Exascale systems will be heterogeneous. To reach that big milestone, we have several challenges (beside the ones above):
  • What programming model do we need? and how much hardware do we expose to the programmer? 
  • How will the programming model deal with errors?
  • How will we deal with the memory wall?

Biologically-Inspired Microprocessor Design

In this high-risk and high-reward project we try to answer two questions. Can we learn
something from the way the brain stores information to design better computer memory
systems? How can we make the best use of the different properties of human memory and
machine memory?