Cloud-Enabled Xinu Operating System

Approach: Design and implementation of basic operating
system functionality for a 48-core Intel prototype architecture.

Summary:
Multi-core embedded systems are already beginning to emerge in
specialty application domains, and their presence is very likely to
increase as both the overall number of embedded systems increases, and
as the mainstream desktop and server markets go to increasing
multiples of cores. Embedded systems designers stand to gain
significantly from an environment in which multiple, specialized cores
can be selected to work together on a problem. However, the age-old
challenges in designing, building, and verifying such complex systems
will only grow more difficult as a result.

The Embedded Xinu infrastructure already implemented
in Marquette's Systems Lab is well-situated to begin an in-depth
exploration of multi-core embedded system issues. The expected
benefits of expanding the system to support multi-core platforms are
many: a small, agile system for prototyping new construction and
analysis tools like Intel's Software Transactional Memory
library; a model reference platform for
students and educators to explore design techniques on the cutting
edge of our field; a time-tested operating system girded for new
challenges in a rapidly evolving world, with genuine promise for
commercial application. Mentor Brylow has previously led undergraduate
research teams in porting embedded kernels to the MIPS and PowerPC
architectures, and that software is now in use for teaching and
research at several other institutions.

Students involved with this project will explore the challenges
inherent in porting the Embedded Xinu operating system to a new Intel-based architecture
designed to provide a "Single Chip Cloud" (SCC) computer.
Students will learn about cross-platform embedded software
development, embedded kernel bootstrapping, concurrency control in a
multi-core environment, and device driver construction. The software
and matching course modules they produce will be available for other
universities interested in teaching hands-on systems development at
the lowest levels of computing; by supporting concurrency in a kernel
several orders of magnitude smaller than typical embedded Linux
installations, they will be providing a model system for education and
research.