Call for Discussion: New Project: Loom
sanhong.lsh at alibaba-inc.com
Mon Oct 9 12:26:18 UTC 2017
I are very excited about this proposal to add lightweight threads to Java.
As I have talked at JVMLS , our own customized OpenJDK version has
implemented some similar mechanism proposed by loom(we called this as Wisp
internally), which is already widely deployed in Alibaba production
environment. A couple of core ecommerce applications (running in very large
scale cluster) are running on top of Wisp. By this way, we achieved 10+%
CPU saving, lots of thread context switches could be reduced by transferring
from thread to coroutine.
More specifically, our implementation is relying on the continuation
primitive support made by  , which is part of MLVM project. Moreover,
we added our own scheduler(fully written in Java) to support coroutine
yielding at almost all possibly blocked places in OpenJDK, including:
- Java synchronization(compiled & runtime code change)
- Java network IO
- Java disk IO
Our goal is to allow Java developers to write in synchronous but gain
performance of asynchronous for free, they just change a couple of line of
code and do some parameter configuration, the control transferring between
coroutines is totally handled by underlying JDK transparently.
We are interested in contributing to this project.
More information about the discuss