Results 1  10
of
11
Applying parallel computation algorithms in the design of serial algorithms
 J. ACM
, 1983
"... Abstract. The goal of this paper is to point out that analyses of parallelism in computational problems have practical implications even when multiprocessor machines are not available. This is true because, in many cases, a good parallel algorithm for one problem may turn out to be useful for design ..."
Abstract

Cited by 231 (7 self)
 Add to MetaCart
Abstract. The goal of this paper is to point out that analyses of parallelism in computational problems have practical implications even when multiprocessor machines are not available. This is true because, in many cases, a good parallel algorithm for one problem may turn out to be useful for designing an efficient serial algorithm for another problem. A d ~ eframework d for cases like this is presented. Particular cases, which are discussed in this paper, provide motivation for examining parallelism in sorting, selection, minimumspanningtree, shortest route, maxflow, and matrix multiplication problems, as well as in scheduling and locational problems.
Performance and Reliability Analysis Using Directed Acyclic Graphs
 IEEE Trans. Software Eng
, 1987
"... AbstractA graphbased modeling technique has been developed for the stochastic analysis of systems containing concurrency. The basis of the technique is the use of directed acyclic graphs. These graphs represent eventprecedence networks where activities may occur serially, probabilistically, or co ..."
Abstract

Cited by 39 (5 self)
 Add to MetaCart
AbstractA graphbased modeling technique has been developed for the stochastic analysis of systems containing concurrency. The basis of the technique is the use of directed acyclic graphs. These graphs represent eventprecedence networks where activities may occur serially, probabilistically, or concurrently. When a set of activities occurs concurrently, the condition for the set of activities to complete is that a specified number of the activities must complete. This includes the special cases that one or all of the activities must complete. The cumulative distribution function associated with an activity is assumed to have exponential polynomial form. Further generality is obtained by allowing these distributions to have a mass at the origin and/or at infinity. The distribution function for the time taken to complete the entire graph is computed symbolically in the time parameter t. The technique allows two or more graphs to be combined hierarchically. Applications of the technique to the evaluation of concurrent program execution time and to the reliability analysis of faulttolerant systems are discussed. Index TermsAvailability, directed acyclic graphs, faulttolerance, Markov models, performance evaluation, program performance, reliability. I.
Collision Graph based Communication Scheduling for Parallel Systems
 Journal of Computers and their Applications
, 1997
"... Applications such as image processing, fluid mechanics, and geophysical data analysis are examples of problems that require the high computing performance provided by multiprocessor systems. Such performance depends highly on the interprocessor communication time resulting from allocating tasks to ..."
Abstract

Cited by 10 (8 self)
 Add to MetaCart
Applications such as image processing, fluid mechanics, and geophysical data analysis are examples of problems that require the high computing performance provided by multiprocessor systems. Such performance depends highly on the interprocessor communication time resulting from allocating tasks to the individual processors. This research focuses on the development of techniques that reduce the communication overhead by intelligently scheduling message transmissions within a tightlycoupled processor network. Using a collision graph to model the system message traffic, static scheduling algorithms are developed to reduce the communication overhead. Since a priori knowledge about the network, required in static approaches, may not always be available or accurate, dynamic scheduling is also considered. A novel hybrid staticdynamic scheduling approach is presented which operates in a dynamic environment, yet uses known communication pattern information. Results show improvement over base...
CompileTime Communication Scheduling on Parallel Systems
, 1995
"... In applications requiring very high throughput such as real time image processing and digital signal processing, the use of parallel processing techniques has become widespread. However, the potential performance gains from using multiple processors can be diminished by the communication overhead in ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
In applications requiring very high throughput such as real time image processing and digital signal processing, the use of parallel processing techniques has become widespread. However, the potential performance gains from using multiple processors can be diminished by the communication overhead inherent in these systems. Reducing this overhead would drastically improve system performance. In this paper, static communication scheduling of messages in an interconnection network is addressed. Static communication scheduling is taken to mean the a priori (compile time) determination of when the nodes should send their messages to other nodes in the network. Although research on static scheduling for parallel systems has been ongoing for many years, our problem has not been rigorously studied. This paper builds a framework based on our newly developed graph model called a Collision Graph. Using this model, determining an optimal schedule is proven to be NPComplete. Several efficient algo...
Communication Scheduling for messages with varying departure times using the Collision Graph Model
, 1995
"... In applications requiring very high throughput or which have realtime deadlines, the use of parallel processing techniques has become widespread. This has been done in hopes of exploiting the promise of vast performance gains provided by parallel processing. However, these potential gains can be ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
In applications requiring very high throughput or which have realtime deadlines, the use of parallel processing techniques has become widespread. This has been done in hopes of exploiting the promise of vast performance gains provided by parallel processing. However, these potential gains can be diminished by the communication overhead inherent in these systems. In this paper, such a communication overhead was encountered while work was being performed on simulations of partial differential equations (representing fluid dynamics problems) by using the multidimensional wave filters method. With tightlycoupled architectures being used as the platform, the static communication scheduling of messages in the network is addressed. The compile time determination of when nodes should send their messages to other nodes in the network is what is termed static communication scheduling. In parallel systems the static scheduling of computational tasks has been studied for some time, ho...
CROSS ENTROPY BASED MODULE ALLOCATION FOR DISTRIBUTED SYSTEMS
"... resource allocation, distributed computing In the module allocation problem a collection of software modules are to be assigned to physical processing nodes, subject to execution and communication cost. The cost of an allocation is a function of the execution costs and the communication costs for an ..."
Abstract
 Add to MetaCart
resource allocation, distributed computing In the module allocation problem a collection of software modules are to be assigned to physical processing nodes, subject to execution and communication cost. The cost of an allocation is a function of the execution costs and the communication costs for any pair of modules allocated to distinct processors. The module allocation problem has been well studied and is known to be NPcomplete except for certain communication configurations. To solve the problem, several heuristics have been proposed. This paper discusses an alternative approach to solving the module allocation problem by applying a stochastic optimization method called the Cross Entropy (CE) Method. The CE Method is a stateoftheart stochastic method for solving combinatorial and multiextremal continuous optimization problems. The CE method uses a distribution with parameter v to generate sample allocation. The generated samples are then used to update v according to sample quality. This process is repeated until the distribution converges to a possibly optimal allocation. The results in this paper indicate that the CE method can successfully be applied to the module allocation problem and efficiently generate high quality solutions. Also, the CE method allows the use of nonstandard objective functions that are used to find allocations that have multiple conflicting objectives. 1
Incorporating Optimal Communication Scheduling into DSP Applications
, 1995
"... While research on the static scheduling of computational tasks for parallel systems has been ongoing for years, most work does not consider the communication costs nor does it consider the network congestion. A new static scheduling technique is presented which focuses on the communication overhead ..."
Abstract
 Add to MetaCart
While research on the static scheduling of computational tasks for parallel systems has been ongoing for years, most work does not consider the communication costs nor does it consider the network congestion. A new static scheduling technique is presented which focuses on the communication overhead inherent in parallel processing systems. This paper builds a framework based on a newly developed graph model called a Collision Graph to study this problem. Using this model, algorithms are developed which can be embedded into existing static scheduling methods to improve their performance. The scheduling of cyclic data flow graphs was shown to be improved significantly as this technique was applied to the recently developed cyclocompaction scheduling algorithm. 1. INTRODUCTION In DSP systems requiring high throughput and having realtime deadlines, application specific multiprocessor designs are increasingly being used. For example in spacecraft image acquisition, filtering and compress...
Optimal Communication Scheduling Based On Collision Graph Model
 in 1996 International Conference on Accoustics, Speech and Signal Processing
, 1996
"... While research on the static scheduling of computational tasks for parallel systems has been ongoing for years, most work does not consider the communication costs nor does it consider the network congestion. A new static scheduling technique is presented which focuses on the communication overhead ..."
Abstract
 Add to MetaCart
While research on the static scheduling of computational tasks for parallel systems has been ongoing for years, most work does not consider the communication costs nor does it consider the network congestion. A new static scheduling technique is presented which focuses on the communication overhead inherent in parallel processing systems. This paper builds a framework based on a newly developed graph model called a Collision Graph to study this problem. Using this model, algorithms are developed which can be embedded into existing static scheduling methods to improve their performance. The scheduling of cyclic data flow graphs was shown to be improved significantly as this technique was applied to the recently developed cyclocompaction scheduling algorithm. 1. INTRODUCTION In DSP systems requiring high throughput and having realtime deadlines, application specific multiprocessor designs are increasingly being used. For example in spacecraft image acquisition, filtering and compress...
HYSTAD: A Hybrid StaticDynamic Communication Scheduling Technique
, 1996
"... Parallel processing techniques have become widespread in applications requiring very high throughput or which have realtime deadlines. However, the potential gains from parallel processing can be diminished by the communication overhead inherent in these systems. With tightlycoupled architectures ..."
Abstract
 Add to MetaCart
Parallel processing techniques have become widespread in applications requiring very high throughput or which have realtime deadlines. However, the potential gains from parallel processing can be diminished by the communication overhead inherent in these systems. With tightlycoupled architectures being used as the platform, an optimal way of scheduling the messages in a network is addressed. Static scheduling, while being able to utilize a priori information, is found to be lacking when this information is unavailable or inaccurate. Dynamic scheduling can adjust to changes within the network at runtime but suffers from not having any knowledge of the network traffic environment. To solve this problem, we introduce a hybrid scheduling technique which seeks to extract the best from each of these approaches. This hybrid scheduling technique incorporates a priority scheme derived from using the newly developed Collision Graph model. The determination of an optimal schedule is an NPcom...
A Concurrent Dynamic Task Graph
 Parallel Computing, Vol 22, No 2, Ferbruary
, 1996
"... Task graphs are used for scheduling tasks on parallel processors when the tasks have dependencies. If the execution of the program is known ahead of time, then the tasks can be statically and optimally allocated to the processors. If the tasks and task dependencies aren't known ahead of time (t ..."
Abstract
 Add to MetaCart
Task graphs are used for scheduling tasks on parallel processors when the tasks have dependencies. If the execution of the program is known ahead of time, then the tasks can be statically and optimally allocated to the processors. If the tasks and task dependencies aren't known ahead of time (the case in some analysisfactor sparse matrix algorithms), then task scheduling must be performed on the fly. We present simple algorithms for a concurrent dynamictask graph. A processor that needs to execute a new task can query the task graph for a new task, and new tasks can be added to the task graph on the fly. We present several alternatives for allocating tasks for processors and compare their performance.