support for C, C++, Java • Guest language (Ruby, R, etc.) support via Truffle/Graal • LLVM-IR to Truffle – enable LLVM compiled languages • Benchmark Suites: • SPEC, PARSEC, DaCapo, etc. • Computer vision applications • Simultaneous Localization & Mapping (SLAM) algorithms • Big Data applications and frameworks • MapReduce, Spark, Flink, etc. HiPEAC CSW Heraklion 2018 3 31/10/2018 https://github.com/beehive-lab
(Indigo compiler plugin) • Colin Barrett, Christos Kotselidis, Foivos S. Zakkak, Nikos Foutris, and Mikel Luján. 2017. Experiences with Building Domain-Specific Compilation Plugins in Graal. In Proceedings of the 14th International Conference on Managed Languages and Runtimes (ManLang 2017). ACM, New York, NY, USA, 73-84. DOI: https://doi.org/10.1145/3132190.3132207 • GPUs and FPGAs (Tornado VM) • Effortless hardware acceleration for managed languages HiPEAC CSW Heraklion 2018 5 31/10/2018 https://github.com/beehive-lab
with McPAT, Hotspot, and VoltSpot • … • APTSim for fast (but less accurate) simulations • Customizable accuracy simulation of memory/full- systems using binary instrumentation and FPGAs HiPEAC CSW Heraklion 2018 8 31/10/2018 https://github.com/beehive-lab
is work in progress • Components are gradually being open-sourced https://github.com/beehive-lab HiPEAC CSW Heraklion 2018 9 31/10/2018 https://github.com/beehive-lab
+ Annotation-based • Task-based programming model • Accelerates Java on CPUs, GPUs, and FPGAs • Transparent to the user data transfers/synchronization 31/10/2018 HiPEAC CSW Heraklion 2018 15 https://github.com/beehive-lab/Tornado
static void add(int[] a, int[] b, int[] c) { for (@Parallel int i = 0; i < c.length; i++) { c[i] = a[i] + b[i]; } } … new TaskSchedule("s0") .task("t0", TestHello::add, a, b, c) .streamOut(c) .execute(); … Standard Compiler Assembler Bytecode Interpreter OCL JIT Compiler Device Heap manager Task migration manager VM in an VM Standard JVM CPUs Integrated GPUs GPUs FPGAs Standard Runtime Heterogeneous hardware Tornado Compiler Data Flow Analyzer Optimizer Tornado Bytecode Generator x86, ARM, Sparc Tornado VM
Portable • Ease of use • Performance • Lowest base overhead among DBMs for ARM • Good performance scaling for multithreaded apps 31/10/2018 HiPEAC CSW Heraklion 2018 21
the funded projects: • PAMELA EP/K008730/1 • DOME EP/J016330/ 31/10/2018 HiPEAC CSW Heraklion 2018 26 https://github.com/beehive-lab/mambo European Union’s Horizon H2020 research and innovation programme under grant agreements No 732366 (ACTiCLOUD) and No 780622 (E2Data)