Skip to main content
EnglandComputer ScienceSyllabus dot point

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.

Generated by Claude Opus 4.813 min answer

Reviewed by: AI editorial process; not yet individually human-reviewed

Have a quick question? Jump to the Q&A page

Jump to a section
  1. What this dot point is asking
  2. The answer
  3. Examples in context
  4. Try this

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

Sources & how we know this