My research interests lie in the area of high-performance parallel and distributed computing systems, parallel programming tools and software optimization.

Past projects

Topology-aware Collective Communication Algorithms

Topology-aware collective communication algorithms for hierarchical multi-core clusters are developed. Algorithms based on dynamic multilevel graph partitioning. This approach is implemented in TopoMPI library.

Topology-aware Task Mapping

A set of heuristic algorithms for mapping parallel MPI tasks into hierarchical computer clusters are proposed. Algorithms are based on different approaches (greedy graph traversal, multilevel recursive graph bipartitioning with refiniment by FM/KL heuristics).

Benchmarking MPI implementations

I have developed MPIPerf tool for benchmarking MPI implemenmtations. It covers mainly collective operations and supports MPI 3.0 non-blocking collectives. This tool implements window-based approach for measuring execution time of MPI operations.

Job Scheduling and Load Balancing

I am also interested in job scheduling and load-balancing problems. In collaboration with Alexey Paznikov, we have developed and investigate greedy decentralized job scheduling algorithms for computational Grids. Algorithms are implemented in GBroker.

Multi-cluster computer systems

We have designed multi-cluster computer system for our research experiments.