-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
C/C++/Rust implementation of Scaler's scheduler #19
Comments
Hello, i am also interested on this. If we go to the rust path we could use maturin, if we go to c++, pybind. Let's discuss here your plans and add a design. |
Hi @bcncpp, At the moment, our plans are to fully rewrite the scheduler in C++ or Rust, without any Python code or binding. The current implementation already communicates with 0mq and Cap’n Proto messages, which are not tied to any specific language. However, we are still experimenting with new features to the Scaler's scheduler, so this is a mid-to-long term project. Do you already have performance issues with the current Python implementation? Raphael. |
Hi @rafa-be |
Please do 😃 . I'd suggest you keep the implementation as separated as possible from Python's (possibly even creating a new repository), limiting the dependency to the Can'p protocol files. |
I use my fork, i create a folder native_scheduler that does the game, |
|
A C, C++ or Rust implementation of Scaler's scheduler will have a few performance advantages, mainly by relying on a more efficient memory management, and by avoiding unnecessary copies of objects.
Contrary to the client and the worker implementation, re-implementing the scheduler in a language different from Python is less challenging, as it's not actively interacting with Python objects.
The scheduler is also the main scalability blocking piece, which makes its efficiency more critical in making Scaler more scalable.
The text was updated successfully, but these errors were encountered: