Multicore and Parallel Processing Flashcards
What is concurrent?
all about juggling multiple processes that are waiting for execution
each process can be paused and resumed at will
can be done on a single core
if done quick enough can give the illusion of multiple things happening at once
What is parallel?
running multiple computations simultaneously
each process is run at the same time
requires multiple cores to work
literally doing multiple things at once
Parallel processing
allows for more instructions to be executed at a time which results in better performance
one way that can boost the performance of computers but the hardware and software must me able to support it
Multicore
processors with two cores are called dual core processors
processors with four cores are called quad core processors
Other parallel systems
GPU is very well suited to parallelised tasks as a GPU has many more cores than a CPU
other main use is the supercomputer which is made of thousands of separate computers all working together on a singular task
Issues with parallel processing
improved performance is not guaranteed
the process the computer i trying ti execute must be able to be broken down into smaller parts which can then be solved by different cores in parallel
What is a thread?
the code to solve each of these sub-processes is put into a section of code called a thread
if a process can be broken down into many independent threads the more the process will benefit from parallel processing
What is an overhead?
refers to the cost of doing a particular task
for parallel processing the overhead is communication between cores as this takes time away from executing threads
Overheads
to run effectively multi core processors need to allow for communication between cores which has a time overhead
this means while parallel systems are faster the relationship isn’t linear as we might expect