Concepts of parallel processing

Various concepts have developed that help us understand the complexities of parallel processing.
  • Synchronization: Any constraint on the order in which operations are carried out with the implication that the operations belong to different processes.
  • Concurrent Processes: Whenever the first operation of one process is started before the last operation of some other process is completed.
  • Simultaneous Processes: When the operations of several processes can occur during the same moment of time. Notice that simultaneous processes are concurrent processes, but the opposite is not necessarily the case.
  • Mutual Exclusion: When, for the purpose of exclusively using a shared resource, one process blocks the further progress of other concurrent processes that require the use of the same resource.
  • Critical Region: A set of operations within a process that invoke mutual exclusion. This implies that most of a process does not operate within a critical region.
  • Lock: An implementation of mutual exclusion in which a shared resource is explicitly identified.
  • Mutual exclusion is necessary when:
    • A shared resource can be used by only one process at a time and
    • Access to a shared resource must be granted to one of several concurrent processes within a finite time and
    • A process must release a shared resource within a finite time.
  • Deadlock: A state where some processes fail to terminate because they are waiting on (shared) resources that are being held by each other. See Table 1.
Table 1. Deadlock
Time Process X action Process Y action
t(1) Process acquires resource A Process acquires resource B
t(2) Holding A Process requests A but is told to wait; Holding B
t(3) Process requests B but is told to wait; Holding A Waiting for A; Holding B
t(4) Waiting for B; Holding A Waiting for A; Holding B
t(infinity) Waiting for B; Holding A Waiting for A; Holding B