Cloud-Enabled Xinu Operating System

Revision as of 05:14, 12 June 2015 by Brylow (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Mentor: Dennis Brylow

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.