Implement pthread-level work queues
mackncheesiest opened this issue · comments
Requirements:
- Each thread has a queue of tasks
- Schedulers are able to query each thread for an estimate of their current queue's execution length (i.e. the sum of the ETAs for tasks in the queue)
- It must be thread-safe for the scheduler/dispatch core to push work to the queue and for the pthread to pop work off in a FIFO manner
- Rather than return to an idle state upon finishing task execution and waiting for the dispatch core to change its flag to "running", a hardware thread should continuously poll its queue for available work when it is not actively computing