0% found this document useful (0 votes)
17 views5 pages

OCR A Level Computer Science: 6.5 Thinking Concurrently

The document discusses concurrent computing, which allows multiple processes to run on a single processor by allocating time slices, contrasting it with parallel computing that runs processes simultaneously on multiple cores. It emphasizes the importance of understanding dependencies in problem-solving to determine which tasks can be tackled concurrently, and outlines the advantages and disadvantages of both concurrent and parallel processing. Additionally, it provides examples and tips for exam preparation related to these concepts.

Uploaded by

qvshg341
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views5 pages

OCR A Level Computer Science: 6.5 Thinking Concurrently

The document discusses concurrent computing, which allows multiple processes to run on a single processor by allocating time slices, contrasting it with parallel computing that runs processes simultaneously on multiple cores. It emphasizes the importance of understanding dependencies in problem-solving to determine which tasks can be tackled concurrently, and outlines the advantages and disadvantages of both concurrent and parallel processing. Additionally, it provides examples and tips for exam preparation related to these concepts.

Uploaded by

qvshg341
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Head to www.savemyexams.

com for more awesome resources

OCR A Level Computer Science Your notes

6.5 Thinking Concurrently


Contents
Concurrency in Problem Solving
Concurrent Processing

Page 1 of 5

© 2015-2024 Save My Exams, Ltd. · Revision Notes, Topic Questions, Past Papers
Head to www.savemyexams.com for more awesome resources

Concurrency in Problem Solving


Your notes
Determine the Parts of a Problem That Can Be Tackled
at the Same Time
What is Concurrent Computing?
Concurrent computing is usually confused with parallel computing, especially when both terms are
often used interchangeably. While both are related, they are distinct
Concurrent computing allows multiple processes/tasks to run on a single processor by giving each
process a fraction of time and control over the processor before swapping to another process
Parallel computing is where multiple processes are run at the same time over multiple processor
cores to enable faster computations
To fully understand concurrent processing, it is important to imagine a world where time slices are not
allocated to processes. Each process finishes to completion before another process can be run.
Practically, if someone wishes to play a game while a virus scan is running, they will have to wait until the
scan is complete before they can play
In a world with concurrent processing the virus scan is allocated a few microseconds of execution
time. The game is then allocated a few microseconds of execution time, before swapping back to the
virus scanner. As human brains have very slow information processing speeds, the effect looks
simultaneous but in actuality is sequential
Modern programs, such as photo and video editing software and more commonly AAA games, make
use of parallel computing to complete multiple tasks at the same time to improve running speed and
maximise resource usage and efficiency

Page 2 of 5

© 2015-2024 Save My Exams, Ltd. · Revision Notes, Topic Questions, Past Papers
Head to www.savemyexams.com for more awesome resources

Your notes

In order to determine parts of a problem that can be tackled at the same time, developers must
consider dependencies
Dependencies are tasks that rely on other tasks in order to either start or complete
Example 1 - A roofer cannot put a roof on a house if the walls aren't fully built, and walls cannot be
built unless the foundation is in place
Example 2 - A persons taxes cannot be calculated until all of their income has been input and all
deductibles taken into account
When running a batch program on a set of data, such as an analysis of climate data or a companies
departmental finances, if data sets do not relate, rely or interact with each other they can be run in
parallel on multiple cores
Running such programs on multiple cores increases time efficiency while also maximising resource
usage
If multiple different batch programs need to be run they can be interchanged and pipelined using
concurrent processing on the same processor. This will allow multiple programs to make progress in a
shorter time frame

Page 3 of 5

© 2015-2024 Save My Exams, Ltd. · Revision Notes, Topic Questions, Past Papers
Head to www.savemyexams.com for more awesome resources

Concurrent Processing
Your notes
Benefits & Drawbacks of Concurrent Processing
Advantages and Disadvantages of Concurrent Processing

Advantages Disadvantages

Increased program throughput as the number of If large numbers of users or processes are running
tasks completed in a timeframe are increased. For that involve high quantities of computation, these
example, ten programs could be half finished processes will take longer to complete as each is
versus two that may finish to completion 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

EXAM TIP
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

Advantages Disadvantages

When performing repetitive calculations on large Different processors running programs


quantities of data such as image or video editing, parallel simultaneously may need to communicate,
processing can speed up performance by splitting leading to overhead and delays on
processes over several processors processing

Page 4 of 5

© 2015-2024 Save My Exams, Ltd. · Revision Notes, Topic Questions, Past Papers
Head to www.savemyexams.com for more awesome resources

Graphical processing units can render 3D objects quickly Some tasks may run faster or may be
by splitting the computations of a scene between multiple optimised to run on a single processor
Your notes
cores 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 marks
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]

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

Page 5 of 5

© 2015-2024 Save My Exams, Ltd. · Revision Notes, Topic Questions, Past Papers

You might also like