In safety-critical cyber-physical systems, temporal isolation may be required between multiple system comonents that must access the same hardware accelerators. However, some operations utilizing these accelerators may not be preempted (or such preemptions may have prohibitively high overheads), complicating the guarantee of isolation. To enable temporal isolation, we designed a hierarchical scheduler, named TimeWall, which consists of three main parts: a table-driven scheduler to allocate time slices and hardware resources to components, per-component schedulers that allocate processors to tasks, and a specialized locking protocol to orchestrate accelerator accesses while respecting time-slice boundaries. We implemented the specialized locking protocol within the hierarchical scheduler as a scheduler plugin using LITMUS^RT on a multicore+GPU platform, and explored the challenges of that implementation. We also provided response-time analysis for TimeWall in a more general graph-based application setting.

Papers: