Information Technology Reference
In-Depth Information
failure, TCP primitives will generate a “broken
pipe” exception, which require explicit handling.
The channel abstraction has its early begin-
nings in Kahn's Process Networks (Kahn, 1974)
and Communicating Sequential Processes (Hoare,
1985). This abstraction is the basis of current
process calculi. Many coordination languages use
the channel model, e.g. MoCha (Guillen-Scholten
and Arbab, 2005), POLYLITH (Purtilo, 1994),
Programmer's Playground (Goldman et al., 1995),
Conic (Magee et al., 1989), and Netfiles (Chan
and Abramson, 2001). Channels are provided in
Grid programming environments, e.g. Ibis (van
Nieuwpoort et al., 2005) and Vishwa (Reddy et al.,
2006). Vishwa applications communicate through
a pipe mechanism called DP (Johnson and Ram,
2001). However, these systems do not support
fault-tolerance in the communication.
Communication persistence was previously
explored by at least the following: (a) persistent
pipes for transactions (Hsu and Silberschatz,
1991); (b) persistent connections over TCP (Zhang
and Dao, 1995); and more recently, (c) the per-
sistent streaming protocol (Hua et al., 2004) and
(d) NapletSocket (Zhong and Xu, 2004). Unlike
π-Spaces/π-channels, these lack a logical name
space for communication endpoint coupling. For
example, IP addresses and ports are necessary for
configuring endpoints in (Hsu and Silberschatz,
1991) and (Zhang and Dao, 1995). Moreover,
π-Spaces/π-channels support asynchronous com-
munication.
Message-oriented middleware (MoM), e.g.
IBM's Websphere MQ (IBM Websphere MQ,
2008) and the Microsoft Message Queueing
System (MSMQ) (Microsoft, 2008), present a
suite of asynchronous communication services
suitable for general transaction processing. The
message transfer times are in the order of minutes
instead of seconds or milliseconds (Tanenbaum
and Steen, 2007), reducing their applicability for
high-performance scientific applications. Further-
more, queue management requires tedious setup
and configuration, while the π-Spaces/π-channels
model is designed for efficient pipe creation/
retrieval, including dynamic binding of channel
endpoints.
π-Channels in Context with
Netfiles and GriddLeS
Our earlier work on Netfiles (Chan and Abramson,
2001, 2008) investigated file I/O as metaphor
for interprocess communication. The idea was
inspired from the Nimrod project (Abramson
et al., 1995, 1997). Nimrod is a middleware for
the executing large-scale parametric models (or
sweeps) over distributed systems. These para-
metric sweep applications can be built without
modifying the existing programs. For many such
applications, the component programs commu-
nicate by through data files, with file transfers
performed by the runtime.
In GriddLeS (Abramson and Kommineni,
2004), the file I/O metaphor is extended for wide-
area environments like Grids, implemented over
Web Services. The GriddLeS runtime provides
an I/O multiplexer, which transparently performs
file transfers and buffered remote I/O operations
to couple applications that read/write files. This
enables Grid workflows to be composed without
rewriting any program code, a feature useful
when existing legacy codes are executed over
computational grids.
The π-channel abstraction extends Netfiles
and GriddLeS with persistence and efficient
asynchronous operations. Furthermore, GriddLeS
offer static associations of names to process loca-
tions, while π-Spaces/π-channels provide dynamic
π-channels binding.
Message Passing
Message Passing Interface (MPI) is widely used for
writing parallel programs. However, Grid applica-
tions like scientific workflows require coupling
of multiple separate applications. For this, the
MPI-2 standard provides Unix socket-like inter-
Search WWH ::




Custom Search