Virginia Tech Team Using AI for Supercomputer Load Balancing

Print Friendly, PDF & Email

The Virginia Tech team will present its research in Rio de Janeiro, Brazil, at the 33rd International Parallel and Distributed Processing Symposium in May.

A team of researchers from Virginia Tech is helping supercomputers to work more efficiently in a novel way, using machine learning to properly distribute, or load balance, data processing tasks across the thousands of servers that comprise a supercomputer. By incorporating machine learning to predict not only tasks but types of tasks, researchers found that load on various servers can be kept balanced throughout the entire system.

Current data management systems in supercomputing rely on approaches that assign tasks in a round-robin manner to servers without regard to the kind of task or amount of data it will burden the server with. When load on servers is not balanced, systems get bogged down by stragglers, and performance is severely degraded.

In order to implement a system to use machine learning, the team built a novel end-to-end control plane that combined the application-centric strengths of client-side approaches with the system-centric strengths of server-side approaches.

This study was a giant leap in managing supercomputing systems. What we’ve done has given supercomputing a performance boost and proven these systems can be managed smartly in a cost-effective way through machine learning,” said Bharti Wadhwa, first author on the paper and a Ph.D. candidate in the Department of Computer Science. “We have given users the capability of designing systems without incurring a lot of cost.”

The novel technique gave the team the ability to have “eyes” to monitor the system and allowed the data storage system to learn and predict when larger loads might be coming down the pike or when the load became too great for one server. The system also provided real-time information in an application-agnostic way, creating a global view of what was happening in the system.

Previously servers couldn’t learn and software applications weren’t nimble enough to be customized without major redesign.

The algorithm predicted the future requests of applications via a time-series model,” said Arnab K. Paul, second author and Ph.D. candidate also in the Department of Computer Science. “This ability to learn from data gave us a unique opportunity to see how we could place future requests in a load balanced manner.”

The end-to-end system also allowed an unprecedented ability for users to benefit from the load balanced setup without changing the source code. In current traditional supercomputer systems this is a costly procedure as it requires the foundation of the application code to be altered

It was a privilege to contribute to the field of supercomputing with this team,” said Sarah Neuwirth, a postdoctoral researcher from the University of Heidelberg’s Institute of Computer Engineering. “For supercomputing to evolve and meet the challenges of a 21st-century society, we will need to lead international efforts such as this. My own work with commonly used supercomputing systems benefited greatly from this project.”

The end-to-end control plane consisted of storage servers posting their usage information to the metadata server. An autoregressive integrated moving average time series model was used to predict future requests with approximately 99 percent accuracy and were sent to the metadata server in order to map to storage servers using minimum-cost maximum-flow graph algorithm.

Sign up for our insideHPC Newsletter