loading...
 This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
13th International Conference on Parallel Architecture and Compilation Techniques (PACT'04)
Partitioning of Code for a Massively Parallel Machine
Antibes Juan-les-Pins, France
September 29-October 03
ISBN: 0-7695-2229-7
Michael Ball, Sun Microsystems, Menlo Park, CA
Cristina Cifuentes, Sun Microsystems Labs, Mountain View, CA
Deepankar Bairagi, Sun Microsystems, Menlo Park, CA
Code partitioning is the problem of dividing sections of code among a set of processors for execution in parallel taking into account the communication overhead between the processors. Code partitioning of large amounts of code onto numerous processors requires variations to the classical partitioning algorithms, in part due to the memory and time requirements to partition a large set of data, but also due to the nature of the target machine and multiple constraints imposed by its architectural features.
In this paper we present our experience in the design of enhancements to the classical multi-level k-way partitioning algorithm to deal with large graphs of over 1 million nodes, 5 constraints, and nodes of irregular size. Our algorithm was implemented to produce code for a massively parallel machine of up to 40,000 processors, and forms part of a hardware description language compiler. The algorithm and the compiler were tested on RTL designs for a next generation SPARC(R) processor. We present perfomance results and comparisons for partitioning multi-processor hardware designs.
Citation:
Michael Ball, Cristina Cifuentes, Deepankar Bairagi, "Partitioning of Code for a Massively Parallel Machine," pact, pp.225-236, 13th International Conference on Parallel Architecture and Compilation Techniques (PACT'04), 2004
Usage of this product signifies your acceptance of the Terms of Use.