the concept of concurrent and parallel


The Concept of Concurrent and Parallel Execution

Real world systems are concurrent in nature and computer science is about modeling the real world. Illustrations of real world systems that require concurrency are machines in a factory and railway networks. In the computer world, several new OS (Operating systems) support concurrency. Whilst working on our PC's (Personal Computer), we can listen to streaming audio, download a file, have a clock running, type in a text editor and print something 

A distributed computer system or a multiprocessor can much better exploit the inherent concurrency in the problem solutions rather than a uniprocessor system. Concurrency is attained either by creating concurrent processes or by creating threads within a process. Whichever of these manners is used, it needs loads of effort to synchronies the threads/processes to evade deadlocks, starvations and race conditions. 

Study of parallel and concurrent executions is significant because of following reasons: 

i)  A number of problems are most naturally resolved by using a set of co-operating processes.

ii)  To decrease the execution time.

The words 'concurrent' and 'parallel' are frequently used interchangeably, Though they are different.

Concurrent execution is the chronological behavior of the N-client 1-server model where no more than one client is served at a given moment. It has dual nature; it is serial in a small time scale, however concurrent in a large time scale. In our situation, a processor works as server and thread or process works as client. Examples of simultaneous languages comprise Modula-2, concurrent Pascal, Adam and concurrent PROLOG). 

Concurrent execution is linked with the N-client N-server model. It permits the servicing of more than one client simultaneously as number of servers are more than one.

Illustrations of parallel languages comprise strand-88, Parallel C and Occam-2.

Parallel execution doesn't require explicit concurrency in the language. Parallelism may be achieved by underlying hardware. In the same way, we can have concurrency in a language not including parallel execution. That's the case when a program is executed on a single processor.

Request for Solution File

Ask an Expert for Answer!!
Computer Engineering: the concept of concurrent and parallel
Reference No:- TGS0312726

Expected delivery within 24 Hours