Figure 1 presents a system view of the COSMOS testbed. It is based on a multi-layered computing system built in a bottom-up manner with commodity components, programmable hardware, and open-source software.
The collection of global testbed services are deployed on a pair of computing clusters located at WINLAB's ORBIT facility in North Brunswick, NJ and Columbia University CS data center (CRF) in West Harlem in New York City, NY.

Figure 1: Testbed Architecture
These core services support multiple experimentation domains — the current catalogue with per-domain hardware is at Hardware → Domains. As is shown in Figure 1, each of the domains consists of the following components:
While most of the devices in each domain are fully under user control (labeled with (U) in the architecture figure), a number of domain-level devices (labeled with (D)) are providing services and can only be partially configured by the user (i.e. are deployed with restricted user access). Similarly, a number of services and devices are deployed globally (labeled G in the figure) for the entire testbed.
COSMOS includes three types of radio nodes:
Finally, the core cloud for the large testbed domain (bed.cosmos-lab.org) is split across two locations in NYC: the uptown Columbia CRF data center (co1) and the downtown data center at 32 Avenue of the Americas (co2) — one of the main national and international interconnect locations — joined by the high-speed optical backbone.