Distributed computing
In computer science, distributed computing is a field that studies distributed systems.
Contents
Description
A distributed system is a software system in which components located on networked computers communicate and coordinate their actions by passing messages.
The components interact with each other in order to achieve a common goal.
Characteristics
Three significant characteristics of distributed systems are:
- Concurrency of components
- Lack of a global clock
- Independent failure of components
Examples
Examples of distributed systems vary from SOA-based systems to massively multiplayer online games to peer-to-peer applications.
Distributed program
A computer program that runs in a distributed system is called a distributed program, and distributed programming is the process of writing such programs.
Alternatives
There are many alternatives for the message passing mechanism, including RPC-like connectors and message queues.
Goals and challenges
A goal and challenge pursued by some computer scientists and practitioners in distributed systems is location transparency; however, this goal has fallen out of favour in industry, as distributed systems are different from conventional non-distributed systems, and the differences, such as network partitions, partial system failures, and partial upgrades, cannot simply be "papered over" by attempts at "transparency" - see CAP theorem.
Others uses of the term
Distributed computing also refers to the use of distributed systems to solve computational problems.
In distributed computing, a problem is divided into many tasks, each of which is solved by one or more computers, which communicate with each other by message passing.
See also
External links
- Distributed computing @ Wikipedia