Presentation is loading. Please wait.

Presentation is loading. Please wait.

Java Meets Fine-grain Multithreading Yoshihiro Oyama Kenjiro Taura Akinori Yonezawa University of Tokyo.

Similar presentations


Presentation on theme: "Java Meets Fine-grain Multithreading Yoshihiro Oyama Kenjiro Taura Akinori Yonezawa University of Tokyo."— Presentation transcript:

1 Java Meets Fine-grain Multithreading Yoshihiro Oyama Kenjiro Taura Akinori Yonezawa {oyama,tau,yonezawa}@is.s.u-tokyo.ac.jp University of Tokyo

2 Goal We are planning to implement Java system realizing s Thread creation with very very low cost s High scalability

3 Sample Program class Pfib { public static int pfib(int n) { if (n < 2) return 1; else { int x, y; sync { fork { x = pfib(n-1); } fork { y = pfib(n-2); } } return x + y; } Synchronization block Thread creation

4 Prototype Implemented s On top of the Extensible Java PreProcessor Kit EPP (by Y. Ichisugi in ETL, Japan) s Java source to source translation  one fork ⇔ one Java thread creation s Only 500-line EPP code s Its performance is out of the question

5 How to Implement? Q: How can we reduce thread creation cost? A: Lazy Task Creation (LTC) technique seems useful Traditional compilers based on LTC: Stack is managed tricky by compilers and/or runtimes Java allows to manipulate stack only with call/return/throw even in a bytecode level But... Problem E.g., stack frame info is put into a data structure explicitly

6 Alternatives to Implement Fine-grain Threads s Extending an existing native compiler? s Extending an existing JVM/JIT? s Writing Java source to source translator?


Download ppt "Java Meets Fine-grain Multithreading Yoshihiro Oyama Kenjiro Taura Akinori Yonezawa University of Tokyo."

Similar presentations


Ads by Google