Clustering Algorithm for Parallelizing Software Systems in Multiprocessors Environment

  • Authors:
  • Dinesh Kadamuddi;Jeffrey J. P. Tsai

  • Affiliations:
  • Univ. of Illinois at Chicago, Chicago;Univ. of Illinois at Chicago, Chicago

  • Venue:
  • IEEE Transactions on Software Engineering - Special issue on architecture-independent languages and software tools parallel processing
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.