Distributed computing

From Wiki @ Karl Jones dot com
Jump to: navigation, search

In computer science, distributed computing is a field that studies distributed systems.

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