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.
[1]
Andries van Dam,et al.
Experience with distributed processing on a host/satellite graphics system
,
1976,
SIGGRAPH.
[2]
Thomas R. Arnold.
Software Testing With Visual Test 4.0
,
1996
.
[3]
George Merritt Stabler.
A system for interconnected processing.
,
1975
.
[4]
Mihalis Yannakakis,et al.
The Complexity of Multiterminal Cuts
,
1994,
SIAM J. Comput..
[5]
Alan L. Cox,et al.
TreadMarks: shared memory computing on networks of workstations
,
1996
.
[6]
Srinivasan Parthasarathy,et al.
Cashmere-2L: software coherent shared memory on a clustered remote-write network
,
1997,
SOSP.
[7]
R. J. Harrington,et al.
Intelligent satellites for interactive graphics
,
1974
.