Module 20: Multi-core Computing Multi-processor Scheduling
  Lecture 39: Multi-processor Scheduling
 


Fine Grain Parallelism

  • Given a sequence of instructions the issue logic will look at the dependencies between multiple instructions in a window.
    • Dependencies: Data or Control dependency.
    • Dependencies: False or true.
    • Consider add R1, R2 followed by add R3, R4.
    • Consider div R1, R2 followed by div R3, R4
    • Consider load X followed by load Y
  • Independent instructions can be executed in parallel if structural resources are available.

Granularity

  • Medium Grain Parallelism: Parallelism of an application can be implemented by multiple threads in a single process.
  • Usually programmers have to “use” threads in the design.
  • Threads are scheduled by user (e.g. pthreads) or by OS (kernel threading).
  • Coarse Grain Parallelism: Parallelism in a system by virtue of several concurrent processes
  • Need to synchronize using semaphore or other synchronization objects.
  • Example: Server side threads for web servers. FTP servers etc.