skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: Distributed Computing (MPI)

Abstract

This powerpoint is part of a Parallel Summer Computing Research Internship lecture on distributed computing (MPI). It goes over how MPI works and then shows examples.

Authors:
 [1]
  1. Los Alamos National Lab. (LANL), Los Alamos, NM (United States)
Publication Date:
Research Org.:
Los Alamos National Lab. (LANL), Los Alamos, NM (United States)
Sponsoring Org.:
USDOE
OSTI Identifier:
1258356
Report Number(s):
LA-UR-16-24311
DOE Contract Number:
AC52-06NA25396
Resource Type:
Technical Report
Country of Publication:
United States
Language:
English
Subject:
97 MATHEMATICS AND COMPUTING; Computer Science

Citation Formats

Garrett, Charles Kristopher. Distributed Computing (MPI). United States: N. p., 2016. Web. doi:10.2172/1258356.
Garrett, Charles Kristopher. Distributed Computing (MPI). United States. doi:10.2172/1258356.
Garrett, Charles Kristopher. Fri . "Distributed Computing (MPI)". United States. doi:10.2172/1258356. https://www.osti.gov/servlets/purl/1258356.
@article{osti_1258356,
title = {Distributed Computing (MPI)},
author = {Garrett, Charles Kristopher},
abstractNote = {This powerpoint is part of a Parallel Summer Computing Research Internship lecture on distributed computing (MPI). It goes over how MPI works and then shows examples.},
doi = {10.2172/1258356},
journal = {},
number = ,
volume = ,
place = {United States},
year = {Fri Jun 17 00:00:00 EDT 2016},
month = {Fri Jun 17 00:00:00 EDT 2016}
}

Technical Report:

Save / Share:
  • This report summarizes the methodology and results of a user perspectives study conducted by the Community Driven Improvement of Globus Software (CDIGS) project. The purpose of the study was to document the work-related goals and challenges facing today's scientific technology users, to record their perspectives on Globus software and the distributed-computing ecosystem, and to provide recommendations to the Globus community based on the observations. Globus is a set of open source software components intended to provide a framework for collaborative computational science activities. Rather than attempting to characterize all users or potential users of Globus software, our strategy has beenmore » to speak in detail with a small group of individuals in the scientific community whose work appears to be the kind that could benefit from Globus software, learn as much as possible about their work goals and the challenges they face, and describe what we found. The result is a set of statements about specific individuals experiences. We do not claim that these are representative of a potential user community, but we do claim to have found commonalities and differences among the interviewees that may be reflected in the user community as a whole. We present these as a series of hypotheses that can be tested by subsequent studies, and we offer recommendations to Globus developers based on the assumption that these hypotheses are representative. Specifically, we conducted interviews with thirty technology users in the scientific community. We included both people who have used Globus software and those who have not. We made a point of including individuals who represent a variety of roles in scientific projects, for example, scientists, software developers, engineers, and infrastructure providers. The following material is included in this report: (1) A summary of the reported work-related goals, significant issues, and points of satisfaction with the use of Globus software; (2) A method for characterizing users according to their technology interactions, and identification of four user types among the interviewees using the method; (3) Four profiles that highlight points of commonality and diversity in each user type; (4) Recommendations for technology developers and future studies; (5) A description of the interview protocol and overall study methodology; (6) An anonymized list of the interviewees; and (7) Interview writeups and summary data. The interview summaries in Section 3 and transcripts in Appendix D illustrate the value of distributed computing software--and Globus in particular--to scientific enterprises. They also document opportunities to make these tools still more useful both to current users and to new communities. We aim our recommendations at developers who intend their software to be used and reused in many applications. (This kind of software is often referred to as 'middleware.') Our two core recommendations are as follows. First, it is essential for middleware developers to understand and explicitly manage the multiple user products in which their software components are used. We must avoid making assumptions about the commonality of these products and, instead, study and account for their diversity. Second, middleware developers should engage in different ways with different kinds of users. Having identified four general user types in Section 4, we provide specific ideas for how to engage them in Section 5.« less
  • Analysis of parallel algorithms for MIMD (Multiple Instruction streams, Multiple data streams) machines is often difficult. Much work in the past has focused on SISD (Single Instruction and Data Streams (conventional)) and SIMD(Single Instruction stream, Multiple Instruction system (vector)) algorithms. Most of this work applies in MIMD systems, yet there are several significant problems that arise. This thesis focuses on these problems and proposes solutions to them. An image-processing problem is analyzed for parallelism. Measures of parallelism are proposed. With these measures in mind, the image-processing problem is again analyzed and several common parallel languages are surveyed. With this background,more » a set of language and machine-independent MIMD constructs is proposed, and it is shown how these can be used on several forms of traditional analysis.« less
  • As the capabilities of computing machinery grow, so does the diverse variety of their applications. The feasibility of many approaches to these applications depends solely upon the existence of computing machinery capable of performing these tasks within a given time constraint. Because the majority of the available computing machinery is general-purpose in nature, tasks that do not require purpose facilities, but that do require high throughput, are condemned to execution on expensive general-purpose hardware. This research describes several tasks that require fast computing machinery. These tasks do not require general-purpose facilities in the sense that the computing machinery used willmore » only perform a fixed set of tasks. Some of the tasks are simple in nature, but are required to execute on very-large data sets. Other tasks are computationally intensive in addition to possibly involving large data sets. Both simple and complex algorithms are considered. The discussion includes a description of the tasks. All of the above tasks are useful; however, their value is determined in part by the time required to perform them. This work discusses three architectures for performing remote-sensing tasks. These architectures can execute the described tasks more quickly than conventionally available hardware.« less
  • As the capabilities of computing machinery grow, so does the diverse variety of their applications. The feasibility of many approaches to these applications depends solely upon the existence of computing machinery capable of performing these tasks within a given time constraint. Because the majority of the available computing machinery is general-purpose in nature, tasks that do not require purpose facilities, but that do require high throughput, are condemned to execution on expensive general-purpose hardware. This research describes several tasks that require fast computing machinery. These tasks do not require general-purpose facilities in the sense that the computing machinery used willmore » only perform a fixed set of tasks. Some of the tasks are simple in nature, but are required to execute on very-large data sets. Other tasks are computationally intensive in addition to possibly involving large data sets. Both simple and complex algorithms are considered. The discussion includes a description of the tasks. All of the above tasks are useful; however, their value is determined in part by the time required to perform them. This work discusses three architectures for performing remote-sensing tasks. These architectures can execute the described tasks more quickly than conventionally available hardware.« less
  • The demand for very-high-speed data processing coupled with falling hardware costs has made large-scale parallel and distributed computer systems both desirable and feasible. Two modes of parallel processing are single-instruction stream-multiple data stream (SIMD) and multiple instruction stream - multiple data stream (MIMD). PASM, a partitionable SIMD/MIMD system, is a reconfigurable multimicroprocessor system being designed for image processing and pattern recognition. An important component of these systems is the interconnection network, the mechanism for communication among the computation nodes and memories. Assuring high reliability for such complex systems is a significant task. Thus, a crucial practical aspect of an interconnectionmore » network is fault tolerance. In answer to this need, the Extra Stage Cube (ESC), a fault-tolerant, multistage cube-type interconnection network, is defined. The fault tolerance of the ESC is explored for both single and multiple faults, routing tags are defined, and consideration is given to permuting data and partitioning the ESC in the presence of faults. The ESC is compared with other fault-tolerant multistage networks. Finally, reliability of the ESC and an enhanced version of it are investigated.« less