Go to the first, previous, next, last section, table of contents.


Introduction

Illinois Fast Messages (FM) is a high-speed, user-level, software messaging layer developed in the Concurrent Systems Architecture Group at the University of Illinois at Urbana-Champaign. This document describes the FM 2.0 release.

The research described in this document was supported in part by NSF grants CCR-9209336 and MIP-92-23732, ONR grants N00014-92-J-1961 and N00014-93-1-1086 and NASA grant NAG 1-613. Andrew Chien is supported in part by NSF Young Investigator Award CCR-94-57809.

In addition, this material is based upon work supported under a National Science Foundation Graduate Research Fellowship.

Any opinions, findings, conclusions or recommendations expressed in this publication are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

FM is designed to be a portable, high-performance building block for higher-level messaging layers. Hence, FM defines only a set of basic, point-to-point communication primitives and delegates the responsibility of providing more advanced features to messaging layers built on top of FM. (See section Coming Attractions, for some examples of messaging layers we at Illinois are writing to the FM interface.) While other low-level messaging layers also achieve high performance, FM is unique in that its primary goal is to deliver high performance up through one or more messaging layers all the way to applications.

To achieve that goal, FM's few, simple primitives provide a number of important guarantees, saving higher-level messaging layers the burden and performance penalty of having to implement them themselves:

Changes from FM 1.1

The following is a list of features in FM 2.0 that were not present in FM 1.1:

FM 2.0 adds all of those features without sacrificing FM 1.1's guaranteed, in-order delivery, polling as a notification mechanism, and user-level execution. It should therefore be reasonably straightforward to port FM 1.1 code to the FM 2.0 interface.


Go to the first, previous, next, last section, table of contents.