Skip to main content
Engineering LibreTexts

19.1: Distributed Computing

  • Page ID
    19981
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    Distributed computing or distributed processing refers to the general idea of taking a large problem, dividing it into multiple sub-problems, and executing the sub-problems on different computers connected through a network. Typically, a master or main server node will distribute the sub-problems to various available computation nodes. When completed, the computational nodes will send the intermediate results back to the master. As needed, the master may send additional sub-problems to the computational nodes. The master will also track and combine the intermediate results into a final solution. The details of how this is actually performed vary significantly and are directly related to the specifics of the problem.

    There are many large scale examples of distributed computing projects(For more information, refer to: http://en.Wikipedia.org/wiki/List_of...uting_projects). One such project is Folding@home(For more information, refer to: http://en.Wikipedia.org/wiki/Folding@home) which is a large distributed computing project for disease research that simulates protein folding, computational drug design, and other types of molecular dynamics. The project uses the idle processing resources of well over 100,000 different personal computers owned by volunteers who have installed the software on their systems.

    This approach has the advantage of scaling to very large number of distributed computers. The disadvantages are associated with the communication limitations associated with the network.


    This page titled 19.1: Distributed Computing is shared under a CC BY-NC-SA license and was authored, remixed, and/or curated by Ed Jorgensen.

    • Was this article helpful?