The focus of my research is in design, development, implementation and performance analysis of parallel algorithms on high performance computers (HPC). While the performance of the computers is doubling every eighteen months, the bridge to map problems onto modern computer architectures is lagging far behind. I investigate parallel algorithm design and development for challenging irregular computations underlying these problems with the aim of integrating theory and practice. To this effect, I had studied many real world applications on HPC. My book (Irregular Computations on fine-grain multithreaded architecture, Parallel Algorithms and Architecture, Lambert Publishing Company), provides a comprehensive analysis of multithreaded algorithms for irregular computations.

Due to the ever changing technological advances, it is important to advance my knowledge in my field of research. In parallel computing, I have moved my research to consider futuristic architectures and their impact on the applications and algorithm design.

Over the past few years, my research has focused on hybrid heterogeneous multi-core architectures (CPUs with accelerators or co-processors). Mapping algorithms for irregular problems onto these platforms remains a fundamental challenge in parallel computing. Moreover, parallel algorithms developed for traditional homogeneous platforms using current parallel programming languages and technologies are unsuitable for these architectures. Therefore, to achieve greater performance, new algorithms have to be designed or existing algorithms have to be adapted to suit the newly evolving architectures.This calls for innovative approaches for parallel algorithm design targeted for these special architectures. Also, the traditional performance metrics no longer apply to these new architectures since these metrics do not capture the hardware characteristics of these machines. Therefore, performance analysis is an important issue in modern day HPCs. To this effect, we have proposed a performance prediction model for heterogeneous multi-core architectures.

Since complex problems can no longer be solved using standard algorithms, we need to look into other fields, in my case, I have tried to obtain inspiration from nature. Swarm intelligence is a computational intelligence technique that involves collective behavior of autonomous agents that locally interact with each other in a distributed environment to solve a given problem in the hope of finding a global solution to the problem. I apply these techniques to solve issues in complex, dynamic problems.

My area of research spans not only to HPC but to distributed computing :w platforms such as Cloud and mobile and vehicular ad hoc networks.