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.