The J-Cell Project: Developing a Scalable and Robust Runtime Environment for Heterogeneous Many-Core Processors
J-Cell aims at providing a single system image (SSI) in clusters of heterogeneous many-core processors. The project’s fully decentralized runtime environment is designed to hide the underlying hardware complexity, provide robustness in face of hardware failures, and allow applications to scale across a large number of processor cores.
J-Cell is built around the concept of globally accessible objects (GAOs), which can float freely in the system, and which encapsulate all the application state, including the thread’s execution contexts. A transaction-based consistency mechanism hides the synchronization latencies. The transaction system’s versioning approach also provides the redundancy that guards against failing processor nodes.
First results from simulation studies are encouraging. An actual implementation of the entire system is ongoing work.
KeywordsObject Reference Hardware Failure Runtime System Consensus Protocol Execution Context
The J-Cell project is funded by the Bundesministerium für Bildung und Forschung (BmBF) under grant number 01IH08011. I would like to thank all our project partners (Universität Freiburg and BioSolveIT GmbH) and associated partners (IBM Deutschland Research & Development GmbH, Intel Microprocessor & Programming Research Lab, and MicroDoc GmbH) for their support. I am particularly grateful to the project’s PhD students Annette Bieniusa, Benedikt Elser, Bernhard Amann, Björn Saballus, and Stephan-Alexander Posselt.
- 1.Bieniusa, A., Eickhold, J., Fuhrmann, T.: The Architecture of the DecentVM – Towards a Decentralized Virtual Machine for Many-Core Computing. In: Proceedings of the 4th Workshop on Virtual Machines and Intermediate Languages (VMIL) (2010)Google Scholar
- 2.Bieniusa, A., Fuhrmann, T.: Consistency in hindsight: A fully decentralized STM algorithm. In Proceedings of the 24th IEEE International Symposium on Parallel & Distributed Processing (IPDPS) (2010)Google Scholar
- 3.Bonér, J., Kuleshov, E.: Clustering the Java virtual machine using aspect-oriented programming. In Proceedings of the 6th Intl. Conf. on Aspect-Oriented Software Development (AOSD) (2007)Google Scholar
- 5.Haumacher, B., Moschny, T., Reuter, J., Tichy, W.F.: Transparent distributed threads for Java. In Proceedings of the 17th International Parallel and Distributed Processing Symposium (IPDPS) (2003)Google Scholar
- 6.Liu, J., George, M.D., Xin Qi, K.V., Waye, L., Myers, A.C.: Fabric: A platform for secure distributed computation and storage. In: Proceedings of the 22nd ACM Symposium on Operating systems principles (SIGOPS), pp. 321–334 (2009)Google Scholar
- 7.McIlroy, R., Sventek, J.: Hera-JVM: Abstracting processor heterogeneity behind a virtual machine. In Proceedings of 12th Conference on Hot Topics in Operating Systems (HotOS), (2009)Google Scholar
- 8.Noll, A., Gal, A., Franz, M.: CellVM: A homogeneous virtual machine runtime system for a heterogeneous single-chip multiprocessor. In Proceedings of the Workshop on Cell Systems and Applications, (2008)Google Scholar
- 9.Posselt, S.-A.: Design of a reliable, fully decentralized software transactional memory protocol. Diplomarbeit, Technische Universität München (2010)Google Scholar
- 12.Saballus, B., Fuhrmann, T.: A decentralized object location and retrieval algorithm for distributed runtime environments. Technical report, Technische Universität München (2010)Google Scholar