next up previous
Next: Protocol implementations Up: Performance results Previous: Performance results

Data types used

The experiments measured the roundtrip time for sending and receiving a linked list object or an array of doubles between two machines. These two datatypes were chosen as representative for scientific applications. Arrays account for the vast majority of their data, and a linked list is challenging for serialization since it requires the RMI system to keep track of previous references to avoid infinite loops. Linked lists have characteristics common with data objects used in scientific computing, such as sparse matrices and trees that support adaptive mesh refinement and N-body simulations. Each node in the linked list was a simple object with the following data fields:
public class LinkEntry implements Serializable {
  public long llong;
  public short sshort;
  public int iint;
  public float ffloat;
  public double ddouble;
  public String sstring;
  public LinkEntry nextLink;
The linked list sizes were varied from 10 to 10,000 nodes, while array sizes ranged from 10 to 50,000 entries. Although scientific computing now involves arrays several orders of magnitude larger, these sizes sufficed for determining the relative RMI performances.

SoapTeam: Extreme Computing Lab