Difference between revisions of "Distributed computing"
Karl Jones (Talk | contribs) (First) |
Karl Jones (Talk | contribs) (→See also) |
||
Line 40: | Line 40: | ||
* [[Client-server model]] | * [[Client-server model]] | ||
+ | * [[Computer network]] | ||
+ | * [[Computer science]] | ||
+ | * [[Remote procedure call]] | ||
== External links == | == External links == | ||
* [https://en.wikipedia.org/wiki/Distributed_computing Distributed computing] @ Wikipedia | * [https://en.wikipedia.org/wiki/Distributed_computing Distributed computing] @ Wikipedia |
Revision as of 12:10, 3 March 2016
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