• Documents
  • Authors
  • Tables
  • Log in
  • Sign up
  • MetaCart
  • DMCA
  • Donate

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations

Static scheduling algorithms for allocating directed task graphs to multiprocessors (1999)

by Y-K Kwok, I Ahmad
Venue:ACM Computing Surveys
Add To MetaCart

Tools

Sorted by:
Results 1 - 10 of 326
Next 10 →

Exploiting coarse-grained task, data, and pipeline parallelism in stream programs,

by Michael I Gordon , William Thies , Saman Amarasinghe - Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS-XII, , 2006
"... Abstract As multicore architectures enter the mainstream, there is a pressing demand for high-level programming models that can effectively map to them. Stream programming offers an attractive way to expose coarse-grained parallelism, as streaming applications (image, video, DSP, etc.) are naturall ..."
Abstract - Cited by 133 (6 self) - Add to MetaCart
Abstract As multicore architectures enter the mainstream, there is a pressing demand for high-level programming models that can effectively map to them. Stream programming offers an attractive way to expose coarse-grained parallelism, as streaming applications (image, video, DSP, etc.) are naturally represented by independent filters that communicate over explicit data channels. In this paper, we demonstrate an end-to-end stream compiler that attains robust multicore performance in the face of varying application characteristics. As benchmarks exhibit different amounts of task, data, and pipeline parallelism, we exploit all types of parallelism in a unified manner in order to achieve this generality. Our compiler, which maps from the StreamIt language to the 16-core Raw architecture, attains a 11.2x mean speedup over a single-core baseline, and a 1.84x speedup over our previous work.
(Show Context)

Citation Context

...e evaluation section. This scheduling problem is equivalent to static scheduling of a coarse-grained dataflow DAG to a multiprocessor which has been a well-studied problem over the last 40 years (see =-=[23]-=- for a good review). We leverage simulated annealing as randomized solutions to this static scheduling problem are superior to other heuristics [22]. Briefly, we generate an initial layout by assignin...

Task Scheduling Strategies for Workflow-based Applications in Grids

by Jim Blythe, Sonal Jain, Ewa Deelman, Yolanda Gil, Karan Vahi, et al. - IN CCGRID , 2005
"... Grid applications require allocating a large number of heterogeneous tasks to distributed resources. A good allocation is critical for efficient execution. However, many existing grid toolkits use matchmaking strategies that do not consider overall efficiency for the set of tasks to be run. We ident ..."
Abstract - Cited by 108 (16 self) - Add to MetaCart
Grid applications require allocating a large number of heterogeneous tasks to distributed resources. A good allocation is critical for efficient execution. However, many existing grid toolkits use matchmaking strategies that do not consider overall efficiency for the set of tasks to be run. We identify two families of resource allocation algorithms: task-based algorithms, that greedily allocate tasks to resources, and workflow-based algorithms, that search for an efficient allocation for the entire workflow. We compare the behavior of workflow-based algorithms and task-based algorithms, using simulations of workflows drawn from a real application and with varying ratios of computation cost to data transfer cost. We observe that workflow-based approaches have a potential to work better for data-intensive applications even when estimates about future tasks are inaccurate.
(Show Context)

Citation Context

...Grid. Our work deals with scheduling tasks whose dependencies with each other form a DAG, so these heuristics can’t be directly applied. However, we use min-min during the overall scheduling process. =-=[19]-=- gives a survey on different heuristic scheduling techniques for scheduling application DAGs onto homogeneous platforms. These heuristics also can’t be applied directly to grids because they are highl...

Carbon: architectural support for fine-grained parallelism on chip multiprocessors

by Sanjeev Kumar, Christopher J. Hughes, Anthony Nguyen - In ISCA ’07: Proceedings of the 34th annual international symposium on Computer architecture , 2007
"... ABSTRACT Chip multiprocessors (CMPs) are now commonplace, and the num-ber of cores on a CMP is likely to grow steadily. However, in order ..."
Abstract - Cited by 67 (8 self) - Add to MetaCart
ABSTRACT Chip multiprocessors (CMPs) are now commonplace, and the num-ber of cores on a CMP is likely to grow steadily. However, in order
(Show Context)

Citation Context

...many more tasks than cores and to dynamically schedule the tasks. This allows for much better load balancing across the cores. There exists a large body of work on dynamic task scheduling in software =-=[1, 4, 5, 6, 8, 12, 14, 16, 22, 24, 26, 29, 34, 35]-=-. For previously studied applications, overheads of software dynamic task schedulers are small compared to the size of the tasks, and therefore, enable sufficient scalability. We examine a set of benc...

Min-Cut Program Decomposition for Thread-Level Speculation

by Troy A. Johnson, Rudolf Eigenmann, T. N. Vijaykumar , 2004
"... With billion-transistor chips on the horizon, single-chip multiprocessors (CMPs) are likely to become commodity components. Speculative CMPs use hardware to enforce dependence, allowing the compiler to improve performance by speculating on ambiguous dependences without absolute guarantees of indepen ..."
Abstract - Cited by 62 (2 self) - Add to MetaCart
With billion-transistor chips on the horizon, single-chip multiprocessors (CMPs) are likely to become commodity components. Speculative CMPs use hardware to enforce dependence, allowing the compiler to improve performance by speculating on ambiguous dependences without absolute guarantees of independence. The compiler is responsible for decomposing a sequential program into speculatively parallel threads, while considering multiple performance overheads related to data dependence, load imbalance, and thread prediction. Although the decomposition problem lends itself to a min-cut-based approach, the overheads depend on the thread size, requiring the edge weights to be changed as the algorithm progresses. The changing weights make our approach di#erent from graph-theoretic solutions to the general problem of task scheduling. One recent work uses a set of heuristics, each targeting a specific overhead in isolation, and gives precedence to thread prediction, without comparing the performance of the threads resulting from each heuristic. By contrast, our method uses a sequence of balanced min-cuts that give equal consideration to all the overheads, and adjusts the edge weights after every cut. This method achieves an (geometric) average speedup of 74% for floating-point programs and 23% for integer programs on a four-processor chip, improving on the 52% and 13% achieved by the previous heuristics.

Workflow Scheduling Algorithms for Grid Computing

by Jia Yu, Rajkumar Buyya, Kotagiri Ramamohanarao
"... Workflow scheduling is one of the key issues in the management of workflow execution. Scheduling is a process that maps and manages execution of inter-dependent tasks on distributed resources. It introduces allocating suitable resources to workflow tasks so that the execution can be completed to sat ..."
Abstract - Cited by 55 (6 self) - Add to MetaCart
Workflow scheduling is one of the key issues in the management of workflow execution. Scheduling is a process that maps and manages execution of inter-dependent tasks on distributed resources. It introduces allocating suitable resources to workflow tasks so that the execution can be completed to satisfy objective functions specified by users. Proper scheduling can have significant impact on the performance of the system. In this chapter, we investigate existing workflow scheduling algorithms developed and deployed by various Grid projects.

An Incremental Genetic Algorithm Approach to Multiprocessor Scheduling

by Annie S. Wu, Han Yu, Shiyuan Jin, Kuo-chi Lin, Guy Schiavone - IEEE Transactions on Parallel and Distributed Systems , 2004
"... Abstract—We have developed a genetic algorithm (GA) approach to the problem of task scheduling for multiprocessor systems. Our approach requires minimal problem specific information and no problem specific operators or repair mechanisms. Key features of our system include a flexible, adaptive proble ..."
Abstract - Cited by 49 (0 self) - Add to MetaCart
Abstract—We have developed a genetic algorithm (GA) approach to the problem of task scheduling for multiprocessor systems. Our approach requires minimal problem specific information and no problem specific operators or repair mechanisms. Key features of our system include a flexible, adaptive problem representation and an incremental fitness function. Comparison with traditional scheduling methods indicates that the GA is competitive in terms of solution quality if it has sufficient resources to perform its search. Studies in a nonstationary environment show the GA is able to automatically adapt to changing targets. Index Terms—Genetic algorithm, task scheduling, parallel processing. 1
(Show Context)

Citation Context

...hows two example DAGs from [44]. We compare performance of the GA with that of ISH, DSH, and CPFD on these two problems as well as on the other problems listed in Table 1. 3 BACKGROUND Kwok and Ahmad =-=[31]-=- present a comprehensive review and classification of deterministic or static scheduling algorithms. Among the most common methods is a class of methods called list scheduling techniques. List schedul...

Scalable Work Stealing ∗

by James Dinan, D. Brian Larkins, Sriram Krishnamoorthy, Jarek Nieplocha
"... Irregular and dynamic parallel applications pose significant challenges to achieving scalable performance on large-scale multicore clusters. These applications often require ongoing, dynamic load balancing in order to maintain efficiency. Scalable dynamic load balancing on large clusters is a challe ..."
Abstract - Cited by 48 (3 self) - Add to MetaCart
Irregular and dynamic parallel applications pose significant challenges to achieving scalable performance on large-scale multicore clusters. These applications often require ongoing, dynamic load balancing in order to maintain efficiency. Scalable dynamic load balancing on large clusters is a challenging problem which can be addressed with distributed dynamic load balancing systems. Work stealing is a popular approach to distributed dynamic load balancing; however its performance on large-scale clusters is not well understood. Prior work on work stealing has largely focused on shared memory machines. In this work we investigate the design and scalability of work stealing on modern distributed memory systems. We demonstrate high efficiency and low overhead when scaling to 8,192 processors for three benchmark codes: a producer-consumer benchmark, the unbalanced tree search benchmark, and a multiresolution analysis kernel.
(Show Context)

Citation Context

... for the lock on its queue before their steal operation fails. 6. RELATED WORK Load balancing is a challenging problem and has been widely studied in the literature. Research on task graph scheduling =-=[24]-=- focuses on optimizing the execution time given a set of tasks organized as a task graph. Graph and hypergraph partitioning techniques [7, 11, 21, 35] have been employed to schedule tasks onto process...

An Efficient Fault-tolerant Scheduling Algorithm for Real-time Tasks with Precedence Constraints

by Xiao Qin, Hong Jiang, David R. Swanson - in Heterogeneous Systems,” Proc. 31st Int’l Conf. Parallel Processing , 2002
"... In this paper, we investigate an efficient off-line scheduling algorithm in which real-time tasks with precedence constraints are executed in a heterogeneous environment. It provides more features and capabilities than existing algorithms that schedule only independent tasks in real-time homogeneous ..."
Abstract - Cited by 46 (15 self) - Add to MetaCart
In this paper, we investigate an efficient off-line scheduling algorithm in which real-time tasks with precedence constraints are executed in a heterogeneous environment. It provides more features and capabilities than existing algorithms that schedule only independent tasks in real-time homogeneous systems. In addition, the proposed algorithm takes the heterogeneities of computation, communication and reliability into account, thereby improving the reliability. To provide faulttolerant capability, the algorithm employs a primarybackup copy scheme that enables the system to tolerate permanent failures in any single processor. In this scheme, a backup copy is allowed to overlap with other backup copies on the same processor, as long as their corresponding primary copies are allocated to different processors. Tasks are judiciously allocated to processors so as to reduce the schedule length as well as the reliability cost, defined to be the product of processor failure rate and task execution time. In addition, the time for detecting and handling of a permanent fault is incorporated into the scheduling scheme, thus making the algorithm more practical. To quantify the combined performance of fault-tolerance and schedulability, the performability measure is introduced. Compared with the existing scheduling algorithms in the literature, our scheduling algorithm achieves an average of 16.4% improvement in reliability and an average of 49.3% improvement in performability. 1.

A bi-criteria scheduling heuristics for distributed embedded systems under reliability and real-time constraints

by Ismail Assayad, Alain Girault, Hamoudi Kalla - In Int. Conf. on Dependable Systems and Networks, DSN’04 , 2004
"... Multi-criteria scheduling problems, involving optimiza-tion of more than one criterion, are subject to a growing interest. In this paper, we present a new bi-criteria schedul-ing heuristic for scheduling data-flow graphs of operations onto parallel heterogeneous architectures according to two criter ..."
Abstract - Cited by 40 (6 self) - Add to MetaCart
Multi-criteria scheduling problems, involving optimiza-tion of more than one criterion, are subject to a growing interest. In this paper, we present a new bi-criteria schedul-ing heuristic for scheduling data-flow graphs of operations onto parallel heterogeneous architectures according to two criteria: first the minimization of the schedule length, and second the maximization of the system reliability. Reliabil-ity is defined as the probability that none of the system com-ponents will fail while processing. The proposed algorithm is a list scheduling heuristics, based on a bi-criteria com-promise function that introduces priority between the op-erations to be scheduled, and that chooses on what subset of processors they should be scheduled. It uses the active replication of operations to improve the reliability. If the system reliability or the schedule length requirements are not met, then a parameter of the compromise function can be changed and the algorithm re-executed. This process is iterated until both requirements are met.
(Show Context)

Citation Context

...n the literature do not attempt to introduce reliability; rather, they concentrate on the problems that arise from tasks deadline assuming a reliable hardware. For example, the heuristics proposed in =-=[2, 15, 8, 17]-=- are based on static or dynamic allocation and scheduling of tasks to minimize the schedule length. But none of these scheduling heuristics attempt to improve the system’s reliability. Reliable Bi−Cri...

Executing Multiple Pipelined Data Analysis Operations in the Grid

by Matthew Spencer, Renato Ferreira, Michael Beynon, Tahsin Kurc, Umit Catalyurek, Alan Sussman, Joel Saltz , 2002
"... Processing of data in many data analysis applications can be represented as an acyclic, coarse grain data flow, from data sources to the client. This paper is concerned with scheduling of multiple data analysis operations, each of which is represented as a pipelined chain of processing on data. We ..."
Abstract - Cited by 38 (10 self) - Add to MetaCart
Processing of data in many data analysis applications can be represented as an acyclic, coarse grain data flow, from data sources to the client. This paper is concerned with scheduling of multiple data analysis operations, each of which is represented as a pipelined chain of processing on data. We define the scheduling problem for effectively placing components onto Grid resources, and propose two scheduling algorithms. Experimental results are presented using a visualization application.
(Show Context)

Citation Context

...f a filter. 4.2 Scheduling Algorithm The scheduling algorithm, referred to as filter copy pipeline (FCP), is similar in some respects to the classic static scheduling technique called list scheduling =-=[23]-=-, where the approach is to choose a mapping for each application filter in some order based on a ranking of the filters. For a chain of processing on data, the filters in the chain are ranked such tha...

Powered by: Apache Solr
  • About CiteSeerX
  • Submit and Index Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2019 The Pennsylvania State University