Fallacies Of Distributed Computing
   HOME

TheInfoList



OR:

The fallacies of distributed computing are a set of assertions made by L Peter Deutsch and others at
Sun Microsystems Sun Microsystems, Inc., often known as Sun for short, was an American technology company that existed from 1982 to 2010 which developed and sold computers, computer components, software, and information technology services. Sun contributed sig ...
describing false assumptions that
programmer A programmer, computer programmer or coder is an author of computer source code someone with skill in computer programming. The professional titles Software development, ''software developer'' and Software engineering, ''software engineer' ...
s new to distributed
applications Application may refer to: Mathematics and computing * Application software, computer software designed to help the user to perform specific tasks ** Application layer, an abstraction layer that specifies protocols and interface methods used in a ...
invariably make.


The fallacies

The originally listed
fallacies A fallacy is the use of invalid or otherwise faulty reasoning in the construction of an argument that may appear to be well-reasoned if unnoticed. The term was introduced in the Western intellectual tradition by the Aristotelian '' De Sophis ...
are # The network is reliable; # Latency is zero; # Bandwidth is infinite; # The network is secure; #
Topology Topology (from the Greek language, Greek words , and ) is the branch of mathematics concerned with the properties of a Mathematical object, geometric object that are preserved under Continuous function, continuous Deformation theory, deformat ...
doesn't change; # There is one administrator; # Transport cost is zero; # The network is homogeneous;


The effects of the fallacies

# Software applications are written with little error-handling on networking errors. During a network outage, such applications may stall or infinitely wait for an answer packet, permanently consuming memory or other resources. When the failed network becomes available, those applications may also fail to retry any stalled operations or require a (manual) restart. # Ignorance of network latency, and of the
packet loss Packet loss occurs when one or more packets of data travelling across a computer network fail to reach their destination. Packet loss is either caused by errors in data transmission, typically across wireless networks, or network congestion.Ku ...
it can cause, induces application- and transport-layer developers to allow unbounded traffic, greatly increasing dropped packets and wasting bandwidth. # Ignorance of bandwidth limits on the part of traffic senders can result in bottlenecks. # Complacency regarding network security results in being blindsided by malicious users and programs that continually adapt to security measures. # Changes in
network topology Network topology is the arrangement of the elements (Data link, links, Node (networking), nodes, etc.) of a communication network. Network topology can be used to define or describe the arrangement of various types of telecommunication networks, ...
can have effects on both bandwidth and latency issues, and therefore can have similar problems. # Multiple administrators, as with subnets for rival companies, may institute conflicting policies of which senders of network traffic must be aware in order to complete their desired paths. # The "hidden" costs of building and maintaining a network or subnet are non-negligible and must consequently be noted in budgets to avoid vast shortfalls. # If a system assumes a homogeneous network, then it can lead to the same problems that result from the first three fallacies.


History

The list of fallacies originated at
Sun Microsystems Sun Microsystems, Inc., often known as Sun for short, was an American technology company that existed from 1982 to 2010 which developed and sold computers, computer components, software, and information technology services. Sun contributed sig ...
.
L. Peter Deutsch L Peter Deutsch (born Laurence Peter Deutsch on August 7, 1946, in Boston, Massachusetts) is an American computer scientist and composer. He is the founder of Aladdin Enterprises and creator of Ghostscript, a free software PostScript and PDF int ...
, one of the original Sun "
Fellow A fellow is a title and form of address for distinguished, learned, or skilled individuals in academia, medicine, research, and industry. The exact meaning of the term differs in each field. In learned society, learned or professional society, p ...
s", first created a list of seven fallacies in 1994; incorporating four fallacies
Bill Joy William Nelson Joy (born November 8, 1954) is an American computer engineer and venture capitalist. He co-founded Sun Microsystems in 1982 along with Scott McNealy, Vinod Khosla, and Andy Bechtolsheim, and served as Chief Scientist and CTO ...
and Dave Lyon had already identified in "The Fallacies of Networked Computing". Around 1997,
James Gosling James Arthur Gosling (born 19 May 1955) is a Canadian computer scientist, best known as the founder and lead designer behind the Java (programming language), Java programming language. Gosling was elected a member of the National Academy of E ...
, another Sun Fellow and the inventor of
Java Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
, added the eighth fallacy. In an episode of "Software Engineering Radio" Peter Deutsch added a ninth fallacy: "It's really an expansion of number 4. It extends beyond the boundaries of the physical network. ... The party you are communicating with is trustworthy." Later in 2020, Mark Richards and Neal Ford expanded upon the original "Fallacies of Distributed Computing" by introducing three additional fallacies to address contemporary challenges in distributed systems: * Versioning is simple * Compensating updates always work * Observability is optional


See also

*
CAP theorem In database theory, the CAP theorem, also named Brewer's theorem after computer scientist Eric Brewer (scientist), Eric Brewer, states that any distributed data store can provide at most Inconsistent triad, two of the following three guarantees: ; ...
* PACELC design principle *
Distributed computing Distributed computing is a field of computer science that studies distributed systems, defined as computer systems whose inter-communicating components are located on different networked computers. The components of a distributed system commu ...
* Fine ''vs'' coarse grained SOA


References


External links

* * {{Cite web , last=Rotem-Gal-Oz , first=Arnon , date=January 2008 , url=https://www.researchgate.net/publication/322500050_Fallacies_of_Distributed_Computing_Explained , title=Fallacies of Distributed Computing Explained , access-date=2024-07-24 , via=
ResearchGate ResearchGate is a European commercial social networking site for scientists and researchers to share papers, ask and answer questions, and find collaborators. According to a 2014 study by ''Nature'' and a 2016 article in ''Times Higher Education' ...
Distributed computing architecture Distributed computing problems