2.1.5 Thinking Concurrently

Download: 2.1.5-Concurrent-Thinking

Parallel Computing: requires multiple processors each executing different instructions simultaneously, with the goal of speeding up computations. It is impossible to do on a single processor.

  • This enables several tasks to be performed simultaneously by different processors. It can speed up processing enormously when repetitive calculations need to be performed on large amounts of data.
  • Graphics processors can quickly render a 3D object by working simultaneously on individual components of the graphic.
  • Parallel processing has limitations. There is an overhead in coordinating the processors and some tasks may run faster with a single processor than with multiple processors.

Concurrent Processing: This takes place when several processes are running, with each in turn being given a slice of processor time. This gives the appearance that several tasks are being performed simultaneously, even though only one processor is being used.

  • One advantage of Concurrent Processing is that the number of tasks completed in a given time is increased.
  • Time that would be wasted by the processor waiting for the user to input data can be used on another task.
  • One drawback is that if a large number of users are all trying to run programs, and some of these involve a lot of computation, these programs will take longer to complete.

Loading