Architecture independent parallel algorithm design and implementation, high productivity/performance cluster computing, models of parallel computation, Bulk-synchronous parallel computing, interprocessor communication network performance assessment, experimental algorithmics, graph theory and combinatorics.