  Finding the Eulerian circuit in graphs is a classic problem, but inadequately
explored for parallel computation. With such cycles finding use in neuroscience
and Internet of Things for large graphs, designing a distributed algorithm for
finding the Euler circuit is important. Existing parallel algorithms are
impractical for commodity clusters and Clouds. We propose a novel
partition-centric algorithm to find the Euler circuit, over large graphs
partitioned across distributed machines and executed iteratively using a Bulk
Synchronous Parallel (BSP) model. The algorithm finds partial paths and cycles
within each partition, and refines these into longer paths by recursively
merging the partitions. We describe the algorithm, analyze its complexity,
validate it on Apache Spark for large graphs, and offer experimental results.
We also identify memory bottlenecks in the algorithm and propose an enhanced
design to address it.
