Abstract

The paper presents how an advanced graph partitioning optimization method was implemented inside a novel distributed program design framework PEGASUS DA which provides system support for automatic global application states monitoring. In PEGASUS DA, execution control design of distributed applications is system-supported by program global state monitoring run-time. This support provides an automatic construction of user-defined relevant strongly consistent global application states, computing global control predicates on the constructed states, evaluation of these predicates and sending asynchronous control signals to application threads and processes to stimulate the desired global state-driven reactions. The presented graph partitioning optimization algorithm is based on user-defined mixed partitioning strategies. It includes a combined use of different graph partitioning methods and different criteria for definition and assessment of produced partitions. It runs on top of basic graph partitioning methods available inside the METIS partitioning tool. The partitioning is executed by distributed processes and threads controlled by global states monitoring provided by the PEGASUS DA framework. Its use allows easy design and testing of different graph optimization strategies, finding graph partitioning optimal methods and algorithm parameters. The graph partitioning methods presented in the paper are illustrated by experiments performed with partitioning of a number of benchmark graphs to show partitioning quality (from 5% to 30% of the improvement has been observed) and execution time assessment of the proposed approach.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call