A many-core virtual machine concept

From CERES
Revision as of 10:21, 23 June 2014 by Slawek (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Title A many-core virtual machine concept
Summary Masters Thesis Project
Keywords
TimeFrame
References
Prerequisites
Author Tomas Nordström, Süleyman Savaş
Supervisor Tomas Nordström, Süleyman Savaş
Level Master
Status Open

Generate PDF template

Project description

An important aspect of heterogeneous many-core architectures is how to interface between the application development environment and the underlying parallel heterogeneous architecture. Such interfaces should be based on a description of the available (heterogeneous) compute, memory and communication resources the architecture provides and provide facilities for expressing operational requirements on the software applications. At hh.se we are developing an many-core virtual machine (MCVM) as an important intermediate representation that should support program portability as well as address dynamism in workload


This thesis project aims to investigate

  • How to should a “many-core virtual machine” concept look like in order to support portability and dynamism like “invasive computing”
  • What high-level concepts should be supported by the MCVM (communication, arithmetic functions like FFT?)
  • The possibility to develop an LLVM based compiler backend for the MCVM
  • The possibility to develop a JIT compiler from MCVM to two many-core architectures (Epiphany and Kalray)


Note that this could be a master thesis for two students which collaborate on the definition of the MCVM and then one student do the “frontend” compiler support (in LLVM?) and one student do the JIT compiler “backend”.


References

NVIDIA’s PTX (parallel-thread-execution) <http://en.wikipedia.org/wiki/Parallel_Thread_Execution>

<http://docs.nvidia.com/cuda/parallel-thread-execution/index.html>

Kerr, Andrew, Gregory Diamos, and Sudhakar Yalamanchili. "A characterization and analysis of ptx kernels." Workload Characterization, 2009. IISWC 2009. IEEE International Symposium on. IEEE, 2009.

Yang, Byung-Sun, et al. "LaTTe: A Java VM just-in-time compiler with fast and efficient register allocation." Parallel Architectures and Compilation Techniques, 1999. Proceedings. 1999 International Conference on. IEEE, 1999.

Ehringer, David. "The dalvik virtual machine architecture." Techn. report (March 2010) (2010).

Davis, Brian, et al. "The case for virtual register machines." Proceedings of the 2003 workshop on Interpreters, virtual machines and emulators. ACM, 2003.