XiTAO is an execution model and runtime for low-overhead and interference-free execution of mixed-mode DAGs on manycores. XiTAO's generalizes the concept of task by providing it with (1) internal concurrency, (2) an embedded scheduler and (3) a resizeable resource container. XiTAO tasks, called TAOs: "Task Assembly Objects", hence become moldable entities. Via a elastic resource partitioning, XiTAO provides better mapping between tasks and hardware resources such as cores, caches or interconnect bandwidth. Hence XiTAO provides fast parallelism at low overhead, with constructive sharing and interference-avoidance.
The following figure shows the architecture of the XiTAO runtime
make libcd benchmarks/dotproduct
make dotprod
export GOTAO_NTHREADS=nthreads
./dotprod 8192 2 16read documentation.pdf
cd benchmarks/randomDAGs
make randombench
export GOTAO_NTHREADS=nthreads
./randombench 10 5 1000 1000 1000Critical path length: 1852
Degree of prallelism: 1.61987
3000 Tasks completed in 3.62071s
Assembly Throughput: 828.567 A/sec
Total number of steals: 2209cd ./include/
vim config.h
#define DEBUGvi makefile.schedThis work has been supported by EU H2020 ICT project LEGaTO, contract #780681.
