apache / apache/pekko

Explore a new design of dispatcher?

Open
#3,254 0 comments 1 reaction 0 assignees View on GitHub
Dominant language
Scala
Stars
1.6k
Forks
211
Avg merge
1d 6h
Merged PRs (30d)
89

Description

In Cats Effect, IO and the scheduler are tightly integrated; similarly, the new Netty architecture supports various `IOHandler` and `IOHandle` implementations within the `EventLoop`, leveraging abstractions to enhance CPU reuse and reduce latency. Explorations such as https://github.com/franz1981/Netty-VirtualThread-Scheduler are also worth studying. Currently, Pekko’s default implementation relies on `ForkJoinPool`, and the latest version of `ForkJoinPool` now implements `ScheduledExecutorService`, thereby supporting time-based scheduling. I believe we should examine all these approaches—for instance, Netty’s `EventLoop` already supports time-based scheduling. Within Pekko, `AffinityPool` seems like the most suitable place to explore these practices.

Contributor guide

Open the contributing guide

Research direction

Start with Pekko's AffinityPool and its reliance on ForkJoinPool, then compare the scheduling approaches described for Cats Effect, Netty's EventLoop, and the referenced virtual-thread scheduler. Done means a concrete dispatcher design and exploration scope are agreed, including whether time-based scheduling, CPU reuse, and latency goals fit Pekko.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, scala
Domain
distributed-systems, performance
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.