When can parts of a problem be done at the same time, and what are the benefits and limits of doing so?
Thinking concurrently: determining which parts of a problem can be tackled at the same time, the benefits and limitations of concurrent and parallel processing, and the difference between true parallel processing and concurrent processing on a single processor.
An OCR H446 answer on thinking concurrently: identifying which parts of a problem can be done at the same time, the benefits and limitations of concurrency and parallelism, and the difference between true parallel processing on multiple cores and concurrent processing on a single processor.
Reviewed by: AI editorial process; not yet individually human-reviewed
Have a quick question? Jump to the Q&A page
Jump to a section
What this dot point is asking
OCR wants you to determine which parts of a problem can be done concurrently, the benefits and limitations of concurrent and parallel processing, and the difference between true parallel processing (multiple cores) and concurrent processing on a single processor. Expect a "concurrent versus parallel" question and an "which tasks benefit" question.
The answer
Concurrent versus parallel processing
Identifying what can run concurrently
Benefits and limitations
Examples in context
A GPU filters thousands of pixels in parallel because each is independent. A web server handles many users concurrently, interleaving their requests. Rendering a film frame by frame is "embarrassingly parallel" and farmed across a render farm. By contrast, computing a running total where each value depends on the previous one is inherently sequential. OCR links this to multicore and parallel hardware in Component 01, to record locking for safe concurrent data access, and to decomposition (finding the independent parts).
Try this
Q1. State the difference between concurrent processing on one core and true parallel processing. [2 marks]
- Cue. Concurrency time-slices so tasks only appear simultaneous (one instruction at a time); true parallelism uses multiple cores so instructions genuinely run at the same instant.
Q2. State the property a sub-task must have to be run in parallel with another. [1 mark]
- Cue. It must be independent (not need the other's result and not conflict over shared data).
Q3. State one limitation of parallel processing. [1 mark]
- Cue. Any one of: sequential tasks cannot be parallelised, the gain is capped by core count, or there is coordination/splitting overhead and shared-data contention.
Exam-style practice questions
Practice questions written in the style of OCR exam questions on this dot point, with worked answer explainers. The year tag is the paper they imitate, not the source.
OCR 20206 marksExplain the difference between concurrent processing on a single processor and true parallel processing, and explain why not all problems benefit from parallel processing.Show worked answer →
Concurrent versus parallel (up to 4): concurrent processing on a single processor gives the appearance of tasks running at the same time by rapidly switching between them (time-slicing); only one instruction actually executes at any instant. True parallel processing uses multiple processors or cores so that several instructions genuinely execute at the same instant, one per core, giving a real speed-up.
Why not all problems benefit (up to 2): a problem only gains from parallelism if it can be decomposed into parts that can run independently at the same time. Tasks with a sequential dependency, where each step needs the result of the previous one, cannot be parallelised and gain nothing; the overhead of splitting work and combining results, and contention for shared data, can also reduce or cancel the benefit. Markers reward the time-slicing-versus-genuinely-simultaneous distinction and the independence/dependency point.
OCR 20225 marksA program processes a large set of independent images, applying the same filter to each. Explain how thinking concurrently would speed this up, and state one limitation.Show worked answer →
Thinking concurrently (up to 3): because each image is processed independently of the others (no image depends on another's result), the task decomposes into many independent sub-tasks. These can be distributed across multiple cores or processors and run in parallel, so several images are filtered simultaneously, greatly reducing the total time compared with processing them one after another.
Limitation (up to 2): the speed-up is limited by the number of available cores and by overheads such as dividing the work, coordinating the tasks and combining results; beyond a point, adding more parallelism yields diminishing returns, and any non-parallel part (such as loading or saving) caps the overall gain. Markers reward identifying the independence that allows parallelism plus a valid limitation (core count or overhead).
Related dot points
- Thinking abstractly: the nature and need for abstraction, representational and procedural abstraction, and the use of models; thinking ahead and decomposition: breaking a problem into smaller sub-problems.
An OCR H446 answer on the computational thinking skills of abstraction and decomposition: the nature and need for abstraction, representational and procedural abstraction and the use of models, and decomposing a problem into smaller, more manageable sub-problems.
- Thinking ahead: identifying inputs and outputs, preconditions, caching and reusable program components; thinking procedurally: identifying the steps and the order of a solution and the components that can be reused.
An OCR H446 answer on the computational thinking skills of thinking ahead and thinking procedurally: identifying inputs, outputs, preconditions, caching and reusable components, and determining the steps and the order of a procedural solution.
- Thinking logically: identifying the decision points and conditions that affect the flow of a solution; computational methods including problem recognition, divide and conquer, backtracking, heuristics, performance modelling and visualisation.
An OCR H446 answer on thinking logically and computational methods: identifying decision points and conditions in a solution, and the methods of problem recognition, divide and conquer, backtracking, heuristics, performance modelling and visualisation that make problems solvable.
- Factors affecting processor performance (clock speed, number of cores, cache size and type), pipelining, and the characteristics and uses of CISC and RISC processors, multicore and parallel systems, and GPUs.
An OCR H446 answer on what affects processor performance: clock speed, cores and cache, how pipelining overlaps the fetch-decode-execute stages, and the characteristics and uses of CISC versus RISC processors, multicore and parallel systems, and GPUs.
- Transaction processing and the ACID properties (atomicity, consistency, isolation, durability), record locking and serialisation to manage concurrent access, and redundancy through commitment ordering and backups.
An OCR H446 answer on transaction processing and managing concurrent access: the ACID properties (atomicity, consistency, isolation, durability), record locking and serialisation to prevent conflicting updates, and redundancy through commitment ordering and backups.