D. Kadamuddi et Jjp. Tsai, Clustering algorithm for parallelizing software systems in multiprocessorsenvironment, IEEE SOFT E, 26(4), 2000, pp. 340-361
A variety of techniques and tools exist to parallelize software systems on
different parallel architectures (SIMD, MIMD). With the advances in high-sp
eed networks, there has been a dramatic increase in the number of client/se
rver applications. A variety of client/server applications are deployed tod
ay, ranging from simple telnet sessions to complex electronic commerce tran
sactions. Industry standard protocols. like Secure Socket Layer (SSL), Secu
re Electronic Transaction (SET), etc., are in use for ensuring privacy and
integrity of data, as well as for authenticating the sender and the receive
r during message passing. Consequently, a majority of applications using pa
rallel processing techniques are becoming synchronization-centric, i.e., fo
r 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 th
is paper, we present a new clustering algorithm to facilitate the paralleli
zation of software systems in a multiprocessors environment. The new cluste
ring algorithm achieves traditional clustening objectives (reduction in par
allel 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 de
picted with the help of simulation results.