| |
Home | About | News | People | Projects | Publications |
Runtime Program Optimization and Adaptation on Emerging Multi-core Systems
Event-Driven Scheduling and Modelling the Cell BE
Streamflow
Dynamic Program Adaptation
© 2006-2008 Virginia Tech
Event-Driven Scheduling and Modelling the Cell BE
Summary
We developed an event-driven operating system scheduler and a supporting runtime environment on the Cell Broadband, and we currently formalize and generalize this framework for accelerator-type multi-core architectures, including architectures mixing conventional processors with GPUs. The event-driven scheduler is coupled with a performance predictor which selects between program decomposition and execution models on-the-fly using runtime feedback. A by-product of this work, the MGPS scheduler (Multi-Grain Parallelism Scheduler) earned the best paper award at the 12th ACM SIGPLAN PPoPP conference. We recently extended this work to better handle I/O and communication, looking into the problems of simultaneous scheduling of DMA transfers for I/O prefetching and computation, as well as co-scheduling between host processors and accelerators to maximize system throughput in the presenve of variable task granularity.
People
Filip Blagojevic
Dr. Christos D. Antonopoulos
Prof. Dimitrios S. Nikolopoulos
Dr. Alexandros Stamatakis
Publications
See [VTHECC06], [PPOPP07], [IPDPS07], [JVLSI07], [HPEC07], [PARALLEL-COMPUTING-07], [HIPEAC08]. [CCGRID08]. [CF08a]. [CF08b]. [FAST08].
Streamflow
Summary
Streamflow is a scalable multiprocessor memory allocator which avoids synchronization entirely in the common case, and uses non-blocking, lock-free algorithms when synchronization is necessary. Remote deallocations are decoupled from allocations, which allows them to happens simultaneously. Experiments show that Streamflow outperforms other multiprocessor allocators in uncontested allocation patterns, producer-consumer patterns, and in the fine-grain allocation demands of real applications. Due to a design which avoids syncrhonization, Streamflow also adapts to sequential allocation. We provide Streamflow as a shared library which can be used a drop-in replacement for malloc()/free() in C and new/delete in C++.
Downloads
Streamflow has been developed and tested with Linux on 32-bit x86 systems and 64-bit IBM systems: streamflow.tar.gz
People
Scott Schneider
Dr. Christos D. Antonopoulos
Prof. Dimitris Nikolopoulos
Publications
See [ISMM06], [NGG07].
Dynamic Program Adaptation
Summary
We have worked on several forms of autonomous runtime program adaptation, more specifically adaptation to memory availability, performance and power-performance adaptation to shared-memory multiprocessors with multi-threaded and multi-core processors, and hardware-enabled cache adaptation.
Publications
See [GREENCOM07], [HPDC06], [JOGC07], [HPPAC06], [ICS06], [QEST06], [ACMSE07], [JOATC06], for recent publications, and [ISPASS06], [EUROPAR05], [QEST05], [ICS05], [HPCC05], [IWOMP05], [IPDPS05], [PMCCSS05], [PMUA05], [LCR04], [IMR04], [HIPC04], [SIAMPP04], [IJHPCN04], [IPDPS04], [IPDPS03], [ISHPC03] (full citations available in Nikolopoulos vitae) for prior work on these topics.
© 2006-2008 Virginia Tech


