Bridging model
Encyclopedia
In computer science
, a bridging model is an abstract model of a computer
which provides a conceptual bridge between the physical implementation of the machine and the abstraction available to a programmer
of that machine; in other words, it is intended to provide a common level of understanding between hardware
and software engineers.
A successful bridging model is one which can be efficiently implemented in reality and efficiently targeted by programmers; in particular, it should be possible for a compiler
to produce good code from a typical high-level language. The term was introduced by Leslie Valiant
's 1990 paper A Bridging Model for Parallel Computation, which argued that the strength of the von Neumann model
was largely responsible for the success of computing as a whole. The paper goes on to develop the bulk synchronous parallel
model as an analogous model for parallel computing
.
Computer science
Computer science or computing science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems...
, a bridging model is an abstract model of a computer
Computer
A computer is a programmable machine designed to sequentially and automatically carry out a sequence of arithmetic or logical operations. The particular sequence of operations can be changed readily, allowing the computer to solve more than one kind of problem...
which provides a conceptual bridge between the physical implementation of the machine and the abstraction available to a programmer
Programmer
A programmer, computer programmer or coder is someone who writes computer software. The term computer programmer can refer to a specialist in one area of computer programming or to a generalist who writes code for many kinds of software. One who practices or professes a formal approach to...
of that machine; in other words, it is intended to provide a common level of understanding between hardware
Computer hardware
Personal computer hardware are component devices which are typically installed into or peripheral to a computer case to create a personal computer upon which system software is installed including a firmware interface such as a BIOS and an operating system which supports application software that...
and software engineers.
A successful bridging model is one which can be efficiently implemented in reality and efficiently targeted by programmers; in particular, it should be possible for a compiler
Compiler
A compiler is a computer program that transforms source code written in a programming language into another computer language...
to produce good code from a typical high-level language. The term was introduced by Leslie Valiant
Leslie Valiant
Leslie Gabriel Valiant is a British computer scientist and computational theorist.He was educated at King's College, Cambridge, Imperial College London, and University of Warwick where he received his Ph.D. in computer science in 1974. He started teaching at Harvard University in 1982 and is...
's 1990 paper A Bridging Model for Parallel Computation, which argued that the strength of the von Neumann model
Von Neumann architecture
The term Von Neumann architecture, aka the Von Neumann model, derives from a computer architecture proposal by the mathematician and early computer scientist John von Neumann and others, dated June 30, 1945, entitled First Draft of a Report on the EDVAC...
was largely responsible for the success of computing as a whole. The paper goes on to develop the bulk synchronous parallel
Bulk synchronous parallel
The Bulk Synchronous Parallel abstract computer is a bridging model for designing parallel algorithms. A bridging model "is intended neither as a hardware nor a programming model but something in between" . It serves a purpose similar to the Parallel Random Access Machine model. BSP differs from...
model as an analogous model for parallel computing
Parallel computing
Parallel computing is a form of computation in which many calculations are carried out simultaneously, operating on the principle that large problems can often be divided into smaller ones, which are then solved concurrently . There are several different forms of parallel computing: bit-level,...
.