Fallacies of distributed computing
The fallacies of distributed computing are a set of assertions made by L Peter Deutsch and others at Sun Microsystems describing false assumptions that programmers new to distributed applications invariably make.
The fallacies
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 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.[2]
- Changes in network topology 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 generally came about at Sun Microsystems. L. Peter Deutsch, one of the original Sun "Fellows", is credited with penning the first seven fallacies in 1994; however, Bill Joy and Tom Lyon had already identified the first four as "The Fallacies of Networked Computing"[3] (the article claims "Dave Lyon", but this is a mistake). Around 1997, James Gosling, another Sun Fellow and the inventor of Java, added the eighth fallacy.[3]
See also
References
- "The Eight Fallacies of Distributed Computing - Tech Talk". Archived from the original on 2017-11-07. Retrieved 2017-06-18.
- "Malware Defensive Techniques Will Evolve as Security Arms Race Continues".
- "Deutsch's Fallacies, 10 Years After". Archived from the original on 2007-08-11. Retrieved 2005-12-03.
External links
- The Eight Fallacies of Distributed Computing
- The Eight Fallacies of Distributed Computing at the Wayback Machine (archived September 9, 2016)
- Fallacies of Distributed Computing Explained by Arnon Rotem-Gal-Oz
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.