A Characterization of Communication Patterns in Isis Distributed Applications

A M Dietz, Carla S. Ellis · 1995

This study examines which high level language constructs application programmers choose to use in the design of distributed applications, and what communication patterns result from their use. This knowledge of the user workload is valuable to system designers in optimizing support for heavily used constructs and common communication patterns. We studied sophisticated production programs written using the Isis Distributed Toolkit. We traced messages at the application level rather than packets at the network level, thus capturing the characteristics of the communication patterns in a manner somewhat independent of network architectural features such as buffering and fragmentation. We ask these questions: \begin{itemize} \item Which high level programming constructs in Isis are used? RPCs? Multicasts? Process Groups? \item Do application level messages exhibit the same arrival locality characteristics as network packets? \item What characterizes the message traffic? \end{itemize} We found that the use of RPC-style constructs was light, multicast use was heavy (28% of messages), and process groups were used sparingly and had stable membership. Message arrival locality was similar to that reported in network traffic with an overall 45% of messages showing persistence (a message arriving from the same source process as the previous message). Messages ranged in size from 64 bytes to 12 kbytes with some very large bursts of small and medium size (less than 512 bytes) messages. Finally, we suggest performance techniques that can take advantage of the observed communication characteristics in future designs.

Read the paper · More papers on PaperTik