Differentiate concurrent and parallel executions?
The words "parallel "and "concurrent" are often used interchangeably, however they are different. Parallel execution is connected with the N-client N-server model. It allows the repairing of more than one client at the similar time as the number of servers is more than one. For facilitating equations of parallel programs, a quantity of parallel languages is presented including: Parallel C, strand-88 and Occam-2,.
Parallel execution doesn't need explicit concurrency in the language. Parallelism can be accomplished by the underlying hardware. Similarly, we can have concurrency in words without parallel execution. This is the case when a program is implemented on a single processor.
Concurrent execution is only the temporal behavior of the N-client 1-server model where only the one client is served at any given moment. It has a double nature: It is sequential in a small time scale, but concurrently in large time scale. In our framework the processor works as a server and a thread or a process works as a client. For facilitating equations of concurrent programs, number of concurrent languages is existing including, concurrent pascal, Ada Modula-2 and concurrent PROLOG.