Skip to content

dyninst/mrnet

Repository files navigation

MRNet: A Multicast/Reduction Network
http://www.paradyn.org/mrnet/

Copyright © 2003-2016 Dorian C. Arnold, Philip C. Roth, Barton P. Miller.

LICENSE contains the usage terms for MRNet.

1. OVERVIEW

  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 
  manageable.

  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.

  Features:
    * 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.

2. MRNet v4.0.0 RELEASE NOTES

  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.1.0.

  Release Highlights:
    * New threadsafe version of lightweight back-end library
    * New support for very large arrays
    * Numerous bug fixes and performance enhancements

  For information about software releases, plus papers and manuals on the
  MRNet system, visit:
      http://www.paradyn.org/mrnet

3. SUPPORTED PLATFORMS

  MRNet is designed to be a highly-portable system. The source code has
  been compiled using both GCC and native platform compilers. We have
  successfully tested MRNet components on the following platforms:
   - Linux: x86, x86_64, powerpc32, powerpc64
   - Windows: x86 (Visual Studio 2008)

  Support has been discontinued for the following platforms, although
  we believe MRNet will continue to compile and run correctly.
   - Linux: ia64
   - AIX: powerpc32
   - Solaris: sparc32

4. CONTACT

  Paradyn Project
  Computer Sciences Department
  University of Wisconsin
  1210 West Dayton Street
  Madison, WI 53706

  Email: mrnet@cs.wisc.edu