Compile-time partitioning and scheduling of parallel programs
SIGPLAN '86 Proceedings of the 1986 SIGPLAN symposium on Compiler construction
Automatic translation of FORTRAN programs to vector form
ACM Transactions on Programming Languages and Systems (TOPLAS)
An overview for the PTRAN analysis system for multiprocessing
Journal of Parallel and Distributed Computing - Special Issue on Languages, Compilers and environments for Parallel Programming
Heuristic Algorithms for Task Assignment in Distributed Systems
IEEE Transactions on Computers
Lightweight remote procedure call
ACM Transactions on Computer Systems (TOCS)
A fast static scheduling algorithm for DAGs on an unbounded number of processors
Proceedings of the 1991 ACM/IEEE conference on Supercomputing
PYRROS: static task scheduling and code generation for message passing multiprocessors
ICS '92 Proceedings of the 6th international conference on Supercomputing
Monitoring and debugging of distributed real-time systems
Monitoring and debugging of distributed real-time systems
IEEE Transactions on Parallel and Distributed Systems
Distributed real-time systems: monitoring, visualization, debugging, and analysis
Distributed real-time systems: monitoring, visualization, debugging, and analysis
Parallel evaluation of software architecture specifications
Communications of the ACM
Implementing remote procedure calls
ACM Transactions on Computer Systems (TOCS)
A survey of remote procedure calls
ACM SIGOPS Operating Systems Review
Partitioning and Scheduling Parallel Programs for Multiprocessors
Partitioning and Scheduling Parallel Programs for Multiprocessors
Knowledge-Based Software Development for Real-Time Distributed Systems
Knowledge-Based Software Development for Real-Time Distributed Systems
Dependence graphs and compiler optimizations
POPL '81 Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Hypertool: A Programming Aid for Message-Passing Systems
IEEE Transactions on Parallel and Distributed Systems
Automatic Extraction of Functional Parallelism from Ordinary Programs
IEEE Transactions on Parallel and Distributed Systems
Scheduling DAG's for Asynchronous Multiprocessor Execution
IEEE Transactions on Parallel and Distributed Systems
Modeling and characterizing parallel computing performance on heterogeneous networks of workstations
SPDP '95 Proceedings of the 7th IEEE Symposium on Parallel and Distributeed Processing
Parallel Logic Simulation on a Network of Workstations Using PVM
SPDP '96 Proceedings of the 8th IEEE Symposium on Parallel and Distributed Processing (SPDP '96)
Customized Dynamic Load Balancing for a Network of Workstations
Customized Dynamic Load Balancing for a Network of Workstations
IPDPS '02 Proceedings of the 16th International Parallel and Distributed Processing Symposium
Partial task assignment of task graphs under heterogeneous resource constraints
Proceedings of the 40th annual Design Automation Conference
A task duplication scheme for resolving deadlocks in clustered DAGs
Parallel Computing
Deadlock free specification based on local process properties
ICCS'03 Proceedings of the 2003 international conference on Computational science: PartIII
NPC'05 Proceedings of the 2005 IFIP international conference on Network and Parallel Computing
Modified adaptive resonance theory network for mixed data based on distance hierarchy
ICCS'06 Proceedings of the 6th international conference on Computational Science - Volume Part IV
Reducing the solution space of optimal task scheduling
Computers and Operations Research
Hi-index | 0.00 |
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.