JAMPI: efficient matrix multiplication in Spark using Barrier Execution Mode

The new barrier mode in Apache Spark allows embedding distributed deep\nlearning training as a Spark stage to simplify the distributed training\nworkflow. In Spark, a task in a stage does not depend on any other tasks in the\nsame stage, and hence it can be scheduled independently. However, several\nalgorithms require more sophisticated inter-task communications, similar to the\nMPI paradigm. By combining distributed message passing (using asynchronous\nnetwork IO), OpenJDK's new auto-vectorization and Spark's barrier execution\nmode, we can add non-map/reduce based algorithms, such as Cannon's distributed\nmatrix multiplication to Spark. We document an efficient distributed matrix\nmultiplication using Cannon's algorithm, which improves significantly on the\nperformance of the existing MLlib implementation. Used within a barrier task,\nthe algorithm described herein results in an up to 24 percent performance\nincrease on a 10,000x10,000 square matrix with a significantly lower memory\nfootprint. Applications of efficient matrix multiplication include, among\nothers, accelerating the training and implementation of deep convolutional\nneural network based workloads, and thus such efficient algorithms can play a\nground-breaking role in faster, more efficient execution of even the most\ncomplicated machine learning tasks.\n

Paper

Similar papers

© 2026 NYSGPT2525 LLC