EV13

Zhanhai QIN (zqin@cs.ucsd.edu)
Thu, 18 May 2000 02:34:17 -0700

=========================================================================

Active Messages: a Mechanism for Integrated Communication and
Computation
=========================================================================

The paper proposes a new approach for message driven communication,
which
they called "active messages". The main difference of "active messages"
from the traditional messages is that they avoided buffering for message

transportation through network. An active message acturally contains a
pointer(address) of a user-level handler which is executed upon message
arrival with the message body as argument. What the handlers are
supposed
to do is to extract the date out of the transportation layer of the net-

work and integrate them for the user-level applications. With active
mess-
ages, they can increase the overlap of communication with computation.
Hense the throughput of the network is better and the mechanism is much
like pipelining in computer architecture. The author analyzed the short-

cuts of current message driven architectures and propsed some
improvements
on network interface design and processors.

What I was considering while reading the paper was that what's the diff-

erence between active messages and RPC or even LRPC. We'd say that both
approaches have high network throughput because communications in RPC
also overlaps with computations(executions of procedures). I think the
advantage of active messages is that there won't have too much buffering

and data exchanging among layers in a single node. But the disadvantage
is that it is not synchronous. So it's not good for the programmers who
are familiar with stand-alone workstation programming. But RPC works
great in that case.

=================================================================
Lightweight Remote Procedure Call
=================================================================

LRPC was designed to alleviate the heavy overhead of RPC for higher
performance without lose of protections among domains on the same
machine. LRPC introduced "simple control transfer", "simple data
transfer", "simple stubs", "design for concurrency" to achieve the
goals.

The paper first investigated the frequency of cross-machine-boundary
calls and concluded that only a very small fraction of RPCs are
truly remote and parameter size is generally small and fixed for
non-RPCs. It also showed the disappointing performance of cross-
machine-boundary calls due to heavy overheads, offering motivation
for the LRPCs.

Two main features of LRPC are binding and calling. LRPC binding
concepts are borrowed from RPC, and LRPC calling concepts are
borrowed from protected procedure call(kernel trap). And the paper
also introduced the application of LRPC on multiprocessor archi-
tectures. LRPC reduces context-switch overhead by caching domains
on idle processers and increases throughput by minimizing the use
of shared data structures on the critical domain transfer path.
The optimization also includes the tricks on argument copying.

To achieve good performance on cross-domain proceures by avoiding
needless scheduling, excessive run-time indirection, unnecessary
access validation, redundant copying,a nd lock contention.

begin:vcard
n:Qin;Zhanhai
tel;fax:(858) 534-7029
tel;work:(858) 534-8174
x-mozilla-html:FALSE
url:www-cse.ucsd.edu/users/zqin
org:U. of California, San Diego;Computer Science & Engineering
version:2.1
email;internet:zqin@cs.ucsd.edu
title:Mr.
adr;quoted-printable:;;CSE 0114 U of CA, San Diego=0D=0A9500 Gilman Dr.;La Jolla;CA;92093;U.S.
x-mozilla-cpt:;-22656
fn:Zhanhai Qin
end:vcard