June 25, 2019 — You don’t have to be a scientist to contribute to research projects in fields such as biomedicine, physics, astronomy, artificial intelligence, or earth sciences.
Using specialized, open-source software from the Berkeley Open Infrastructure for Network Computing project (BOINC), hundreds of thousands of home and work computers are being used for volunteer computing using consumer devices and organizational resources. For the past 17 years, with funding primarily from the National Science Foundation (NSF), BOINC is now used by 38 projects and more than a half a million computers running these projects around the world.
David Anderson, BOINC’s founder, is a research scientist at the University of California Berkeley Space Sciences Laboratory. His objective in creating BOINC was to build software to handle the details of distributed computing so that scientists wouldn’t have to.
“I wanted to create a new way of doing scientific computing as an alternative to grids, clusters, and clouds,” Anderson said. “As a software system, BOINC has been very successful. It’s evolved without too many growing pains to handle multi-core CPUs, all kinds of GPUs, virtual machines and containers, and Android mobile devices.”
The Texas Advanced Computing Center (TACC) started its own project in 2017 — [email protected] — that supports virtualized, parallel, cloud, and GPU-based applications to allow the public to help solve science problems. [email protected] is the first use of volunteer computing by a major high performance computing (HPC) center.
“We love engaging with people in the community who can become science enthusiasts and connect with TACC and generate awareness of science projects,” Arora said. “And, importantly for students and researchers, there is always an unmet demand for computing cycles. If there is a way for us to connect these two communities, we’re fulfilling a major need.”
BOINC volunteer Dick Duggan is a retired IT professional who lives in Massachusetts, and a volunteer computing enthusiast for more than a decade.
“I’m a physics nerd. Those tend to be my favorite projects,” he said. “I contribute computing cycles to many projects, including the Large Hadron Collider (LHC). LHC is doing state-of-the-art physics — they’re doing physics on the edge of what we know about the universe and are pushing that edge out.”
Joining [email protected] is simple: Sign up as volunteer, set up your device, and pick your projects.
Compute cycles on more than 1,300 computing devices have been volunteered for the [email protected] project and more than 300 devices have processed the jobs submitted using the [email protected] infrastructure. The aggregate computer power available through the CPUs on the volunteered devices is about 3.5 teraflops (or 3.5 trillion floating point operations per second).
Why [email protected]?
It’s no secret that computational resources are in great demand, and that researchers with the most demanding computational requirements require supercomputing systems. Access to the most powerful supercomputers in the world, like the resources at TACC, is important for the advancement of science in all disciplines. However, with funding limitations, there is always an unmet need for these resources.
“[email protected] helps fill a gap in what researchers and students need and what the open-science supercomputing centers can currently provide them,” Arora said.
Researchers from UT Austin; any of the 14 UT System institutions; and researchers around the country through XSEDE, the national advanced computing infrastructure in the U.S., are invited to submit science jobs to [email protected]
To help researchers with this unmet need, TACC started a collaboration with Anderson at UC Berkeley to see how the center could outsource high-throughput computing jobs to BOINC.
When a researcher is ready to submit projects through [email protected], all they need to do is log in to a TACC system and run a program from their account that will register them for [email protected], according to Arora. Thereafter, the researcher can continue running programs that will help them (1) decide whether [email protected] is the right infrastructure for running their jobs; and (2) submit the qualified high-throughput computing jobs through the command-line interface. The researchers can also submit jobs through the web interface.
Instead of the job running on Stampede2, for example, it could run on a volunteer’s home or work computer.
“Our software matches the type of resources for a job and what’s available in the community,” Arora said. “The tightly-coupled, compute-intensive, I/O-intensive, and memory-intensive applications are not appropriate for running on the [email protected] infrastructure. Therefore, such jobs are filtered out and submitted for running on Stampede2 or Lonestar5 instead of [email protected],” she clarified.
A significant number of high-throughput computing jobs are also run on TACC systems in addition to the tightly-coupled MPI jobs. These high-throughput computing jobs consist of large sets of loosely-coupled tasks, each of which can be executed independently and in parallel to other tasks. Some of these high-throughput computing jobs have modest memory and input/output needs, and do not have an expectation of a fixed turnaround time. Such jobs qualify to run on the [email protected] infrastructure.
“Volunteer computing is well-suited to this kind of workload,” Anderson said. “The idea of [email protected] is to offload these jobs to a BOINC server, freeing up the supercomputers for the tightly-coupled parallel jobs that need them.”
To start, the TACC team deployed an instance of the BOINC server on a cloud-computing platform. Next, the team developed the software for integrating BOINC with supercomputing and cloud computing platforms. During the process, the project team developed and released innovative software components that can be used by the community to support projects from a variety of domains. For example, a cloud-based shared filesystem and a framework for creating Docker images that was developed in this project can be useful for a variety of science gateway projects.
As soon as the project became operational, volunteers enthusiastically started signing up. The number of researchers using [email protected] is gradually increasing.
Carlos Redondo, a senior in Aerospace Engineering at UT Austin, is both a developer on the [email protected] project and a researcher who uses the infrastructure.
“The incentive for researchers to use volunteer computing is that they save on their project allocation,” Redondo said. “But researchers need to be mindful that the number of cores on volunteer systems are going to be small, and they don’t have the special optimization that servers at TACC have,” Redondo said.
As a student researcher, Redondo has submitted multiple computational fluid dynamics jobs through [email protected] In this field, computers are used to simulate the flow of fluids and the interaction of the fluid (liquids and gases) with surfaces. Supercomputers can achieve better solutions and are often required to solve the largest and most complex problems.
A ParaView visualization of a computational fluid dynamics job using [email protected] Simulating fluid-flow in a 2-D square cavity (hole) bounded by solid surfaces on three sides with constant velocity on the top. The results obtained were identical to those computed on Stampede2. Source: Carlos Redondo
“The results in terms of the numbers produced from the volunteer devices were exactly those expected, and also identical to those running on Stampede2,” he said.
Since jobs run whenever volunteers’ computers are available, researchers’ turnaround time is longer than that of Stampede2, according to Redondo. “Importantly, if a volunteer decides to stop a job, [email protected] will automatically safeguard the progress, protect the data, and save the results.”
TACC’s Technical Contribution to BOINC
BOINC software works out-of-the-box. What it doesn’t support is the software for directly accepting jobs from supercomputers.
“We’re integrating BOINC software with the software that is running on supercomputing devices so these two pieces can talk to each other when we have to route qualified high-throughput computing jobs from supercomputers to volunteer devices. The other piece TACC has contributed is extending BOINC to the cloud computing platforms,” Arora said.
Unlike other BOINC projects, the [email protected] infrastructure can execute jobs on Virtual Machines (VMs) running on cloud computing systems. These systems are especially useful for GPU jobs and for assuring a certain quality of service to the researchers. “If the pool of the volunteered resources goes down, we’re able to route the jobs to the cloud computing systems and meet the expectations of the researchers. This is another unique contribution of the project,” Arora said.
[email protected] is also pioneering the use of Docker to package custom-written science applications so that they can run on volunteered resources.
Furthermore, the project team is planning to collaborate with companies that may have corporate social responsibility programs for soliciting compute-cycles on their office computers or cloud computing systems.
“We have the capability to harness office desktops and laptops, and also the VMs in the cloud. We’ve demonstrated that we’re capable of routing jobs from Stampede2 to TACC’s cloud computing systems, Chameleon and Jetstream, through the [email protected] infrastructure,” Arora said.
Anderson concluded, “We hope that [email protected] will provide a success story that motivates other large scientific computing centers to use the same approach. This will benefit thousands of computational scientists and, we hope, will greatly increase the volunteer population.”
Dick Duggan expressed a common sentiment of BOINC volunteers that people want to do it for the love of science. “This is the least I can do. I may not be a scientist but I’m accomplishing something…and it’s fun to do,” Duggan said.
About [email protected]
[email protected] is funded through NSF award #1664022. The project collaborators are grateful to TACC, XSEDE, and the Science Gateway Community Institute (SGCI) for providing the resources required for implementing this project.
Source: Faith Singer-Villalobos, Texas Advanced Computing Center, The University of Texas at Austin