5 ms·
This is exactly the situation for a well-balanced parallel work queue. You want to start as many threads as there are cores and run them full tilt pulling work
by titzer 7y ago
This is exactly the situation for a well-balanced parallel work queue. You want to start as many threads as there are cores and run them full tilt pulling work off the queue until it is empty. If you're running a large scale cluster that is dedicated to a particular task (e.g. like servicing a special kind of query, or encoding videos, rendering, etc), this is very common, or even a parallel Photoshop filter.
- rumanator 7y ago> This is exactly the situation for a well-balanced parallel work queue. What if your work queues are running on a multitasking operating system that runs services? And what about a hypervisor?
- johncolanduoni 7y agoFor this technique you generally dedicate some core(s) to those miscellaneous threads and flag the rest as unscheduable unless a thread is specifically assigned to them. If you’re not sharing cores between VMs it’s typical to do the same at the hypervisor layer.