Re:Making the Tokio scheduler 10x faster
by ulber on Monday October 14, 2019 @06:15PM
(#21253454)
Is that expectation wrt. responsiveness guarantees? In other words, if I'm just interested in throughput are CPU intensive tasks a problem? For example, my expectation is that it would be appropriate to use the new Tokio scheduler to parallelize a compute intensive simulation workload (where inside a "frame" responsiveness is not a problem).
[ Parent
| on HN ]
Re:Making the Tokio scheduler 10x faster
by carllerche on Monday October 14, 2019 @11:31PM
(#21255324)
The Tokio scheduler uses cooperative multitasking (non-preemptive). So, if your task runs without yielding it can prevent other runnable tasks from executing.
So, if that is acceptable, then it is fine.
Is there a recommended approach to dealing with the occassional cpu intensive task?
Supposing you were running an http server and most responses were very quick - but occassionally a request came along that required calculating pi to the n billionth digit.. (for example).. Would you need to farm that request to a separate process - or could you keep it in process but in a separate thread outside of Tokio?
Re:Making the Tokio scheduler 10x faster
by carllerche on Tuesday October 15, 2019 @08:15AM
(#21257623)
Right now, CPU intensive code blocks or code blocks that block need to be annotated. This way, the scheduler can respond accordingly (cooperative).