The use of the term “computer” to mean “calculating machine” dates back to 1897, according to The Oxford English Dictionary, Second Edition. One-hundred and fifteen years later, we’re on the verge of not only exascale calculating machines, but a new era in health care: personalized medicine. This emerging field in which health care decisions and practices are customized to the individual patient using genetic information rests on decades of scientific achievement. And just as advances in digital technology continue to bring HPC into the mainstream, advances in computer science and genomics are democratizing medical care.
One of the key enablers behind both of these trends is cloud computing, a way of delivering computing that relies on economies of scale. Making supercomputing accessible to a new class of user is the purview of utility supercomputing vendor Cycle Computing. In the weeks running up to SC11, Cycle CEO Jason Stowe introduced the Big Science Challenge to demonstrate the capabilities of on-demand supercomputing. What if researchers could have access to virtually unlimited resources, Stowe asked, what kinds of big science questions could they answer?
While the big labs and well-funded researchers from academia and industry very often have access to the largest clusters, there are countless smaller researchers who are relegated to relying on much smaller machines, multicore workstations if they’re lucky, or even generic desktop systems if they’re not. These types of users probably can’t afford a million dollar supercomputer, but what if they could rent such a system, even for a few hours? That is exactly the kind of proposition that Cycle Computing is offering.
In April, Cycle announced the creation of a 50,000 core mega-cluster on behalf of computational chemistry outfit Schrödinger. What would have cost $20-30 million to build from scratch was provisioned using the Amazon EC2 system for $4,828.85 per hour, and Schrödinger researchers were able to analyze 21 million drug compounds in just 3 hours.
Just last week another compelling HPC cloud use case came out of the Cycle-Amazon camp involving Victor Ruotti, a computational biologist with the Morgridge Institute for Research and winner of Cycle’s Big Science Challenge. In March, Ruotti was selected as the recipient of a $10,000 award from Cycle Computing. (Amazon initially promised an additional $2,500, but later upped its share to $9,500.) What appealed to the BigScience Challenge judges including CEO Stowe was the innovative aspect of the work and the potential to benefit humanity with potential disease treatments.
Ruotti is using the computational time to create a knowledgebase indexing system for stem cells and their derivatives. In this era of next-generation sequencing and personalized medicine, stem cell-based therapies will be vital in combating a multitude of diseases, but the pertinent information first needs to be organized into an accessible format – and this is precisely what Ruotti is working toward. When we spoke with Ruotti last week, he was still transferring the results of the run and preparing to build the database.
Ruotti’s Run – Basic Metrics
Using spot instances and some creative thinking, Cycle engineers were able to transform the monetary award into nearly 115 compute years, enabling 11,955 pairs of samples to be processed in one week. The total run cost $19,555, which works out to $0.0175 per core-hour or $116/hr. The project used 5,000 cores on average, 8,000 cores at peak, and accessed 78TB of storage in the Amazon cloud. Cycle noted an equivalent cluster comprised of 400 servers would cost nearly $2,000,000 to purchase outright – 100 times more than the AWS approach, not including the cost of storage.
To arrive at the number of compute years, take the total number of compute hours (1,003,404) and divide by the hours in one compute year (8,760 hours), which comes out to 114.54 years. In earth years, this would mean starting the calculation on a single-core server in 1897 in order to finish in 2012. 1897 just so happens to be the year that the term computer, as an electric-computation device, was first used.
“If you look at it that way, we could have started this calculation on a single-core server back in 1897,” remarked Stowe, “ran it through the entirety of the 20-century, from jazz of the roaring 20s, through the depression to the space race and the cold war and disco in the 80s and grudge and techno, all the way to Gangnam style, and finishing this year.”
Ruotti’s Run – Additional Information
Everyone on the project wanted to get the most out of the award dollars so the Cycle engineers considered the problem carefully. By employing Amazon’s spot pricing, the budget stretched to accommodate 114.5 years of computation, whereas the same money put toward on-demand instances would have generated just nine years of compute. The spot instance approach extracted nearly 13 times more computing from the award spend; however, there was a catch, as Ian Alderman, Cycle’s senior software engineer, explained: “If we bid, say, 15 cents, and the market for the server is 14 cents, we pay 14 cents, but if the market crosses 15 cents and goes up to 16 cents, then we lose the server and the job is interrupted.”
So the engineers needed to optimize the workflow to run on spots, while not allowing the interruptions to impact the workloads. This necessitated breaking the job into small components and being able to restart workloads as close to where they left off as possible. To provision the large number of instances, the team used schedulers, such as GridEngine, HTCondor, and Torque, and configured the cluster with Opscode Chef.
Compared to the 50,000 core use case, this job was about efficiency, said Stowe. Making the most of the compute-hours and supporting interruptions were key goals. Another aspect that was different was that instead of dealing with molecular data, this project processed genomic data. At its peak, the current project used 78 TB of data, bumping it into big data territory.
When I asked Stowe if it was fair to draw conclusions about utility supercomputing based on embarrassingly parallel workloads, he noted that more and more science workloads that were once rigid in their parallelism are now “pleasantly-parallel,” especially when it comes to the analysis phase. This enables researchers to achieve scale without the need for expensive high-speed interconnects and allows more options in how you run the computation (public cloud, private cloud, hybrid model, etc.). There’s a shift going on and genomics is a prime example, said Stowe. The massive amount of data coming off of instruments is inherently data-parallel and well-suited for high-throughput use cases.
Ruotti, for his part, was eager to cover the merits of the project, and noted how the Amazon-Cycle run generated enough data to build a useful resource that will in turn support future genomics work.
He explained how he and his colleagues at Morgridge Institute have established a large collection of genetic samples, including human embryonic cells and cells that are in the process of differentiating into other cell types. Out of about 800 samples that they’ve accumulated, they selected 124 samples for this project. Normally they would analyze the samples one by one depending on the needs of a given project, but the basis for this project is to run the comparison in an n-squared algorithm. Doing analysis on these 124×124 sample pairs, then gathering and recording information on which pairs are closer and farther apart.
The goal is to eventually build an inventory of every cell type they have in the lab. To begin with, this will allow them to cluster all the samples, but Ruotti notes an equally important benefit. The differentiating process is not linear, meaning that there are a lot of pathways a given cell can go into. The more information they have on the probabilities and ramifications of the different types of cell divergence, the more control they will be able to exert on the process of turning embryonic cells into desired cell types. So far they have developed some good protocols for transforming the embryonic cells into neural cells, hepatic cells and muscle cells, but there are still a lot of unanswered questions regarding the process.
Right now, the group at Morgridge is focused on building a useful resource with the data that they have, and the hope is that as they get more samples, they will be able to keep adding to the inventory in a streamlined way. And while Ruotti characterized the current stage as proof-of-concept, that did not get in the way of his enthusiasm or forward-thinking aspirations. He noted that there are other repositories of raw data such as the SCOR database, and perhaps these could be added to the inventory as well. He is confident that as more and more labs will start doing large genomics runs, they too will need a resource for querying samples.
As exciting as these first steps are, they open up the door to even more ground-breaking science and discovery, Ruotti remarked. “The field of next-generation sequencing is growing at an exponential rate,” he added, “We’re only going to get more data as the companies push the boundary on longer reads and more samples per run.”
The indexing system will provide a way for scientists to obtain information on the most current genes being looked at for their potential for treatments and cures. There are some resources out there currently, Ruotti noted, but they are not up-to-date as far as the latest next-generation sequencing and in terms of RNA, so his group hopes that the new system will provide the best way for scientists to query for their favorite genes.
As for in-house resources, the Morgridge Institute currently has a sequencer from Illumina, a 40-core Sun Grid Engine cluster. While considered a large cluster several years ago, it’s now one of their smaller resources. Although it’s generally sufficient for extracting information from one experiment, the process takes a few hours, and when there are multiple samples, this cluster becomes a bottleneck, Ruotti said. Public cloud resources, like the Cycle/Amazon solution, are also on their radar. The Morgridge Institute is in talks with the Condor Project to discuss ways to supplement their current resources with public cloud.
On the subject of using owned and rented computing resources in a complementary way, Stowe discussed some IP they’ve developed called Cement-Once. This is basically a cloud-bursting mechanism that takes advantage of as much internal capacity as possible, and when needed will provision additional resources externally.
“We definitely think there are large portions of our customer base that have internal HPC and potentially want to be able to run large compute both internally and externally when it’s appropriate, so we’ve done a considerable amount of work in enabling that area,” Stowe remarked. “We see that across multiple portions of our customer base. Internal environments are too small when you need them the most and too large every other time. Cloud has the potential to balance these imbalances.”
With the final bits from the 2011 contest still streaming in, Cycle Computing is keeping the momentum going with the announcement of a second annual BigScience Challenge. Interested applicants are asked to complete an entry explaining who they are and what big question they want to answer. Any and all researchers are invited to apply, but the focus for the contest is on big data and big compute problems and their big benefits to humanity.