concurrent processing

Also found in: Dictionary, Thesaurus, Wikipedia.

concurrent processing

[kən′kər·ənt ′präs‚əs·iŋ]
(computer science)
The conceptually simultaneous execution of more than one sequential program on a computer or network of computers.

Concurrent processing

The simultaneous execution of several interrelated computer programs. A sequential computer program consists of a series of instructions to be executed one after another. A concurrent program consists of several sequential programs to be executed in parallel. Each of the concurrently executing sequential programs is called a process. Process execution, although concurrent, is usually not independent. Processes may affect each other's behavior through shared data, shared resources, communication, and synchronization.

Concurrent programs can be executed in several ways. Multiprogramming systems have one processing unit and one memory bank. Concurrent process execution is simulated by randomly interleaving instructions of the sequential programs. All processes have access to a common pool of data. In contrast, multiprocessing systems have several processing units and one memory bank. Processes are executed in parallel on the separate processing units while sharing common data. In distributed systems, or computer networks, each process is executed on its own processor with its own memory bank. Interaction between processes occurs by transmission of data from one process to another along a communication channel. See Distributed systems (computers), Multiprocessing

One of the first uses of concurrent processing was in operating systems. If the computer is to support a multiuser environment, the operating system must employ concurrent programming techniques to allow several users to access the computer simultaneously. The operating system should also permit several input/output devices to be used simultaneously, again utilizing concurrent processing. See Multiaccess computer, Operating system

Concurrent programming is also used when several computers are joined in a network. An airline reservation system is one example of concurrent processing on a distributed network of computers. See Local-area networks

A simple example of a task that can be performed more efficiently by concurrent processing is a program to calculate the sum of a large list of numbers. Several processes can simultaneously compute the sum of a subset of the list, after which these sums are added to produce the final total.

Concurrent programs can be created explicitly or implicitly. Explicit concurrent programs are written in a programming language designed for specifying processes to be executed concurrently. Implicit concurrent programs are created by a compiler that automatically translates programs written in a sequential programming language into programs with several components to be executed in parallel. See Programming languages

concurrent processing

References in periodicals archive ?
The tasks assessed the children's ability to recall phonological and visual information in the face of concurrent processing.
The two central executive measures that require storage in the face of concurrent processing of other information (Animal Recall and Mr X) showed surprisingly similar patterns of results.
If these tasks are tapping the ability to hold information in the face of concurrent processing demands (Baddeley, 1996 identified this as a central executive function separate from any storage role), rather than the system's storage capacity, then no differences based on the nature of the stimuli would be expected.

Full browser ?