Fiber try out feedback

Alan Bateman Alan.Bateman at oracle.com
Fri Jul 19 11:05:48 UTC 2019


On 19/07/2019 09:48, Lei Yu wrote:
> Hi,
>
> Here are some feedback on our try out of loom from Alibaba.
> We have written a test of the message passing between the Fibers to verify the performance under high concurrency.
> 1. An assertion error occurred while running the test(can be reproduced by the code in the attachment):
> java.lang.AssertionError
>         at java.base/java.lang.Continuation.resizeStack(Continuation.java:685)
>         at java.base/java.lang.Continuation.maybeShrink(Continuation.java:671)
>         at java.base/java.lang.Continuation.postYieldCleanup(Continuation.java:465)
>         at java.base/java.lang.Continuation.run(Continuation.java:341)
>         at java.base/java.lang.Fiber.runContinuation(Fiber.java:367)
>         at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1425)
>         ...
>
> I think the deeper reason is that the value of Continuation.sp has been changed between maybeShrink() and resizeStack().
>
> 2. Thaw/Freeze interpreter frame will be slowed down by compute_oop_map significantly.
> [image.png]
>
> If a Fiber is executing as a consumer of a BlockingQueue in loop, we can frequently observe the interpreter frame exists even though compilation occurs,
> thaw/freeze interpreter frame may become a performance bottleneck.
Thanks for the bug report/data. I think the attachments (test case and 
PNG) were dropped by the mail system. Can you re-send with the test case 
inlined or if you have someone with write access to cr.openjdk.java.net 
then maybe they could be published there?

-Alan



More information about the loom-dev mailing list