Loom and high performance networking
robert engels
robaho at icloud.com
Wed Aug 14 13:44:52 UTC 2024
Hi Alan. I agree and I’ll try to resolve this today. But what I am struggling with is why the parallelism is the only thing that matters. The poller mode or number of pollers make no difference.
If I lower the parallelism I get better performance (matches the NIO - all systems have roughly the same error rate regardless of throughput).
> On Aug 14, 2024, at 1:15 AM, Alan Bateman <Alan.Bateman at oracle.com> wrote:
>
>
>
> On 13/08/2024 16:34, robert engels wrote:
>> I did. It didn’t make any difference. I checked the thread dump as well and the extras were created.
>>
>> Surprised that lowering the priority didn’t help - so now I need to think about other options. It feels like something when the carriers can use all the cores that the poller is prevented from running - like some sort of lock being held by the carrier/vt and do it thrashes around until it eventually gets a chance.
>>
> With pollerMode=2 then the the work is done on virtual threads so I assume you don't see the master poller stealing CPU cycles.
>
> In any case, what you describe sounds a bit like bursty usage where all FJP workers are scanning for work before parking, and/or something else that may be macOS specific when running out of some resource. I suspect tuning the networking params to remove the errors/timeouts might make it a bit easier to study.
>
> -Alan
>
>
More information about the loom-dev
mailing list