Edinburgh Research Archive >
Informatics, School of >
Informatics thesis and dissertation collection >
Please use this identifier to cite or link to this item:
|Title: ||Message Passing with Communication Structures|
|Authors: ||Yaikhom, Gagarine|
|Supervisor(s): ||Cole, Murray|
|Issue Date: ||Apr-2006|
|Publisher: ||University of Edinburgh. College of Science and Engineering. School of Informatics.|
|Abstract: ||Abstraction concepts based on process groups have largely dominated the design
and implementation of communication patterns in message passing systems. Although
such an approach seems pragmatic—given that participating processes form
a ‘group’—in this dissertation, we discuss subtle issues that affect the qualitative
and quantitative aspects of this approach. To address these issues, we introduce the
concept of a ‘communication structure,’ which defines a communication pattern as
an implicit runtime composition of localised patterns, known as ‘roles.’ During application
development, communication structures are derived from the algorithm
being implemented. These are then translated to an executable form by defining
process specific data structures, known as ‘branching channels.’
The qualitative advantages of the communication structure approach are that
the resulting programming model is non-ambiguous, uniform, expressive, and extensible.
To use a pattern is to access the corresponding branching channels; to
define a new pattern is simply to combine appropriate roles. The communication
structure approach therefore allows immediate implementation of ad hoc patterns.
Furthermore, it is guaranteed that every newly added role interfaces correctly with
all of the existing roles, therefore scaling the benefit of every new addition.
Quantitatively, branching channels improve performance by automatically overlapping
computations and communications. The runtime system uses a receiver initiated
communication protocol that allows senders to continue immediately without
waiting for the receivers to respond. The advantage is that, unlike split-phase
asynchronous communications, senders need not check whether the send operations
were successful. Another property of branching channels is that they allow communications
to be grouped, identified, and referenced. Communication structure
specific parameters, such as message buffering, can therefore be specified immediately.
Furthermore, a ‘commit’ based interface optimisation for send-and-forget
type communications—where senders do not reuse sent data—is presented. This
uses the referencing property of branching channels, allowing message buffering
without incurring performance degradation due to intermediate memory copy.|
|Description: ||Institute for Computing Systems Architecture|
|Appears in Collections:||Informatics thesis and dissertation collection|
Items in ERA are protected by copyright, with all rights reserved, unless otherwise indicated.