Chameleon, the NSF-funded cloud testbed co-located at the University of Chicago and the Texas Advanced Computing Center, has been operating less than one year, but has already contributed to innovative research in the areas of HPC containerization, exascale operating systems and cybersecurity to name a few. To get perspective on this purpose-built testbed and the research it is enabling, we reached out to Principal Investigator Kate Keahey with the University of Chicago Computation Institute and Co-Principal Investigator Dan Stanzione, director of the University of Texas at Austin Texas Advanced Computing Center.
“Chameleon is focused on cloud research,” said Stanzione, “how to build a better cloud – the computer science research aspects of cloud.” Computer scientists require a large-scale open cloud research platform in order to explore concepts in programmable cloud services, system design, and core technologies. Just like renting a house imposes more limits on usage than owning, so is the case for most cloud resources, but Chameleon invites experimentation down to the bare metal.
“It’s not so much a test bed – that’s a slightly confusing name – it’s a scientific instrument,” said Keahey. “Having an experimental testbed for computer science means that users are able to try out and validate their research on those resources. So they come up with a hypothesis, for example, they come up with a new research management algorithm, or a new networking algorithm, or a new approach, a new architecture for either a distributed system or an operating system or a new virtualization system or a new security approach. They come up with all sorts of interesting ideas, which are solutions to the open challenges that we have in computer science right now – and they are able to validate their research on the scientific instrument – that means that if they have a hypothesis that their new algorithm is able to solve something faster or more efficiently, they will be able to get time on the resource and run experiments that prove or disprove that hypothesis.”
What sets Chameleon apart is the level of access and reconfigurability it provides. “The type of research that computer science needs is a little bit different than the type of research that domain scientists plan on,” Keahey explained. “Domain scientists execute their codes and they don’t need to recompile the kernel. They don’t need deep and invasive access to the resource; computer scientists do. It’s a scientific instrument for computer science where computer scientists can prove or disprove hypotheses.”
Stanzione also emphasized this aspect of complete control. “Although Chameleon isn’t as big as say Stampede is here, there’s no way we would give a researcher the kind of control that we give them on Stampede that we give them on Chameleon because we’re supporting production science for so many years,” he said. “In my many years of operating large-scale HPC facilities, the one group that we consistently have to say no to are the computer science researchers because they want to make changes at a level that might impact other users on the system or make the system unstable – things we’ve just never been able to change. So Chameleon is really the first system where we can really say yes to that system software research community or CS research community that wants to make basic changes to the way the machine operates.”
The environment consists of 650 multi-core cloud nodes (~14,500 cores), 5PB of total disk space over the two sites, and a 100 Gbps connection between the sites. The current homogeneous hardware support large-scale experiments, but an upgrade is planned to add heterogeneous units allowing further experimentation with high-memory, large-disk, low-power, GPU, and coprocessor units. “Later on this year, we’re going to have GPUs for the scientists who want to experiment with accelerators. We’re going to get ARM processors for experiments in energy efficiency. We’re going to get Atoms and other sorts of interesting heterogeneous hardware,” said Keahey.
The Chameleon user base has expanded to 600 researchers conducting more than 150 projects. Chameleon allows users to configure and test different cloud architectures on a range of problems, including machine learning and adaptive operating systems, climate simulations, flood prediction and many others. A lot of these problems have a scale element to them and supporting research at multiple-scales was a key organizing principle for Chameleon.
“If you look at the interesting problems in computer science, they all have to do with scale,” commented Keahey. “There are problems with big data; there are very interesting problems about how cloud or the innovations introduced by infrastructure clouds relate to high-performance computing. For example, are we going to continue to run the high-performance computing datacenters the way we always did as batch computing type of centers or are we going to have on-demand access?”
“The price of instruments is falling and small sensors, personal devices, wearable Internet-connected devices and other Internet-of-Things elements in tandem with social media feeds are generating enormous quantities of data,” Keahey continued. “It’s not always just big data, it’s sometimes small pieces of data that get generated all the time and they accumulate, but our insight, our capability to instrument our environment now has become unprecedented and it will just continue to grow. And so the question now is what new data processing patterns it introduces, how do we interact with this highly instrumented environment? These are all interesting research questions in computer science and all of them have an element of scale.”
Most projects are using multiple nodes to several racks, but there aren’t too many using the full system, said Stanzione. He added that researchers who are accessing Chameleon have already done the single node work and are trying to show some scale up. Chameleon runs its own allocation process and interested researchers apply directly through the Chameleon web portal.
One of the Chameleon users is a student, Yuyu Zhou from the University of Pittsburg. Zhou has been comparing the performance between containers and virtualization as a prelude to doing research on this type of middle ground solution.
Zhou along with John Lange (also with the University of Pittsburgh) and Argonne computer scientists Kate Keahey and Balaji Subramaniam presented a poster at SC15 which documents how they used Chameleon to understand the applicability of virtualization (exemplified by KVM) and containerization (exemplified by Docker) technologies to HPC applications. The team used five microbenchmarks and three microapplications as test cases. The results (view the PDF poster here) show Docker performing better than KVM in most cases — often on par with bare metal. The next step for Zhou is to scale out to more nodes and investigate the root causes for the results. She also wants to understand how co-location affects performance.
“It’s a very interesting project on Chameleon and a good example of a project that really needs access to scale because in order to isolate the effects of noise, for example, you need to run on many nodes – and Zhou has been able to run on hundreds of nodes of Chameleon to validate her various hypotheses,” said Keahey.
Another interesting user story came out of a project based class at the University of Arizona that was running a code to search for exoplanets. Processing the image data to identify the unique signature of a planet requires months of time on a desktop machine. The students turned to cloud computing, which offered the option to parallelize the workflows to speed processing. They opted to use Chameleon rather than a public cloud or campus resource because of the fine-grained control it offered. Using Chameleon and a custom research appliance that they developed, called Find-R, the researchers were able to reduce the run time from four-months down to a manageable 24-48 hour period. The code for the research appliance has been made available to the community via GitHub.
Researchers are even using Chameleon to fight data breaches. As this research highlight notes, a team of cybersecurity researchers at the University of Arkansas at Pine Bluff, North Carolina AT&T State University, and Louisiana State University were able to simulate malicious attacks, and then develop and test their approaches on Chameleon. The project explored three scenarios: attacks from outside the cloud, attacks from inside the cloud and a simultaneous attack. The researchers are working to fortify intrusion detection systems and make them more effective against multi-stage intrusion attacks. The team has already written and presented several papers and is looking to form partnerships with Oracle, Cisco Systems, and Microsoft.
The Exascale Connection – Argo
Chameleon is also a key resource for the Argo project, a three-year effort to design and prototype an exascale operating system and runtime. Funded by the Department of Energy, the project spans 40 researchers from three national laboratories and four universities.
As reported by Makeda Easter, Swann Perarnau, a postdoctoral researcher at Argonne National Laboratory, and collaborator on the Argo Project, deployed a small cluster on top of Chameleon that allowed him to test the four major innovations that make up Argo — 1) the Global Operating System, 2) the Node operating system, 3) the concurrency runtime, and 4) the backplane (BEACON).
Being able to use CHI, Chameleon’s provisioning software based largely on OpenStack, was essential for the project’s success. “We wanted to validate the entire project, including the NodeOS that is based on patches to the Linux kernel,” said Perarnau. “There’s not a lot of places we can do that — HPC machines in production are strictly controlled, and nobody will let us modify such a critical component.” The Argo system is expected to form the basis of next-generation, leadership-class machines, deployed in the 2018-2020 timeframe.