MRNet 3.1.0 Readme

MRNet: A Multicast/Reduction Network
Copyright © 2003-2011 Dorian C. Arnold, Philip C. Roth, Barton P. Miller.

LICENSE contains the usage terms for MRNet.


MRNet is a customizable, high-performance software infrastructure for
building scalable tools and applications. It supports efficient
multicast and data aggregation functionality using a tree of processes
between the tool's front-end and back-ends. MRNet-based tools may use
these internal processes to distribute many important tool activities,
for example to reduce data analysis time and keep tool front-end loads

MRNet-based tool components communicate across logical channels called
streams. At MRNet internal processes, filters are bound to these streams to
synchronize and aggregate dataflows. Using filters, MRNet can efficiently
compute averages, sums, and other more complex aggregations and analyses
on tool data. MRNet also supports facilities that allow tool developers
dynamically load new tool-specific filters into the system.

* Flexible tool organization: MRNet does not dictate the organization of
MRNet and tool processes, so MRNet-based tools can tailor MRNet's
configuration to the requirements of the tool and its target environment.

* Scalable, flexible data aggregation: MRNet provides a set of built-in
filters for traditional data aggregation operations like averages, sums,
and data concatenation. MRNet also supports custom, dynamically-loaded
filters for tool-specific aggregations.

* High-bandwidth communication: Internally, MRNet transfers data using an
efficient, packed binary representation. Zero-copy data paths are used
whenever possible to reduce data transfer latency.

* Scalable multicast: MRNet supports efficient multicast to reduce the cost
of delivering tool control messages to tool back-ends.

* Multiple concurrent data channels: MRNet supports multiple logical
channels of data between tool components. Multiple aggregation and
multicast operations may be in progress simultaneously.

* Open source licensing.


This release of MRNet includes a source distribution for all platforms,
as well as associated manuals. The release incorporates improvements made
to MRNet since version 3.0.1.

For information about the software releases, plus papers and manuals on the
MRNet system, visit:

Release Highlights:
* New Network::load_FilterFuncs() method that permits loading several
functions from the same filter library at once
* New non-blocking recv() methods in lightweight MRNet back-end library
* New CrayXT support for staging files using ALPS tool helper
* Improved build structure that permits configuration for multiple
platforms from a single source distribution
* Numerous bug fixes and enhancements


MRNet is designed to be a highly-portable system. The source code has
been compiled using both GNU GCC and native platform compilers. We
have successfully tested MRNet components on the following platforms:
- Linux: x86, x86_64, powerpc64, ia64, CrayXT
- AIX 5.2, 5.3: powerpc32
- Solaris 8, 9: sparc32
- Windows: x86


Paradyn Project
Computer Sciences Department
University of Wisconsin
1210 West Dayton Street
Madison, WI 53706
FAX: (608) 262-9777