Concurrent Processing

What is concurrent processing?

  • Concurrent processing allows multiple processes/tasks to run on a single processor
  • Giving each process a** fraction of time** and **control **over the **processor **before swapping to another process

Advantages and disadvantages of concurrent processing

AdvantagesDisadvantages
Increased program throughput as the number of tasks completed in a timeframe are increased. For example, ten programs could be half finished versus two that may finish to completionIf large numbers of users or processes are running that involve high quantities of computation, these processes will take longer to complete as each is allocated a certain timeslice
Time spent waiting for user input or react to output is minimised by swapping to another task and waiting for an operating system interrupt before swapping back to the waiting task

Examiner Tips and Tricks

It is important to note that some operating system scheduling algorithms can prioritise some concurrent processes over others, meaning larger processes could finish sooner

Advantages and disadvantages of parallel processing

AdvantagesDisadvantages
When performing repetitive calculations on large quantities of data such as image or video editing, parallel processing can speed up performance by splitting processes over several processorsDifferent processors running programs simultaneously may need to communicate, leading to overhead and delays on processing
Graphical processing units can render 3D objects quickly by splitting the computations of a scene between multiple coresSome tasks may run faster or may be optimised to run on a single processor rather than multiple processors
Multiple different programs or browser web pages can run on different processors at the same time

Worked Example

A flight simulator allows a user to take control of a simulated aeroplane. The user can fly the plane in an environment that can simulate different weather conditions and additional planes in the sky.

Explain what is meant by ‘concurrent processing’ and describe one example of how the simulator could make use of it.

[4]

Answer: Concurrent processing is where multiple processes are allocated timeslices of processor time and are pipelined to allow multiple processes to make progress in the same time frame. [1]

Example: An example of concurrent processing in a simulator would be the plane moving independently of other planes or weather conditions [1]. Individual planes or weather do not always interact with each other allowing them to operate separately [1]. This allows multiple objects and events to occur in the program “at the same time” and react to different events [1]

Examiner Tips and Tricks

Remember to state your example, say how it acts concurrently and why it is necessary that it is concurrent