-
Notifications
You must be signed in to change notification settings - Fork 12
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
Replace RabbitMQ (concrete design notes) #42
base: master
Are you sure you want to change the base?
Conversation
I am aware of chrisjsewell/aiida-process-coordinator#4, the comments by @giovannipizzi and @sphuber are addressed sporadically in the design notes.
This is mentioned by @sphuber. I think if the priority of tasks and different type of runners are implemented the problem can be addressed gracefully. Followings are mentioned by @giovannipizzi:
In the prototype, before I mock the task pool for se/de the task, I created fake async/sync sleep task in the worker and the throughput I tested can be > 100,000 tasks without any noticeable delay (the bottleneck is then my terminal can not consume the print of so many logs).
In my plan, after the distinguish of runners type and tasks type I think an single async runner is enough to handle > 10,000 tasks per second, which is way more large then the current use case of AiiDA (not for the future if AiiDA is plan to compete with workflow engines for bio-information and ML use cases). Then the slots concept is applied to block function runner only. |
7cffb12
to
770bbf1
Compare
b40433d
to
cbfdee8
Compare
cbfdee8
to
d047948
Compare
633eff3
to
665712a
Compare
665712a
to
e28e5ce
Compare
draft
README.md
The #30 give the explanation and motivation on removing RabbitMQ. I extent on it as a concrete implementation AEP.
The prototype is put in https://github.com/unkcpz/tatzelwurm, I put it in private at the moment and shared only to aiida-core team members. Let me know if you want to take a look.
Go built aep page if need to read as whole post.