Rosetta@Home, a distributed computing project on the Berkeley Open Infrastructure for Networked Computing (BOINC) platform, can now take advantage of low-power Arm-based processors in smartphones, single-board computers, and servers across the globe — and in doing so crunch numbers that could lead to a cure for COVID-19.
Distributed computing projects, like the since-shuttered SETI@Home and now-exascale Folding@Home, work by running scientific computing tasks on computers across the world while they would otherwise be idle - creating a large distributed cluster offering incredible performance. The majority of projects, however, focus on x86 server and desktop environments — and, until recently, that was the case for the Rosetta@Home project, which has shifted its focus to folding proteins in the search for a COVID-19 cure. Those running alternative architectures, including Arm, had no way to contribute to the effort.
"Neocortix software architects Michael Coffey and Dmitry Moskalchuk quickly found that neither Folding@Home or Rosetta@Home could run on Arm devices, because no Linux-on-Arm build was provided by those projects," explains Neocortix chief executive Lloyd Watts. "At about the same time, David Tischler at Mininodes was independently investigating, and came to the same conclusion."
After getting in touch with Arm's Rex St. John, the team at Neocortix and Mininodes — both of whom use Arm architecture servers in their platforms — were able to raise the Rosetta@Home maintainers. "Brian Koepnick and David Kim at Rosetta responded with a link to the Rosetta source code repository," Watts explains, "and guidance about how we could contribute changes to it without being official Rosetta team
"On March 20, 2020, after several days of intense work, Dmitry completed the aarch64 build of the minirosetta executable, as would be needed to run Rosetta@Home in the BOINC framework. He tested it using an Arm64 emulator running on his x86_64 machine. Dmitry provided his source code patches and instructions on how to build minirosetta and run the unit tests to the Rosetta team and the extended developer group. David Kim immediately began verifying the new patches, cross-building the aarch64 application, and preparing for testing."
The tests proved successful: The modified Rosetta@Home application ran perfectly on Arm aarch64 platforms, including many-core servers built on AMD's Seattle processors, a Samsung Galaxy Note 9 smartphone, and a Raspberry Pi 4 Model B single-board computer.
"Neocortix is now working to deploy Rosetta@Home on our existing base of 3,000 devices," adds Watts. "Once we have characterised performance at that scale, we will begin work on activating the 42,000 devices on our global Waiting List. Soon, we will be contributing some real computing power to the Rosetta@Home project for coronavirus research!"
The same team is now preparing to port Folding@Home, an alternative distributed computing project which is also prioritising research into the SARS-CoV-2 virus and the COVID-19 disease it causes, to aarch64 as soon as access to the source code is available.