Undergraduate and MS projects are available for summer 2015. Please contact Peter Steenkiste (prs at cs.cmu.edu) if you are interested.
Wireless networking has become a
part of our everyday life, but research aimed at evaluating and improving
wireless network protocols is hindered by the inability to perform repeatable
and realistic experiments. Techniques that have proven successful for
wired networks (e.g. testbeds such as PlanetLab) are inadequate for analyzing wireless
networks. The reason is that while the physical layer can often be
ignored in wired networks, in wireless networks the physical layer
fundamentally affects operation at all layers of the protocol stack.
Links are no longer constant, reliable, and physically isolated from each
other, but they are variable, error-prone, and share the ether with each other
and with external uncontrolled sources. These effects are critical to
understanding, defining, and optimizing wireless protocols.
Researchers have used many different techniques to evaluate wireless protocols. Running experiments using real hardware and software is highly realistic, but this approach faces repeatability challenges since the behavior of the physical layer is tightly coupled to the physical environment and precise conditions under which an experiment is conducted. Interactions with uncontrolled radio sources, mobile objects and people, and colocated production networks makes results nearly impossible to reproduce. Recently, some groups have developed techniques for automating the configuration and management of mobile testbeds, but this does not address the other challenges (e.g. isolation, broad range of physical spaces, ..). Simulation solves the problem of repeatability, configurability, manageability, and modifiability, but it faces formidable challenges in terms or realism since the simulator has to recreate all layers of the system. Researchers have also developed hybrid solutions, but simultaneously achieving high degrees of realism, configurability, and isolation remains a challenge.
We have built a wireless network emulator that accurately emulates wireless signal propagation in a physical space. The emulator takes in the signals generated by wireless network cards through the antenna port, subjects the signals to the same effects that occur in a real physical space (e.g. attenuation, multi-path fading, ...), and feeds the combined signals back into the wireless cards. The heart of the system is a set of FPGAs that transform the signals using realistic signal propagation models that are being developed as part of the project. The wireless emulator forms the basis for a wireless testbed that supports experiments that are highly realistic, while also being fully repeatable and easy to control. We are using the Emulab software from the University of Utah to manage the emulator testbed. The emulator is also part of the protoGENI research effort.
We have used the emulator for a diverse set of experiments, including characterizing wireless links, testing and evaluating new protocols under controlled conditions, repeating and analyzing observations made in in-the-wild testbeds, and comparing different computing protocols under identical conditions. The emulator has also supported a number of course projects, MS, and undergraduate thesis - see the Papers page on the emulator web site. Finally, the emulator has been used to support assignments and projects in a new undergraduate wireless networking course "Hands-On Introduction to Wireless Networking". The course has been offered at ETH Zurich in Spring 2007 and CMU in Spring 2008.
An 11-node version of the emulator is currently operational. It covers the full 2.4 GHz ISM band and can grow up to 15 nodes. At the center of the system is a Digital Signal Processing (DSP) card; its primary component is a large FPGA that executes the wireless channel models. Each wireless device is connected to the emulator using a Digital Signal Conversion (DSC) module that includes a DSC card and a frontend. Each device, together with its DSC module, is placed in a RF-shielded box. You can find some pictures here. The second version of the emulator used the same DSP card, but used a less integrated DSC module that consisted of five separate cards. You can find some pictures of this older system here. The first emulator was built with off-the-shelf cards and was limited to one non-overlapping channel of 802.11b/g and three nodes.
Research funded by the National Science Foundation through the NeTS program. Support is also provided by Intel and Xilinx.