Issue No. 04 - April (2000 vol. 26)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/32.844493
<p><b>Abstract</b>—A variety of techniques and tools exist to parallelize software systems on different parallel architectures (SIMD, MIMD). With the advances in high-speed networks, there has been a dramatic increase in the number of client/server applications. A variety of client/server applications are deployed today, ranging from simple telnet sessions to complex electronic commerce transactions. Industry standard protocols, like Secure Socket Layer (SSL), Secure Electronic Transaction (SET), etc., are in use for ensuring privacy and integrity of data, as well as for authenticating the sender and the receiver during message passing. Consequently, a majority of applications using parallel processing techniques are becoming synchronization-centric, i.e., for every message transfer, the sender and receiver must synchronize. However, more effective techniques and tools are needed to automate the clustering of such synchronization-centric applications to extract parallelism. In this paper, we present a new clustering algorithm to facilitate the parallelization of software systems in a multiprocessors environment. The new clustering algorithm achieves traditional clustering objectives (reduction in parallel execution time, communication cost, etc.). Additionally, our approach 1) reduces the performance degradation caused by synchronizations, and 2) avoids deadlocks during clustering. The effectiveness of our approach is depicted with the help of simulation results. </p>
Parallel processing, software environment, synchronous communication, clustering algorithm, distributed application, deadlock.
Jeffrey J.P. Tsai, Dinesh Kadamuddi, "Clustering Algorithm for Parallelizing Software Systems in Multiprocessors Environment", IEEE Transactions on Software Engineering, vol. 26, no. , pp. 340-361, April 2000, doi:10.1109/32.844493