Irfan Uddin

  “ It is not enough to just do your
best or work hard. You must know
what to work on. ”
  W. Edwards Deming
Teaching    |   Publications    |   Contact Me

My research in a nutshell

Moore's law is doubling the number of transistors every second year on a single chip of silicon, which is predicted to be continued for the next decade. We computer architects have consensus, that in order to increase the performance on the chip, a large number of transistors are required. However, it is not yet clear how to use these transistors to improve performance. Many-cores systems seems to be a promising approach. We, in a group, are targeting future general-purpose many-cores computers, to promote that not only threads should be in hardware, but also the concurrency management should be in hardware to achieve the maximum possible performance with less power consumption.

Design space exploration is required for these complex systems on chip. While high-level simulations are most commonly used in embedded systems, for design space exploration but it is a relatively new research direction to use high-level simulation for general-purpose computers. My research work has investigated different high-level simulation techniques to provide framework for the design space exploration of the future many-cores systems. These simulations aim for short development time, less complexity, high simulation speed and reasonable accuracy.

That is the hardware part. But Wirth's law states that "Software is becoming bigger and slower much more rapidly than hardware is getting faster". Researchers are working in order to achieve maximum possible performance in executing large/big software. Parallel/distributed programming techniques seem to be promising models to achieve the maximum possible utilization of existing multi-cores or future many-cores systems. But these models become very inefficient when locks are involved, difficult to debug and not so easy for programmer. We, in a group, are working in high-level, lock-less, parallel and distributed programming models for multi-cores many-cores systems. The main focus is to provide a high-level programming interface by avoiding locks to achieve efficiency and increase the productivity of the programmer. My research is focused more on the distributed high-level programming models for multi-core and many-cores systems and in the future will include GPGPU techniques. My research also includes large scale distributed systems.

Keywords of my research Interests
  • Concurrenct systems, many-cores systems, distributed programming, parallel programming, architectural simulations, high-level simulations, design space exploration and high-level abstractions in parallel/distributed programming.