Abstract:We introduce a new parallelization framework for scientific computing based on BDSC, an efficient automatic scheduling algorithm for parallel programs in the presence of resource constraints on the number of processors and their local memory size. BDSC extends Yang and Gerasoulis's Dominant Sequence Clustering (DSC) algorithm; it uses sophisticated cost models and addresses both shared and distributed parallel memory architectures. We describe BDSC, its integration within the PIPS compiler infrastructure and i… Show more
“…In this section, we present a concise description of some of the previously proposed clustering based task scheduling algorithms. Some well‐known previous algorithms are EZ (Edge Zeroing), LC (Linear Clustering), DSC (Dominant Sequence Clustering), GDS (Greedy Dominant Sequence), MCP (Modified Critical Path), DCP (Dynamic Critical Path), CASC (Clustering Algorithm for Synchronous Communication), CPPS (Cluster Pair Priority Scheduling), CCLC (Computation Communication Load Clustering), DCCL (Dynamic Computation Communication Load), RDCC (Randomized Dynamic Computation Communication), BDSC (Bounded Dominant Sequence Clustering), and LOCAL …”
Section: Related Workmentioning
confidence: 99%
“…The duplication-based algorithms 2,24-29 attempt to minimize the communication cost between tasks through duplication of tasks onto different processors. The clustering-based algorithms, 3,16,[30][31][32][33][34][35][36][37][38][39][40][41][42][43][44] mainly applicable for an unlimited quantity of processors, are divided into 2 steps. In the initial step, massively communicating tasks of a given task graph are combined into a cluster.…”
Summary
In multiprocessor environments, the scheduling algorithms play a significant role in maximizing system performance. In this paper, we propose a clustering‐based task scheduling algorithm called Edge Priority Scheduling (EPS) for multiprocessor environments. The proposed algorithm extends the idea of edge zeroing heuristic and uses the concept of edge priority to minimize the makespan of the task graph. The complexity of the EPS algorithm is O(|V||E|(|V| + |E|)), where |E| represents the number of edges and |V| denotes the number of nodes in the task graph. The experiments are performed for random task graphs and the task graphs generated from some representative real‐world applications such as Gaussian Elimination and Fast Fourier Transform. The performance of the EPS algorithm is compared with six well‐known algorithms such as EZ (Edge Zeroing), LC (Linear Clustering), CPPS (Cluster Pair Priority Scheduling), DCCL (Dynamic Computation Communication Load), RDCC (Randomized Dynamic Computation Communication), and LOCAL. The results show that the EPS algorithm outperforms the compared algorithms in terms of the normalized schedule length and speedup.
“…In this section, we present a concise description of some of the previously proposed clustering based task scheduling algorithms. Some well‐known previous algorithms are EZ (Edge Zeroing), LC (Linear Clustering), DSC (Dominant Sequence Clustering), GDS (Greedy Dominant Sequence), MCP (Modified Critical Path), DCP (Dynamic Critical Path), CASC (Clustering Algorithm for Synchronous Communication), CPPS (Cluster Pair Priority Scheduling), CCLC (Computation Communication Load Clustering), DCCL (Dynamic Computation Communication Load), RDCC (Randomized Dynamic Computation Communication), BDSC (Bounded Dominant Sequence Clustering), and LOCAL …”
Section: Related Workmentioning
confidence: 99%
“…The duplication-based algorithms 2,24-29 attempt to minimize the communication cost between tasks through duplication of tasks onto different processors. The clustering-based algorithms, 3,16,[30][31][32][33][34][35][36][37][38][39][40][41][42][43][44] mainly applicable for an unlimited quantity of processors, are divided into 2 steps. In the initial step, massively communicating tasks of a given task graph are combined into a cluster.…”
Summary
In multiprocessor environments, the scheduling algorithms play a significant role in maximizing system performance. In this paper, we propose a clustering‐based task scheduling algorithm called Edge Priority Scheduling (EPS) for multiprocessor environments. The proposed algorithm extends the idea of edge zeroing heuristic and uses the concept of edge priority to minimize the makespan of the task graph. The complexity of the EPS algorithm is O(|V||E|(|V| + |E|)), where |E| represents the number of edges and |V| denotes the number of nodes in the task graph. The experiments are performed for random task graphs and the task graphs generated from some representative real‐world applications such as Gaussian Elimination and Fast Fourier Transform. The performance of the EPS algorithm is compared with six well‐known algorithms such as EZ (Edge Zeroing), LC (Linear Clustering), CPPS (Cluster Pair Priority Scheduling), DCCL (Dynamic Computation Communication Load), RDCC (Randomized Dynamic Computation Communication), and LOCAL. The results show that the EPS algorithm outperforms the compared algorithms in terms of the normalized schedule length and speedup.
“…(iii) They accepted its adequacy over a genuine VM-encouraged bunch environment under diverse levels of rivalry. In a similar manner, Khaldi et al [17] clarified the parallelization system for logical processing focused around BDSC, a proficient programmed planning strategy for parallel projects in the vicinity of asset stipulations on the quantity of processors and their neighborhood memory size. BDSC augments Yang and Gerasoulis' dominant sequence clustering (DSC) strategy; it uses complex expense models and locations both imparted and appropriated parallel memory architectures.…”
Section: Literature Surveymentioning
confidence: 99%
“…The search direction can be calculated from the head angle by using the polar and Cartesian coordinate transformation using eqs. (15)- (17). In the GSO algorithm, at the k th iteration, the producer X P behaves as follows:…”
Section: : Evaluation Of Fitness Functionmentioning
Cloud computing is an emerging technology in distributed computing, which facilitates pay per model as per user demand and requirement. Cloud consists of a collection of virtual machines (VMs), which includes both computational and storage facility. In this paper, a task scheduling scheme on diverse computing systems using a hybridization of genetic and group search optimization (GGSO) algorithm is proposed. The basic idea of our approach is to exploit the advantages of both genetic algorithm (GA) and group search optimization algorithms (GSO) while avoiding their drawbacks. In GGSO, each dimension of a solution symbolizes a task, and a solution, as a whole, signifies all task priorities. The important issue is how to assign user tasks to maximize the income of infrastructure as a service (Iaas) provider while promising quality of service (QoS). The generated solution is competent to assure user-level (QoS) and improve Iaas providers’ credibility and economic benefit. The GGSO method also designs the producer, scrounger ranger, crossover operator, and suitable fitness function of the corresponding task. According to the evolved results, it has been found that our algorithm always outperforms the traditional algorithms.
“…Furthermore, PIPS uses an integer polyhedral abstraction to represent the domains of the program variables, which turns out very effective in the parallelization context. PIPS contains an automatic task scheduler based on the BDSC algorithm [33], which is an improvement of DSC. The BDSC output can be an input of our automatic distribution of sequential code.…”
Section: A Pips a Source-to-source Compilermentioning
Abstract-With the advent of clustered systems, more and more parallel computing is required. However a lot of programming skills is needed to write a parallel codes, especially when you want to benefit from the various parallel architectural resources, with heterogeneous units and complex memory organizations. We present in this paper a method that generates automatically, step by step, a task-parallel distributed code from a sequential program. It has been implemented in an existing source-to-source compiler PIPS. Our approach provides two main advantages 1) all the program transformations are simple and applied on source code, thus are visible by the user, 2) a proof of correctness of the parallelization process can be made. This ensures that we end up with a correct distributed-task program for distributed-memory machines. To our knowledge, it is the first tool that automatically generates a distributed code for task parallelization.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.