Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference between processor and process in parallel computing?

Every time I come across something like "process 0 does x task" , I am inclined to think they mean processor.

After reading a bit more about it, I find that there are two memory classifications, shared memory and distributed memory: A shared memory executes something like a thread (implying same data is available to all processors- hence it makes sense to call it a process) However, even for distributed memory it is called a process instead of a processor. For example: "Process 0 is computing the partial dot product"

Why is this so? Why is it called a process and not a processor?

PS. I hope this question is not trivial :)

like image 586
ashishv Avatar asked Aug 10 '16 12:08

ashishv


People also ask

What is a process in parallel computing?

Parallel processing is a method in computing of running two or more processors (CPUs) to handle separate parts of an overall task. Breaking up different parts of a task among multiple processors will help reduce the amount of time to run a program.

What is the difference between parallel processing and multiprocessing?

MULTIPROCESSING:simply means using two or more processors within a computer or having two or more cores within a single processor to execute more that more process at simultaneously. PARALLEL PROCESSING:is the execution of one job by dividing it across different computer/processors.

What is difference between parallel processing?

Serial processing allows only one object at a time to be processed, whereas parallel processing assumes that various objects are processed simultaneously.

Is parallel processing and computing same?

Parallel processing is a computing technique when multiple streams of calculations or data processing tasks co-occur through numerous central processing units (CPUs) working concurrently. Parallel processing uses two or more processors or CPUs simultaneously to handle various components of a single activity.


1 Answers

These other answers are all pretty spot on. Processors are physical, processes are software. So a quad core CPU will have 4 processors, but can run many more processes.

Your confusion around distributed terminology is fair though. In distributed computing, typically X number of processes will be executed equal to the number of hardware processors. In this scenario, each processes gets an ID in software often called a rank. Ranks are independent of processors, and different ranks will have different tasks. So when you report a status, information is relative to the process rank, and not the physical processor.

To rephrase, in distributed computing there will usually be one process running on each processor. The process will have a unique id that is more important in the software than the physical processor it is running on, so status information is given about the process. As the number of processes and processors are equal, this distinction can get a bit blurred.

like image 61
benrules2 Avatar answered Sep 26 '22 23:09

benrules2