Chameleon is a large-scale, deeply reconfigurable experimental platform built to support Computer Sciences systems research. Community projects range from systems research developing new operating systems, virtualization methods, performance variability studies, and power management research to projects in software defined networking, artificial intelligence, and resource management. 

To support experiments of this type, Chameleon supports a bare metal reconfiguration system giving users full control of the software stack including root privileges, kernel customization, and console access. While most testbed resources are configured in this way, a small amount is configured as a virtualized KVM cloud to balance the need for finer-grained resource sharing sufficient for some projects with coarse-grained and stronger isolation properties of bare metal. 

Chameleon hardware (see our discover system for an up-to-date, detailed description) balances the need to support experiments at scale  and the need for diversity. The need for scale is satisfied by a large-scale homogenous partition of nearly 15,000 cores, 5PB of total disk space, hosted across two sites, the University of Chicago and TACC, connected by 100 Gbps network. The diversity of hardware configurations and architectures is reflected by support for innovative networking solutions including reconfigurable Corsa switches and support for Infiniband support for accelerators such as FPGAs and a range of different GPU technologies, storage hierarchies with a mix of HDDs, SDDs, NVRAM, a diversity x86 technologies as well as support for non-x86 architectures such as ARMs. 

Unlike traditional Computer Science experimental systems which have overwhelmingly been configured by in-house infrastructures, Chameleon adapted OpenStack, a mainstream open source cloud technology, to provide its capabilities. This has a range of practical benefits including familiar interfaces for users and operators, workforce development potential, leverage of contributions by a community 2,000 developers strong, and the potential to contribute to infrastructure used by millions of users (in particular, Chameleon team contributions to OpenStack include the Blazar component). In addition, configuring the infrastructure as a cloud also provides a direct answer in the debate of whether Computer Science systems research can be supported on clouds – as well as the means to influence that answer through direct mainstream contributions. 

Chameleon is an open testbed which has supported 3,000+ users working on 500+ projects. The project has been funded in 2014 and has been publicly available since July 2015. Both the hardware and the features have been added gradually as reflected in our news and blog items. More information about the system can be found in our paper. 




Kate Keahey

University of Chicago
Computation Institute
Principal Investigator
Chameleon Science Director

Jason Anderson

University of Chicago
Argonne National Laboratory
DevOps Lead

Haryadi S. Gunawi

University of Chicago
Department of Computer Science
Co-Principal Investigator
Operating/Distributed Systems

Joe Mambretti

Northwestern University
Internet Center for Advanced Internet Research
Co-Principal Investigator
Large-Scale Networking

Paul Ruth

University of North Carolina at Chapel Hill
Co-Principal Investigator
Programmable Networking

Dan Stanzione

The University of Texas at Austin
Texas Advanced Computing Center
Co-Principal Investigator
Chameleon Facilities Director