Job System #11

Open
opened 2024-06-18 12:32:10 +02:00 by kevin · 1 comment
Owner

We need a system that:

  • Has low overhead
  • Can express dependencies between jobs
  • Pass parameters to jobs
  • (Optional) Return values from jobs
We need a system that: - Has low overhead - Can express dependencies between jobs - Pass parameters to jobs - (Optional) Return values from jobs
kevin added this to the Version 0.1 milestone 2024-06-18 12:32:10 +02:00
kevin added the
priority
high
kind
feature
labels 2024-06-18 12:32:10 +02:00
Author
Owner

My notes written down during a boring meeting:

Resource (32bit id) - Name collision, Object, threading_resource?

Execution context: thread_local struct containing all Read() and Write() accesses to resources. Code can check if the calling job is allowed to do a particular operation.

Schedule: A -> B Once a jobs dependencies are satisfied, enqueue in „runnable“ FIFO.
Write->Write could be an implicit dep.

JobChain: Predefined chain of jobs
-> Enqueue in bulk
-> Common data block
Implicit alloc()/free() job at the beginning and end of chain

My notes written down during a boring meeting: Resource (32bit id) - Name collision, Object, threading_resource? Execution context: thread_local struct containing all Read() and Write() accesses to resources. Code can check if the calling job is allowed to do a particular operation. Schedule: A -> B Once a jobs dependencies are satisfied, enqueue in „runnable“ FIFO. Write->Write could be an implicit dep. JobChain: Predefined chain of jobs -> Enqueue in bulk -> Common data block Implicit alloc()/free() job at the beginning and end of chain
Sign in to join this conversation.
No description provided.