CSC/ECE 506 Spring 2012/2a bm: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
== SAS programming on distributed-memory machines ==
== SAS programming on distributed-memory machines ==
'''Shared Address Space''' (SAS) programming on distributed memory machines is a programming abstraction that provides less development effort than that of the traditional method of '''Message Passing''' (MP) on distributed memory machines, such as clusters of servers.  Distributed systems are groups of computers that communicate through a network and share a common work goal.  Distributed systems typically do not physically share the same memory but rather each processor or group of processors (e.g. '''Symmetric Multiprocessor (SMP)''') must depend on other mechanisms other than direct memory access in order to communicate.  Concepts such as '''memory coherence''', '''data and process synchronization''', and performance are key.
'''Shared Address Space''' (SAS) programming on distributed memory machines is a programming abstraction that provides less development effort than that of the traditional method of '''Message Passing''' (MP) on distributed memory machines, such as clusters of servers.  Distributed systems are groups of computers that communicate through a network and share a common work goal.  Distributed systems typically do not physically share the same memory ('''tightly coupled''') but rather each processor or group of processors (e.g. '''Symmetric Multiprocessor (SMP)''') must depend on other mechanisms besides direct memory access in order to communicate.  Relevant concepts include '''memory coherence''', types of memory access, data and process synchronization, and performance.


=== Distributed Shared Memory ===
=== Background ===
Early distributed computer systems relied almost exclusively on '''message passing'''(MP) to communicate with one another, and this technique is still widely used today.  In a message passing model, each processors local memory can be kept isolated from that of the rest of the system.  Processes or objects can send or receive messages in order to communicate and this process can occur in a synchronous or asynchronous manner.  In distributed systems, and particularly for certain types of programs, the message passing model can become overly burdensome to the programmer as tracking data movement and maintaining data integrity can become quite challenging with many control threads.
 
=== Distributed Shared Memory (DSM) ===





Revision as of 22:42, 26 January 2012

SAS programming on distributed-memory machines

Shared Address Space (SAS) programming on distributed memory machines is a programming abstraction that provides less development effort than that of the traditional method of Message Passing (MP) on distributed memory machines, such as clusters of servers. Distributed systems are groups of computers that communicate through a network and share a common work goal. Distributed systems typically do not physically share the same memory (tightly coupled) but rather each processor or group of processors (e.g. Symmetric Multiprocessor (SMP)) must depend on other mechanisms besides direct memory access in order to communicate. Relevant concepts include memory coherence, types of memory access, data and process synchronization, and performance.

Background

Early distributed computer systems relied almost exclusively on message passing(MP) to communicate with one another, and this technique is still widely used today. In a message passing model, each processors local memory can be kept isolated from that of the rest of the system. Processes or objects can send or receive messages in order to communicate and this process can occur in a synchronous or asynchronous manner. In distributed systems, and particularly for certain types of programs, the message passing model can become overly burdensome to the programmer as tracking data movement and maintaining data integrity can become quite challenging with many control threads.

Distributed Shared Memory (DSM)

Implementations

There are

Hardware

Algorithms

Evolution

References