Refining Concurrency in XINU Operating System for Inter-Core Communication and Non-Blocking Data Structures

From REU@MU
Revision as of 19:08, 25 June 2020 by Jaustin (Talk | contribs)

Jump to: navigation, search

Project Description


As the number of multi-core systems in our world grows, it becomes increasingly important for students to work on hardware-supported multi-core systems. We hope to continue adding functionality to our current XINU operating system with the hopes of open sourcing our multi-core variant in the future for schools everywhere to utilize and build upon. The focus of this summer will be to overall the current multi-core lock-system in place.

Project Goal


The Embedded XINU system has given Marquette Students a rare opportunity to learn about multi-core topics with actual hardware to support this functionality. Since Spring 2018, this has shown to have tremendous results. As multi-core systems are every where in the world today, this is a huge development. It is because of this, we will work to refine the functionality of embedded, multi-core XINU. We will do this by reviewing the previous work done and picking up where previous researchers left off with the hopes of continuing to push the boundaries of what Marquette’s system courses can ask of it’s students when designing projects. Long term, I hope to work with my colleagues and Dr. Dennis Brylow to “finish off” all of the core functionality of Embedded XINU with the intention of open-sourcing it. This is an opportunity to provide other universities with an updated version of XINU which will reach more computing students across the globe.

Tentative Milestones


Week 1: Complete Data Science Bootcamp, Solidify Project, and Meet with XINU team

Week 2-5:

  • Implement proper inter-core communication to prevent race-conditions and deadlocks + Research on Production Grade Concurrency
  • Overhaul current Spin-lock solution when working on multiple cores to have it work for a wider variety of scenarios + Continued Research

Weeks 6-10: Implementing Non-Blocking Data Structures into XINU for concurrency without the need for locks + Finish Research Paper