The XiTAO Runtime

XiTAO is a lightweight layer that provides a task-parallel and data-parallel interface using modern C++ features. The design goals of XiTAO are to be low-overhead and to serve as a development platform for testing scheduling and resource management algorithms. XiTAO is built on a generalized model of task which that assembles (1) concurrency, (2) an embedded scheduler and (3) a resizeable resource container. These TAOs (Task Assembly Objects) are moldable entities that can be scheduled into elastic resource partitioning, aka "elastic places". XiTAO targets better mapping between tasks and hardware resources such as cores, caches or interconnect bandwidth. Therefore, among other features, XiTAO provides fast parallelism at low overhead, with constructive sharing and interference-avoidance. Recently, XiTAO has been extended with novel high-level programming constructs, and with instrospective scheduling techniques that allow it to adapt to dynamic events as well as better target the goals of energy-efficiency.

The following figure shows the simplified architecture of the XiTAO runtime

The XiTAO runtime

XiTAO is a work in progress. You can access the current development snapshot at https://github.com/mpericas/xitao

The following publications describe implementation details of XiTAO. If you are using XiTAO for your research, we appreciate if you add a citation to the ACM TACO paper

  1. Elastic Places: An Adaptive Resource Manager for Scalable and Portable Performance. Miquel Pericàs, ACM Transactions on Architecture and Code Optimization (TACO). Volume 15 Issue 2, June 2018 Article No. 19
  2. Scalable and Locality-aware Resource Management with Task Assembly Objects. Miquel Pericàs. Workshop on Runtime Systems for Extreme Scale Programming Models and Architectures (RESPA'15). Austin, Texas, November 16th, 2015.
  3. POSTER: ξ – TAO: A cache-centric execution model and runtime for deep parallel multicore topologies. Miquel Pericàs. 25th International Conference on Parallel Architectures and Compilation Techniques (PACT 2016). In Haifa, Sept 11-15, 2016.