A Guided Tour of the Coign Automatic Distributed Partitioning System

Proceedings of the 2nd International Enterprise Distributed Object Computing Workshop (EDOC ’98) |

Published by Institute of Electrical and Electronics Engineers, Inc. | Organized by IEEE

Technical Report CS-190, University of Rochester, Rochester, NY

Publication

Distributed object systems such as CORBA and DCOM bring many advances to distributed computing. The distribution process itself, however, has changed little: programmers still manually divide applications into sub-programs and assign those sub-programs to machines with little automated assistance. Often, the techniques used to choose a distribution are ad hoc. Due to high intellectual cost, applications are seldom repartitioned even in drastically changing network environments. We describe Coign, an automatic distributed partitioning system (ADPS) that significantly facilitates the development of distributed applications. Given an application (in binary form) built from distributable COM components, Coign constructs a graph model of the application’s intercomponent communication through scenario-based profiling. Later, Coign applies graph-cutting algorithms to partition the application across a network and minimize distribution costs. Using Coign, an end user without source code can transform a non-distributed application into an optimized, distributed application. Through a guided tour of Coign’s architecture and usage, we present an overview of its features. We describe the automatic distributed partitioning of three applications: Microsoft Picture It!, the Octarine word processor, and the Corporate Benefits Sample program. All are distributed automatically, sometimes with startling results. For example, Coign makes significant changes to the programmer-assigned distribution of the Corporate Benefits Sample.