Scientists and engineers often have to run massive computer programs with vast amounts of data for projects like modeling the earth’s climate and weather, understanding infectious diseases or sequencing DNA.
They run complex computer programs on powerful supercomputers that can perform thousands of trillions of operations per second. But the programs are often not designed to optimally run on these computers, so programmers end up wasting valuable time and resources.
Jana Doppa and Ananth Kalyanaraman, faculty in the School of Electrical Engineering and Computer Science have recently received a nearly $500,000 National Science Foundation grant to use machine learning to make such state-of-the-art simulations and cyberinfrastructure more efficient and sustainable. The researchers aim to direct supercomputers to automatically find the most efficient ways to run large programs, reducing the burden on resources and on the programmers.
“For the first time ever, we will develop and apply machine learning techniques to systematically explore what kind of designs are possible,” said Doppa.
Just as a chess player gets better by learning from previous games, the team’s machine learning algorithms will learn from each previous execution of the program in order to better itself.
“Depending on the feedback, the system will update the program or its execution on the target computing platform,” said Doppa.
The research will help programmers more easily create and run effective computer programs to tackle cutting-edge problems in science and engineering, making development and deployment of those applications more sustainable in the process.
“Our approach will automatically learn how to make design decisions to optimize the criteria, like performance or precision, that a programmer chooses,” Kalyanaraman said.
“It will combine algorithm abstractions, programming tools, and machine learning techniques to make cyberinfrastructure applications adapt easily to the problem at hand, instead of being rigid,” Kalyanaraman added.
As part of the grant, the team will work with researchers from Pacific Northwest National Laboratory to broaden research impact, and also develop teaching modules for adoption into undergraduate and graduate classes in parallel algorithms and machine learning.