About Us

Our goal is to develop and evaluate concurrency platforms, analyses, and scheduling and synchronization techniques for parallel real-time computing. As multi-core architectures become increasingly common and sequential processing speeds stagnate while numbers of cores grow, parallel computing becomes necessary for real-time systems with significant computational demands. We focus on enabling the computation-intensive real-time and cyber-physical systems of tomorrow, including those for increasingly autonomous vehicles and real-time hybrid simulation, among others.

To that end, we have three objectives:

  • Develop theoretical models for parallel real-time computataion.
  • Construct runtime systems capable of executing parallel real-time workloads.
  • Create methods for logging and analyzing runtime performance of multi-processor real-time systems.

Real-Time Scheduling and Platform for Parallel Tasks

During the last decade, the performance increase of processor chips has come primarily from increasing numbers of cores. It is important for real-time programs to take advantage of real-time scheduling techniques that can exploit multicore and multiprocessor systems. In order to enable tasks with higher execution demands and tighter deadlines, such as those used in autonomous vehicles, video surveillance, computer vision, radar tracking and real-time hybrid testing, we must enable parallelism within tasks.

Parallel Real-Time Scheduling Theory

Our hope is to classify and provide a range of task models for various parallel workloads. We are currently investigating the parallel-synchronous task model for bulk-synchronous parallelism under static priority partitioned scheduling, and the general directed acyclic graph (DAG) model for general parallelism under earliest deadline first (EDF) scheduling.

Our previous work on scheduling parallel tasks derived bounds for partitioned deadline monotonic and global EDF based on decomposing each parallel task into a set of sequential subtasks. We are currently analyzing the performance of a global EDF scheduler without decomposition and a clustered scheduler. Our hope is to derive schedulability analysis, augmentation bounds and easy schedulability test for scheduling parallel tasks under different scheduling algorithms.

Our current work in elastic parallel real-time systems allows for the dynamic re-allocation of resources for parallel real-time tasks. Specicically, each task may adapt its period or workload. Our hope is to generalize this to allow for each task to simultaneously adapt its period and workload for full system elasticity and adaptability under a variety of scheduling paradigms.

Real-Time OpenMP (RT-OpenMP)

A real-time concurrency platform that provides a parallel programming language, automatic task set analysis and scheduling onto Linux-based real-time platforms. RT-OpenMP currently implements the parallel-synchronous task model, but we will expand this as we are able.

Real-Time Logging and Visualization

Parallel runtime systems are inherently more complex than sequential systems, so to support the ongoing development of RT-OpenMP and other multi-processor real-time systems we are currently developing software to provide robust and non-interfering data logging and system analysis.


Contributors

WashU CSE Faculty

Doctoral Students

  • Son Dinh (former)
  • David Ferry (former, now at St. Louis University)
  • Jing Li (former, now at New Jersey Institute of Technology)
  • James Orr (former, now faculty at WUSTL)
  • Abusayeed Saifullah (former, now at Wayne State University)

Master's and Undergraduate Students

  • Shaurya Ahuja (MS, former)
  • John Emmons (BS, former)
  • Kevin Kieselbach (MS, former)
  • Jordan Krage (MS, former)
  • Mahesh Mahadevhan (MS, former)
  • Anish Naik (MS, former)
  • Tommy Powers (BS, former)
  • Kevin Zheng (BS, former)

Summer Undergraduate Researchers

    Phyllis Ang (2018)
  • Bradley Beeksma (2015)
  • Harsh Bhatt (2013)
  • Steven Bosch (2015)
  • Christian Cianfarani (2018)
  • Matt Dole (2014)
  • Meir Friedenberg (2014)
  • Sierra Gregg (2013)
  • Nick Nooney (2014)
  • Joey Woodson (2014)
  • Christopher Wong (2018)

Publications


Source Code

Our decomposition based scheduling code can be gotten here. This work is described more fully in A Real-Time Scheduling Service for Parallel Tasks. Installation information and examples are provided, licensing information can be found within the LICENSE file at the root directory.

Our clustered scheduling software can be found here. You can find the user guide here.

Our elastic federating scheduling software from the RTNS 2018 paper can be found here. For usage please see the README in the root directory.

Our discrete elastic federating scheduling software can be found here.

This software is not fully mature- please feel free to direct questions to the authors below!


Contact Us

Please direct all queries to one of: