Massively parallel computations are gaining more and more importance in the computing world, due to hardware evolution and the staggering amounts of data produced and consumed by the ever-present software fabric in our daily lives.
To keep up with all of this we constantly need more performing distributed algorithms; one of the main paradigms for modelling such problems is MPC, designed to capture the essence of frameworks widely used in the industry, such as MapReduce, Hadoop and Spark.
This thesis explores – employing Triton, Aalto’s supercomputing cluster – the practical performance of some state-of-the-art, MPC-based algorithms for computing the connected components of undirected graphs, by benchmarking several of their implementations against each other on different graph sizes and topologies and providing insights on implementation challenges and theoretical complexity vs. practical performance.