CINXE.COM

Distributed computing - Wikipedia

<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-sticky-header-enabled vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Distributed computing - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-sticky-header-enabled vector-toc-available";var cookie=document.cookie.match(/(?:^|; )enwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy", "wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"aa6b1a60-f60e-488e-8c07-5db155eb8bdc","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Distributed_computing","wgTitle":"Distributed computing","wgCurRevisionId":1275205496,"wgRevisionId":1275205496,"wgArticleId":8501,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Webarchive template wayback links","CS1 errors: missing periodical","CS1 maint: multiple names: authors list","Articles with short description","Short description is different from Wikidata","All articles with unsourced statements","Articles with unsourced statements from October 2016","Pages displaying short descriptions of redirect targets via Module:Annotated link","Pages displaying wikidata descriptions as a fallback via Module:Annotated link", "Commons category link from Wikidata","Distributed computing"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Distributed_computing","wgRelevantArticleId":8501,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":50000,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId": "Q180634","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","jquery.makeCollapsible.styles":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.cite.ux-enhancements","mediawiki.page.media","ext.scribunto.logs","site","mediawiki.page.ready","jquery.makeCollapsible","mediawiki.toc", "skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips","ext.gadget.switcher","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.cx.uls.quick.actions","wikibase.client.vector-2022","ext.checkUser.clientHints","ext.growthExperiments.SuggestedEditSession"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=ext.cite.styles%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediaBadges%7Cext.wikimediamessages.styles%7Cjquery.makeCollapsible.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&amp;only=styles&amp;skin=vector-2022"> <script async="" src="/w/load.php?lang=en&amp;modules=startup&amp;only=scripts&amp;raw=1&amp;skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=site.styles&amp;only=styles&amp;skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.16"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Distributed computing - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/Distributed_computing"> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=Distributed_computing&amp;action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/Distributed_computing"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&amp;feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Distributed_computing rootpage-Distributed_computing skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" title="Main menu" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li><li id="n-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages"><span>Special pages</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page&#039;s font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/?wmf_source=donate&amp;wmf_medium=sidebar&amp;wmf_campaign=en.wikipedia.org&amp;uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&amp;returnto=Distributed+computing" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&amp;returnto=Distributed+computing" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Log in and more options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/?wmf_source=donate&amp;wmf_medium=sidebar&amp;wmf_campaign=en.wikipedia.org&amp;uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&amp;returnto=Distributed+computing" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&amp;returnto=Distributed+computing" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">(Top)</div> </a> </li> <li id="toc-Introduction" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Introduction"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Introduction</span> </div> </a> <ul id="toc-Introduction-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Patterns" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Patterns"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Patterns</span> </div> </a> <ul id="toc-Patterns-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Events_vs._Messages" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Events_vs._Messages"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Events vs. Messages</span> </div> </a> <ul id="toc-Events_vs._Messages-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Parallel_and_distributed_computing" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Parallel_and_distributed_computing"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Parallel and distributed computing</span> </div> </a> <ul id="toc-Parallel_and_distributed_computing-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-History" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#History"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>History</span> </div> </a> <ul id="toc-History-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Architectures" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Architectures"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>Architectures</span> </div> </a> <ul id="toc-Architectures-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Applications" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Applications"> <div class="vector-toc-text"> <span class="vector-toc-numb">7</span> <span>Applications</span> </div> </a> <ul id="toc-Applications-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Examples" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Examples"> <div class="vector-toc-text"> <span class="vector-toc-numb">8</span> <span>Examples</span> </div> </a> <ul id="toc-Examples-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Reactive_distributed_systems" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Reactive_distributed_systems"> <div class="vector-toc-text"> <span class="vector-toc-numb">9</span> <span>Reactive distributed systems</span> </div> </a> <ul id="toc-Reactive_distributed_systems-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Theoretical_foundations" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Theoretical_foundations"> <div class="vector-toc-text"> <span class="vector-toc-numb">10</span> <span>Theoretical foundations</span> </div> </a> <button aria-controls="toc-Theoretical_foundations-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Theoretical foundations subsection</span> </button> <ul id="toc-Theoretical_foundations-sublist" class="vector-toc-list"> <li id="toc-Models" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Models"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.1</span> <span>Models</span> </div> </a> <ul id="toc-Models-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-An_example" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#An_example"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.2</span> <span>An example</span> </div> </a> <ul id="toc-An_example-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Complexity_measures" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Complexity_measures"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.3</span> <span>Complexity measures</span> </div> </a> <ul id="toc-Complexity_measures-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Other_problems" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Other_problems"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.4</span> <span>Other problems</span> </div> </a> <ul id="toc-Other_problems-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Election" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Election"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.5</span> <span>Election</span> </div> </a> <ul id="toc-Election-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Properties_of_distributed_systems" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Properties_of_distributed_systems"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.6</span> <span>Properties of distributed systems</span> </div> </a> <ul id="toc-Properties_of_distributed_systems-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-See_also" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#See_also"> <div class="vector-toc-text"> <span class="vector-toc-numb">11</span> <span>See also</span> </div> </a> <ul id="toc-See_also-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Notes" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Notes"> <div class="vector-toc-text"> <span class="vector-toc-numb">12</span> <span>Notes</span> </div> </a> <ul id="toc-Notes-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-References" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#References"> <div class="vector-toc-text"> <span class="vector-toc-numb">13</span> <span>References</span> </div> </a> <ul id="toc-References-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Further_reading" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Further_reading"> <div class="vector-toc-text"> <span class="vector-toc-numb">14</span> <span>Further reading</span> </div> </a> <ul id="toc-Further_reading-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-External_links" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#External_links"> <div class="vector-toc-text"> <span class="vector-toc-numb">15</span> <span>External links</span> </div> </a> <ul id="toc-External_links-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" title="Table of Contents" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Distributed computing</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Go to an article in another language. Available in 52 languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-52" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">52 languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wikipedia.org/wiki/%D8%AD%D9%88%D8%B3%D8%A8%D8%A9_%D9%85%D9%88%D8%B2%D8%B9%D8%A9" title="حوسبة موزعة – Arabic" lang="ar" hreflang="ar" data-title="حوسبة موزعة" data-language-autonym="العربية" data-language-local-name="Arabic" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-be mw-list-item"><a href="https://be.wikipedia.org/wiki/%D0%A0%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%D0%BA%D0%B0%D0%B2%D0%B0%D0%BD%D1%8B%D1%8F_%D0%B2%D1%8B%D0%BB%D1%96%D1%87%D1%8D%D0%BD%D0%BD%D1%96" title="Размеркаваныя вылічэнні – Belarusian" lang="be" hreflang="be" data-title="Размеркаваныя вылічэнні" data-language-autonym="Беларуская" data-language-local-name="Belarusian" class="interlanguage-link-target"><span>Беларуская</span></a></li><li class="interlanguage-link interwiki-be-x-old mw-list-item"><a href="https://be-tarask.wikipedia.org/wiki/%D0%A0%D0%B0%D0%B7%D1%8C%D0%BC%D0%B5%D1%80%D0%BA%D0%B0%D0%B2%D0%B0%D0%BD%D1%8B%D1%8F_%D0%B2%D1%8B%D0%BB%D1%96%D1%87%D1%8D%D0%BD%D1%8C%D0%BD%D1%96" title="Разьмеркаваныя вылічэньні – Belarusian (Taraškievica orthography)" lang="be-tarask" hreflang="be-tarask" data-title="Разьмеркаваныя вылічэньні" data-language-autonym="Беларуская (тарашкевіца)" data-language-local-name="Belarusian (Taraškievica orthography)" class="interlanguage-link-target"><span>Беларуская (тарашкевіца)</span></a></li><li class="interlanguage-link interwiki-bg mw-list-item"><a href="https://bg.wikipedia.org/wiki/%D0%A0%D0%B0%D0%B7%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8_%D0%B8%D0%B7%D1%87%D0%B8%D1%81%D0%BB%D0%B8%D1%82%D0%B5%D0%BB%D0%BD%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8" title="Разпределени изчислителни системи – Bulgarian" lang="bg" hreflang="bg" data-title="Разпределени изчислителни системи" data-language-autonym="Български" data-language-local-name="Bulgarian" class="interlanguage-link-target"><span>Български</span></a></li><li class="interlanguage-link interwiki-bs mw-list-item"><a href="https://bs.wikipedia.org/wiki/Distribuirano_ra%C4%8Dunarstvo" title="Distribuirano računarstvo – Bosnian" lang="bs" hreflang="bs" data-title="Distribuirano računarstvo" data-language-autonym="Bosanski" data-language-local-name="Bosnian" class="interlanguage-link-target"><span>Bosanski</span></a></li><li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/Aplicaci%C3%B3_distribu%C3%AFda" title="Aplicació distribuïda – Catalan" lang="ca" hreflang="ca" data-title="Aplicació distribuïda" data-language-autonym="Català" data-language-local-name="Catalan" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-cs mw-list-item"><a href="https://cs.wikipedia.org/wiki/Distribuovan%C3%BD_v%C3%BDpo%C4%8Det" title="Distribuovaný výpočet – Czech" lang="cs" hreflang="cs" data-title="Distribuovaný výpočet" data-language-autonym="Čeština" data-language-local-name="Czech" class="interlanguage-link-target"><span>Čeština</span></a></li><li class="interlanguage-link interwiki-da mw-list-item"><a href="https://da.wikipedia.org/wiki/Distribuerede_beregninger" title="Distribuerede beregninger – Danish" lang="da" hreflang="da" data-title="Distribuerede beregninger" data-language-autonym="Dansk" data-language-local-name="Danish" class="interlanguage-link-target"><span>Dansk</span></a></li><li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/Verteiltes_System" title="Verteiltes System – German" lang="de" hreflang="de" data-title="Verteiltes System" data-language-autonym="Deutsch" data-language-local-name="German" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-et mw-list-item"><a href="https://et.wikipedia.org/wiki/Hajusarvutus" title="Hajusarvutus – Estonian" lang="et" hreflang="et" data-title="Hajusarvutus" data-language-autonym="Eesti" data-language-local-name="Estonian" class="interlanguage-link-target"><span>Eesti</span></a></li><li class="interlanguage-link interwiki-el mw-list-item"><a href="https://el.wikipedia.org/wiki/%CE%A0%CE%B1%CF%81%CE%AC%CE%BB%CE%BB%CE%B7%CE%BB%CE%B1_%CE%BA%CE%B1%CE%B9_%CE%BA%CE%B1%CF%84%CE%B1%CE%BD%CE%B5%CE%BC%CE%B7%CE%BC%CE%AD%CE%BD%CE%B1_%CF%83%CF%85%CF%83%CF%84%CE%AE%CE%BC%CE%B1%CF%84%CE%B1" title="Παράλληλα και κατανεμημένα συστήματα – Greek" lang="el" hreflang="el" data-title="Παράλληλα και κατανεμημένα συστήματα" data-language-autonym="Ελληνικά" data-language-local-name="Greek" class="interlanguage-link-target"><span>Ελληνικά</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/Computaci%C3%B3n_distribuida" title="Computación distribuida – Spanish" lang="es" hreflang="es" data-title="Computación distribuida" data-language-autonym="Español" data-language-local-name="Spanish" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-eo mw-list-item"><a href="https://eo.wikipedia.org/wiki/Disa_komputado" title="Disa komputado – Esperanto" lang="eo" hreflang="eo" data-title="Disa komputado" data-language-autonym="Esperanto" data-language-local-name="Esperanto" class="interlanguage-link-target"><span>Esperanto</span></a></li><li class="interlanguage-link interwiki-eu mw-list-item"><a href="https://eu.wikipedia.org/wiki/Konputazio_banatua" title="Konputazio banatua – Basque" lang="eu" hreflang="eu" data-title="Konputazio banatua" data-language-autonym="Euskara" data-language-local-name="Basque" class="interlanguage-link-target"><span>Euskara</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/%D8%B1%D8%A7%DB%8C%D8%A7%D9%86%D8%B4_%D8%AA%D9%88%D8%B2%DB%8C%D8%B9%E2%80%8C%D8%B4%D8%AF%D9%87" title="رایانش توزیع‌شده – Persian" lang="fa" hreflang="fa" data-title="رایانش توزیع‌شده" data-language-autonym="فارسی" data-language-local-name="Persian" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/Calcul_distribu%C3%A9" title="Calcul distribué – French" lang="fr" hreflang="fr" data-title="Calcul distribué" data-language-autonym="Français" data-language-local-name="French" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-ga mw-list-item"><a href="https://ga.wikipedia.org/wiki/Pr%C3%B3ise%C3%A1il_chomhuaineach_dh%C3%A1ilte" title="Próiseáil chomhuaineach dháilte – Irish" lang="ga" hreflang="ga" data-title="Próiseáil chomhuaineach dháilte" data-language-autonym="Gaeilge" data-language-local-name="Irish" class="interlanguage-link-target"><span>Gaeilge</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/%EB%B6%84%EC%82%B0_%EC%BB%B4%ED%93%A8%ED%8C%85" title="분산 컴퓨팅 – Korean" lang="ko" hreflang="ko" data-title="분산 컴퓨팅" data-language-autonym="한국어" data-language-local-name="Korean" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-io mw-list-item"><a href="https://io.wikipedia.org/wiki/Sistemi_descentraligita" title="Sistemi descentraligita – Ido" lang="io" hreflang="io" data-title="Sistemi descentraligita" data-language-autonym="Ido" data-language-local-name="Ido" class="interlanguage-link-target"><span>Ido</span></a></li><li class="interlanguage-link interwiki-id mw-list-item"><a href="https://id.wikipedia.org/wiki/Komputasi_terdistribusi" title="Komputasi terdistribusi – Indonesian" lang="id" hreflang="id" data-title="Komputasi terdistribusi" data-language-autonym="Bahasa Indonesia" data-language-local-name="Indonesian" class="interlanguage-link-target"><span>Bahasa Indonesia</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/Calcolo_distribuito" title="Calcolo distribuito – Italian" lang="it" hreflang="it" data-title="Calcolo distribuito" data-language-autonym="Italiano" data-language-local-name="Italian" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-he mw-list-item"><a href="https://he.wikipedia.org/wiki/%D7%97%D7%99%D7%A9%D7%95%D7%91_%D7%9E%D7%91%D7%95%D7%96%D7%A8" title="חישוב מבוזר – Hebrew" lang="he" hreflang="he" data-title="חישוב מבוזר" data-language-autonym="עברית" data-language-local-name="Hebrew" class="interlanguage-link-target"><span>עברית</span></a></li><li class="interlanguage-link interwiki-jv mw-list-item"><a href="https://jv.wikipedia.org/wiki/Komputasi_sebar" title="Komputasi sebar – Javanese" lang="jv" hreflang="jv" data-title="Komputasi sebar" data-language-autonym="Jawa" data-language-local-name="Javanese" class="interlanguage-link-target"><span>Jawa</span></a></li><li class="interlanguage-link interwiki-ka mw-list-item"><a href="https://ka.wikipedia.org/wiki/%E1%83%92%E1%83%90%E1%83%9C%E1%83%90%E1%83%AC%E1%83%98%E1%83%9A%E1%83%94%E1%83%91%E1%83%A3%E1%83%9A%E1%83%98_%E1%83%A1%E1%83%98%E1%83%A1%E1%83%A2%E1%83%94%E1%83%9B%E1%83%90" title="განაწილებული სისტემა – Georgian" lang="ka" hreflang="ka" data-title="განაწილებული სისტემა" data-language-autonym="ქართული" data-language-local-name="Georgian" class="interlanguage-link-target"><span>ქართული</span></a></li><li class="interlanguage-link interwiki-kk mw-list-item"><a href="https://kk.wikipedia.org/wiki/%D0%9C%D3%99%D0%BB%D1%96%D0%BC%D0%B5%D1%82%D1%82%D0%B5%D1%80%D0%B4%D1%96_%D2%AF%D0%BB%D0%B5%D1%81%D1%82%D1%96%D1%80%D0%B5_%D3%A9%D2%A3%D0%B4%D0%B5%D1%83" title="Мәліметтерді үлестіре өңдеу – Kazakh" lang="kk" hreflang="kk" data-title="Мәліметтерді үлестіре өңдеу" data-language-autonym="Қазақша" data-language-local-name="Kazakh" class="interlanguage-link-target"><span>Қазақша</span></a></li><li class="interlanguage-link interwiki-lv mw-list-item"><a href="https://lv.wikipedia.org/wiki/Izklied%C4%93t%C4%81_skait%C4%BCo%C5%A1ana" title="Izkliedētā skaitļošana – Latvian" lang="lv" hreflang="lv" data-title="Izkliedētā skaitļošana" data-language-autonym="Latviešu" data-language-local-name="Latvian" class="interlanguage-link-target"><span>Latviešu</span></a></li><li class="interlanguage-link interwiki-lt mw-list-item"><a href="https://lt.wikipedia.org/wiki/Paskirstytasis_skai%C4%8Diavimas" title="Paskirstytasis skaičiavimas – Lithuanian" lang="lt" hreflang="lt" data-title="Paskirstytasis skaičiavimas" data-language-autonym="Lietuvių" data-language-local-name="Lithuanian" class="interlanguage-link-target"><span>Lietuvių</span></a></li><li class="interlanguage-link interwiki-hu mw-list-item"><a href="https://hu.wikipedia.org/wiki/Elosztott_sz%C3%A1m%C3%ADt%C3%A1sok" title="Elosztott számítások – Hungarian" lang="hu" hreflang="hu" data-title="Elosztott számítások" data-language-autonym="Magyar" data-language-local-name="Hungarian" class="interlanguage-link-target"><span>Magyar</span></a></li><li class="interlanguage-link interwiki-mk mw-list-item"><a href="https://mk.wikipedia.org/wiki/%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD_%D1%81%D0%BC%D0%B5%D1%82%D0%B0%D1%87%D0%BA%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC" title="Распределен сметачки систем – Macedonian" lang="mk" hreflang="mk" data-title="Распределен сметачки систем" data-language-autonym="Македонски" data-language-local-name="Macedonian" class="interlanguage-link-target"><span>Македонски</span></a></li><li class="interlanguage-link interwiki-ml mw-list-item"><a href="https://ml.wikipedia.org/wiki/%E0%B4%A1%E0%B4%BF%E0%B4%B8%E0%B5%8D%E0%B4%9F%E0%B5%8D%E0%B4%B0%E0%B4%BF%E0%B4%AC%E0%B5%82%E0%B4%9F%E0%B5%8D%E0%B4%9F%E0%B4%A1%E0%B5%8D_%E0%B4%95%E0%B4%82%E0%B4%AA%E0%B5%8D%E0%B4%AF%E0%B5%82%E0%B4%9F%E0%B5%8D%E0%B4%9F%E0%B4%BF%E0%B4%82%E0%B4%97%E0%B5%8D" title="ഡിസ്ട്രിബൂട്ടഡ് കംപ്യൂട്ടിംഗ് – Malayalam" lang="ml" hreflang="ml" data-title="ഡിസ്ട്രിബൂട്ടഡ് കംപ്യൂട്ടിംഗ്" data-language-autonym="മലയാളം" data-language-local-name="Malayalam" class="interlanguage-link-target"><span>മലയാളം</span></a></li><li class="interlanguage-link interwiki-ms mw-list-item"><a href="https://ms.wikipedia.org/wiki/Pengkomputeran_teragih" title="Pengkomputeran teragih – Malay" lang="ms" hreflang="ms" data-title="Pengkomputeran teragih" data-language-autonym="Bahasa Melayu" data-language-local-name="Malay" class="interlanguage-link-target"><span>Bahasa Melayu</span></a></li><li class="interlanguage-link interwiki-mn mw-list-item"><a href="https://mn.wikipedia.org/wiki/%D0%A2%D0%B0%D1%80%D1%85%D0%BC%D0%B0%D0%BB_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC" title="Тархмал систем – Mongolian" lang="mn" hreflang="mn" data-title="Тархмал систем" data-language-autonym="Монгол" data-language-local-name="Mongolian" class="interlanguage-link-target"><span>Монгол</span></a></li><li class="interlanguage-link interwiki-nl mw-list-item"><a href="https://nl.wikipedia.org/wiki/Distributed_computing" title="Distributed computing – Dutch" lang="nl" hreflang="nl" data-title="Distributed computing" data-language-autonym="Nederlands" data-language-local-name="Dutch" class="interlanguage-link-target"><span>Nederlands</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/%E5%88%86%E6%95%A3%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0" title="分散コンピューティング – Japanese" lang="ja" hreflang="ja" data-title="分散コンピューティング" data-language-autonym="日本語" data-language-local-name="Japanese" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-no mw-list-item"><a href="https://no.wikipedia.org/wiki/Distribuert_databehandling" title="Distribuert databehandling – Norwegian Bokmål" lang="nb" hreflang="nb" data-title="Distribuert databehandling" data-language-autonym="Norsk bokmål" data-language-local-name="Norwegian Bokmål" class="interlanguage-link-target"><span>Norsk bokmål</span></a></li><li class="interlanguage-link interwiki-nn mw-list-item"><a href="https://nn.wikipedia.org/wiki/Distribuert_datahandsaming" title="Distribuert datahandsaming – Norwegian Nynorsk" lang="nn" hreflang="nn" data-title="Distribuert datahandsaming" data-language-autonym="Norsk nynorsk" data-language-local-name="Norwegian Nynorsk" class="interlanguage-link-target"><span>Norsk nynorsk</span></a></li><li class="interlanguage-link interwiki-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/Obliczenia_rozproszone" title="Obliczenia rozproszone – Polish" lang="pl" hreflang="pl" data-title="Obliczenia rozproszone" data-language-autonym="Polski" data-language-local-name="Polish" class="interlanguage-link-target"><span>Polski</span></a></li><li class="interlanguage-link interwiki-pt mw-list-item"><a href="https://pt.wikipedia.org/wiki/Sistema_de_processamento_distribu%C3%ADdo" title="Sistema de processamento distribuído – Portuguese" lang="pt" hreflang="pt" data-title="Sistema de processamento distribuído" data-language-autonym="Português" data-language-local-name="Portuguese" class="interlanguage-link-target"><span>Português</span></a></li><li class="interlanguage-link interwiki-ro mw-list-item"><a href="https://ro.wikipedia.org/wiki/Calcul_distribuit" title="Calcul distribuit – Romanian" lang="ro" hreflang="ro" data-title="Calcul distribuit" data-language-autonym="Română" data-language-local-name="Romanian" class="interlanguage-link-target"><span>Română</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D1%91%D0%BD%D0%BD%D1%8B%D0%B5_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F" title="Распределённые вычисления – Russian" lang="ru" hreflang="ru" data-title="Распределённые вычисления" data-language-autonym="Русский" data-language-local-name="Russian" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-simple mw-list-item"><a href="https://simple.wikipedia.org/wiki/Distributed_computing" title="Distributed computing – Simple English" lang="en-simple" hreflang="en-simple" data-title="Distributed computing" data-language-autonym="Simple English" data-language-local-name="Simple English" class="interlanguage-link-target"><span>Simple English</span></a></li><li class="interlanguage-link interwiki-sk mw-list-item"><a href="https://sk.wikipedia.org/wiki/Distribuovan%C3%BD_v%C3%BDpo%C4%8Det" title="Distribuovaný výpočet – Slovak" lang="sk" hreflang="sk" data-title="Distribuovaný výpočet" data-language-autonym="Slovenčina" data-language-local-name="Slovak" class="interlanguage-link-target"><span>Slovenčina</span></a></li><li class="interlanguage-link interwiki-sr mw-list-item"><a href="https://sr.wikipedia.org/wiki/%D0%A0%D0%B0%D1%81%D0%BF%D0%BE%D0%B4%D0%B5%D1%99%D0%B5%D0%BD%D0%BE_%D0%B8%D0%B7%D1%80%D0%B0%D1%87%D1%83%D0%BD%D0%B0%D0%B2%D0%B0%D1%9A%D0%B5" title="Расподељено израчунавање – Serbian" lang="sr" hreflang="sr" data-title="Расподељено израчунавање" data-language-autonym="Српски / srpski" data-language-local-name="Serbian" class="interlanguage-link-target"><span>Српски / srpski</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/Hajautettu_tietojenk%C3%A4sittely" title="Hajautettu tietojenkäsittely – Finnish" lang="fi" hreflang="fi" data-title="Hajautettu tietojenkäsittely" data-language-autonym="Suomi" data-language-local-name="Finnish" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-sv mw-list-item"><a href="https://sv.wikipedia.org/wiki/Distributed_computing" title="Distributed computing – Swedish" lang="sv" hreflang="sv" data-title="Distributed computing" data-language-autonym="Svenska" data-language-local-name="Swedish" class="interlanguage-link-target"><span>Svenska</span></a></li><li class="interlanguage-link interwiki-ta mw-list-item"><a href="https://ta.wikipedia.org/wiki/%E0%AE%B5%E0%AE%BF%E0%AE%B0%E0%AE%B5%E0%AE%B2%E0%AF%8D_%E0%AE%95%E0%AE%A3%E0%AE%BF%E0%AE%A9%E0%AE%BF_%E0%AE%9A%E0%AF%86%E0%AE%AF%E0%AF%8D%E0%AE%AE%E0%AF%81%E0%AE%B1%E0%AF%88" title="விரவல் கணினி செய்முறை – Tamil" lang="ta" hreflang="ta" data-title="விரவல் கணினி செய்முறை" data-language-autonym="தமிழ்" data-language-local-name="Tamil" class="interlanguage-link-target"><span>தமிழ்</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a href="https://tr.wikipedia.org/wiki/Da%C4%9F%C4%B1t%C4%B1k_hesaplama" title="Dağıtık hesaplama – Turkish" lang="tr" hreflang="tr" data-title="Dağıtık hesaplama" data-language-autonym="Türkçe" data-language-local-name="Turkish" class="interlanguage-link-target"><span>Türkçe</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/%D0%A0%D0%BE%D0%B7%D0%BF%D0%BE%D0%B4%D1%96%D0%BB%D0%B5%D0%BD%D1%96_%D0%BE%D0%B1%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F" title="Розподілені обчислення – Ukrainian" lang="uk" hreflang="uk" data-title="Розподілені обчислення" data-language-autonym="Українська" data-language-local-name="Ukrainian" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-ur mw-list-item"><a href="https://ur.wikipedia.org/wiki/%D9%85%D9%86%D9%82%D8%B3%D9%85_%DA%A9%D9%85%D9%BE%DB%8C%D9%88%D9%B9%D9%86%DA%AF" title="منقسم کمپیوٹنگ – Urdu" lang="ur" hreflang="ur" data-title="منقسم کمپیوٹنگ" data-language-autonym="اردو" data-language-local-name="Urdu" class="interlanguage-link-target"><span>اردو</span></a></li><li class="interlanguage-link interwiki-vi mw-list-item"><a href="https://vi.wikipedia.org/wiki/%C4%90i%E1%BB%87n_to%C3%A1n_ph%C3%A2n_t%C3%A1n" title="Điện toán phân tán – Vietnamese" lang="vi" hreflang="vi" data-title="Điện toán phân tán" data-language-autonym="Tiếng Việt" data-language-local-name="Vietnamese" class="interlanguage-link-target"><span>Tiếng Việt</span></a></li><li class="interlanguage-link interwiki-zh-yue mw-list-item"><a href="https://zh-yue.wikipedia.org/wiki/%E5%88%86%E6%95%A3%E9%81%8B%E7%AE%97" title="分散運算 – Cantonese" lang="yue" hreflang="yue" data-title="分散運算" data-language-autonym="粵語" data-language-local-name="Cantonese" class="interlanguage-link-target"><span>粵語</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/%E5%88%86%E5%B8%83%E5%BC%8F%E8%AE%A1%E7%AE%97" title="分布式计算 – Chinese" lang="zh" hreflang="zh" data-title="分布式计算" data-language-autonym="中文" data-language-local-name="Chinese" class="interlanguage-link-target"><span>中文</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q180634#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Distributed_computing" title="View the content page [c]" accesskey="c"><span>Article</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Talk:Distributed_computing" rel="discussion" title="Discuss improvements to the content page [t]" accesskey="t"><span>Talk</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Distributed_computing"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Distributed_computing&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Distributed_computing&amp;action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Distributed_computing"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Distributed_computing&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Distributed_computing&amp;action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Distributed_computing" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Distributed_computing" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Distributed_computing&amp;oldid=1275205496" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Distributed_computing&amp;action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&amp;page=Distributed_computing&amp;id=1275205496&amp;wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FDistributed_computing"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FDistributed_computing"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&amp;page=Distributed_computing&amp;action=show-download-screen" title="Download this page as a PDF file"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Distributed_computing&amp;printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="wb-otherproject-link wb-otherproject-commons mw-list-item"><a href="https://commons.wikimedia.org/wiki/Category:Distributed_computing" hreflang="en"><span>Wikimedia Commons</span></a></li><li class="wb-otherproject-link wb-otherproject-wikiquote mw-list-item"><a href="https://en.wikiquote.org/wiki/Distributed_computing" hreflang="en"><span>Wikiquote</span></a></li><li class="wb-otherproject-link wb-otherproject-wikiversity mw-list-item"><a href="https://en.wikiversity.org/wiki/Distributed_computing" hreflang="en"><span>Wikiversity</span></a></li><li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q180634" title="Structured data on this page hosted by Wikidata [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><div class="shortdescription nomobile noexcerpt noprint searchaux" style="display:none">System with multiple networked computers</div> <style data-mw-deduplicate="TemplateStyles:r1236090951">.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}</style><div role="note" class="hatnote navigation-not-searchable">Not to be confused with <a href="/wiki/Decentralized_computing" title="Decentralized computing">Decentralized computing</a>.</div> <p><b>Distributed computing</b> is a field of <a href="/wiki/Computer_science" title="Computer science">computer science</a> that studies <b>distributed systems</b>, defined as <a href="/wiki/Computer_system" class="mw-redirect" title="Computer system">computer systems</a> whose inter-communicating components are located on different <a href="/wiki/Computer_network" title="Computer network">networked computers</a>.<sup id="cite_ref-tanenbaum_1-0" class="reference"><a href="#cite_note-tanenbaum-1"><span class="cite-bracket">&#91;</span>1<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-Distributed_Programs_2010_pp._373–406_2-0" class="reference"><a href="#cite_note-Distributed_Programs_2010_pp._373–406-2"><span class="cite-bracket">&#91;</span>2<span class="cite-bracket">&#93;</span></a></sup> </p><p>The components of a distributed system communicate and coordinate their actions by <a href="/wiki/Message_passing" title="Message passing">passing messages</a> to one another in order to achieve a common goal. Three significant challenges of distributed systems are: maintaining <a href="/wiki/Concurrency_(computer_science)" title="Concurrency (computer science)">concurrency</a> of components, overcoming the <a href="/wiki/Clock_synchronization" title="Clock synchronization">lack of a global clock</a>, and managing the independent failure of components.<sup id="cite_ref-tanenbaum_1-1" class="reference"><a href="#cite_note-tanenbaum-1"><span class="cite-bracket">&#91;</span>1<span class="cite-bracket">&#93;</span></a></sup> When a component of one system fails, the entire system does not fail.<sup id="cite_ref-FOOTNOTEDusseauDusseau20161–2_3-0" class="reference"><a href="#cite_note-FOOTNOTEDusseauDusseau20161–2-3"><span class="cite-bracket">&#91;</span>3<span class="cite-bracket">&#93;</span></a></sup> Examples of distributed systems vary from <a href="/wiki/Service-oriented_architecture" title="Service-oriented architecture">SOA-based systems</a> to <a href="/wiki/Microservices" title="Microservices">microservices</a> to <a href="/wiki/Massively_multiplayer_online_game" title="Massively multiplayer online game">massively multiplayer online games</a> to <a href="/wiki/Peer-to-peer" title="Peer-to-peer">peer-to-peer applications</a>. Distributed systems cost significantly more than monolithic architectures, primarily due to increased needs for additional hardware, servers, gateways, firewalls, new subnets, proxies, and so on.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">&#91;</span>4<span class="cite-bracket">&#93;</span></a></sup> Also, distributed systems are prone to <a href="/wiki/Fallacies_of_distributed_computing" title="Fallacies of distributed computing">fallacies of distributed computing</a>. On the other hand, a well designed distributed system is more scalable, more durable, more changeable and more fine-tuned than a <a href="/wiki/Monolithic_application" title="Monolithic application">monolithic application</a> deployed on a single machine.<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">&#91;</span>5<span class="cite-bracket">&#93;</span></a></sup> According to Marc Brooker: "a system is scalable in the range where <a href="/wiki/Marginal_cost" title="Marginal cost">marginal cost</a> of additional workload is nearly constant." <a href="/wiki/Serverless_computing" title="Serverless computing">Serverless</a> technologies fit this definition but the total cost of ownership, and not just the infra cost must be considered.<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">&#91;</span>6<span class="cite-bracket">&#93;</span></a></sup> </p><p>A <a href="/wiki/Computer_program" title="Computer program">computer program</a> that runs within a distributed system is called a <b>distributed program</b>,<sup id="cite_ref-Distributed_Programs_2010_pp._373–406_II_7-0" class="reference"><a href="#cite_note-Distributed_Programs_2010_pp._373–406_II-7"><span class="cite-bracket">&#91;</span>7<span class="cite-bracket">&#93;</span></a></sup> and <i>distributed programming</i> is the process of writing such programs.<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">&#91;</span>8<span class="cite-bracket">&#93;</span></a></sup> There are many different types of implementations for the message passing mechanism, including pure HTTP, <a href="/wiki/Remote_procedure_call" title="Remote procedure call">RPC-like</a> connectors and <a href="/wiki/Message-oriented_middleware" title="Message-oriented middleware">message queues</a>.<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">&#91;</span>9<span class="cite-bracket">&#93;</span></a></sup> </p><p><i>Distributed computing</i> also refers to the use of distributed systems to solve computational problems. In <i>distributed computing</i>, a problem is divided into many tasks, each of which is solved by one or more computers,<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">&#91;</span>10<span class="cite-bracket">&#93;</span></a></sup> which communicate with each other via message passing.<sup id="cite_ref-Andrews_2000_11-0" class="reference"><a href="#cite_note-Andrews_2000-11"><span class="cite-bracket">&#91;</span>11<span class="cite-bracket">&#93;</span></a></sup> </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="Introduction">Introduction</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Distributed_computing&amp;action=edit&amp;section=1" title="Edit section: Introduction"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The word <i>distributed</i> in terms such as "distributed system", "distributed programming", and "<a href="/wiki/Distributed_algorithm" title="Distributed algorithm">distributed algorithm</a>" originally referred to computer networks where individual computers were physically distributed within some geographical area.<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">&#91;</span>12<span class="cite-bracket">&#93;</span></a></sup> The terms are nowadays used in a much wider sense, even referring to autonomous <a href="/wiki/Process_(computing)" title="Process (computing)">processes</a> that run on the same physical computer and interact with each other by message passing.<sup id="cite_ref-Andrews_2000_11-1" class="reference"><a href="#cite_note-Andrews_2000-11"><span class="cite-bracket">&#91;</span>11<span class="cite-bracket">&#93;</span></a></sup> </p><p>While there is no single definition of a distributed system,<sup id="cite_ref-harvtxt&#124;Ghosh&#124;2007_13-0" class="reference"><a href="#cite_note-harvtxt|Ghosh|2007-13"><span class="cite-bracket">&#91;</span>13<span class="cite-bracket">&#93;</span></a></sup> the following defining properties are commonly used as: </p> <ul><li>There are several autonomous computational entities (<i>computers</i> or <i><a href="/wiki/Node_(networking)" title="Node (networking)">nodes</a></i>), each of which has its own local <a href="/wiki/Memory_(computers)" class="mw-redirect" title="Memory (computers)">memory</a>.<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">&#91;</span>14<span class="cite-bracket">&#93;</span></a></sup></li> <li>The entities communicate with each other by <a href="/wiki/Message_passing" title="Message passing">message passing</a>.<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">&#91;</span>15<span class="cite-bracket">&#93;</span></a></sup></li></ul> <p>A distributed system may have a common goal, such as solving a large computational problem;<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">&#91;</span>16<span class="cite-bracket">&#93;</span></a></sup> the user then perceives the collection of autonomous processors as a unit. Alternatively, each computer may have its own user with individual needs, and the purpose of the distributed system is to coordinate the use of shared resources or provide communication services to the users.<sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">&#91;</span>17<span class="cite-bracket">&#93;</span></a></sup> </p><p>Other typical properties of distributed systems include the following: </p> <ul><li>The system has to <a href="/wiki/Fault_tolerance" title="Fault tolerance">tolerate failures</a> in individual computers.<sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">&#91;</span>18<span class="cite-bracket">&#93;</span></a></sup></li> <li>The structure of the system (network topology, network latency, number of computers) is not known in advance, the system may consist of different kinds of computers and network links, and the system may change during the execution of a distributed program.<sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">&#91;</span>19<span class="cite-bracket">&#93;</span></a></sup></li> <li>Each computer has only a limited, incomplete view of the system. Each computer may know only one part of the input.<sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">&#91;</span>20<span class="cite-bracket">&#93;</span></a></sup></li></ul> <div class="mw-heading mw-heading2"><h2 id="Patterns">Patterns</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Distributed_computing&amp;action=edit&amp;section=2" title="Edit section: Patterns"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Here are common <a href="/wiki/Architectural_patterns" class="mw-redirect" title="Architectural patterns">architectural patterns</a> used for distributed computing:<sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span class="cite-bracket">&#91;</span>21<span class="cite-bracket">&#93;</span></a></sup> </p> <ul><li><a href="/wiki/Saga_interaction_pattern" class="mw-redirect" title="Saga interaction pattern">Saga interaction pattern</a></li> <li><a href="/wiki/Microservices" title="Microservices">Microservices</a></li> <li><a href="/wiki/Event_driven_architecture" class="mw-redirect" title="Event driven architecture">Event driven architecture</a></li></ul> <div class="mw-heading mw-heading2"><h2 id="Events_vs._Messages">Events vs. Messages</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Distributed_computing&amp;action=edit&amp;section=3" title="Edit section: Events vs. Messages"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In distributed systems, <a href="/wiki/Event_(computing)" title="Event (computing)">events</a> represent a fact or state change (e.g., <i>OrderPlaced</i>) and are typically broadcast asynchronously to multiple consumers, promoting loose coupling and scalability. While events generally don’t expect an immediate response, acknowledgment mechanisms are often implemented at the infrastructure level (e.g., Kafka commit offsets, SNS delivery statuses) rather than being an inherent part of the event pattern itself. <sup id="cite_ref-:1_22-0" class="reference"><a href="#cite_note-:1-22"><span class="cite-bracket">&#91;</span>22<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-:2_23-0" class="reference"><a href="#cite_note-:2-23"><span class="cite-bracket">&#91;</span>23<span class="cite-bracket">&#93;</span></a></sup> </p><p>In contrast, <a href="/wiki/Message" title="Message">messages</a> serve a broader role, encompassing commands (e.g., <i>ProcessPayment</i>), events (e.g., <i>PaymentProcessed</i>), and documents (e.g., <i>DataPayload</i>). Both events and messages can support various delivery guarantees, including at-least-once, at-most-once, and exactly-once, depending on the technology stack and implementation. However, exactly-once delivery is often achieved through idempotency mechanisms rather than true, infrastructure-level exactly-once semantics. <sup id="cite_ref-:1_22-1" class="reference"><a href="#cite_note-:1-22"><span class="cite-bracket">&#91;</span>22<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-:2_23-1" class="reference"><a href="#cite_note-:2-23"><span class="cite-bracket">&#91;</span>23<span class="cite-bracket">&#93;</span></a></sup> </p><p>Delivery patterns for both events and messages include publish/subscribe (one-to-many) and point-to-point (one-to-one). While request/reply is technically possible, it is more commonly associated with messaging patterns rather than pure event-driven systems. Events excel at state propagation and decoupled notifications, while messages are better suited for command execution, workflow orchestration, and explicit coordination. <sup id="cite_ref-:1_22-2" class="reference"><a href="#cite_note-:1-22"><span class="cite-bracket">&#91;</span>22<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-:2_23-2" class="reference"><a href="#cite_note-:2-23"><span class="cite-bracket">&#91;</span>23<span class="cite-bracket">&#93;</span></a></sup> </p><p>Modern architectures commonly combine both approaches, leveraging events for distributed state change notifications and messages for targeted command execution and structured workflows based on specific timing, ordering, and delivery requirements. <sup id="cite_ref-:1_22-3" class="reference"><a href="#cite_note-:1-22"><span class="cite-bracket">&#91;</span>22<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-:2_23-3" class="reference"><a href="#cite_note-:2-23"><span class="cite-bracket">&#91;</span>23<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="Parallel_and_distributed_computing">Parallel and distributed computing</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Distributed_computing&amp;action=edit&amp;section=4" title="Edit section: Parallel and distributed computing"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <figure class="mw-halign-right" typeof="mw:File/Thumb"><a href="/wiki/File:Distributed-parallel.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/c/c6/Distributed-parallel.svg/300px-Distributed-parallel.svg.png" decoding="async" width="300" height="412" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/c/c6/Distributed-parallel.svg/450px-Distributed-parallel.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/c/c6/Distributed-parallel.svg/600px-Distributed-parallel.svg.png 2x" data-file-width="335" data-file-height="460" /></a><figcaption>(a), (b): a distributed system.<br />(c): a parallel system.</figcaption></figure> <p>Distributed systems are groups of networked computers which share a common goal for their work. The terms "<a href="/wiki/Concurrent_computing" title="Concurrent computing">concurrent computing</a>", "<a href="/wiki/Parallel_computing" title="Parallel computing">parallel computing</a>", and "distributed computing" have much overlap, and no clear distinction exists between them.<sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span class="cite-bracket">&#91;</span>24<span class="cite-bracket">&#93;</span></a></sup> The same system may be characterized both as "parallel" and "distributed"; the processors in a typical distributed system run concurrently in parallel.<sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span class="cite-bracket">&#91;</span>25<span class="cite-bracket">&#93;</span></a></sup> Parallel computing may be seen as a particularly tightly coupled form of distributed computing,<sup id="cite_ref-26" class="reference"><a href="#cite_note-26"><span class="cite-bracket">&#91;</span>26<span class="cite-bracket">&#93;</span></a></sup> and distributed computing may be seen as a loosely coupled form of parallel computing.<sup id="cite_ref-harvtxt&#124;Ghosh&#124;2007_13-1" class="reference"><a href="#cite_note-harvtxt|Ghosh|2007-13"><span class="cite-bracket">&#91;</span>13<span class="cite-bracket">&#93;</span></a></sup> Nevertheless, it is possible to roughly classify concurrent systems as "parallel" or "distributed" using the following criteria: </p> <ul><li>In parallel computing, all processors may have access to a <a href="/wiki/Shared_memory" title="Shared memory">shared memory</a> to exchange information between processors.<sup id="cite_ref-27" class="reference"><a href="#cite_note-27"><span class="cite-bracket">&#91;</span>27<span class="cite-bracket">&#93;</span></a></sup></li> <li>In distributed computing, each processor has its own private memory (<a href="/wiki/Distributed_memory" title="Distributed memory">distributed memory</a>). Information is exchanged by passing messages between the processors.<sup id="cite_ref-28" class="reference"><a href="#cite_note-28"><span class="cite-bracket">&#91;</span>28<span class="cite-bracket">&#93;</span></a></sup></li></ul> <p>The figure on the right illustrates the difference between distributed and parallel systems. Figure (a) is a schematic view of a typical distributed system; the system is represented as a network topology in which each node is a computer and each line connecting the nodes is a communication link. Figure (b) shows the same distributed system in more detail: each computer has its own local memory, and information can be exchanged only by passing messages from one node to another by using the available communication links. Figure (c) shows a parallel system in which each processor has a direct access to a shared memory. </p><p>The situation is further complicated by the traditional uses of the terms parallel and distributed <i>algorithm</i> that do not quite match the above definitions of parallel and distributed <i>systems</i> (see <a href="#Theoretical_foundations">below</a> for more detailed discussion). Nevertheless, as a rule of thumb, high-performance parallel computation in a shared-memory multiprocessor uses parallel algorithms while the coordination of a large-scale distributed system uses distributed algorithms.<sup id="cite_ref-BetalebParallel16_29-0" class="reference"><a href="#cite_note-BetalebParallel16-29"><span class="cite-bracket">&#91;</span>29<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="History">History</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Distributed_computing&amp;action=edit&amp;section=5" title="Edit section: History"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The use of concurrent processes which communicate through message-passing has its roots in <a href="/wiki/Operating_system" title="Operating system">operating system</a> architectures studied in the 1960s.<sup id="cite_ref-30" class="reference"><a href="#cite_note-30"><span class="cite-bracket">&#91;</span>30<span class="cite-bracket">&#93;</span></a></sup> The first widespread distributed systems were <a href="/wiki/Local-area_networks" class="mw-redirect" title="Local-area networks">local-area networks</a> such as <a href="/wiki/Ethernet" title="Ethernet">Ethernet</a>, which was invented in the 1970s.<sup id="cite_ref-31" class="reference"><a href="#cite_note-31"><span class="cite-bracket">&#91;</span>31<span class="cite-bracket">&#93;</span></a></sup> </p><p><a href="/wiki/ARPANET" title="ARPANET">ARPANET</a>, one of the predecessors of the <a href="/wiki/Internet" title="Internet">Internet</a>, was introduced in the late 1960s, and ARPANET <a href="/wiki/E-mail" class="mw-redirect" title="E-mail">e-mail</a> was invented in the early 1970s. E-mail became the most successful application of ARPANET,<sup id="cite_ref-32" class="reference"><a href="#cite_note-32"><span class="cite-bracket">&#91;</span>32<span class="cite-bracket">&#93;</span></a></sup> and it is probably the earliest example of a large-scale <a href="/wiki/Distributed_application" class="mw-redirect" title="Distributed application">distributed application</a>. In addition to ARPANET (and its successor, the global Internet), other early worldwide computer networks included <a href="/wiki/Usenet" title="Usenet">Usenet</a> and <a href="/wiki/FidoNet" title="FidoNet">FidoNet</a> from the 1980s, both of which were used to support distributed discussion systems.<sup id="cite_ref-BanksOnThe12_33-0" class="reference"><a href="#cite_note-BanksOnThe12-33"><span class="cite-bracket">&#91;</span>33<span class="cite-bracket">&#93;</span></a></sup> </p><p>The study of distributed computing became its own branch of computer science in the late 1970s and early 1980s. The first conference in the field, <a href="/wiki/Symposium_on_Principles_of_Distributed_Computing" title="Symposium on Principles of Distributed Computing">Symposium on Principles of Distributed Computing</a> (PODC), dates back to 1982, and its counterpart <a href="/wiki/International_Symposium_on_Distributed_Computing" title="International Symposium on Distributed Computing">International Symposium on Distributed Computing</a> (DISC) was first held in Ottawa in 1985 as the International Workshop on Distributed Algorithms on Graphs.<sup id="cite_ref-TelIntro00_34-0" class="reference"><a href="#cite_note-TelIntro00-34"><span class="cite-bracket">&#91;</span>34<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="Architectures">Architectures</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Distributed_computing&amp;action=edit&amp;section=6" title="Edit section: Architectures"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Various hardware and software architectures are used for distributed computing. At a lower level, it is necessary to interconnect multiple CPUs with some sort of network, regardless of whether that network is printed onto a circuit board or made up of loosely coupled devices and cables. At a higher level, it is necessary to interconnect <a href="/wiki/Process_(computing)" title="Process (computing)">processes</a> running on those CPUs with some sort of <a href="/wiki/Communication_system" class="mw-redirect" title="Communication system">communication system</a>.<sup id="cite_ref-OhlídalEvo06_35-0" class="reference"><a href="#cite_note-OhlídalEvo06-35"><span class="cite-bracket">&#91;</span>35<span class="cite-bracket">&#93;</span></a></sup> </p><p>Whether these CPUs share resources or not determines a first distinction between three types of architecture: </p> <ul><li><a href="/wiki/Shared-memory_architecture" title="Shared-memory architecture">Shared memory</a></li> <li><a href="/wiki/Shared-disk_architecture" title="Shared-disk architecture">Shared disk</a></li> <li><a href="/wiki/Shared_nothing" class="mw-redirect" title="Shared nothing">Shared nothing</a>.</li></ul> <p>Distributed programming typically falls into one of several basic architectures: <a href="/wiki/Client%E2%80%93server" class="mw-redirect" title="Client–server">client–server</a>, <a href="/wiki/Three-tier_(computing)" class="mw-redirect" title="Three-tier (computing)">three-tier</a>, <a href="/wiki/Multitier_architecture" title="Multitier architecture"><i>n</i>-tier</a>, or <a href="/wiki/Peer-to-peer" title="Peer-to-peer">peer-to-peer</a>; or categories: <a href="/wiki/Loose_coupling" title="Loose coupling">loose coupling</a>, or <a href="/wiki/Computer_cluster" title="Computer cluster">tight coupling</a>.<sup id="cite_ref-36" class="reference"><a href="#cite_note-36"><span class="cite-bracket">&#91;</span>36<span class="cite-bracket">&#93;</span></a></sup> </p> <ul><li><a href="/wiki/Client%E2%80%93server" class="mw-redirect" title="Client–server">Client–server</a>: architectures where smart clients contact the server for data then format and display it to the users. Input at the client is committed back to the server when it represents a permanent change.</li> <li><a href="/wiki/Three-tier_(computing)" class="mw-redirect" title="Three-tier (computing)">Three-tier</a>: architectures that move the client intelligence to a middle tier so that <a href="/wiki/Stateless_protocol" title="Stateless protocol">stateless</a> clients can be used. This simplifies application deployment. Most web applications are three-tier.</li> <li><a href="/wiki/Multitier_architecture" title="Multitier architecture"><i>n</i>-tier</a>: architectures that refer typically to web applications which further forward their requests to other enterprise services. This type of application is the one most responsible for the success of <a href="/wiki/Application_server" title="Application server">application servers</a>.</li> <li><a href="/wiki/Peer-to-peer" title="Peer-to-peer">Peer-to-peer</a>: architectures where there are no special machines that provide a service or manage the network resources.<sup id="cite_ref-Vigna20150127_37-0" class="reference"><a href="#cite_note-Vigna20150127-37"><span class="cite-bracket">&#91;</span>37<span class="cite-bracket">&#93;</span></a></sup><sup class="reference nowrap"><span title="Page / location: 227">&#58;&#8202;227&#8202;</span></sup> Instead all responsibilities are uniformly divided among all machines, known as peers. Peers can serve both as clients and as servers.<sup id="cite_ref-38" class="reference"><a href="#cite_note-38"><span class="cite-bracket">&#91;</span>38<span class="cite-bracket">&#93;</span></a></sup> Examples of this architecture include <a href="/wiki/BitTorrent" title="BitTorrent">BitTorrent</a> and the <a href="/wiki/Bitcoin_network" class="mw-redirect" title="Bitcoin network">bitcoin network</a>.</li></ul> <p>Another basic aspect of distributed computing architecture is the method of communicating and coordinating work among concurrent processes. Through various message passing protocols, processes may communicate directly with one another, typically in a <a href="/w/index.php?title=Main/sub_(technology)&amp;action=edit&amp;redlink=1" class="new" title="Main/sub (technology) (page does not exist)">main/sub</a> relationship. Alternatively, a <a href="/wiki/Database-centric_architecture" title="Database-centric architecture">"database-centric" architecture</a> can enable distributed computing to be done without any form of direct <a href="/wiki/Inter-process_communication" title="Inter-process communication">inter-process communication</a>, by utilizing a shared <a href="/wiki/Database" title="Database">database</a>.<sup id="cite_ref-39" class="reference"><a href="#cite_note-39"><span class="cite-bracket">&#91;</span>39<span class="cite-bracket">&#93;</span></a></sup> Database-centric architecture in particular provides relational processing analytics in a schematic architecture allowing for live environment relay. This enables distributed computing functions both within and beyond the parameters of a networked database.<sup id="cite_ref-40" class="reference"><a href="#cite_note-40"><span class="cite-bracket">&#91;</span>40<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="Applications">Applications</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Distributed_computing&amp;action=edit&amp;section=7" title="Edit section: Applications"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Reasons for using distributed systems and distributed computing may include: </p> <ul><li>The very nature of an application may <i>require</i> the use of a communication network that connects several computers: for example, data produced in one physical location and required in another location.</li> <li>There are many cases in which the use of a single computer would be possible in principle, but the use of a distributed system is <i>beneficial</i> for practical reasons. For example: <ul><li>It can allow for much larger storage and memory, faster compute, and higher bandwidth than a single machine.</li> <li>It can provide more reliability than a non-distributed system, as there is no <a href="/wiki/Single_point_of_failure" title="Single point of failure">single point of failure</a>. Moreover, a distributed system may be easier to expand and manage than a monolithic uniprocessor system.<sup id="cite_ref-41" class="reference"><a href="#cite_note-41"><span class="cite-bracket">&#91;</span>41<span class="cite-bracket">&#93;</span></a></sup></li> <li>It may be more cost-efficient to obtain the desired level of performance by using a <a href="/wiki/Cluster_(computing)" class="mw-redirect" title="Cluster (computing)">cluster</a> of several low-end computers, in comparison with a single high-end computer.</li></ul></li></ul> <div class="mw-heading mw-heading2"><h2 id="Examples">Examples</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Distributed_computing&amp;action=edit&amp;section=8" title="Edit section: Examples"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Examples of distributed systems and applications of distributed computing include the following:<sup id="cite_ref-42" class="reference"><a href="#cite_note-42"><span class="cite-bracket">&#91;</span>42<span class="cite-bracket">&#93;</span></a></sup> </p> <ul><li><a href="/wiki/Telecommunications" title="Telecommunications">telecommunications</a> networks: <ul><li><a href="/wiki/Telephone_network" title="Telephone network">telephone networks</a> and <a href="/wiki/Cellular_network" title="Cellular network">cellular networks</a>,</li> <li><a href="/wiki/Computer_network" title="Computer network">computer networks</a> such as the <a href="/wiki/Internet" title="Internet">Internet</a>,</li> <li><a href="/wiki/Wireless_sensor_network" title="Wireless sensor network">wireless sensor networks</a>,</li> <li><a href="/wiki/Routing_algorithm" class="mw-redirect" title="Routing algorithm">routing algorithms</a>;</li></ul></li> <li>network applications: <ul><li><a href="/wiki/World_Wide_Web" title="World Wide Web">World Wide Web</a> and <a href="/wiki/Peer-to-peer_network" class="mw-redirect" title="Peer-to-peer network">peer-to-peer networks</a>,</li> <li><a href="/wiki/Massively_multiplayer_online_game" title="Massively multiplayer online game">massively multiplayer online games</a> and <a href="/wiki/Virtual_reality" title="Virtual reality">virtual reality</a> communities,</li> <li><a href="/wiki/Distributed_database" title="Distributed database">distributed databases</a> and <a href="/wiki/Distributed_database_management_system" class="mw-redirect" title="Distributed database management system">distributed database management systems</a>,</li> <li><a href="/wiki/Distributed_file_system" class="mw-redirect" title="Distributed file system">network file systems</a>,</li> <li>distributed cache such as <a href="/wiki/Burst_buffer" title="Burst buffer">burst buffers</a>,</li> <li>distributed information processing systems such as banking systems and airline reservation systems;</li></ul></li> <li>real-time process control: <ul><li><a href="/wiki/Aircraft" title="Aircraft">aircraft</a> control systems,</li> <li><a href="/wiki/Industrial_control_system" title="Industrial control system">industrial control systems</a>;</li></ul></li> <li><a href="/wiki/Parallel_computation" class="mw-redirect" title="Parallel computation">parallel computation</a>: <ul><li><a href="/wiki/Scientific_computing" class="mw-redirect" title="Scientific computing">scientific computing</a>, including <a href="/wiki/Cluster_computing" class="mw-redirect" title="Cluster computing">cluster computing</a>, <a href="/wiki/Grid_computing" title="Grid computing">grid computing</a>, <a href="/wiki/Cloud_computing" title="Cloud computing">cloud computing</a>,<sup id="cite_ref-43" class="reference"><a href="#cite_note-43"><span class="cite-bracket">&#91;</span>43<span class="cite-bracket">&#93;</span></a></sup> and various <a href="/wiki/List_of_volunteer_computing_projects" title="List of volunteer computing projects">volunteer computing projects</a>,</li> <li><a href="/wiki/Distributed_rendering" class="mw-redirect" title="Distributed rendering">distributed rendering</a> in computer graphics.</li></ul></li> <li><a href="/wiki/Peer-to-peer" title="Peer-to-peer">peer-to-peer</a></li></ul> <div class="mw-heading mw-heading2"><h2 id="Reactive_distributed_systems">Reactive distributed systems</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Distributed_computing&amp;action=edit&amp;section=9" title="Edit section: Reactive distributed systems"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>According to Reactive Manifesto, reactive distributed systems are responsive, resilient, elastic and message-driven. Subsequently, Reactive systems are more flexible, loosely-coupled and scalable. To make your systems reactive, you are advised to implement Reactive Principles. Reactive Principles are a set of principles and patterns which help to make your cloud native application as well as edge native applications more reactive. <sup id="cite_ref-44" class="reference"><a href="#cite_note-44"><span class="cite-bracket">&#91;</span>44<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="Theoretical_foundations">Theoretical foundations</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Distributed_computing&amp;action=edit&amp;section=10" title="Edit section: Theoretical foundations"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Distributed_algorithm" title="Distributed algorithm">Distributed algorithm</a></div> <div class="mw-heading mw-heading3"><h3 id="Models">Models</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Distributed_computing&amp;action=edit&amp;section=11" title="Edit section: Models"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Many tasks that we would like to automate by using a computer are of question–answer type: we would like to ask a question and the computer should produce an answer. In <a href="/wiki/Theoretical_computer_science" title="Theoretical computer science">theoretical computer science</a>, such tasks are called <a href="/wiki/Computational_problem" title="Computational problem">computational problems</a>. Formally, a computational problem consists of <i>instances</i> together with a <i>solution</i> for each instance. Instances are questions that we can ask, and solutions are desired answers to these questions. </p><p>Theoretical computer science seeks to understand which computational problems can be solved by using a computer (<a href="/wiki/Computability_theory" title="Computability theory">computability theory</a>) and how efficiently (<a href="/wiki/Computational_complexity_theory" title="Computational complexity theory">computational complexity theory</a>). Traditionally, it is said that a problem can be solved by using a computer if we can design an <a href="/wiki/Algorithm" title="Algorithm">algorithm</a> that produces a correct solution for any given instance. Such an algorithm can be implemented as a <a href="/wiki/Computer_program" title="Computer program">computer program</a> that runs on a general-purpose computer: the program reads a problem instance from <a href="/wiki/Information" title="Information">input</a>, performs some computation, and produces the solution as <a href="/wiki/Output_(computing)" class="mw-redirect" title="Output (computing)">output</a>. Formalisms such as <a href="/wiki/Random-access_machine" title="Random-access machine">random-access machines</a> or <a href="/wiki/Universal_Turing_machine" title="Universal Turing machine">universal Turing machines</a> can be used as abstract models of a sequential general-purpose computer executing such an algorithm.<sup id="cite_ref-ToomarianNeural92_45-0" class="reference"><a href="#cite_note-ToomarianNeural92-45"><span class="cite-bracket">&#91;</span>45<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-SavageModels98_46-0" class="reference"><a href="#cite_note-SavageModels98-46"><span class="cite-bracket">&#91;</span>46<span class="cite-bracket">&#93;</span></a></sup> </p><p>The field of concurrent and distributed computing studies similar questions in the case of either multiple computers, or a computer that executes a network of interacting processes: which computational problems can be solved in such a network and how efficiently? However, it is not at all obvious what is meant by "solving a problem" in the case of a concurrent or distributed system: for example, what is the task of the algorithm designer, and what is the concurrent or distributed equivalent of a sequential general-purpose computer?<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">&#91;<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (October 2016)">citation needed</span></a></i>&#93;</sup> </p><p>The discussion below focuses on the case of multiple computers, although many of the issues are the same for concurrent processes running on a single computer. </p><p>Three viewpoints are commonly used: </p> <dl><dt>Parallel algorithms in shared-memory model</dt></dl> <ul><li>All processors have access to a shared memory. The algorithm designer chooses the program executed by each processor.</li> <li>One theoretical model is the <a href="/wiki/Parallel_random-access_machine" class="mw-redirect" title="Parallel random-access machine">parallel random-access machines</a> (PRAM) that are used.<sup id="cite_ref-47" class="reference"><a href="#cite_note-47"><span class="cite-bracket">&#91;</span>47<span class="cite-bracket">&#93;</span></a></sup> However, the classical PRAM model assumes synchronous access to the shared memory.</li> <li>Shared-memory programs can be extended to distributed systems if the underlying operating system encapsulates the communication between nodes and virtually unifies the memory across all individual systems.</li> <li>A model that is closer to the behavior of real-world multiprocessor machines and takes into account the use of machine instructions, such as <a href="/wiki/Compare-and-swap" title="Compare-and-swap">Compare-and-swap</a> (CAS), is that of <i>asynchronous shared memory</i>. There is a wide body of work on this model, a summary of which can be found in the literature.<sup id="cite_ref-48" class="reference"><a href="#cite_note-48"><span class="cite-bracket">&#91;</span>48<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-49" class="reference"><a href="#cite_note-49"><span class="cite-bracket">&#91;</span>49<span class="cite-bracket">&#93;</span></a></sup></li></ul> <dl><dt>Parallel algorithms in message-passing model</dt></dl> <ul><li>The algorithm designer chooses the structure of the network, as well as the program executed by each computer.</li> <li>Models such as <a href="/wiki/Boolean_circuits" class="mw-redirect" title="Boolean circuits">Boolean circuits</a> and <a href="/wiki/Sorting_network" title="Sorting network">sorting networks</a> are used.<sup id="cite_ref-50" class="reference"><a href="#cite_note-50"><span class="cite-bracket">&#91;</span>50<span class="cite-bracket">&#93;</span></a></sup> A Boolean circuit can be seen as a computer network: each gate is a computer that runs an extremely simple computer program. Similarly, a sorting network can be seen as a computer network: each comparator is a computer.</li></ul> <dl><dt>Distributed algorithms in message-passing model</dt></dl> <ul><li>The algorithm designer only chooses the computer program. All computers run the same program. The system must work correctly regardless of the structure of the network.</li> <li>A commonly used model is a <a href="/wiki/Graph_(discrete_mathematics)" title="Graph (discrete mathematics)">graph</a> with one <a href="/wiki/Finite-state_machine" title="Finite-state machine">finite-state machine</a> per node.</li></ul> <p>In the case of distributed algorithms, computational problems are typically related to graphs. Often the graph that describes the structure of the computer network <i>is</i> the problem instance. This is illustrated in the following example.<sup id="cite_ref-:0_51-0" class="reference"><a href="#cite_note-:0-51"><span class="cite-bracket">&#91;</span>51<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="An_example">An example</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Distributed_computing&amp;action=edit&amp;section=12" title="Edit section: An example"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Consider the computational problem of finding a coloring of a given graph <i>G</i>. Different fields might take the following approaches: </p> <dl><dt>Centralized algorithms<sup id="cite_ref-:0_51-1" class="reference"><a href="#cite_note-:0-51"><span class="cite-bracket">&#91;</span>51<span class="cite-bracket">&#93;</span></a></sup></dt></dl> <ul><li>The graph <i>G</i> is encoded as a string, and the string is given as input to a computer. The computer program finds a coloring of the graph, encodes the coloring as a string, and outputs the result.</li></ul> <dl><dt>Parallel algorithms</dt></dl> <ul><li>Again, the graph <i>G</i> is encoded as a string. However, multiple computers can access the same string in parallel. Each computer might focus on one part of the graph and produce a coloring for that part.</li> <li>The main focus is on high-performance computation that exploits the processing power of multiple computers in parallel.</li></ul> <dl><dt>Distributed algorithms</dt></dl> <ul><li>The graph <i>G</i> is the structure of the computer network. There is one computer for each node of <i>G</i> and one communication link for each edge of <i>G</i>. Initially, each computer only knows about its immediate neighbors in the graph <i>G</i>; the computers must exchange messages with each other to discover more about the structure of <i>G</i>. Each computer must produce its own color as output.</li> <li>The main focus is on coordinating the operation of an arbitrary distributed system.<sup id="cite_ref-:0_51-2" class="reference"><a href="#cite_note-:0-51"><span class="cite-bracket">&#91;</span>51<span class="cite-bracket">&#93;</span></a></sup></li></ul> <p>While the field of parallel algorithms has a different focus than the field of distributed algorithms, there is much interaction between the two fields. For example, the <a href="/wiki/Cole%E2%80%93Vishkin_algorithm" class="mw-redirect" title="Cole–Vishkin algorithm">Cole–Vishkin algorithm</a> for graph coloring<sup id="cite_ref-52" class="reference"><a href="#cite_note-52"><span class="cite-bracket">&#91;</span>52<span class="cite-bracket">&#93;</span></a></sup> was originally presented as a parallel algorithm, but the same technique can also be used directly as a distributed algorithm. </p><p>Moreover, a parallel algorithm can be implemented either in a parallel system (using shared memory) or in a distributed system (using message passing).<sup id="cite_ref-53" class="reference"><a href="#cite_note-53"><span class="cite-bracket">&#91;</span>53<span class="cite-bracket">&#93;</span></a></sup> The traditional boundary between parallel and distributed algorithms (choose a suitable network vs. run in any given network) does not lie in the same place as the boundary between parallel and distributed systems (shared memory vs. message passing). </p> <div class="mw-heading mw-heading3"><h3 id="Complexity_measures">Complexity measures</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Distributed_computing&amp;action=edit&amp;section=13" title="Edit section: Complexity measures"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In parallel algorithms, yet another resource in addition to time and space is the number of computers. Indeed, often there is a trade-off between the running time and the number of computers: the problem can be solved faster if there are more computers running in parallel (see <a href="/wiki/Speedup" title="Speedup">speedup</a>). If a decision problem can be solved in <a href="/wiki/Polylogarithmic_time" class="mw-redirect" title="Polylogarithmic time">polylogarithmic time</a> by using a polynomial number of processors, then the problem is said to be in the class <a href="/wiki/NC_(complexity)" title="NC (complexity)">NC</a>.<sup id="cite_ref-54" class="reference"><a href="#cite_note-54"><span class="cite-bracket">&#91;</span>54<span class="cite-bracket">&#93;</span></a></sup> The class NC can be defined equally well by using the PRAM formalism or Boolean circuits—PRAM machines can simulate Boolean circuits efficiently and vice versa.<sup id="cite_ref-55" class="reference"><a href="#cite_note-55"><span class="cite-bracket">&#91;</span>55<span class="cite-bracket">&#93;</span></a></sup> </p><p>In the analysis of distributed algorithms, more attention is usually paid on communication operations than computational steps. Perhaps the simplest model of distributed computing is a synchronous system where all nodes operate in a lockstep fashion. This model is commonly known as the LOCAL model. During each <i>communication round</i>, all nodes in parallel (1)&#160;receive the latest messages from their neighbours, (2)&#160;perform arbitrary local computation, and (3)&#160;send new messages to their neighbors. In such systems, a central complexity measure is the number of synchronous communication rounds required to complete the task.<sup id="cite_ref-56" class="reference"><a href="#cite_note-56"><span class="cite-bracket">&#91;</span>56<span class="cite-bracket">&#93;</span></a></sup> </p><p>This complexity measure is closely related to the <a href="/wiki/Diameter_(graph_theory)" title="Diameter (graph theory)">diameter</a> of the network. Let <i>D</i> be the diameter of the network. On the one hand, any computable problem can be solved trivially in a synchronous distributed system in approximately 2<i>D</i> communication rounds: simply gather all information in one location (<i>D</i> rounds), solve the problem, and inform each node about the solution (<i>D</i> rounds). </p><p>On the other hand, if the running time of the algorithm is much smaller than <i>D</i> communication rounds, then the nodes in the network must produce their output without having the possibility to obtain information about distant parts of the network. In other words, the nodes must make globally consistent decisions based on information that is available in their <i>local D-neighbourhood</i>. Many distributed algorithms are known with the running time much smaller than <i>D</i> rounds, and understanding which problems can be solved by such algorithms is one of the central research questions of the field.<sup id="cite_ref-57" class="reference"><a href="#cite_note-57"><span class="cite-bracket">&#91;</span>57<span class="cite-bracket">&#93;</span></a></sup> Typically an algorithm which solves a problem in polylogarithmic time in the network size is considered efficient in this model. </p><p>Another commonly used measure is the total number of bits transmitted in the network (cf. <a href="/wiki/Communication_complexity" title="Communication complexity">communication complexity</a>).<sup id="cite_ref-SchneiderTrading11_58-0" class="reference"><a href="#cite_note-SchneiderTrading11-58"><span class="cite-bracket">&#91;</span>58<span class="cite-bracket">&#93;</span></a></sup> The features of this concept are typically captured with the CONGEST(B) model, which is similarly defined as the LOCAL model, but where single messages can only contain B bits. </p> <div class="mw-heading mw-heading3"><h3 id="Other_problems">Other problems</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Distributed_computing&amp;action=edit&amp;section=14" title="Edit section: Other problems"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Traditional computational problems take the perspective that the user asks a question, a computer (or a distributed system) processes the question, then produces an answer and stops. However, there are also problems where the system is required not to stop, including the <a href="/wiki/Dining_philosophers_problem" title="Dining philosophers problem">dining philosophers problem</a> and other similar <a href="/wiki/Mutual_exclusion" title="Mutual exclusion">mutual exclusion</a> problems. In these problems, the distributed system is supposed to continuously coordinate the use of shared resources so that no conflicts or <a href="/wiki/Deadlock_(computer_science)" title="Deadlock (computer science)">deadlocks</a> occur. </p><p>There are also fundamental challenges that are unique to distributed computing, for example those related to <i>fault-tolerance</i>. Examples of related problems include <a href="/wiki/Consensus_(computer_science)" title="Consensus (computer science)">consensus problems</a>,<sup id="cite_ref-59" class="reference"><a href="#cite_note-59"><span class="cite-bracket">&#91;</span>59<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/Byzantine_fault_tolerance" class="mw-redirect" title="Byzantine fault tolerance">Byzantine fault tolerance</a>,<sup id="cite_ref-60" class="reference"><a href="#cite_note-60"><span class="cite-bracket">&#91;</span>60<span class="cite-bracket">&#93;</span></a></sup> and <a href="/wiki/Self-stabilisation" class="mw-redirect" title="Self-stabilisation">self-stabilisation</a>.<sup id="cite_ref-61" class="reference"><a href="#cite_note-61"><span class="cite-bracket">&#91;</span>61<span class="cite-bracket">&#93;</span></a></sup> </p><p>Much research is also focused on understanding the <i>asynchronous</i> nature of distributed systems: </p> <ul><li><a href="/wiki/Synchronizer_(algorithm)" title="Synchronizer (algorithm)">Synchronizers</a> can be used to run synchronous algorithms in asynchronous systems.<sup id="cite_ref-62" class="reference"><a href="#cite_note-62"><span class="cite-bracket">&#91;</span>62<span class="cite-bracket">&#93;</span></a></sup></li> <li><a href="/wiki/Logical_clock" title="Logical clock">Logical clocks</a> provide a causal <a href="/wiki/Happened-before" title="Happened-before">happened-before</a> ordering of events.<sup id="cite_ref-63" class="reference"><a href="#cite_note-63"><span class="cite-bracket">&#91;</span>63<span class="cite-bracket">&#93;</span></a></sup></li> <li><a href="/wiki/Clock_synchronization" title="Clock synchronization">Clock synchronization</a> algorithms provide globally consistent physical time stamps.<sup id="cite_ref-64" class="reference"><a href="#cite_note-64"><span class="cite-bracket">&#91;</span>64<span class="cite-bracket">&#93;</span></a></sup></li></ul> <p>Note that in distributed systems, <a href="/wiki/Latency_(engineering)" title="Latency (engineering)">latency</a> should be measured through "99th percentile" because "median" and "average" can be misleading.<sup id="cite_ref-65" class="reference"><a href="#cite_note-65"><span class="cite-bracket">&#91;</span>65<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Election"><a href="/wiki/Leader_election" title="Leader election">Election</a></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Distributed_computing&amp;action=edit&amp;section=15" title="Edit section: Election"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><i>Coordinator election</i> (or <i>leader election</i>) is the process of designating a single <a href="/wiki/Process_(computing)" title="Process (computing)">process</a> as the organizer of some task distributed among several computers (nodes). Before the task is begun, all network nodes are either unaware which node will serve as the "coordinator" (or leader) of the task, or unable to communicate with the current coordinator. After a coordinator election algorithm has been run, however, each node throughout the network recognizes a particular, unique node as the task coordinator.<sup id="cite_ref-HaloiApache15_66-0" class="reference"><a href="#cite_note-HaloiApache15-66"><span class="cite-bracket">&#91;</span>66<span class="cite-bracket">&#93;</span></a></sup> </p><p>The network nodes communicate among themselves in order to decide which of them will get into the "coordinator" state. For that, they need some method in order to break the symmetry among them. For example, if each node has unique and comparable identities, then the nodes can compare their identities, and decide that the node with the highest identity is the coordinator.<sup id="cite_ref-HaloiApache15_66-1" class="reference"><a href="#cite_note-HaloiApache15-66"><span class="cite-bracket">&#91;</span>66<span class="cite-bracket">&#93;</span></a></sup> </p><p>The definition of this problem is often attributed to LeLann, who formalized it as a method to create a new token in a token <a href="/wiki/Ring_network" title="Ring network">ring network</a> in which the token has been lost.<sup id="cite_ref-67" class="reference"><a href="#cite_note-67"><span class="cite-bracket">&#91;</span>67<span class="cite-bracket">&#93;</span></a></sup> </p><p>Coordinator election algorithms are designed to be economical in terms of total <a href="/wiki/Byte" title="Byte">bytes</a> transmitted, and time. The algorithm suggested by Gallager, Humblet, and Spira<sup id="cite_ref-68" class="reference"><a href="#cite_note-68"><span class="cite-bracket">&#91;</span>68<span class="cite-bracket">&#93;</span></a></sup> for general undirected graphs has had a strong impact on the design of distributed algorithms in general, and won the <a href="/wiki/Dijkstra_Prize" class="mw-redirect" title="Dijkstra Prize">Dijkstra Prize</a> for an influential paper in distributed computing. </p><p>Many other algorithms were suggested for different kinds of network <a href="/wiki/Graph_(discrete_mathematics)" title="Graph (discrete mathematics)">graphs</a>, such as undirected rings, unidirectional rings, complete graphs, grids, directed Euler graphs, and others. A general method that decouples the issue of the graph family from the design of the coordinator election algorithm was suggested by Korach, Kutten, and Moran.<sup id="cite_ref-69" class="reference"><a href="#cite_note-69"><span class="cite-bracket">&#91;</span>69<span class="cite-bracket">&#93;</span></a></sup> </p><p>In order to perform coordination, distributed systems employ the concept of coordinators. The coordinator election problem is to choose a process from among a group of processes on different processors in a distributed system to act as the central coordinator. Several central coordinator election algorithms exist.<sup id="cite_ref-70" class="reference"><a href="#cite_note-70"><span class="cite-bracket">&#91;</span>70<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Properties_of_distributed_systems">Properties of distributed systems</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Distributed_computing&amp;action=edit&amp;section=16" title="Edit section: Properties of distributed systems"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>So far the focus has been on <i>designing</i> a distributed system that solves a given problem. A complementary research problem is <i>studying</i> the properties of a given distributed system.<sup id="cite_ref-71" class="reference"><a href="#cite_note-71"><span class="cite-bracket">&#91;</span>71<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-72" class="reference"><a href="#cite_note-72"><span class="cite-bracket">&#91;</span>72<span class="cite-bracket">&#93;</span></a></sup> </p><p>The <a href="/wiki/Halting_problem" title="Halting problem">halting problem</a> is an analogous example from the field of centralised computation: we are given a computer program and the task is to decide whether it halts or runs forever. The halting problem is <a href="/wiki/Undecidable_problem" title="Undecidable problem">undecidable</a> in the general case, and naturally understanding the behaviour of a computer network is at least as hard as understanding the behaviour of one computer.<sup id="cite_ref-SvozilIndet11_73-0" class="reference"><a href="#cite_note-SvozilIndet11-73"><span class="cite-bracket">&#91;</span>73<span class="cite-bracket">&#93;</span></a></sup> </p><p>However, there are many interesting special cases that are decidable. In particular, it is possible to reason about the behaviour of a network of finite-state machines. One example is telling whether a given network of interacting (asynchronous and non-deterministic) finite-state machines can reach a deadlock. This problem is <a href="/wiki/PSPACE-complete" title="PSPACE-complete">PSPACE-complete</a>,<sup id="cite_ref-74" class="reference"><a href="#cite_note-74"><span class="cite-bracket">&#91;</span>74<span class="cite-bracket">&#93;</span></a></sup> i.e., it is decidable, but not likely that there is an efficient (centralised, parallel or distributed) algorithm that solves the problem in the case of large networks. </p> <div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Distributed_computing&amp;action=edit&amp;section=17" title="Edit section: See also"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1184024115">.mw-parser-output .div-col{margin-top:0.3em;column-width:30em}.mw-parser-output .div-col-small{font-size:90%}.mw-parser-output .div-col-rules{column-rule:1px solid #aaa}.mw-parser-output .div-col dl,.mw-parser-output .div-col ol,.mw-parser-output .div-col ul{margin-top:0}.mw-parser-output .div-col li,.mw-parser-output .div-col dd{page-break-inside:avoid;break-inside:avoid-column}</style><div class="div-col" style="column-width: 20em;"> <ul><li><a href="/wiki/Actor_model" title="Actor model">Actor model</a>&#160;– Model of concurrent computation</li> <li><a href="/wiki/AppScale" title="AppScale">AppScale</a>&#160;– American cloud infrastructure software company</li> <li><a href="/wiki/BOINC" class="mw-redirect" title="BOINC">BOINC</a>&#160;– Open source middleware system for volunteer and grid computing<span style="display:none" class="category-annotation-with-redirected-description">Pages displaying short descriptions of redirect targets</span></li> <li><a href="/wiki/Code_mobility" title="Code mobility">Code mobility</a>&#160;– Process in distributed computing</li> <li><a href="/wiki/Dataflow_programming" title="Dataflow programming">Dataflow programming</a>&#160;– Computer programming paradigm</li> <li><a href="/wiki/Decentralized_computing" title="Decentralized computing">Decentralized computing</a>&#160;– Distribution of jobs across different computers</li> <li><a href="/wiki/Distributed_algorithm" title="Distributed algorithm">Distributed algorithm</a>&#160;– algorithm designed to run on computer hardware constructed from interconnected processors<span style="display:none" class="category-wikidata-fallback-annotation">Pages displaying wikidata descriptions as a fallback</span></li> <li><a href="/wiki/Distributed_algorithmic_mechanism_design" title="Distributed algorithmic mechanism design">Distributed algorithmic mechanism design</a>&#160;– form of economic mechanism design, in game theory<span style="display:none" class="category-wikidata-fallback-annotation">Pages displaying wikidata descriptions as a fallback</span></li> <li><a href="/wiki/Distributed_cache" title="Distributed cache">Distributed cache</a>&#160;– Type of computer cache</li> <li><a href="/wiki/Distributed_GIS" title="Distributed GIS">Distributed GIS</a>&#160;– A type of Geographic Information System</li> <li><a href="/wiki/Distributed_networking" title="Distributed networking">Distributed networking</a>&#160;– Multi-source interconnected computing</li> <li><a href="/wiki/Distributed_operating_system" title="Distributed operating system">Distributed operating system</a>&#160;– Operating system designed to operate on multiple systems over a network computer</li> <li><a href="/wiki/Eventual_consistency" title="Eventual consistency">Eventual consistency</a>&#160;– Consistency model used in distributed computing to achieve high availability</li> <li><a href="/wiki/Edsger_W._Dijkstra_Prize_in_Distributed_Computing" class="mw-redirect" title="Edsger W. Dijkstra Prize in Distributed Computing">Edsger W. Dijkstra Prize in Distributed Computing</a>&#160;– ACM annual conference series on distributed computing<span style="display:none" class="category-wikidata-fallback-annotation">Pages displaying wikidata descriptions as a fallback</span></li> <li><a href="/wiki/Federation_(information_technology)" title="Federation (information technology)">Federation (information technology)</a>&#160;– Group of network or telecommunication providers agreeing upon interoperability standards</li> <li><a href="/wiki/Flat_neighborhood_network" title="Flat neighborhood network">Flat neighborhood network</a>&#160;– topology for distributed computing and other computer networks<span style="display:none" class="category-wikidata-fallback-annotation">Pages displaying wikidata descriptions as a fallback</span></li> <li><a href="/wiki/Fog_computing" title="Fog computing">Fog computing</a>&#160;– Architecture that uses edge devices</li> <li><a href="/wiki/Folding@home" title="Folding@home">Folding@home</a>&#160;– Distributed computing project simulating protein folding</li> <li><a href="/wiki/Grid_computing" title="Grid computing">Grid computing</a>&#160;– Use of widely distributed computer resources to reach a common goal</li> <li><a href="/wiki/Inferno_(operating_system)" title="Inferno (operating system)">Inferno</a>&#160;– Distributed operating system</li> <li><a href="/wiki/Internet_GIS" title="Internet GIS">Internet GIS</a>&#160;– Internet technologies regarding spatial data</li> <li><a href="/wiki/Jungle_computing" title="Jungle computing">Jungle computing</a>&#160;– Type of distributed computing</li> <li><a href="/wiki/Layered_queueing_network" title="Layered queueing network">Layered queueing network</a></li> <li><a href="/wiki/Library_Oriented_Architecture" title="Library Oriented Architecture">Library Oriented Architecture</a>&#160;– software engineering methodology<span style="display:none" class="category-wikidata-fallback-annotation">Pages displaying wikidata descriptions as a fallback</span> (LOA)</li> <li><a href="/wiki/List_of_distributed_computing_conferences" title="List of distributed computing conferences">List of distributed computing conferences</a></li> <li><a href="/wiki/List_of_volunteer_computing_projects" title="List of volunteer computing projects">List of volunteer computing projects</a>&#160;– Comprehensive list of volunteer computing projects</li> <li><a href="/wiki/Model_checking" title="Model checking">Model checking</a>&#160;– Computer science field</li> <li><a href="/wiki/OpenHarmony" title="OpenHarmony">OpenHarmony</a>&#160;– Family of open-source operating systems based on HarmonyOS</li> <li><a href="/wiki/HarmonyOS" title="HarmonyOS">HarmonyOS</a>&#160;– Distributed operating system by Huawei</li> <li><a href="/wiki/Parallel_distributed_processing" class="mw-redirect" title="Parallel distributed processing">Parallel distributed processing</a>&#160;– Cognitive science approach<span style="display:none" class="category-annotation-with-redirected-description">Pages displaying short descriptions of redirect targets</span></li> <li><a href="/wiki/Parallel_programming_model" title="Parallel programming model">Parallel programming model</a>&#160;– Abstraction of parallel computer architecture</li> <li><a href="/wiki/Plan_9_from_Bell_Labs" title="Plan 9 from Bell Labs">Plan 9 from Bell Labs</a>&#160;– Research distributed operating system</li> <li><a href="/wiki/Shared_nothing_architecture" class="mw-redirect" title="Shared nothing architecture">Shared nothing architecture</a>&#160;– Type of distributed computing architecture<span style="display:none" class="category-annotation-with-redirected-description">Pages displaying short descriptions of redirect targets</span></li> <li><a href="/wiki/Web_GIS" title="Web GIS">Web GIS</a>&#160;– Technologies employing the World Wide Web to manage spatial data</li></ul> </div> <div class="mw-heading mw-heading2"><h2 id="Notes">Notes</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Distributed_computing&amp;action=edit&amp;section=18" title="Edit section: Notes"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1239543626">.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}</style><div class="reflist reflist-columns references-column-width" style="column-width: 30em;"> <ol class="references"> <li id="cite_note-tanenbaum-1"><span class="mw-cite-backlink">^ <a href="#cite_ref-tanenbaum_1-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-tanenbaum_1-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}</style><cite id="CITEREFTanenbaum,_Andrew_S.Steen,_Maarten_van2002" class="citation book cs1">Tanenbaum, Andrew S.; Steen, Maarten van (2002). <a rel="nofollow" class="external text" href="https://www.distributed-systems.net/index.php/books/ds3/"><i>Distributed systems: principles and paradigms</i></a>. Upper Saddle River, NJ: Pearson Prentice Hall. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-13-088893-1" title="Special:BookSources/0-13-088893-1"><bdi>0-13-088893-1</bdi></a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200812174339/https://www.distributed-systems.net/index.php/books/ds3/">Archived</a> from the original on 2020-08-12<span class="reference-accessdate">. Retrieved <span class="nowrap">2020-08-28</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Distributed+systems%3A+principles+and+paradigms&amp;rft.place=Upper+Saddle+River%2C+NJ&amp;rft.pub=Pearson+Prentice+Hall&amp;rft.date=2002&amp;rft.isbn=0-13-088893-1&amp;rft.au=Tanenbaum%2C+Andrew+S.&amp;rft.au=Steen%2C+Maarten+van&amp;rft_id=https%3A%2F%2Fwww.distributed-systems.net%2Findex.php%2Fbooks%2Fds3%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></span> </li> <li id="cite_note-Distributed_Programs_2010_pp._373–406-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-Distributed_Programs_2010_pp._373–406_2-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation book cs1">"Distributed Programs". <i>Texts in Computer Science</i>. London: Springer London. 2010. pp.&#160;<span class="nowrap">373–</span>406. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F978-1-84882-745-5_11">10.1007/978-1-84882-745-5_11</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-1-84882-744-8" title="Special:BookSources/978-1-84882-744-8"><bdi>978-1-84882-744-8</bdi></a>. <a href="/wiki/ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a>&#160;<a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/1868-0941">1868-0941</a>. <q>Systems consist of a number of physically distributed components that work independently using their private storage, but also communicate from time to time by explicit message passing. Such systems are called distributed systems.</q></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=Distributed+Programs&amp;rft.btitle=Texts+in+Computer+Science&amp;rft.place=London&amp;rft.pages=%3Cspan+class%3D%22nowrap%22%3E373-%3C%2Fspan%3E406&amp;rft.pub=Springer+London&amp;rft.date=2010&amp;rft.issn=1868-0941&amp;rft_id=info%3Adoi%2F10.1007%2F978-1-84882-745-5_11&amp;rft.isbn=978-1-84882-744-8&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></span> </li> <li id="cite_note-FOOTNOTEDusseauDusseau20161–2-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEDusseauDusseau20161–2_3-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFDusseauDusseau2016">Dusseau &amp; Dusseau 2016</a>, p.&#160;1–2.</span> </li> <li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFFord2020" class="citation book cs1">Ford, Neal (March 3, 2020). <i>Fundamentals of Software Architecture: An Engineering Approach</i> (1st&#160;ed.). O'Reilly Media. pp.&#160;<span class="nowrap">146–</span>147. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-1492043454" title="Special:BookSources/978-1492043454"><bdi>978-1492043454</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Fundamentals+of+Software+Architecture%3A+An+Engineering+Approach&amp;rft.pages=%3Cspan+class%3D%22nowrap%22%3E146-%3C%2Fspan%3E147&amp;rft.edition=1st&amp;rft.pub=O%27Reilly+Media&amp;rft.date=2020-03-03&amp;rft.isbn=978-1492043454&amp;rft.aulast=Ford&amp;rft.aufirst=Neal&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></span> </li> <li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation book cs1"><i>Monolith to Microservices Evolutionary Patterns to Transform Your Monolith</i>. O'Reilly Media. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/9781492047810" title="Special:BookSources/9781492047810"><bdi>9781492047810</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Monolith+to+Microservices+Evolutionary+Patterns+to+Transform+Your+Monolith&amp;rft.pub=O%27Reilly+Media&amp;rft.isbn=9781492047810&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></span> </li> <li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation book cs1"><i>Building Serverless Applications on Knative</i>. O'Reilly Media. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/9781098142049" title="Special:BookSources/9781098142049"><bdi>9781098142049</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Building+Serverless+Applications+on+Knative&amp;rft.pub=O%27Reilly+Media&amp;rft.isbn=9781098142049&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></span> </li> <li id="cite_note-Distributed_Programs_2010_pp._373–406_II-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-Distributed_Programs_2010_pp._373–406_II_7-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation book cs1">"Distributed Programs". <i>Texts in Computer Science</i>. London: Springer London. 2010. pp.&#160;<span class="nowrap">373–</span>406. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F978-1-84882-745-5_11">10.1007/978-1-84882-745-5_11</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-1-84882-744-8" title="Special:BookSources/978-1-84882-744-8"><bdi>978-1-84882-744-8</bdi></a>. <a href="/wiki/ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a>&#160;<a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/1868-0941">1868-0941</a>. <q>Distributed programs are abstract descriptions of distributed systems. A distributed program consists of a collection of processes that work concurrently and communicate by explicit message passing. Each process can access a set of variables which are disjoint from the variables that can be changed by any other process.</q></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=Distributed+Programs&amp;rft.btitle=Texts+in+Computer+Science&amp;rft.place=London&amp;rft.pages=%3Cspan+class%3D%22nowrap%22%3E373-%3C%2Fspan%3E406&amp;rft.pub=Springer+London&amp;rft.date=2010&amp;rft.issn=1868-0941&amp;rft_id=info%3Adoi%2F10.1007%2F978-1-84882-745-5_11&amp;rft.isbn=978-1-84882-744-8&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></span> </li> <li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><a href="#CITEREFAndrews2000">Andrews (2000)</a>. <a href="#CITEREFDolev2000">Dolev (2000)</a>. <a href="#CITEREFGhosh2007">Ghosh (2007)</a>, p. 10.</span> </li> <li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFMagnoni2015" class="citation journal cs1">Magnoni, L. (2015). <a rel="nofollow" class="external text" href="https://doi.org/10.1088%2F1742-6596%2F608%2F1%2F012038">"Modern Messaging for Distributed Sytems (sic)"</a>. <i>Journal of Physics: Conference Series</i>. <b>608</b> (1): 012038. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1088%2F1742-6596%2F608%2F1%2F012038">10.1088/1742-6596/608/1/012038</a></span>. <a href="/wiki/ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a>&#160;<a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/1742-6596">1742-6596</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Journal+of+Physics%3A+Conference+Series&amp;rft.atitle=Modern+Messaging+for+Distributed+Sytems+%28sic%29&amp;rft.volume=608&amp;rft.issue=1&amp;rft.pages=012038&amp;rft.date=2015&amp;rft_id=info%3Adoi%2F10.1088%2F1742-6596%2F608%2F1%2F012038&amp;rft.issn=1742-6596&amp;rft.aulast=Magnoni&amp;rft.aufirst=L.&amp;rft_id=https%3A%2F%2Fdoi.org%2F10.1088%252F1742-6596%252F608%252F1%252F012038&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></span> </li> <li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text"><a href="#CITEREFGodfrey2002">Godfrey (2002)</a>.</span> </li> <li id="cite_note-Andrews_2000-11"><span class="mw-cite-backlink">^ <a href="#cite_ref-Andrews_2000_11-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Andrews_2000_11-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><a href="#CITEREFAndrews2000">Andrews (2000)</a>, p. 291–292. <a href="#CITEREFDolev2000">Dolev (2000)</a>, p. 5.</span> </li> <li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text"><a href="#CITEREFLynch1996">Lynch (1996)</a>, p. 1.</span> </li> <li id="cite_note-harvtxt&#124;Ghosh&#124;2007-13"><span class="mw-cite-backlink">^ <a href="#cite_ref-harvtxt|Ghosh|2007_13-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-harvtxt|Ghosh|2007_13-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><a href="#CITEREFGhosh2007">Ghosh (2007)</a>, p. 10.</span> </li> <li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text"><a href="#CITEREFAndrews2000">Andrews (2000)</a>, pp. 8–9, 291. <a href="#CITEREFDolev2000">Dolev (2000)</a>, p. 5. <a href="#CITEREFGhosh2007">Ghosh (2007)</a>, p. 3. <a href="#CITEREFLynch1996">Lynch (1996)</a>, p. xix, 1. <a href="#CITEREFPeleg2000">Peleg (2000)</a>, p. xv.</span> </li> <li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text"><a href="#CITEREFAndrews2000">Andrews (2000)</a>, p. 291. <a href="#CITEREFGhosh2007">Ghosh (2007)</a>, p. 3. <a href="#CITEREFPeleg2000">Peleg (2000)</a>, p. 4.</span> </li> <li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text"><a href="#CITEREFGhosh2007">Ghosh (2007)</a>, p. 3–4. <a href="#CITEREFPeleg2000">Peleg (2000)</a>, p. 1.</span> </li> <li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text"><a href="#CITEREFGhosh2007">Ghosh (2007)</a>, p. 4. <a href="#CITEREFPeleg2000">Peleg (2000)</a>, p. 2.</span> </li> <li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-18">^</a></b></span> <span class="reference-text"><a href="#CITEREFGhosh2007">Ghosh (2007)</a>, p. 4, 8. <a href="#CITEREFLynch1996">Lynch (1996)</a>, p. 2–3. <a href="#CITEREFPeleg2000">Peleg (2000)</a>, p. 4.</span> </li> <li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19">^</a></b></span> <span class="reference-text"><a href="#CITEREFLynch1996">Lynch (1996)</a>, p. 2. <a href="#CITEREFPeleg2000">Peleg (2000)</a>, p. 1.</span> </li> <li id="cite_note-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-20">^</a></b></span> <span class="reference-text"><a href="#CITEREFGhosh2007">Ghosh (2007)</a>, p. 7. <a href="#CITEREFLynch1996">Lynch (1996)</a>, p. xix, 2. <a href="#CITEREFPeleg2000">Peleg (2000)</a>, p. 4.</span> </li> <li id="cite_note-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-21">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation book cs1"><i>Fundamentals of Software Architecture: An Engineering Approach</i>. O'Reilly Media. 2020. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-1492043454" title="Special:BookSources/978-1492043454"><bdi>978-1492043454</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Fundamentals+of+Software+Architecture%3A+An+Engineering+Approach&amp;rft.pub=O%27Reilly+Media&amp;rft.date=2020&amp;rft.isbn=978-1492043454&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></span> </li> <li id="cite_note-:1-22"><span class="mw-cite-backlink">^ <a href="#cite_ref-:1_22-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-:1_22-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-:1_22-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-:1_22-3"><sup><i><b>d</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFKleppmann" class="citation book cs1">Kleppmann, Martin. <i>Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems</i>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-1449373320" title="Special:BookSources/978-1449373320"><bdi>978-1449373320</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Designing+Data-Intensive+Applications%3A+The+Big+Ideas+Behind+Reliable%2C+Scalable%2C+and+Maintainable+Systems&amp;rft.isbn=978-1449373320&amp;rft.aulast=Kleppmann&amp;rft.aufirst=Martin&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></span> </li> <li id="cite_note-:2-23"><span class="mw-cite-backlink">^ <a href="#cite_ref-:2_23-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-:2_23-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-:2_23-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-:2_23-3"><sup><i><b>d</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation book cs1"><i>Building Event-Driven Microservices: Leveraging Organizational Data at Scale</i>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-1492057895" title="Special:BookSources/978-1492057895"><bdi>978-1492057895</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Building+Event-Driven+Microservices%3A+Leveraging+Organizational+Data+at+Scale&amp;rft.isbn=978-1492057895&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></span> </li> <li id="cite_note-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-24">^</a></b></span> <span class="reference-text"><a href="#CITEREFGhosh2007">Ghosh (2007)</a>, p. 10. <a href="#CITEREFKeidar2008">Keidar (2008)</a>.</span> </li> <li id="cite_note-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-25">^</a></b></span> <span class="reference-text"><a href="#CITEREFLynch1996">Lynch (1996)</a>, p. xix, 1–2. <a href="#CITEREFPeleg2000">Peleg (2000)</a>, p. 1.</span> </li> <li id="cite_note-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-26">^</a></b></span> <span class="reference-text"><a href="#CITEREFPeleg2000">Peleg (2000)</a>, p. 1.</span> </li> <li id="cite_note-27"><span class="mw-cite-backlink"><b><a href="#cite_ref-27">^</a></b></span> <span class="reference-text"><a href="#CITEREFPapadimitriou1994">Papadimitriou (1994)</a>, Chapter 15. <a href="#CITEREFKeidar2008">Keidar (2008)</a>.</span> </li> <li id="cite_note-28"><span class="mw-cite-backlink"><b><a href="#cite_ref-28">^</a></b></span> <span class="reference-text">See references in <a href="#Introduction">Introduction</a>.</span> </li> <li id="cite_note-BetalebParallel16-29"><span class="mw-cite-backlink"><b><a href="#cite_ref-BetalebParallel16_29-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFBentaleb,_A.Yifan,_L.Xin,_J.2016" class="citation web cs1">Bentaleb, A.; Yifan, L.; Xin, J.; et&#160;al. (2016). <a rel="nofollow" class="external text" href="http://www.comp.nus.edu.sg/~rahul/allfiles/cs6234-16-pds.pdf">"Parallel and Distributed Algorithms"</a> <span class="cs1-format">(PDF)</span>. National University of Singapore. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20170326210614/http://www.comp.nus.edu.sg/~rahul/allfiles/cs6234-16-pds.pdf">Archived</a> <span class="cs1-format">(PDF)</span> from the original on 2017-03-26<span class="reference-accessdate">. Retrieved <span class="nowrap">20 July</span> 2018</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Parallel+and+Distributed+Algorithms&amp;rft.pub=National+University+of+Singapore&amp;rft.date=2016&amp;rft.au=Bentaleb%2C+A.&amp;rft.au=Yifan%2C+L.&amp;rft.au=Xin%2C+J.&amp;rft_id=http%3A%2F%2Fwww.comp.nus.edu.sg%2F~rahul%2Fallfiles%2Fcs6234-16-pds.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></span> </li> <li id="cite_note-30"><span class="mw-cite-backlink"><b><a href="#cite_ref-30">^</a></b></span> <span class="reference-text"><a href="#CITEREFAndrews2000">Andrews (2000)</a>, p. 348.</span> </li> <li id="cite_note-31"><span class="mw-cite-backlink"><b><a href="#cite_ref-31">^</a></b></span> <span class="reference-text"><a href="#CITEREFAndrews2000">Andrews (2000)</a>, p. 32.</span> </li> <li id="cite_note-32"><span class="mw-cite-backlink"><b><a href="#cite_ref-32">^</a></b></span> <span class="reference-text"><a href="#CITEREFPeter2004">Peter (2004)</a>, <a rel="nofollow" class="external text" href="http://www.nethistory.info/History%20of%20the%20Internet/email.html">The history of email</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20090415220152/http://www.nethistory.info/History%20of%20the%20Internet/email.html">Archived</a> 2009-04-15 at the <a href="/wiki/Wayback_Machine" title="Wayback Machine">Wayback Machine</a>.</span> </li> <li id="cite_note-BanksOnThe12-33"><span class="mw-cite-backlink"><b><a href="#cite_ref-BanksOnThe12_33-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFBanks,_M.2012" class="citation book cs1">Banks, M. (2012). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=1J78hiHKaPoC&amp;pg=PT67"><i>On the Way to the Web: The Secret History of the Internet and its Founders</i></a>. Apress. pp.&#160;<span class="nowrap">44–</span>5. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/9781430250746" title="Special:BookSources/9781430250746"><bdi>9781430250746</bdi></a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20230120182450/https://books.google.com/books?id=1J78hiHKaPoC&amp;pg=PT67">Archived</a> from the original on 2023-01-20<span class="reference-accessdate">. Retrieved <span class="nowrap">2018-07-20</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=On+the+Way+to+the+Web%3A+The+Secret+History+of+the+Internet+and+its+Founders&amp;rft.pages=%3Cspan+class%3D%22nowrap%22%3E44-%3C%2Fspan%3E5&amp;rft.pub=Apress&amp;rft.date=2012&amp;rft.isbn=9781430250746&amp;rft.au=Banks%2C+M.&amp;rft_id=https%3A%2F%2Fbooks.google.com%2Fbooks%3Fid%3D1J78hiHKaPoC%26pg%3DPT67&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></span> </li> <li id="cite_note-TelIntro00-34"><span class="mw-cite-backlink"><b><a href="#cite_ref-TelIntro00_34-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFTel,_G.2000" class="citation book cs1">Tel, G. (2000). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=vlpnS25qAJQC&amp;pg=PA35"><i>Introduction to Distributed Algorithms</i></a>. Cambridge University Press. pp.&#160;<span class="nowrap">35–</span>36. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/9780521794831" title="Special:BookSources/9780521794831"><bdi>9780521794831</bdi></a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20230120182450/https://books.google.com/books?id=vlpnS25qAJQC&amp;pg=PA35">Archived</a> from the original on 2023-01-20<span class="reference-accessdate">. Retrieved <span class="nowrap">2018-07-20</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Introduction+to+Distributed+Algorithms&amp;rft.pages=%3Cspan+class%3D%22nowrap%22%3E35-%3C%2Fspan%3E36&amp;rft.pub=Cambridge+University+Press&amp;rft.date=2000&amp;rft.isbn=9780521794831&amp;rft.au=Tel%2C+G.&amp;rft_id=https%3A%2F%2Fbooks.google.com%2Fbooks%3Fid%3DvlpnS25qAJQC%26pg%3DPA35&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></span> </li> <li id="cite_note-OhlídalEvo06-35"><span class="mw-cite-backlink"><b><a href="#cite_ref-OhlídalEvo06_35-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFOhlídal,_M.Jaroš,_J.Schwarz,_J.2006" class="citation book cs1">Ohlídal, M.; Jaroš, J.; Schwarz, J.; et&#160;al. (2006). "Evolutionary Design of OAB and AAB Communication Schedules for Interconnection Networks". In Rothlauf, F.; Branke, J.; Cagnoni, S. (eds.). <i>Applications of Evolutionary Computing</i>. Springer Science &amp; Business Media. pp.&#160;<span class="nowrap">267–</span>78. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/9783540332374" title="Special:BookSources/9783540332374"><bdi>9783540332374</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=Evolutionary+Design+of+OAB+and+AAB+Communication+Schedules+for+Interconnection+Networks&amp;rft.btitle=Applications+of+Evolutionary+Computing&amp;rft.pages=%3Cspan+class%3D%22nowrap%22%3E267-%3C%2Fspan%3E78&amp;rft.pub=Springer+Science+%26+Business+Media&amp;rft.date=2006&amp;rft.isbn=9783540332374&amp;rft.au=Ohl%C3%ADdal%2C+M.&amp;rft.au=Jaro%C5%A1%2C+J.&amp;rft.au=Schwarz%2C+J.&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></span> </li> <li id="cite_note-36"><span class="mw-cite-backlink"><b><a href="#cite_ref-36">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation journal cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20170110015222/https://pdfs.semanticscholar.org/2950/37ee46ac281590f67435380cebc385ac9749.pdf">"Real Time And Distributed Computing Systems"</a> <span class="cs1-format">(PDF)</span>. <a href="/wiki/ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a>&#160;<a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/2278-0661">2278-0661</a>. Archived from <a rel="nofollow" class="external text" href="https://pdfs.semanticscholar.org/2950/37ee46ac281590f67435380cebc385ac9749.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 2017-01-10<span class="reference-accessdate">. Retrieved <span class="nowrap">2017-01-09</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.atitle=Real+Time+And+Distributed+Computing+Systems&amp;rft.issn=2278-0661&amp;rft_id=https%3A%2F%2Fpdfs.semanticscholar.org%2F2950%2F37ee46ac281590f67435380cebc385ac9749.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span> <span class="cs1-visible-error citation-comment"><code class="cs1-code">{{<a href="/wiki/Template:Cite_journal" title="Template:Cite journal">cite journal</a>}}</code>: </span><span class="cs1-visible-error citation-comment">Cite journal requires <code class="cs1-code">&#124;journal=</code> (<a href="/wiki/Help:CS1_errors#missing_periodical" title="Help:CS1 errors">help</a>)</span></span> </li> <li id="cite_note-Vigna20150127-37"><span class="mw-cite-backlink"><b><a href="#cite_ref-Vigna20150127_37-0">^</a></b></span> <span class="reference-text">Vigna P, Casey MJ. <i>The Age of Cryptocurrency: How Bitcoin and the Blockchain Are Challenging the Global Economic Order</i> St. Martin's Press January 27, 2015 <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/9781250065636" title="Special:BookSources/9781250065636">9781250065636</a></span> </li> <li id="cite_note-38"><span class="mw-cite-backlink"><b><a href="#cite_ref-38">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFQuang_Hieu_VuMihai_LupuBeng_Chin_Ooi2010" class="citation book cs1">Quang Hieu Vu; Mihai Lupu; Beng Chin Ooi (2010). <i>Peer-to-peer computing&#160;: principles and applications</i>. Heidelberg: Springer. p.&#160;16. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/9783642035135" title="Special:BookSources/9783642035135"><bdi>9783642035135</bdi></a>. <a href="/wiki/OCLC_(identifier)" class="mw-redirect" title="OCLC (identifier)">OCLC</a>&#160;<a rel="nofollow" class="external text" href="https://search.worldcat.org/oclc/663093862">663093862</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Peer-to-peer+computing+%3A+principles+and+applications&amp;rft.place=Heidelberg&amp;rft.pages=16&amp;rft.pub=Springer&amp;rft.date=2010&amp;rft_id=info%3Aoclcnum%2F663093862&amp;rft.isbn=9783642035135&amp;rft.au=Quang+Hieu+Vu&amp;rft.au=Mihai+Lupu&amp;rft.au=Beng+Chin+Ooi&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></span> </li> <li id="cite_note-39"><span class="mw-cite-backlink"><b><a href="#cite_ref-39">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFLindAlm2006" class="citation cs2">Lind P, Alm M (2006), "A database-centric virtual chemistry system", <i>J Chem Inf Model</i>, <b>46</b> (3): <span class="nowrap">1034–</span>9, <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1021%2Fci050360b">10.1021/ci050360b</a>, <a href="/wiki/PMID_(identifier)" class="mw-redirect" title="PMID (identifier)">PMID</a>&#160;<a rel="nofollow" class="external text" href="https://pubmed.ncbi.nlm.nih.gov/16711722">16711722</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=J+Chem+Inf+Model&amp;rft.atitle=A+database-centric+virtual+chemistry+system&amp;rft.volume=46&amp;rft.issue=3&amp;rft.pages=%3Cspan+class%3D%22nowrap%22%3E1034-%3C%2Fspan%3E9&amp;rft.date=2006&amp;rft_id=info%3Adoi%2F10.1021%2Fci050360b&amp;rft_id=info%3Apmid%2F16711722&amp;rft.aulast=Lind&amp;rft.aufirst=P&amp;rft.au=Alm%2C+M&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></span> </li> <li id="cite_note-40"><span class="mw-cite-backlink"><b><a href="#cite_ref-40">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFChiu1990" class="citation journal cs1">Chiu, G (1990). "A model for optimal database allocation in distributed computing systems". <i>Proceedings. IEEE INFOCOM'90: Ninth Annual Joint Conference of the IEEE Computer and Communications Societies</i>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Proceedings.+IEEE+INFOCOM%2790%3A+Ninth+Annual+Joint+Conference+of+the+IEEE+Computer+and+Communications+Societies&amp;rft.atitle=A+model+for+optimal+database+allocation+in+distributed+computing+systems&amp;rft.date=1990&amp;rft.aulast=Chiu&amp;rft.aufirst=G&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></span> </li> <li id="cite_note-41"><span class="mw-cite-backlink"><b><a href="#cite_ref-41">^</a></b></span> <span class="reference-text"><a href="#CITEREFElmasriNavathe2000">Elmasri &amp; Navathe (2000)</a>, Section 24.1.2.</span> </li> <li id="cite_note-42"><span class="mw-cite-backlink"><b><a href="#cite_ref-42">^</a></b></span> <span class="reference-text"><a href="#CITEREFAndrews2000">Andrews (2000)</a>, p. 10–11. <a href="#CITEREFGhosh2007">Ghosh (2007)</a>, p. 4–6. <a href="#CITEREFLynch1996">Lynch (1996)</a>, p. xix, 1. <a href="#CITEREFPeleg2000">Peleg (2000)</a>, p. xv. <a href="#CITEREFElmasriNavathe2000">Elmasri &amp; Navathe (2000)</a>, Section 24.</span> </li> <li id="cite_note-43"><span class="mw-cite-backlink"><b><a href="#cite_ref-43">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFHaussmann2019" class="citation journal cs1">Haussmann, J. (2019). "Cost-efficient parallel processing of irregularly structured problems in cloud computing environments". <i>Journal of Cluster Computing</i>. <b>22</b> (3): <span class="nowrap">887–</span>909. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2Fs10586-018-2879-3">10.1007/s10586-018-2879-3</a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:54447518">54447518</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Journal+of+Cluster+Computing&amp;rft.atitle=Cost-efficient+parallel+processing+of+irregularly+structured+problems+in+cloud+computing+environments&amp;rft.volume=22&amp;rft.issue=3&amp;rft.pages=%3Cspan+class%3D%22nowrap%22%3E887-%3C%2Fspan%3E909&amp;rft.date=2019&amp;rft_id=info%3Adoi%2F10.1007%2Fs10586-018-2879-3&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A54447518%23id-name%3DS2CID&amp;rft.aulast=Haussmann&amp;rft.aufirst=J.&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></span> </li> <li id="cite_note-44"><span class="mw-cite-backlink"><b><a href="#cite_ref-44">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation book cs1"><i>Reactive Application Development</i>. Manning. 2018. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/9781638355816" title="Special:BookSources/9781638355816"><bdi>9781638355816</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Reactive+Application+Development&amp;rft.pub=Manning&amp;rft.date=2018&amp;rft.isbn=9781638355816&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></span> </li> <li id="cite_note-ToomarianNeural92-45"><span class="mw-cite-backlink"><b><a href="#cite_ref-ToomarianNeural92_45-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFToomarian,_N.B.Barhen,_J.Gulati,_S.1992" class="citation book cs1">Toomarian, N.B.; Barhen, J.; Gulati, S. (1992). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=CKTsCgAAQBAJ&amp;pg=PA214">"Neural Networks for Real-Time Robotic Applications"</a>. In Fijany, A.; Bejczy, A. (eds.). <i>Parallel Computation Systems For Robotics: Algorithms And Architectures</i>. World Scientific. p.&#160;214. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/9789814506175" title="Special:BookSources/9789814506175"><bdi>9789814506175</bdi></a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200801024715/https://books.google.com/books?id=CKTsCgAAQBAJ&amp;pg=PA214">Archived</a> from the original on 2020-08-01<span class="reference-accessdate">. Retrieved <span class="nowrap">2018-07-20</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=Neural+Networks+for+Real-Time+Robotic+Applications&amp;rft.btitle=Parallel+Computation+Systems+For+Robotics%3A+Algorithms+And+Architectures&amp;rft.pages=214&amp;rft.pub=World+Scientific&amp;rft.date=1992&amp;rft.isbn=9789814506175&amp;rft.au=Toomarian%2C+N.B.&amp;rft.au=Barhen%2C+J.&amp;rft.au=Gulati%2C+S.&amp;rft_id=https%3A%2F%2Fbooks.google.com%2Fbooks%3Fid%3DCKTsCgAAQBAJ%26pg%3DPA214&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></span> </li> <li id="cite_note-SavageModels98-46"><span class="mw-cite-backlink"><b><a href="#cite_ref-SavageModels98_46-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFSavage,_J.E.1998" class="citation book cs1">Savage, J.E. (1998). <i>Models of Computation: Exploring the Power of Computing</i>. Addison Wesley. p.&#160;209. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/9780201895391" title="Special:BookSources/9780201895391"><bdi>9780201895391</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Models+of+Computation%3A+Exploring+the+Power+of+Computing&amp;rft.pages=209&amp;rft.pub=Addison+Wesley&amp;rft.date=1998&amp;rft.isbn=9780201895391&amp;rft.au=Savage%2C+J.E.&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></span> </li> <li id="cite_note-47"><span class="mw-cite-backlink"><b><a href="#cite_ref-47">^</a></b></span> <span class="reference-text"><a href="#CITEREFCormenLeisersonRivest1990">Cormen, Leiserson &amp; Rivest (1990)</a>, Section 30.</span> </li> <li id="cite_note-48"><span class="mw-cite-backlink"><b><a href="#cite_ref-48">^</a></b></span> <span class="reference-text"><a href="#CITEREFHerlihyShavit2008">Herlihy &amp; Shavit (2008)</a>, Chapters 2–6.</span> </li> <li id="cite_note-49"><span class="mw-cite-backlink"><b><a href="#cite_ref-49">^</a></b></span> <span class="reference-text"><a href="#CITEREFLynch1996">Lynch (1996)</a></span> </li> <li id="cite_note-50"><span class="mw-cite-backlink"><b><a href="#cite_ref-50">^</a></b></span> <span class="reference-text"><a href="#CITEREFCormenLeisersonRivest1990">Cormen, Leiserson &amp; Rivest (1990)</a>, Sections 28 and 29.</span> </li> <li id="cite_note-:0-51"><span class="mw-cite-backlink">^ <a href="#cite_ref-:0_51-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-:0_51-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-:0_51-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text">TULSIRAMJI GAIKWAD-PATIL College of Engineering &amp; Technology, Nagpur Department of Information Technology Introduction to Distributed Systems<a rel="nofollow" class="external autonumber" href="http://www.tgpcet.com/assets/img/IT/Notes/8/Distributed-System.pdf">[1]</a></span> </li> <li id="cite_note-52"><span class="mw-cite-backlink"><b><a href="#cite_ref-52">^</a></b></span> <span class="reference-text"><a href="#CITEREFColeVishkin1986">Cole &amp; Vishkin (1986)</a>. <a href="#CITEREFCormenLeisersonRivest1990">Cormen, Leiserson &amp; Rivest (1990)</a>, Section 30.5.</span> </li> <li id="cite_note-53"><span class="mw-cite-backlink"><b><a href="#cite_ref-53">^</a></b></span> <span class="reference-text"><a href="#CITEREFAndrews2000">Andrews (2000)</a>, p. ix.</span> </li> <li id="cite_note-54"><span class="mw-cite-backlink"><b><a href="#cite_ref-54">^</a></b></span> <span class="reference-text"><a href="#CITEREFAroraBarak2009">Arora &amp; Barak (2009)</a>, Section 6.7. <a href="#CITEREFPapadimitriou1994">Papadimitriou (1994)</a>, Section 15.3.</span> </li> <li id="cite_note-55"><span class="mw-cite-backlink"><b><a href="#cite_ref-55">^</a></b></span> <span class="reference-text"><a href="#CITEREFPapadimitriou1994">Papadimitriou (1994)</a>, Section 15.2.</span> </li> <li id="cite_note-56"><span class="mw-cite-backlink"><b><a href="#cite_ref-56">^</a></b></span> <span class="reference-text"><a href="#CITEREFLynch1996">Lynch (1996)</a>, p. 17–23.</span> </li> <li id="cite_note-57"><span class="mw-cite-backlink"><b><a href="#cite_ref-57">^</a></b></span> <span class="reference-text"><a href="#CITEREFPeleg2000">Peleg (2000)</a>, Sections 2.3 and 7. <a href="#CITEREFLinial1992">Linial (1992)</a>. <a href="#CITEREFNaorStockmeyer1995">Naor &amp; Stockmeyer (1995)</a>.</span> </li> <li id="cite_note-SchneiderTrading11-58"><span class="mw-cite-backlink"><b><a href="#cite_ref-SchneiderTrading11_58-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFSchneider,_J.Wattenhofer,_R.2011" class="citation book cs1">Schneider, J.; Wattenhofer, R. (2011). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=dT6nwpXvES4C&amp;pg=PA51">"Trading Bit, Message, and Time Complexity of Distributed Algorithms"</a>. In Peleg, D. (ed.). <i>Distributed Computing</i>. Springer Science &amp; Business Media. pp.&#160;<span class="nowrap">51–</span>65. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/9783642240997" title="Special:BookSources/9783642240997"><bdi>9783642240997</bdi></a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200801023020/https://books.google.com/books?id=dT6nwpXvES4C&amp;pg=PA51">Archived</a> from the original on 2020-08-01<span class="reference-accessdate">. Retrieved <span class="nowrap">2018-07-20</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=Trading+Bit%2C+Message%2C+and+Time+Complexity+of+Distributed+Algorithms&amp;rft.btitle=Distributed+Computing&amp;rft.pages=%3Cspan+class%3D%22nowrap%22%3E51-%3C%2Fspan%3E65&amp;rft.pub=Springer+Science+%26+Business+Media&amp;rft.date=2011&amp;rft.isbn=9783642240997&amp;rft.au=Schneider%2C+J.&amp;rft.au=Wattenhofer%2C+R.&amp;rft_id=https%3A%2F%2Fbooks.google.com%2Fbooks%3Fid%3DdT6nwpXvES4C%26pg%3DPA51&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></span> </li> <li id="cite_note-59"><span class="mw-cite-backlink"><b><a href="#cite_ref-59">^</a></b></span> <span class="reference-text"><a href="#CITEREFLynch1996">Lynch (1996)</a>, Sections 5–7. <a href="#CITEREFGhosh2007">Ghosh (2007)</a>, Chapter 13.</span> </li> <li id="cite_note-60"><span class="mw-cite-backlink"><b><a href="#cite_ref-60">^</a></b></span> <span class="reference-text"><a href="#CITEREFLynch1996">Lynch (1996)</a>, p. 99–102. <a href="#CITEREFGhosh2007">Ghosh (2007)</a>, p. 192–193.</span> </li> <li id="cite_note-61"><span class="mw-cite-backlink"><b><a href="#cite_ref-61">^</a></b></span> <span class="reference-text"><a href="#CITEREFDolev2000">Dolev (2000)</a>. <a href="#CITEREFGhosh2007">Ghosh (2007)</a>, Chapter 17.</span> </li> <li id="cite_note-62"><span class="mw-cite-backlink"><b><a href="#cite_ref-62">^</a></b></span> <span class="reference-text"><a href="#CITEREFLynch1996">Lynch (1996)</a>, Section 16. <a href="#CITEREFPeleg2000">Peleg (2000)</a>, Section 6.</span> </li> <li id="cite_note-63"><span class="mw-cite-backlink"><b><a href="#cite_ref-63">^</a></b></span> <span class="reference-text"><a href="#CITEREFLynch1996">Lynch (1996)</a>, Section 18. <a href="#CITEREFGhosh2007">Ghosh (2007)</a>, Sections 6.2–6.3.</span> </li> <li id="cite_note-64"><span class="mw-cite-backlink"><b><a href="#cite_ref-64">^</a></b></span> <span class="reference-text"><a href="#CITEREFGhosh2007">Ghosh (2007)</a>, Section 6.4.</span> </li> <li id="cite_note-65"><span class="mw-cite-backlink"><b><a href="#cite_ref-65">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation book cs1"><i>Foundations of Data Intensive Applications Large Scale Data Analytics Under the Hood</i>. 2021. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/9781119713012" title="Special:BookSources/9781119713012"><bdi>9781119713012</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Foundations+of+Data+Intensive+Applications+Large+Scale+Data+Analytics+Under+the+Hood&amp;rft.date=2021&amp;rft.isbn=9781119713012&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></span> </li> <li id="cite_note-HaloiApache15-66"><span class="mw-cite-backlink">^ <a href="#cite_ref-HaloiApache15_66-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-HaloiApache15_66-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFHaloi,_S.2015" class="citation book cs1">Haloi, S. (2015). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=Ym9uBgAAQBAJ&amp;pg=PA100"><i>Apache ZooKeeper Essentials</i></a>. Packt Publishing Ltd. pp.&#160;<span class="nowrap">100–</span>101. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/9781784398323" title="Special:BookSources/9781784398323"><bdi>9781784398323</bdi></a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20230120182456/https://books.google.com/books?id=Ym9uBgAAQBAJ&amp;pg=PA100">Archived</a> from the original on 2023-01-20<span class="reference-accessdate">. Retrieved <span class="nowrap">2018-07-20</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Apache+ZooKeeper+Essentials&amp;rft.pages=%3Cspan+class%3D%22nowrap%22%3E100-%3C%2Fspan%3E101&amp;rft.pub=Packt+Publishing+Ltd&amp;rft.date=2015&amp;rft.isbn=9781784398323&amp;rft.au=Haloi%2C+S.&amp;rft_id=https%3A%2F%2Fbooks.google.com%2Fbooks%3Fid%3DYm9uBgAAQBAJ%26pg%3DPA100&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></span> </li> <li id="cite_note-67"><span class="mw-cite-backlink"><b><a href="#cite_ref-67">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFLeLann1977" class="citation journal cs1">LeLann, G. (1977). "Distributed systems - toward a formal approach". <i>Information Processing</i>. <b>77</b>: 155·160 &#8211; via Elsevier.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Information+Processing&amp;rft.atitle=Distributed+systems+-+toward+a+formal+approach&amp;rft.volume=77&amp;rft.pages=155%C2%B7160&amp;rft.date=1977&amp;rft.aulast=LeLann&amp;rft.aufirst=G.&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></span> </li> <li id="cite_note-68"><span class="mw-cite-backlink"><b><a href="#cite_ref-68">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFR._G._Gallager,_P._A._Humblet,_and_P._M._Spira1983" class="citation journal cs1"><a href="/wiki/Robert_G._Gallager" title="Robert G. Gallager">R. G. Gallager</a>, P. A. Humblet, and P. M. Spira (January 1983). <a rel="nofollow" class="external text" href="http://www.apposite-tech.com/blog/wp-content/uploads/2017/09/p66-gallager.pdf">"A Distributed Algorithm for Minimum-Weight Spanning Trees"</a> <span class="cs1-format">(PDF)</span>. <i>ACM Transactions on Programming Languages and Systems</i>. <b>5</b> (1): <span class="nowrap">66–</span>77. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F357195.357200">10.1145/357195.357200</a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:2758285">2758285</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20170926040957/http://www.apposite-tech.com/blog/wp-content/uploads/2017/09/p66-gallager.pdf">Archived</a> <span class="cs1-format">(PDF)</span> from the original on 2017-09-26.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=ACM+Transactions+on+Programming+Languages+and+Systems&amp;rft.atitle=A+Distributed+Algorithm+for+Minimum-Weight+Spanning+Trees&amp;rft.volume=5&amp;rft.issue=1&amp;rft.pages=%3Cspan+class%3D%22nowrap%22%3E66-%3C%2Fspan%3E77&amp;rft.date=1983-01&amp;rft_id=info%3Adoi%2F10.1145%2F357195.357200&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A2758285%23id-name%3DS2CID&amp;rft.au=R.+G.+Gallager%2C+P.+A.+Humblet%2C+and+P.+M.+Spira&amp;rft_id=http%3A%2F%2Fwww.apposite-tech.com%2Fblog%2Fwp-content%2Fuploads%2F2017%2F09%2Fp66-gallager.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span><span class="cs1-maint citation-comment"><code class="cs1-code">{{<a href="/wiki/Template:Cite_journal" title="Template:Cite journal">cite journal</a>}}</code>: CS1 maint: multiple names: authors list (<a href="/wiki/Category:CS1_maint:_multiple_names:_authors_list" title="Category:CS1 maint: multiple names: authors list">link</a>)</span></span> </li> <li id="cite_note-69"><span class="mw-cite-backlink"><b><a href="#cite_ref-69">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFKorachKuttenMoran1990" class="citation journal cs1">Korach, Ephraim; <a href="/wiki/Shay_Kutten" title="Shay Kutten">Kutten, Shay</a>; <a href="/wiki/Shlomo_Moran" title="Shlomo Moran">Moran, Shlomo</a> (1990). <a rel="nofollow" class="external text" href="https://www.cs.technion.ac.il/~moran/r/PS/kkm.pdf">"A Modular Technique for the Design of Efficient Distributed Leader Finding Algorithms"</a> <span class="cs1-format">(PDF)</span>. <i>ACM Transactions on Programming Languages and Systems</i>. <b>12</b> (1): <span class="nowrap">84–</span>101. <a href="/wiki/CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a>&#160;<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.139.7342">10.1.1.139.7342</a></span>. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F77606.77610">10.1145/77606.77610</a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:9175968">9175968</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20070418150944/http://www.cs.technion.ac.il/~moran/r/PS/kkm.pdf">Archived</a> <span class="cs1-format">(PDF)</span> from the original on 2007-04-18.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=ACM+Transactions+on+Programming+Languages+and+Systems&amp;rft.atitle=A+Modular+Technique+for+the+Design+of+Efficient+Distributed+Leader+Finding+Algorithms&amp;rft.volume=12&amp;rft.issue=1&amp;rft.pages=%3Cspan+class%3D%22nowrap%22%3E84-%3C%2Fspan%3E101&amp;rft.date=1990&amp;rft_id=https%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fsummary%3Fdoi%3D10.1.1.139.7342%23id-name%3DCiteSeerX&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A9175968%23id-name%3DS2CID&amp;rft_id=info%3Adoi%2F10.1145%2F77606.77610&amp;rft.aulast=Korach&amp;rft.aufirst=Ephraim&amp;rft.au=Kutten%2C+Shay&amp;rft.au=Moran%2C+Shlomo&amp;rft_id=https%3A%2F%2Fwww.cs.technion.ac.il%2F~moran%2Fr%2FPS%2Fkkm.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></span> </li> <li id="cite_note-70"><span class="mw-cite-backlink"><b><a href="#cite_ref-70">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFHamilton" class="citation web cs1">Hamilton, Howard. <a rel="nofollow" class="external text" href="http://www2.cs.uregina.ca/~hamilton/courses/330/notes/distributed/distributed.html">"Distributed Algorithms"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20121124002402/http://www2.cs.uregina.ca/~hamilton/courses/330/notes/distributed/distributed.html">Archived</a> from the original on 2012-11-24<span class="reference-accessdate">. Retrieved <span class="nowrap">2013-03-03</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Distributed+Algorithms&amp;rft.aulast=Hamilton&amp;rft.aufirst=Howard&amp;rft_id=http%3A%2F%2Fwww2.cs.uregina.ca%2F~hamilton%2Fcourses%2F330%2Fnotes%2Fdistributed%2Fdistributed.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></span> </li> <li id="cite_note-71"><span class="mw-cite-backlink"><b><a href="#cite_ref-71">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://cstheory.stackexchange.com/q/10045">"Major unsolved problems in distributed systems?"</a>. <i>cstheory.stackexchange.com</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20230120182442/https://cstheory.stackexchange.com/questions/10045/major-unsolved-problems-in-distributed-systems">Archived</a> from the original on 20 January 2023<span class="reference-accessdate">. Retrieved <span class="nowrap">16 March</span> 2018</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=cstheory.stackexchange.com&amp;rft.atitle=Major+unsolved+problems+in+distributed+systems%3F&amp;rft_id=https%3A%2F%2Fcstheory.stackexchange.com%2Fq%2F10045&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></span> </li> <li id="cite_note-72"><span class="mw-cite-backlink"><b><a href="#cite_ref-72">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.theserverside.com/feature/How-big-data-and-distributed-systems-solve-traditional-scalability-problems">"How big data and distributed systems solve traditional scalability problems"</a>. <i>theserverside.com</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20180317232027/http://www.theserverside.com/feature/How-big-data-and-distributed-systems-solve-traditional-scalability-problems">Archived</a> from the original on 17 March 2018<span class="reference-accessdate">. Retrieved <span class="nowrap">16 March</span> 2018</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=theserverside.com&amp;rft.atitle=How+big+data+and+distributed+systems+solve+traditional+scalability+problems&amp;rft_id=http%3A%2F%2Fwww.theserverside.com%2Ffeature%2FHow-big-data-and-distributed-systems-solve-traditional-scalability-problems&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></span> </li> <li id="cite_note-SvozilIndet11-73"><span class="mw-cite-backlink"><b><a href="#cite_ref-SvozilIndet11_73-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFSvozil,_K.2011" class="citation book cs1">Svozil, K. (2011). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=ep_FCgAAQBAJ&amp;pg=PA112">"Indeterminism and Randomness Through Physics"</a>. In Hector, Z. (ed.). <i>Randomness Through Computation: Some Answers, More Questions</i>. World Scientific. pp.&#160;<span class="nowrap">112–</span>3. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/9789814462631" title="Special:BookSources/9789814462631"><bdi>9789814462631</bdi></a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200801024745/https://books.google.com/books?id=ep_FCgAAQBAJ&amp;pg=PA112">Archived</a> from the original on 2020-08-01<span class="reference-accessdate">. Retrieved <span class="nowrap">2018-07-20</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=Indeterminism+and+Randomness+Through+Physics&amp;rft.btitle=Randomness+Through+Computation%3A+Some+Answers%2C+More+Questions&amp;rft.pages=%3Cspan+class%3D%22nowrap%22%3E112-%3C%2Fspan%3E3&amp;rft.pub=World+Scientific&amp;rft.date=2011&amp;rft.isbn=9789814462631&amp;rft.au=Svozil%2C+K.&amp;rft_id=https%3A%2F%2Fbooks.google.com%2Fbooks%3Fid%3Dep_FCgAAQBAJ%26pg%3DPA112&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></span> </li> <li id="cite_note-74"><span class="mw-cite-backlink"><b><a href="#cite_ref-74">^</a></b></span> <span class="reference-text"><a href="#CITEREFPapadimitriou1994">Papadimitriou (1994)</a>, Section 19.3.</span> </li> </ol></div> <div class="mw-heading mw-heading2"><h2 id="References">References</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Distributed_computing&amp;action=edit&amp;section=19" title="Edit section: References"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1239549316">.mw-parser-output .refbegin{margin-bottom:0.5em}.mw-parser-output .refbegin-hanging-indents>ul{margin-left:0}.mw-parser-output .refbegin-hanging-indents>ul>li{margin-left:0;padding-left:3.2em;text-indent:-3.2em}.mw-parser-output .refbegin-hanging-indents ul,.mw-parser-output .refbegin-hanging-indents ul li{list-style:none}@media(max-width:720px){.mw-parser-output .refbegin-hanging-indents>ul>li{padding-left:1.6em;text-indent:-1.6em}}.mw-parser-output .refbegin-columns{margin-top:0.3em}.mw-parser-output .refbegin-columns ul{margin-top:0}.mw-parser-output .refbegin-columns li{page-break-inside:avoid;break-inside:avoid-column}@media screen{.mw-parser-output .refbegin{font-size:90%}}</style><div class="refbegin refbegin-columns references-column-width" style="column-width: 30em"> <dl><dt>Books</dt></dl> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFAndrews2000" class="citation cs2">Andrews, Gregory R. (2000), <span class="id-lock-registration" title="Free registration required"><a rel="nofollow" class="external text" href="https://archive.org/details/foundationsofmul0000andr"><i>Foundations of Multithreaded, Parallel, and Distributed Programming</i></a></span>, <a href="/wiki/Addison%E2%80%93Wesley" class="mw-redirect" title="Addison–Wesley">Addison–Wesley</a>, <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0-201-35752-3" title="Special:BookSources/978-0-201-35752-3"><bdi>978-0-201-35752-3</bdi></a></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Foundations+of+Multithreaded%2C+Parallel%2C+and+Distributed+Programming&amp;rft.pub=Addison%E2%80%93Wesley&amp;rft.date=2000&amp;rft.isbn=978-0-201-35752-3&amp;rft.aulast=Andrews&amp;rft.aufirst=Gregory+R.&amp;rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Ffoundationsofmul0000andr&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span>.</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFAroraBarak2009" class="citation cs2"><a href="/wiki/Sanjeev_Arora" title="Sanjeev Arora">Arora, Sanjeev</a>; Barak, Boaz (2009), <i>Computational Complexity – A Modern Approach</i>, <a href="/wiki/Cambridge_University_Press" title="Cambridge University Press">Cambridge</a>, <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0-521-42426-4" title="Special:BookSources/978-0-521-42426-4"><bdi>978-0-521-42426-4</bdi></a></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Computational+Complexity+%E2%80%93+A+Modern+Approach&amp;rft.pub=Cambridge&amp;rft.date=2009&amp;rft.isbn=978-0-521-42426-4&amp;rft.aulast=Arora&amp;rft.aufirst=Sanjeev&amp;rft.au=Barak%2C+Boaz&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span>.</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFCormenLeisersonRivest1990" class="citation cs2"><a href="/wiki/Thomas_H._Cormen" title="Thomas H. Cormen">Cormen, Thomas H.</a>; <a href="/wiki/Charles_E._Leiserson" title="Charles E. Leiserson">Leiserson, Charles E.</a>; <a href="/wiki/Ron_Rivest" title="Ron Rivest">Rivest, Ronald L.</a> (1990), <a href="/wiki/Introduction_to_Algorithms" title="Introduction to Algorithms"><i>Introduction to Algorithms</i></a> (1st&#160;ed.), <a href="/wiki/MIT_Press" title="MIT Press">MIT Press</a>, <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0-262-03141-7" title="Special:BookSources/978-0-262-03141-7"><bdi>978-0-262-03141-7</bdi></a></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Introduction+to+Algorithms&amp;rft.edition=1st&amp;rft.pub=MIT+Press&amp;rft.date=1990&amp;rft.isbn=978-0-262-03141-7&amp;rft.aulast=Cormen&amp;rft.aufirst=Thomas+H.&amp;rft.au=Leiserson%2C+Charles+E.&amp;rft.au=Rivest%2C+Ronald+L.&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span>.</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFDolev2000" class="citation cs2"><a href="/wiki/Shlomi_Dolev" title="Shlomi Dolev">Dolev, Shlomi</a> (2000), <i>Self-Stabilization</i>, <a href="/wiki/MIT_Press" title="MIT Press">MIT Press</a>, <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0-262-04178-2" title="Special:BookSources/978-0-262-04178-2"><bdi>978-0-262-04178-2</bdi></a></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Self-Stabilization&amp;rft.pub=MIT+Press&amp;rft.date=2000&amp;rft.isbn=978-0-262-04178-2&amp;rft.aulast=Dolev&amp;rft.aufirst=Shlomi&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span>.</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFElmasriNavathe2000" class="citation cs2">Elmasri, Ramez; <a href="/wiki/Shamkant_Navathe" title="Shamkant Navathe">Navathe, Shamkant B.</a> (2000), <i>Fundamentals of Database Systems</i> (3rd&#160;ed.), <a href="/wiki/Addison%E2%80%93Wesley" class="mw-redirect" title="Addison–Wesley">Addison–Wesley</a>, <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0-201-54263-9" title="Special:BookSources/978-0-201-54263-9"><bdi>978-0-201-54263-9</bdi></a></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Fundamentals+of+Database+Systems&amp;rft.edition=3rd&amp;rft.pub=Addison%E2%80%93Wesley&amp;rft.date=2000&amp;rft.isbn=978-0-201-54263-9&amp;rft.aulast=Elmasri&amp;rft.aufirst=Ramez&amp;rft.au=Navathe%2C+Shamkant+B.&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span>.</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFGhosh2007" class="citation cs2">Ghosh, Sukumar (2007), <i>Distributed Systems – An Algorithmic Approach</i>, Chapman &amp; Hall/CRC, <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-1-58488-564-1" title="Special:BookSources/978-1-58488-564-1"><bdi>978-1-58488-564-1</bdi></a></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Distributed+Systems+%E2%80%93+An+Algorithmic+Approach&amp;rft.pub=Chapman+%26+Hall%2FCRC&amp;rft.date=2007&amp;rft.isbn=978-1-58488-564-1&amp;rft.aulast=Ghosh&amp;rft.aufirst=Sukumar&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span>.</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFLynch1996" class="citation cs2"><a href="/wiki/Nancy_Lynch" title="Nancy Lynch">Lynch, Nancy A.</a> (1996), <span class="id-lock-registration" title="Free registration required"><a rel="nofollow" class="external text" href="https://archive.org/details/distributedalgor0000lync"><i>Distributed Algorithms</i></a></span>, <a href="/wiki/Morgan_Kaufmann" class="mw-redirect" title="Morgan Kaufmann">Morgan Kaufmann</a>, <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-1-55860-348-6" title="Special:BookSources/978-1-55860-348-6"><bdi>978-1-55860-348-6</bdi></a></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Distributed+Algorithms&amp;rft.pub=Morgan+Kaufmann&amp;rft.date=1996&amp;rft.isbn=978-1-55860-348-6&amp;rft.aulast=Lynch&amp;rft.aufirst=Nancy+A.&amp;rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Fdistributedalgor0000lync&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span>.</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFHerlihyShavit2008" class="citation cs2"><a href="/wiki/Maurice_Herlihy" title="Maurice Herlihy">Herlihy, Maurice P.</a>; <a href="/wiki/Nir_Shavit" title="Nir Shavit">Shavit, Nir N.</a> (2008), <i>The Art of Multiprocessor Programming</i>, <a href="/wiki/Morgan_Kaufmann" class="mw-redirect" title="Morgan Kaufmann">Morgan Kaufmann</a>, <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0-12-370591-4" title="Special:BookSources/978-0-12-370591-4"><bdi>978-0-12-370591-4</bdi></a></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=The+Art+of+Multiprocessor+Programming&amp;rft.pub=Morgan+Kaufmann&amp;rft.date=2008&amp;rft.isbn=978-0-12-370591-4&amp;rft.aulast=Herlihy&amp;rft.aufirst=Maurice+P.&amp;rft.au=Shavit%2C+Nir+N.&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span>.</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFPapadimitriou1994" class="citation cs2"><a href="/wiki/Christos_Papadimitriou" title="Christos Papadimitriou">Papadimitriou, Christos H.</a> (1994), <i>Computational Complexity</i>, <a href="/wiki/Addison%E2%80%93Wesley" class="mw-redirect" title="Addison–Wesley">Addison–Wesley</a>, <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0-201-53082-7" title="Special:BookSources/978-0-201-53082-7"><bdi>978-0-201-53082-7</bdi></a></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Computational+Complexity&amp;rft.pub=Addison%E2%80%93Wesley&amp;rft.date=1994&amp;rft.isbn=978-0-201-53082-7&amp;rft.aulast=Papadimitriou&amp;rft.aufirst=Christos+H.&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span>.</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFPeleg2000" class="citation cs2"><a href="/wiki/David_Peleg_(scientist)" class="mw-redirect" title="David Peleg (scientist)">Peleg, David</a> (2000), <a rel="nofollow" class="external text" href="https://web.archive.org/web/20090806070332/http://www.ec-securehost.com/SIAM/DT05.html"><i>Distributed Computing: A Locality-Sensitive Approach</i></a>, <a href="/wiki/SIAM" class="mw-redirect" title="SIAM">SIAM</a>, <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0-89871-464-7" title="Special:BookSources/978-0-89871-464-7"><bdi>978-0-89871-464-7</bdi></a>, archived from <a rel="nofollow" class="external text" href="http://www.ec-securehost.com/SIAM/DT05.html">the original</a> on 2009-08-06<span class="reference-accessdate">, retrieved <span class="nowrap">2009-07-16</span></span></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Distributed+Computing%3A+A+Locality-Sensitive+Approach&amp;rft.pub=SIAM&amp;rft.date=2000&amp;rft.isbn=978-0-89871-464-7&amp;rft.aulast=Peleg&amp;rft.aufirst=David&amp;rft_id=http%3A%2F%2Fwww.ec-securehost.com%2FSIAM%2FDT05.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span>.</li></ul> <dl><dt>Articles</dt></dl> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFColeVishkin1986" class="citation cs2">Cole, Richard; <a href="/wiki/Uzi_Vishkin" title="Uzi Vishkin">Vishkin, Uzi</a> (1986), "Deterministic coin tossing with applications to optimal parallel list ranking", <i>Information and Control</i>, <b>70</b> (1): <span class="nowrap">32–</span>53, <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1016%2FS0019-9958%2886%2980023-7">10.1016/S0019-9958(86)80023-7</a></span></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Information+and+Control&amp;rft.atitle=Deterministic+coin+tossing+with+applications+to+optimal+parallel+list+ranking&amp;rft.volume=70&amp;rft.issue=1&amp;rft.pages=%3Cspan+class%3D%22nowrap%22%3E32-%3C%2Fspan%3E53&amp;rft.date=1986&amp;rft_id=info%3Adoi%2F10.1016%2FS0019-9958%2886%2980023-7&amp;rft.aulast=Cole&amp;rft.aufirst=Richard&amp;rft.au=Vishkin%2C+Uzi&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span>.</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFKeidar2008" class="citation cs2"><a href="/wiki/Idit_Keidar" title="Idit Keidar">Keidar, Idit</a> (2008), <a rel="nofollow" class="external text" href="https://web.archive.org/web/20140116123634/http://webee.technion.ac.il/~idish/sigactNews/#column%2032">"Distributed computing column 32 – The year in review"</a>, <i><a href="/wiki/ACM_SIGACT_News" class="mw-redirect" title="ACM SIGACT News">ACM SIGACT News</a></i>, <b>39</b> (4): <span class="nowrap">53–</span>54, <a href="/wiki/CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a>&#160;<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.116.1285">10.1.1.116.1285</a></span>, <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F1466390.1466402">10.1145/1466390.1466402</a>, <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:7607391">7607391</a>, archived from <a rel="nofollow" class="external text" href="http://webee.technion.ac.il/~idish/sigactNews/#column%2032">the original</a> on 2014-01-16<span class="reference-accessdate">, retrieved <span class="nowrap">2009-08-20</span></span></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=ACM+SIGACT+News&amp;rft.atitle=Distributed+computing+column+32+%E2%80%93+The+year+in+review&amp;rft.volume=39&amp;rft.issue=4&amp;rft.pages=%3Cspan+class%3D%22nowrap%22%3E53-%3C%2Fspan%3E54&amp;rft.date=2008&amp;rft_id=https%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fsummary%3Fdoi%3D10.1.1.116.1285%23id-name%3DCiteSeerX&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A7607391%23id-name%3DS2CID&amp;rft_id=info%3Adoi%2F10.1145%2F1466390.1466402&amp;rft.aulast=Keidar&amp;rft.aufirst=Idit&amp;rft_id=http%3A%2F%2Fwebee.technion.ac.il%2F~idish%2FsigactNews%2F%23column%252032&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span>.</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFLinial1992" class="citation cs2"><a href="/wiki/Nati_Linial" title="Nati Linial">Linial, Nathan</a> (1992), "Locality in distributed graph algorithms", <i>SIAM Journal on Computing</i>, <b>21</b> (1): <span class="nowrap">193–</span>201, <a href="/wiki/CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a>&#160;<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.471.6378">10.1.1.471.6378</a></span>, <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1137%2F0221015">10.1137/0221015</a></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=SIAM+Journal+on+Computing&amp;rft.atitle=Locality+in+distributed+graph+algorithms&amp;rft.volume=21&amp;rft.issue=1&amp;rft.pages=%3Cspan+class%3D%22nowrap%22%3E193-%3C%2Fspan%3E201&amp;rft.date=1992&amp;rft_id=https%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fsummary%3Fdoi%3D10.1.1.471.6378%23id-name%3DCiteSeerX&amp;rft_id=info%3Adoi%2F10.1137%2F0221015&amp;rft.aulast=Linial&amp;rft.aufirst=Nathan&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span>.</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFNaorStockmeyer1995" class="citation cs2"><a href="/wiki/Moni_Naor" title="Moni Naor">Naor, Moni</a>; <a href="/wiki/Larry_Stockmeyer" title="Larry Stockmeyer">Stockmeyer, Larry</a> (1995), <a rel="nofollow" class="external text" href="http://www.wisdom.weizmann.ac.il/~naor/PAPERS/lcl.pdf">"What can be computed locally?"</a> <span class="cs1-format">(PDF)</span>, <i>SIAM Journal on Computing</i>, <b>24</b> (6): <span class="nowrap">1259–</span>1277, <a href="/wiki/CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a>&#160;<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.29.669">10.1.1.29.669</a></span>, <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1137%2FS0097539793254571">10.1137/S0097539793254571</a>, <a rel="nofollow" class="external text" href="https://web.archive.org/web/20130108030723/http://www.wisdom.weizmann.ac.il/~naor/PAPERS/lcl.pdf">archived</a> <span class="cs1-format">(PDF)</span> from the original on 2013-01-08</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=SIAM+Journal+on+Computing&amp;rft.atitle=What+can+be+computed+locally%3F&amp;rft.volume=24&amp;rft.issue=6&amp;rft.pages=%3Cspan+class%3D%22nowrap%22%3E1259-%3C%2Fspan%3E1277&amp;rft.date=1995&amp;rft_id=https%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fsummary%3Fdoi%3D10.1.1.29.669%23id-name%3DCiteSeerX&amp;rft_id=info%3Adoi%2F10.1137%2FS0097539793254571&amp;rft.aulast=Naor&amp;rft.aufirst=Moni&amp;rft.au=Stockmeyer%2C+Larry&amp;rft_id=http%3A%2F%2Fwww.wisdom.weizmann.ac.il%2F~naor%2FPAPERS%2Flcl.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span>.</li></ul> <dl><dt>Web sites</dt></dl> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFGodfrey2002" class="citation web cs1">Godfrey, Bill (2002). <a rel="nofollow" class="external text" href="https://billpg.com/bacchae-co-uk/docs/dist.html">"A primer on distributed computing"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20210513163858/https://billpg.com/bacchae-co-uk/docs/dist.html">Archived</a> from the original on 2021-05-13<span class="reference-accessdate">. Retrieved <span class="nowrap">2021-05-13</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=A+primer+on+distributed+computing&amp;rft.date=2002&amp;rft.aulast=Godfrey&amp;rft.aufirst=Bill&amp;rft_id=https%3A%2F%2Fbillpg.com%2Fbacchae-co-uk%2Fdocs%2Fdist.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFPeter2004" class="citation web cs1">Peter, Ian (2004). <a rel="nofollow" class="external text" href="http://www.nethistory.info/History%20of%20the%20Internet/">"Ian Peter's History of the Internet"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20100120220410/http://www.nethistory.info/History%20of%20the%20Internet/">Archived</a> from the original on 2010-01-20<span class="reference-accessdate">. Retrieved <span class="nowrap">2009-08-04</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Ian+Peter%27s+History+of+the+Internet&amp;rft.date=2004&amp;rft.aulast=Peter&amp;rft.aufirst=Ian&amp;rft_id=http%3A%2F%2Fwww.nethistory.info%2FHistory%2520of%2520the%2520Internet%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></li></ul> </div> <div class="mw-heading mw-heading2"><h2 id="Further_reading">Further reading</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Distributed_computing&amp;action=edit&amp;section=20" title="Edit section: Further reading"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239549316"><div class="refbegin refbegin-columns references-column-width" style="column-width: 30em"> <dl><dt>Books</dt></dl> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFAttiya,_Hagit_and_Jennifer_Welch2004" class="citation cs2"><a href="/wiki/Hagit_Attiya" title="Hagit Attiya">Attiya, Hagit</a> and Jennifer Welch (2004), <i>Distributed Computing: Fundamentals, Simulations, and Advanced Topics</i>, Wiley-Interscience</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Distributed+Computing%3A+Fundamentals%2C+Simulations%2C+and+Advanced+Topics&amp;rft.pub=Wiley-Interscience&amp;rft.date=2004&amp;rft.au=Attiya%2C+Hagit+and+Jennifer+Welch&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-471-45324-2" title="Special:BookSources/0-471-45324-2">0-471-45324-2</a>.</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFChristian_CachinRachid_GuerraouiLuís_Rodrigues2011" class="citation cs2">Christian Cachin; Rachid Guerraoui; Luís Rodrigues (2011), <i>Introduction to Reliable and Secure Distributed Programming</i> (2.&#160;ed.), Springer, <a href="/wiki/Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/2011itra.book.....C">2011itra.book.....C</a>, <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-3-642-15259-7" title="Special:BookSources/978-3-642-15259-7"><bdi>978-3-642-15259-7</bdi></a></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Introduction+to+Reliable+and+Secure+Distributed+Programming&amp;rft.edition=2.&amp;rft.pub=Springer&amp;rft.date=2011&amp;rft_id=info%3Abibcode%2F2011itra.book.....C&amp;rft.isbn=978-3-642-15259-7&amp;rft.au=Christian+Cachin&amp;rft.au=Rachid+Guerraoui&amp;rft.au=Lu%C3%ADs+Rodrigues&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFCoulouris,_George2011" class="citation cs2">Coulouris, George; et&#160;al. (2011), <i>Distributed Systems: Concepts and Design (5th Edition)</i>, Addison-Wesley</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Distributed+Systems%3A+Concepts+and+Design+%285th+Edition%29&amp;rft.pub=Addison-Wesley&amp;rft.date=2011&amp;rft.au=Coulouris%2C+George&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-132-14301-1" title="Special:BookSources/0-132-14301-1">0-132-14301-1</a>.</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFFaber1998" class="citation cs2">Faber, Jim (1998), <a rel="nofollow" class="external text" href="http://docstore.mik.ua/orelly/java-ent/dist/index.htm"><i>Java Distributed Computing</i></a>, O'Reilly, <a rel="nofollow" class="external text" href="https://web.archive.org/web/20100824170917/http://docstore.mik.ua/orelly/java-ent/dist/index.htm">archived</a> from the original on 2010-08-24<span class="reference-accessdate">, retrieved <span class="nowrap">2010-09-29</span></span></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Java+Distributed+Computing&amp;rft.pub=O%27Reilly&amp;rft.date=1998&amp;rft.aulast=Faber&amp;rft.aufirst=Jim&amp;rft_id=http%3A%2F%2Fdocstore.mik.ua%2Forelly%2Fjava-ent%2Fdist%2Findex.htm&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span>: <a rel="nofollow" class="external text" href="http://docstore.mik.ua/orelly/java-ent/dist/index.htm">Java Distributed Computing by Jim Faber, 1998</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20100824170917/http://docstore.mik.ua/orelly/java-ent/dist/index.htm">Archived</a> 2010-08-24 at the <a href="/wiki/Wayback_Machine" title="Wayback Machine">Wayback Machine</a></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFGarg,_Vijay_K.2002" class="citation cs2">Garg, Vijay K. (2002), <i>Elements of Distributed Computing</i>, Wiley-IEEE Press</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Elements+of+Distributed+Computing&amp;rft.pub=Wiley-IEEE+Press&amp;rft.date=2002&amp;rft.au=Garg%2C+Vijay+K.&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-471-03600-5" title="Special:BookSources/0-471-03600-5">0-471-03600-5</a>.</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFTel1994" class="citation cs2">Tel, Gerard (1994), <i>Introduction to Distributed Algorithms</i>, Cambridge University Press</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Introduction+to+Distributed+Algorithms&amp;rft.pub=Cambridge+University+Press&amp;rft.date=1994&amp;rft.aulast=Tel&amp;rft.aufirst=Gerard&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFChandy,_Mani1988" class="citation cs2"><a href="/wiki/K._Mani_Chandy" title="K. Mani Chandy">Chandy, Mani</a>; et&#160;al. (1988), <i>Parallel Program Design</i>, Addison-Wesley</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Parallel+Program+Design&amp;rft.pub=Addison-Wesley&amp;rft.date=1988&amp;rft.au=Chandy%2C+Mani&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0201058669" title="Special:BookSources/0201058669">0201058669</a></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFDusseauDusseau2016" class="citation book cs1">Dusseau, Remzi H.; Dusseau, Andrea (2016). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20210831013525/https://pages.cs.wisc.edu/~remzi/OSTEP/dist-intro.pdf"><i>Operating Systems: Three Easy Pieces, Chapter 48 Distributed Systems</i></a> <span class="cs1-format">(PDF)</span>. Archived from <a rel="nofollow" class="external text" href="https://pages.cs.wisc.edu/~remzi/OSTEP/dist-intro.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 31 August 2021<span class="reference-accessdate">. Retrieved <span class="nowrap">8 October</span> 2021</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Operating+Systems%3A+Three+Easy+Pieces%2C+Chapter+48+Distributed+Systems&amp;rft.date=2016&amp;rft.aulast=Dusseau&amp;rft.aufirst=Remzi+H.&amp;rft.au=Dusseau%2C+Andrea&amp;rft_id=https%3A%2F%2Fpages.cs.wisc.edu%2F~remzi%2FOSTEP%2Fdist-intro.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></li></ul> <dl><dt>Articles</dt></dl> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFKeidarRajsbaum2000–2009" class="citation cs2">Keidar, Idit; Rajsbaum, Sergio, eds. (2000–2009), <a rel="nofollow" class="external text" href="https://web.archive.org/web/20140116123634/http://webee.technion.ac.il/~idish/sigactNews/">"Distributed computing column"</a>, <a href="/wiki/ACM_SIGACT_News" class="mw-redirect" title="ACM SIGACT News"><i>ACM SIGACT News</i></a>, archived from <a rel="nofollow" class="external text" href="http://webee.technion.ac.il/~idish/sigactNews/">the original</a> on 2014-01-16<span class="reference-accessdate">, retrieved <span class="nowrap">2009-08-16</span></span></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=Distributed+computing+column&amp;rft.btitle=ACM+SIGACT+News&amp;rft.date=2000%2F2009&amp;rft_id=http%3A%2F%2Fwebee.technion.ac.il%2F~idish%2FsigactNews%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span>.</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFBirrellLevinSchroederNeedham1982" class="citation journal cs1">Birrell, A. D.; Levin, R.; Schroeder, M. D.; <a href="/wiki/Roger_M._Needham" class="mw-redirect" title="Roger M. Needham">Needham, R. M.</a> (April 1982). <a rel="nofollow" class="external text" href="http://web.cs.wpi.edu/~cs4513/d07/Papers/Birrell,%20Levin,%20et.%20al.,%20Grapevine.pdf">"Grapevine: An exercise in distributed computing"</a> <span class="cs1-format">(PDF)</span>. <i><a href="/wiki/Communications_of_the_ACM" title="Communications of the ACM">Communications of the ACM</a></i>. <b>25</b> (4): <span class="nowrap">260–</span>274. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F358468.358487">10.1145/358468.358487</a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:16066616">16066616</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20160730064812/http://web.cs.wpi.edu/~cs4513/d07/Papers/Birrell,%20Levin,%20et.%20al.,%20Grapevine.pdf">Archived</a> <span class="cs1-format">(PDF)</span> from the original on 2016-07-30.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Communications+of+the+ACM&amp;rft.atitle=Grapevine%3A+An+exercise+in+distributed+computing&amp;rft.volume=25&amp;rft.issue=4&amp;rft.pages=%3Cspan+class%3D%22nowrap%22%3E260-%3C%2Fspan%3E274&amp;rft.date=1982-04&amp;rft_id=info%3Adoi%2F10.1145%2F358468.358487&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A16066616%23id-name%3DS2CID&amp;rft.aulast=Birrell&amp;rft.aufirst=A.+D.&amp;rft.au=Levin%2C+R.&amp;rft.au=Schroeder%2C+M.+D.&amp;rft.au=Needham%2C+R.+M.&amp;rft_id=http%3A%2F%2Fweb.cs.wpi.edu%2F~cs4513%2Fd07%2FPapers%2FBirrell%2C%2520Levin%2C%2520et.%2520al.%2C%2520Grapevine.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></li></ul> <dl><dt>Conference Papers</dt></dl> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFRodriguezVillagraBaran2007" class="citation book cs1">Rodriguez, Carlos; Villagra, Marcos; Baran, Benjamin (2007). "Asynchronous team algorithms for Boolean Satisfiability". <i>2007 2nd Bio-Inspired Models of Network, Information and Computing Systems</i>. pp.&#160;<span class="nowrap">66–</span>69. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FBIMNICS.2007.4610083">10.1109/BIMNICS.2007.4610083</a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:15185219">15185219</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=Asynchronous+team+algorithms+for+Boolean+Satisfiability&amp;rft.btitle=2007+2nd+Bio-Inspired+Models+of+Network%2C+Information+and+Computing+Systems&amp;rft.pages=%3Cspan+class%3D%22nowrap%22%3E66-%3C%2Fspan%3E69&amp;rft.date=2007&amp;rft_id=info%3Adoi%2F10.1109%2FBIMNICS.2007.4610083&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A15185219%23id-name%3DS2CID&amp;rft.aulast=Rodriguez&amp;rft.aufirst=Carlos&amp;rft.au=Villagra%2C+Marcos&amp;rft.au=Baran%2C+Benjamin&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADistributed+computing" class="Z3988"></span></li></ul> </div> <div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Distributed_computing&amp;action=edit&amp;section=21" title="Edit section: External links"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1235681985">.mw-parser-output .side-box{margin:4px 0;box-sizing:border-box;border:1px solid #aaa;font-size:88%;line-height:1.25em;background-color:var(--background-color-interactive-subtle,#f8f9fa);display:flow-root}.mw-parser-output .side-box-abovebelow,.mw-parser-output .side-box-text{padding:0.25em 0.9em}.mw-parser-output .side-box-image{padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .side-box-imageright{padding:2px 0.9em 2px 0;text-align:center}@media(min-width:500px){.mw-parser-output .side-box-flex{display:flex;align-items:center}.mw-parser-output .side-box-text{flex:1;min-width:0}}@media(min-width:720px){.mw-parser-output .side-box{width:238px}.mw-parser-output .side-box-right{clear:right;float:right;margin-left:1em}.mw-parser-output .side-box-left{margin-right:1em}}</style><style data-mw-deduplicate="TemplateStyles:r1237033735">@media print{body.ns-0 .mw-parser-output .sistersitebox{display:none!important}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-en-v2.svg"]{background-color:white}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-en-v2.svg"]{background-color:white}}</style><div class="side-box side-box-right plainlinks sistersitebox"><style data-mw-deduplicate="TemplateStyles:r1126788409">.mw-parser-output .plainlist ol,.mw-parser-output .plainlist ul{line-height:inherit;list-style:none;margin:0;padding:0}.mw-parser-output .plainlist ol li,.mw-parser-output .plainlist ul li{margin-bottom:0}</style> <div class="side-box-flex"> <div class="side-box-image"><span class="noviewer" typeof="mw:File"><a href="/wiki/File:Wikiquote-logo.svg" class="mw-file-description"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Wikiquote-logo.svg/34px-Wikiquote-logo.svg.png" decoding="async" width="34" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Wikiquote-logo.svg/51px-Wikiquote-logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Wikiquote-logo.svg/68px-Wikiquote-logo.svg.png 2x" data-file-width="300" data-file-height="355" /></a></span></div> <div class="side-box-text plainlist">Wikiquote has quotations related to <i><b><a href="https://en.wikiquote.org/wiki/Special:Search/Distributed_computing" class="extiw" title="q:Special:Search/Distributed computing">Distributed computing</a></b></i>.</div></div> </div> <ul><li><span class="noviewer" typeof="mw:File"><a href="/wiki/File:Commons-logo.svg" class="mw-file-description"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/12px-Commons-logo.svg.png" decoding="async" width="12" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/18px-Commons-logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/24px-Commons-logo.svg.png 2x" data-file-width="1024" data-file-height="1376" /></a></span> Media related to <a href="https://commons.wikimedia.org/wiki/Category:Distributed_computing" class="extiw" title="commons:Category:Distributed computing">Distributed computing</a> at Wikimedia Commons</li></ul> <div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}</style><style data-mw-deduplicate="TemplateStyles:r1236075235">.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}</style></div><div role="navigation" class="navbox" aria-labelledby="Parallel_computing346" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><style data-mw-deduplicate="TemplateStyles:r1239400231">.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}</style><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Parallel_computing" title="Template:Parallel computing"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Parallel_computing" title="Template talk:Parallel computing"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Parallel_computing" title="Special:EditPage/Template:Parallel computing"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Parallel_computing346" style="font-size:114%;margin:0 4em"><a href="/wiki/Parallel_computing" title="Parallel computing">Parallel computing</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">General</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a class="mw-selflink selflink">Distributed computing</a></li> <li><a href="/wiki/Parallel_computing" title="Parallel computing">Parallel computing</a></li> <li><a href="/wiki/Massively_parallel" title="Massively parallel">Massively parallel</a></li> <li><a href="/wiki/Cloud_computing" title="Cloud computing">Cloud computing</a></li> <li><a href="/wiki/High-performance_computing" title="High-performance computing">High-performance computing</a></li> <li><a href="/wiki/Multiprocessing" title="Multiprocessing">Multiprocessing</a></li> <li><a href="/wiki/Manycore_processor" title="Manycore processor">Manycore processor</a></li> <li><a href="/wiki/General-purpose_computing_on_graphics_processing_units" title="General-purpose computing on graphics processing units">GPGPU</a></li> <li><a href="/wiki/Computer_network" title="Computer network">Computer network</a></li> <li><a href="/wiki/Systolic_array" title="Systolic array">Systolic array</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Levels</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Bit-level_parallelism" title="Bit-level parallelism">Bit</a></li> <li><a href="/wiki/Instruction-level_parallelism" title="Instruction-level parallelism">Instruction</a></li> <li><a href="/wiki/Task_parallelism" title="Task parallelism">Thread</a></li> <li><a href="/wiki/Task_parallelism" title="Task parallelism">Task</a></li> <li><a href="/wiki/Data_parallelism" title="Data parallelism">Data</a></li> <li><a href="/wiki/Memory-level_parallelism" title="Memory-level parallelism">Memory</a></li> <li><a href="/wiki/Loop-level_parallelism" title="Loop-level parallelism">Loop</a></li> <li><a href="/wiki/Pipeline_(computing)" title="Pipeline (computing)">Pipeline</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Multithreading_(computer_architecture)" title="Multithreading (computer architecture)">Multithreading</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Temporal_multithreading" title="Temporal multithreading">Temporal</a></li> <li><a href="/wiki/Simultaneous_multithreading" title="Simultaneous multithreading">Simultaneous</a> (SMT)</li> <li><a href="/wiki/Simultaneous_and_heterogeneous_multithreading" title="Simultaneous and heterogeneous multithreading">Simultaneous and heterogenous</a></li> <li><a href="/wiki/Speculative_multithreading" title="Speculative multithreading">Speculative</a> (SpMT)</li> <li><a href="/wiki/Preemption_(computing)" title="Preemption (computing)">Preemptive</a></li> <li><a href="/wiki/Computer_multitasking#Cooperative_multitasking" title="Computer multitasking">Cooperative</a></li> <li><a href="/wiki/Bulldozer_(microarchitecture)#Bulldozer_core" title="Bulldozer (microarchitecture)">Clustered multi-thread</a> (CMT)</li> <li><a href="/wiki/Hardware_scout" title="Hardware scout">Hardware scout</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Theory</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Parallel_RAM" title="Parallel RAM">PRAM model</a></li> <li><a href="/wiki/Parallel_external_memory" title="Parallel external memory">PEM model</a></li> <li><a href="/wiki/Analysis_of_parallel_algorithms" title="Analysis of parallel algorithms">Analysis of parallel algorithms</a></li> <li><a href="/wiki/Amdahl%27s_law" title="Amdahl&#39;s law">Amdahl's law</a></li> <li><a href="/wiki/Gustafson%27s_law" title="Gustafson&#39;s law">Gustafson's law</a></li> <li><a href="/wiki/Cost_efficiency" title="Cost efficiency">Cost efficiency</a></li> <li><a href="/wiki/Karp%E2%80%93Flatt_metric" title="Karp–Flatt metric">Karp–Flatt metric</a></li> <li><a href="/wiki/Parallel_slowdown" title="Parallel slowdown">Slowdown</a></li> <li><a href="/wiki/Speedup" title="Speedup">Speedup</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Elements</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Process_(computing)" title="Process (computing)">Process</a></li> <li><a href="/wiki/Thread_(computing)" title="Thread (computing)">Thread</a></li> <li><a href="/wiki/Fiber_(computer_science)" title="Fiber (computer science)">Fiber</a></li> <li><a href="/wiki/Instruction_window" title="Instruction window">Instruction window</a></li> <li><a href="/wiki/Array_(data_structure)" title="Array (data structure)">Array</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Coordination</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Multiprocessing" title="Multiprocessing">Multiprocessing</a></li> <li><a href="/wiki/Memory_coherence" title="Memory coherence">Memory coherence</a></li> <li><a href="/wiki/Cache_coherence" title="Cache coherence">Cache coherence</a></li> <li><a href="/wiki/Cache_invalidation" title="Cache invalidation">Cache invalidation</a></li> <li><a href="/wiki/Barrier_(computer_science)" title="Barrier (computer science)">Barrier</a></li> <li><a href="/wiki/Synchronization_(computer_science)" title="Synchronization (computer science)">Synchronization</a></li> <li><a href="/wiki/Application_checkpointing" title="Application checkpointing">Application checkpointing</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Computer_programming" title="Computer programming">Programming</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Stream_processing" title="Stream processing">Stream processing</a></li> <li><a href="/wiki/Dataflow_programming" title="Dataflow programming">Dataflow programming</a></li> <li><a href="/wiki/Parallel_programming_model" title="Parallel programming model">Models</a> <ul><li><a href="/wiki/Implicit_parallelism" title="Implicit parallelism">Implicit parallelism</a></li> <li><a href="/wiki/Explicit_parallelism" title="Explicit parallelism">Explicit parallelism</a></li> <li><a href="/wiki/Concurrency_(computer_science)" title="Concurrency (computer science)">Concurrency</a></li></ul></li> <li><a href="/wiki/Non-blocking_algorithm" title="Non-blocking algorithm">Non-blocking algorithm</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Computer_hardware" title="Computer hardware">Hardware</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Flynn%27s_taxonomy" title="Flynn&#39;s taxonomy">Flynn's taxonomy</a> <ul><li><a href="/wiki/Single_instruction,_single_data" title="Single instruction, single data">SISD</a></li> <li><a href="/wiki/Single_instruction,_multiple_data" title="Single instruction, multiple data">SIMD</a> <ul><li><a href="/wiki/Single_instruction,_multiple_threads" title="Single instruction, multiple threads">Array processing</a> (SIMT)</li> <li><a href="/wiki/Flynn%27s_taxonomy#Pipelined_processor" title="Flynn&#39;s taxonomy">Pipelined processing</a></li> <li><a href="/wiki/Flynn%27s_taxonomy#Associative_processor" title="Flynn&#39;s taxonomy">Associative processing</a></li></ul></li> <li><a href="/wiki/Multiple_instruction,_single_data" title="Multiple instruction, single data">MISD</a></li> <li><a href="/wiki/Multiple_instruction,_multiple_data" title="Multiple instruction, multiple data">MIMD</a></li></ul></li> <li><a href="/wiki/Dataflow_architecture" title="Dataflow architecture">Dataflow architecture</a></li> <li><a href="/wiki/Instruction_pipelining" title="Instruction pipelining">Pipelined processor</a></li> <li><a href="/wiki/Superscalar_processor" title="Superscalar processor">Superscalar processor</a></li> <li><a href="/wiki/Vector_processor" title="Vector processor">Vector processor</a></li> <li><a href="/wiki/Multiprocessing" title="Multiprocessing">Multiprocessor</a> <ul><li><a href="/wiki/Symmetric_multiprocessing" title="Symmetric multiprocessing">symmetric</a></li> <li><a href="/wiki/Asymmetric_multiprocessing" title="Asymmetric multiprocessing">asymmetric</a></li></ul></li> <li><a href="/wiki/Semiconductor_memory" title="Semiconductor memory">Memory</a> <ul><li><a href="/wiki/Shared_memory" title="Shared memory">shared</a></li> <li><a href="/wiki/Distributed_memory" title="Distributed memory">distributed</a></li> <li><a href="/wiki/Distributed_shared_memory" title="Distributed shared memory">distributed shared</a></li> <li><a href="/wiki/Uniform_memory_access" title="Uniform memory access">UMA</a></li> <li><a href="/wiki/Non-uniform_memory_access" title="Non-uniform memory access">NUMA</a></li> <li><a href="/wiki/Cache-only_memory_architecture" title="Cache-only memory architecture">COMA</a></li></ul></li> <li><a href="/wiki/Massively_parallel" title="Massively parallel">Massively parallel</a> computer</li> <li><a href="/wiki/Computer_cluster" title="Computer cluster">Computer cluster</a> <ul><li><a href="/wiki/Beowulf_cluster" title="Beowulf cluster">Beowulf cluster</a></li></ul></li> <li><a href="/wiki/Grid_computing" title="Grid computing">Grid computer</a></li> <li><a href="/wiki/Hardware_acceleration" title="Hardware acceleration">Hardware acceleration</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/API" title="API">APIs</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Ateji_PX" title="Ateji PX">Ateji PX</a></li> <li><a href="/wiki/Boost_(C%2B%2B_libraries)" title="Boost (C++ libraries)">Boost</a></li> <li><a href="/wiki/Chapel_(programming_language)" title="Chapel (programming language)">Chapel</a></li> <li><a href="/wiki/HPX" title="HPX">HPX</a></li> <li><a href="/wiki/Charm%2B%2B" title="Charm++">Charm++</a></li> <li><a href="/wiki/Cilk" title="Cilk">Cilk</a></li> <li><a href="/wiki/Coarray_Fortran" title="Coarray Fortran">Coarray Fortran</a></li> <li><a href="/wiki/CUDA" title="CUDA">CUDA</a></li> <li><a href="/wiki/Dryad_(programming)" title="Dryad (programming)">Dryad</a></li> <li><a href="/wiki/C%2B%2B_AMP" title="C++ AMP">C++ AMP</a></li> <li><a href="/wiki/Global_Arrays" title="Global Arrays">Global Arrays</a></li> <li><a href="/wiki/GPUOpen" title="GPUOpen">GPUOpen</a></li> <li><a href="/wiki/Message_Passing_Interface" title="Message Passing Interface">MPI</a></li> <li><a href="/wiki/OpenMP" title="OpenMP">OpenMP</a></li> <li><a href="/wiki/OpenCL" title="OpenCL">OpenCL</a></li> <li><a href="/wiki/OpenHMPP" title="OpenHMPP">OpenHMPP</a></li> <li><a href="/wiki/OpenACC" title="OpenACC">OpenACC</a></li> <li><a href="/wiki/Parallel_Extensions" title="Parallel Extensions">Parallel Extensions</a></li> <li><a href="/wiki/Parallel_Virtual_Machine" title="Parallel Virtual Machine">PVM</a></li> <li><a href="/wiki/Pthreads" title="Pthreads">pthreads</a></li> <li><a href="/wiki/RaftLib" title="RaftLib">RaftLib</a></li> <li><a href="/wiki/ROCm" title="ROCm">ROCm</a></li> <li><a href="/wiki/Unified_Parallel_C" title="Unified Parallel C">UPC</a></li> <li><a href="/wiki/Threading_Building_Blocks" title="Threading Building Blocks">TBB</a></li> <li><a href="/wiki/ZPL_(programming_language)" class="mw-redirect" title="ZPL (programming language)">ZPL</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Problems</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Automatic_parallelization" title="Automatic parallelization">Automatic parallelization</a></li> <li><a href="/wiki/Deadlock_(computer_science)" title="Deadlock (computer science)">Deadlock</a></li> <li><a href="/wiki/Deterministic_algorithm" title="Deterministic algorithm">Deterministic algorithm</a></li> <li><a href="/wiki/Embarrassingly_parallel" title="Embarrassingly parallel">Embarrassingly parallel</a></li> <li><a href="/wiki/Parallel_slowdown" title="Parallel slowdown">Parallel slowdown</a></li> <li><a href="/wiki/Race_condition" title="Race condition">Race condition</a></li> <li><a href="/wiki/Software_lockout" title="Software lockout">Software lockout</a></li> <li><a href="/wiki/Scalability" title="Scalability">Scalability</a></li> <li><a href="/wiki/Starvation_(computer_science)" title="Starvation (computer science)">Starvation</a></li></ul> </div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div> <ul><li><span class="noviewer" typeof="mw:File"><span title="Category"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/16px-Symbol_category_class.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/23px-Symbol_category_class.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/31px-Symbol_category_class.svg.png 2x" data-file-width="180" data-file-height="185" /></span></span>&#160;<a href="/wiki/Category:Parallel_computing" title="Category:Parallel computing">Category: Parallel computing</a></li></ul> </div></td></tr></tbody></table></div> <div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236075235"></div><div role="navigation" class="navbox authority-control" aria-labelledby="Authority_control_databases_frameless&amp;#124;text-top&amp;#124;10px&amp;#124;alt=Edit_this_at_Wikidata&amp;#124;link=https&amp;#58;//www.wikidata.org/wiki/Q180634#identifiers&amp;#124;class=noprint&amp;#124;Edit_this_at_Wikidata1198" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Authority_control_databases_frameless&amp;#124;text-top&amp;#124;10px&amp;#124;alt=Edit_this_at_Wikidata&amp;#124;link=https&amp;#58;//www.wikidata.org/wiki/Q180634#identifiers&amp;#124;class=noprint&amp;#124;Edit_this_at_Wikidata1198" style="font-size:114%;margin:0 4em"><a href="/wiki/Help:Authority_control" title="Help:Authority control">Authority control databases</a> <span class="mw-valign-text-top noprint" typeof="mw:File/Frameless"><a href="https://www.wikidata.org/wiki/Q180634#identifiers" title="Edit this at Wikidata"><img alt="Edit this at Wikidata" src="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png" decoding="async" width="10" height="10" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/15px-OOjs_UI_icon_edit-ltr-progressive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/20px-OOjs_UI_icon_edit-ltr-progressive.svg.png 2x" data-file-width="20" data-file-height="20" /></a></span></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">International</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"><ul><li><span class="uid"><a rel="nofollow" class="external text" href="http://id.worldcat.org/fast/906987/">FAST</a></span></li></ul></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">National</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"><ul><li><span class="uid"><a rel="nofollow" class="external text" href="https://d-nb.info/gnd/7545389-7">Germany</a></span></li><li><span class="uid"><a rel="nofollow" class="external text" href="https://id.loc.gov/authorities/sh85042293">United States</a></span></li><li><span class="uid"><a rel="nofollow" class="external text" href="https://catalogue.bnf.fr/ark:/12148/cb11932111w">France</a></span></li><li><span class="uid"><a rel="nofollow" class="external text" href="https://data.bnf.fr/ark:/12148/cb11932111w">BnF data</a></span></li><li><span class="uid"><a rel="nofollow" class="external text" href="http://catalogo.bne.es/uhtbin/authoritybrowse.cgi?action=display&amp;authority_id=XX545920">Spain</a></span></li><li><span class="uid"><a rel="nofollow" class="external text" href="https://kopkatalogs.lv/F?func=direct&amp;local_base=lnc10&amp;doc_number=000115923&amp;P_CON_LNG=ENG">Latvia</a></span></li><li><span class="uid"><a rel="nofollow" class="external text" href="https://www.nli.org.il/en/authorities/987007538304905171">Israel</a></span></li></ul></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"><ul><li><span class="uid"><a rel="nofollow" class="external text" href="https://www.idref.fr/027234908">IdRef</a></span></li></ul></div></td></tr></tbody></table></div> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐59856b956b‐dqk5f Cached time: 20250218142305 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 1.360 seconds Real time usage: 1.694 seconds Preprocessor visited node count: 12428/1000000 Post‐expand include size: 167504/2097152 bytes Template argument size: 3141/2097152 bytes Highest expansion depth: 16/100 Expensive parser function count: 4/500 Unstrip recursion depth: 1/20 Unstrip post‐expand size: 226303/5000000 bytes Lua time usage: 0.920/10.000 seconds Lua memory usage: 20747712/52428800 bytes Number of Wikibase entities loaded: 1/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 1555.828 1 -total 30.82% 479.511 34 Template:Annotated_link 25.34% 394.258 1 Template:Reflist 11.74% 182.595 22 Template:Cite_book 8.22% 127.890 23 Template:Citation 7.00% 108.862 1 Template:Parallel_computing 6.75% 104.943 1 Template:Navbox 5.19% 80.814 70 Template:Harvtxt 4.83% 75.205 1 Template:Short_description 3.91% 60.835 1 Template:Sfn --> <!-- Saved in parser cache with key enwiki:pcache:8501:|#|:idhash:canonical and timestamp 20250218142305 and revision id 1275205496. Rendering was triggered because: page-view --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?useformat=desktop&amp;type=1x1&amp;usesul3=0" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=Distributed_computing&amp;oldid=1275205496">https://en.wikipedia.org/w/index.php?title=Distributed_computing&amp;oldid=1275205496</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Category</a>: <ul><li><a href="/wiki/Category:Distributed_computing" title="Category:Distributed computing">Distributed computing</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="/wiki/Category:Webarchive_template_wayback_links" title="Category:Webarchive template wayback links">Webarchive template wayback links</a></li><li><a href="/wiki/Category:CS1_errors:_missing_periodical" title="Category:CS1 errors: missing periodical">CS1 errors: missing periodical</a></li><li><a href="/wiki/Category:CS1_maint:_multiple_names:_authors_list" title="Category:CS1 maint: multiple names: authors list">CS1 maint: multiple names: authors list</a></li><li><a href="/wiki/Category:Articles_with_short_description" title="Category:Articles with short description">Articles with short description</a></li><li><a href="/wiki/Category:Short_description_is_different_from_Wikidata" title="Category:Short description is different from Wikidata">Short description is different from Wikidata</a></li><li><a href="/wiki/Category:All_articles_with_unsourced_statements" title="Category:All articles with unsourced statements">All articles with unsourced statements</a></li><li><a href="/wiki/Category:Articles_with_unsourced_statements_from_October_2016" title="Category:Articles with unsourced statements from October 2016">Articles with unsourced statements from October 2016</a></li><li><a href="/wiki/Category:Pages_displaying_short_descriptions_of_redirect_targets_via_Module:Annotated_link" title="Category:Pages displaying short descriptions of redirect targets via Module:Annotated link">Pages displaying short descriptions of redirect targets via Module:Annotated link</a></li><li><a href="/wiki/Category:Pages_displaying_wikidata_descriptions_as_a_fallback_via_Module:Annotated_link" title="Category:Pages displaying wikidata descriptions as a fallback via Module:Annotated link">Pages displaying wikidata descriptions as a fallback via Module:Annotated link</a></li><li><a href="/wiki/Category:Commons_category_link_from_Wikidata" title="Category:Commons category link from Wikidata">Commons category link from Wikidata</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 11 February 2025, at 18:03<span class="anonymous-show">&#160;(UTC)</span>.</li> <li id="footer-info-copyright">Text is available under the <a href="/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License" title="Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License">Creative Commons Attribution-ShareAlike 4.0 License</a>; additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use" class="extiw" title="foundation:Special:MyLanguage/Policy:Terms of Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy" class="extiw" title="foundation:Special:MyLanguage/Policy:Privacy policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=Distributed_computing&amp;mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" lang="en" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><picture><source media="(min-width: 500px)" srcset="/w/resources/assets/poweredby_mediawiki.svg" width="88" height="31"><img src="/w/resources/assets/mediawiki_compact.svg" alt="Powered by MediaWiki" width="25" height="25" loading="lazy"></picture></a></li> </ul> </footer> </div> </div> </div> <div class="vector-header-container vector-sticky-header-container"> <div id="vector-sticky-header" class="vector-sticky-header"> <div class="vector-sticky-header-start"> <div class="vector-sticky-header-icon-start vector-button-flush-left vector-button-flush-right" aria-hidden="true"> <button class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-sticky-header-search-toggle" tabindex="-1" data-event-name="ui.vector-sticky-search-form.icon"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </button> </div> <div role="search" class="vector-search-box-vue vector-search-box-show-thumbnail vector-search-box"> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail"> <form action="/w/index.php" id="vector-sticky-search-form" class="cdx-search-input cdx-search-input--has-end-button"> <div class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia"> <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <div class="vector-sticky-header-context-bar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-sticky-header-toc" class="vector-dropdown mw-portlet mw-portlet-sticky-header-toc vector-sticky-header-toc vector-button-flush-left" > <input type="checkbox" id="vector-sticky-header-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-sticky-header-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-sticky-header-toc-label" for="vector-sticky-header-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-sticky-header-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div class="vector-sticky-header-context-bar-primary" aria-hidden="true" ><span class="mw-page-title-main">Distributed computing</span></div> </div> </div> <div class="vector-sticky-header-end" aria-hidden="true"> <div class="vector-sticky-header-icons"> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-talk-sticky-header" tabindex="-1" data-event-name="talk-sticky-header"><span class="vector-icon mw-ui-icon-speechBubbles mw-ui-icon-wikimedia-speechBubbles"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-subject-sticky-header" tabindex="-1" data-event-name="subject-sticky-header"><span class="vector-icon mw-ui-icon-article mw-ui-icon-wikimedia-article"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-history-sticky-header" tabindex="-1" data-event-name="history-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-history mw-ui-icon-wikimedia-wikimedia-history"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only mw-watchlink" id="ca-watchstar-sticky-header" tabindex="-1" data-event-name="watch-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-star mw-ui-icon-wikimedia-wikimedia-star"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-edit-sticky-header" tabindex="-1" data-event-name="wikitext-edit-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-wikiText mw-ui-icon-wikimedia-wikimedia-wikiText"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-ve-edit-sticky-header" tabindex="-1" data-event-name="ve-edit-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-edit mw-ui-icon-wikimedia-wikimedia-edit"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-viewsource-sticky-header" tabindex="-1" data-event-name="ve-edit-protected-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-editLock mw-ui-icon-wikimedia-wikimedia-editLock"></span> <span></span> </a> </div> <div class="vector-sticky-header-buttons"> <button class="cdx-button cdx-button--weight-quiet mw-interlanguage-selector" id="p-lang-btn-sticky-header" tabindex="-1" data-event-name="ui.dropdown-p-lang-btn-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-language mw-ui-icon-wikimedia-wikimedia-language"></span> <span>52 languages</span> </button> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive" id="ca-addsection-sticky-header" tabindex="-1" data-event-name="addsection-sticky-header"><span class="vector-icon mw-ui-icon-speechBubbleAdd-progressive mw-ui-icon-wikimedia-speechBubbleAdd-progressive"></span> <span>Add topic</span> </a> </div> <div class="vector-sticky-header-icon-end"> <div class="vector-user-links"> </div> </div> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-55bb9fd656-6nhmt","wgBackendResponseTime":114,"wgPageParseReport":{"limitreport":{"cputime":"1.360","walltime":"1.694","ppvisitednodes":{"value":12428,"limit":1000000},"postexpandincludesize":{"value":167504,"limit":2097152},"templateargumentsize":{"value":3141,"limit":2097152},"expansiondepth":{"value":16,"limit":100},"expensivefunctioncount":{"value":4,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":226303,"limit":5000000},"entityaccesscount":{"value":1,"limit":400},"timingprofile":["100.00% 1555.828 1 -total"," 30.82% 479.511 34 Template:Annotated_link"," 25.34% 394.258 1 Template:Reflist"," 11.74% 182.595 22 Template:Cite_book"," 8.22% 127.890 23 Template:Citation"," 7.00% 108.862 1 Template:Parallel_computing"," 6.75% 104.943 1 Template:Navbox"," 5.19% 80.814 70 Template:Harvtxt"," 4.83% 75.205 1 Template:Short_description"," 3.91% 60.835 1 Template:Sfn"]},"scribunto":{"limitreport-timeusage":{"value":"0.920","limit":"10.000"},"limitreport-memusage":{"value":20747712,"limit":52428800},"limitreport-logs":"anchor_id_list = table#1 {\n [\"CITEREFAndrews2000\"] = 1,\n [\"CITEREFAroraBarak2009\"] = 1,\n [\"CITEREFAttiya,_Hagit_and_Jennifer_Welch2004\"] = 1,\n [\"CITEREFBanks,_M.2012\"] = 1,\n [\"CITEREFBentaleb,_A.Yifan,_L.Xin,_J.2016\"] = 1,\n [\"CITEREFBirrellLevinSchroederNeedham1982\"] = 1,\n [\"CITEREFChandy,_Mani1988\"] = 1,\n [\"CITEREFChiu1990\"] = 1,\n [\"CITEREFChristian_CachinRachid_GuerraouiLuís_Rodrigues2011\"] = 1,\n [\"CITEREFColeVishkin1986\"] = 1,\n [\"CITEREFCormenLeisersonRivest1990\"] = 1,\n [\"CITEREFCoulouris,_George2011\"] = 1,\n [\"CITEREFDolev2000\"] = 1,\n [\"CITEREFDusseauDusseau2016\"] = 1,\n [\"CITEREFElmasriNavathe2000\"] = 1,\n [\"CITEREFFaber1998\"] = 1,\n [\"CITEREFFord2020\"] = 1,\n [\"CITEREFGarg,_Vijay_K.2002\"] = 1,\n [\"CITEREFGhosh2007\"] = 1,\n [\"CITEREFGodfrey2002\"] = 1,\n [\"CITEREFHaloi,_S.2015\"] = 1,\n [\"CITEREFHamilton\"] = 1,\n [\"CITEREFHaussmann2019\"] = 1,\n [\"CITEREFHerlihyShavit2008\"] = 1,\n [\"CITEREFKeidar2008\"] = 1,\n [\"CITEREFKeidarRajsbaum2000–2009\"] = 1,\n [\"CITEREFKleppmann\"] = 1,\n [\"CITEREFKorachKuttenMoran1990\"] = 1,\n [\"CITEREFLeLann1977\"] = 1,\n [\"CITEREFLindAlm2006\"] = 1,\n [\"CITEREFLinial1992\"] = 1,\n [\"CITEREFLynch1996\"] = 1,\n [\"CITEREFMagnoni2015\"] = 1,\n [\"CITEREFNaorStockmeyer1995\"] = 1,\n [\"CITEREFOhlídal,_M.Jaroš,_J.Schwarz,_J.2006\"] = 1,\n [\"CITEREFPapadimitriou1994\"] = 1,\n [\"CITEREFPeleg2000\"] = 1,\n [\"CITEREFPeter2004\"] = 1,\n [\"CITEREFQuang_Hieu_VuMihai_LupuBeng_Chin_Ooi2010\"] = 1,\n [\"CITEREFR._G._Gallager,_P._A._Humblet,_and_P._M._Spira1983\"] = 1,\n [\"CITEREFRodriguezVillagraBaran2007\"] = 1,\n [\"CITEREFSavage,_J.E.1998\"] = 1,\n [\"CITEREFSchneider,_J.Wattenhofer,_R.2011\"] = 1,\n [\"CITEREFSvozil,_K.2011\"] = 1,\n [\"CITEREFTanenbaum,_Andrew_S.Steen,_Maarten_van2002\"] = 1,\n [\"CITEREFTel,_G.2000\"] = 1,\n [\"CITEREFTel1994\"] = 1,\n [\"CITEREFToomarian,_N.B.Barhen,_J.Gulati,_S.1992\"] = 1,\n}\ntemplate_list = table#1 {\n [\"Annotated link\"] = 34,\n [\"Authority control\"] = 1,\n [\"Citation\"] = 23,\n [\"Citation needed\"] = 1,\n [\"Cite book\"] = 22,\n [\"Cite journal\"] = 8,\n [\"Cite web\"] = 6,\n [\"Commonscatinline\"] = 1,\n [\"DEFAULTSORT:Distributed Computing\"] = 1,\n [\"Distinguish\"] = 1,\n [\"Div col\"] = 1,\n [\"Div col end\"] = 1,\n [\"Harvtxt\"] = 70,\n [\"ISBN\"] = 5,\n [\"Main\"] = 1,\n [\"Parallel computing\"] = 1,\n [\"Refbegin\"] = 2,\n [\"Refend\"] = 2,\n [\"Reflist\"] = 1,\n [\"Rp\"] = 1,\n [\"Sfn\"] = 1,\n [\"Short description\"] = 1,\n [\"Webarchive\"] = 2,\n [\"Wikiquote\"] = 1,\n}\narticle_whitelist = table#1 {\n}\nciteref_patterns = table#1 {\n}\n"},"cachereport":{"origin":"mw-web.codfw.main-59856b956b-dqk5f","timestamp":"20250218142305","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"Distributed computing","url":"https:\/\/en.wikipedia.org\/wiki\/Distributed_computing","sameAs":"http:\/\/www.wikidata.org\/entity\/Q180634","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q180634","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2001-10-29T13:00:31Z","dateModified":"2025-02-11T18:03:23Z","headline":"system whose components are located on different networked computers"}</script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10