Computer Science AS OCR
-
1-1-structure-and-function-of-the-processor as5 主题
-
1-2-types-of-processor as3 主题
-
1-3-input-output-and-storage as2 主题
-
2-1-systems-software as8 主题
-
2-3-software-development as5 主题
-
2-4-types-of-programming-language as4 主题
-
3-1-compression-encryption-and-hashing as3 主题
-
3-2-databases as3 主题
-
3-3-networks as8 主题
-
3-4-web-technologies as13 主题
-
html as
-
css as
-
css-styling as
-
javascript as
-
variables-and-constants-in-javascript as
-
outputs-in-javascript as
-
selection-in-javascript- as
-
for-loops-in-javascript- as
-
while-loops-in-javascript- as
-
strings-in-javascript- as
-
operators-in-javascript- as
-
nested-statements-in-javascript as
-
functions-and-procedures-in-javascript as
-
html as
-
4-1-data-types as8 主题
-
4-2-data-structures as4 主题
-
4-3-boolean-algebra as1 主题
-
5-1-computing-related-legislation as4 主题
-
5-2-moral-and-ethical-issues as9 主题
-
6-1-thinking-abstractly as3 主题
-
6-2-thinking-ahead as1 主题
-
6-3-thinking-procedurally as3 主题
-
6-4-thinking-logically as2 主题
-
6-5-thinking-concurrently as2 主题
-
7-1-programming-techniques as9 主题
-
8-1-standard-algorithms-and-big-o-notation as8 主题
concurrency-in-problem-solving as
Exam code:H046
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

-
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
Responses