Download presentation
Presentation is loading. Please wait.
Published byRobert Logan Modified over 9 years ago
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?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.