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.

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
  • David Ferry
  • Jing Li
  • James Orr
  • Abusayeed Saifullah (former)

Master's and Undergraduate Students

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

Summer Undergraduate Researchers

  • Bradley Beeksma (2015)
  • Harsh Bhatt (2013)
  • Steven Bosch (2015)
  • Matt Dole (2014)
  • Meir Friedenberg (2014)
  • Sierra Gregg (2013)
  • Nick Nooney (2014)
  • Joey Woodson (2014)

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. This code relates to work currently under review. You can find the user guide 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:
  • dferry[AT]email[DOT]wustl[DOT]edu
  • james[DOT]orr[AT]email[DOT]wustl[DOT]edu
  • li[DOT]jing[AT]email[DOT]wustl[DOT]edu