Efficient real-time divisible load scheduling

https://doi.org/10.1016/j.jpdc.2012.09.003Get rights and content

Abstract

Providing QoS and performance guarantees to arbitrarily divisible loads has become a significant problem for many cluster-based research computing facilities. While progress is being made in scheduling arbitrarily divisible loads, current approaches are not efficient and do not scale well. In this paper, we propose a linear algorithm for real-time divisible load scheduling. Unlike existing approaches, the new algorithm relaxes the tight coupling between the task admission controller and the task dispatcher. By eliminating the need to generate exact schedules in the admission controller, the algorithm avoids high overheads. We also proposed a hybrid algorithm that combines the best of our efficient algorithm and a previously best-known approach. We experimentally evaluate the new algorithm. Simulation results demonstrate that the algorithm scales well, can schedule large numbers of tasks efficiently, and performs similarly to existing approaches in terms of providing real-time guarantees.

Highlights

► We developed an efficient algorithm for real-time divisible load scheduling. ► Our algorithm’s time complexity is linear to the number of tasks and nodes. ► We integrated our efficient algorithm with the previously best-known approach.

Introduction

An arbitrarily divisible or embarrassingly parallel workload can be partitioned into an arbitrarily large number of load fractions. This workload model is a good approximation of many real-world applications [12], e.g., distributed search for a pattern in text, audio, graphical, and database files; distributed processing of big measurement data files; and many simulation problems. All elements in such an application often demand an identical type of processing, and relative to the huge total computation, the processing on each individual element is infinitesimally small. Quite a few scientific applications conform to this divisible load task model. For example, the CMS (Compact Muon Solenoid) [10] and ATLAS (A Toroidal LHC Apparatus) [6] projects, associated with LHC (Large Hadron Collider) at CERN (European Laboratory for Particle Physics), execute cluster-based applications with arbitrarily divisible loads. As such applications become a major type of cluster workloads [27], providing QoS to arbitrarily divisible loads becomes a significant problem for cluster-based research computing facilities like the US CMS Tier-2 sites [28]. By monitoring the CMS mailing-list, we have learned that CMS users always want to know task response times when they submit tasks to clusters. However, without a good QoS mechanism, current cluster sites cannot provide these users with good response time estimations.

Real-time divisible load scheduling is a well-researched area [8], [9], [17], [18], [19], [20], where researchers investigate how to provide time predictability to the aforementioned divisible load applications. Focusing on satisfying QoS, providing time guarantees, and better utilizing cluster resources, existing approaches give little emphasis to scheduling efficiency. They assume that scheduling takes much less time than the execution of a task, and thus ignore the scheduling overhead.

However, clusters are becoming increasingly bigger and busier. In Table 1, we list the sizes of some OSG (Open Science Grid) clusters. As we can see, all of these clusters have more than one thousand CPUs, with the largest providing over 40 thousand CPUs. Fig. 1 shows the number of tasks waiting in the OSG cluster at University of California, San Diego for two 20-h periods, demonstrating that at times there could be as many as 37000 tasks in the waiting queue of a cluster. As the cluster size and workload increase, so does the scheduling overhead. For a cluster with thousands of nodes or thousands of waiting tasks, as will be demonstrated in Section 6, the scheduling overhead could be substantial and existing divisible load scheduling algorithms are no longer applicable due to lack of scalability. For example, to schedule the bursty workload in Fig. 1a, the best-known real-time algorithm [8] takes more than 11 h to make admission control decisions on the 14,000 tasks that arrived in an hour, while our new algorithm needs only 37 min.

In this paper, we address the deficiency of existing approaches and present an efficient algorithm for real-time divisible load scheduling. The time complexity of the proposed algorithm is linear in the maximum of the number of tasks in the waiting queue and the number of nodes in the cluster. In addition, the algorithm performs similarly to previous algorithms in terms of providing real-time guarantees and utilizing cluster resources.

The remainder of this paper is organized as follows. Related work is presented in Section 2. We describe both task and system models in Section 3. Sections 4 Algorithm, 5 Hybrid approach discuss the real-time scheduling algorithm and Section 6 evaluates the algorithm performance. We conclude the paper in Section 7.

Section snippets

Related work

Divisible load theory (DLT) has long been studied and applied in distributed systems scheduling [7], [27], [29]. It provides the foundation for optimally partitioning arbitrarily divisible loads to distributed resources. These workloads represent a broad variety of real-world applications in cluster and grid computing, such as BLAST (Basic Local Alignment Search Tool) [2], a bioinformatics application, and high energy and particle physics applications in ATLAS (A Toroidal LHC Apparatus) [6] and

Task and system models

In this paper, we adopt the same task and system models as those in the previous work [8], [9], [19], [18]. For completeness, we briefly present these below.

Task model. We assume a real-time aperiodic task model in which each aperiodic task τi consists of a single invocation specified by the tuple (A,σ,D), where A is the task arrival time, σ is the total data size of the task, and D is its relative deadline. The task absolute deadline is given by A+D.

System model. A cluster consists of a head

Algorithm

In this section, we present our new algorithm for scheduling real-time divisible loads in clusters. Due to their special property, when scheduling arbitrarily divisible loads, the algorithm needs to make three important decisions. First, it determines the task execution order, which could be based on policies like EDF (Earliest Deadline First) or MWF (Maximum Workload derivative First) [17]. Second, it decides the number n of processing nodes that should be allocated to each task. Third, a

Hybrid approach

In Section 4.4, we have showed that although ANA admission controller is fast, it is a little pessimistic in comparison to the exact MNA admission controller. In this section, we introduce a hybrid approach that combines the best of both strategies. To avoid unnecessary task rejections, when the waiting queue length is small and the overhead is little, the hybrid admission controller applies the exact MNA policy. If the waiting queue length is large and the scheduling overhead becomes

Evaluation

In Section 4, we have presented an efficient divisible load scheduling algorithm. Since the algorithm is based on EDF scheduling and it eliminates IITs, we use FAST-EDF-IIT to denote it. The EDF-based algorithm proposed in [19] is represented by EDF-IIT-1 and that in [8] by EDF-IIT-2. We use HYBRID to denote the hybrid algorithm introduced in Section 5. This section compares their performance.

We have developed a discrete simulator, called DLSim, to simulate real-time divisible load scheduling

Conclusion

This paper presents a novel algorithm for scheduling real-time divisible loads in clusters. The algorithm assumes a different scheduling rule in the admission controller than that adopted by the dispatcher. Since the admission controller no longer generates an exact schedule, the scheduling overhead is reduced significantly. Unlike the previous approaches, where time complexities are O(nN3) [19] and O(nNlog(N)) [8], our new algorithm has a time complexity of O(max(N,n)). We prove that the

Anwar Mamat received the B.E. and M.S. degrees from Chang’an University, Xian, China, in 1999 and 2002, respectively. He received the Ph.D. degree from the University of Nebraska-Lincoln in 2011. He joined the Computer & Information Sciences Department, Temple University in 2012 as an Assistant Professor. His research interests are grid and cluster computing, high-performance computing, and real-time systems.

References (30)

  • S. Altschul et al.

    Basic local alignment search tool

    Journal of Molecular Biology

    (1990)
  • W.Y. Lee et al.

    On-line scheduling of scalable real-time tasks on multiprocessor systems

    Journal of Parallel and Distributed Computing

    (2003)
  • T.F. Abdelzaher, V. Sharma, A synthetic utilization bound for aperiodic tasks with resource requirements, in: Proc. of...
  • A. Amin, R. Ammar, A.E. Dessouly, Scheduling real time parallel structure on cluster computing with possible processor...
  • R.A. Ammar, A. Alhamdan, Scheduling real time parallel structure on cluster computing, in: Proc. of 7th IEEE...
  • J. Anderson, A. Srinivasan, Pfair scheduling: beyond periodic task systems, in: Proc. of the 7th International...
  • ATLAS (A Toroidal LHC Apparatus) Experiment, CERN (European Lab for Particle Physics), Atlas web page....
  • V. Bharadwaj et al.

    Scheduling Divisible Loads in Parallel and Distributed Systems

    (1996)
  • S. Chuprat, S. Baruah, Scheduling divisible real-time loads on clusters with varying processor start times, in: 14th...
  • S. Chuprat, S. Salleh, S. Baruah, Evaluation of a linear programming approach towards scheduling divisible real-time...
  • Compact Muon Solenoid (CMS) Experiment for the Large Hadron Collider at CERN (European Lab for Particle Physics), Cms...
  • M.L. Dertouzos et al.

    Multiprocessor online scheduling of hard-real-time tasks

    IEEE Transactions on Software Engineering

    (1989)
  • M. Drozdowski, P. Wolniewicz, Experiments with scheduling divisible tasks in clusters of workstations, in: 6th...
  • M. Eltayeb, A. Dogan, F. Özgüner, A data scheduling algorithm for autonomous distributed real-time applications in grid...
  • Y. Etsion, D. Tsafrir, A short survey of commercial cluster batch schedulers, Technical Report 2005–13, School of...
  • Cited by (7)

    • Proactive scheduling in distributed computing - A reinforcement learning approach

      2014, Journal of Parallel and Distributed Computing
      Citation Excerpt :

      Because of online scheduling, the scheduling overhead and response time become important. But current dynamic scheduling algorithms [6,19,3,30] either have high scheduling overhead, resulting in a long queue for task admission [20], or unable to adapt to the uncertainties in task arrival and execution, leading to lagging response. To address this problem, our preliminary work [31] tried to model task arrival and execution processes based on queueing theory as most scholars did [9,22,25], and proposed a semi-static scheduling algorithm.

    • A High Performance Model for Task Allocation in Distributed Computing System Using K-Means Clustering Technique

      2021, Research Anthology on Architectures, Frameworks, and Integration Strategies for Distributed and Cloud Computing
    • Networking and computation: Technology, modeling and performance

      2020, Networking and Computation: Technology, Modeling and Performance
    • Release time aware divisible-load scheduling optimization model

      2016, Xi'an Dianzi Keji Daxue Xuebao/Journal of Xidian University
    View all citing articles on Scopus

    Anwar Mamat received the B.E. and M.S. degrees from Chang’an University, Xian, China, in 1999 and 2002, respectively. He received the Ph.D. degree from the University of Nebraska-Lincoln in 2011. He joined the Computer & Information Sciences Department, Temple University in 2012 as an Assistant Professor. His research interests are grid and cluster computing, high-performance computing, and real-time systems.

    Ying Lu received the B.S. degree in Computer Science in 1996 from the Southwest Jiaotong University, Chengdu, China; the M.CS. and Ph.D. degrees in Computer Science in 2001 and 2005 respectively from the University of Virginia. She joined the Department of Computer Science and Engineering, University of Nebraska-Lincoln in 2005 as an Assistant Professor. In 2011, she was promoted to Associate Professor. Her research interests include real-time systems, autonomic computing, cluster and grid computing, and web systems. She has done significant work on feedback control of computing systems.

    Jitender Deogun received his BS (1966) with Honors from Punjab University, Chandigarh, India, M.S. (1974), and Ph.D. (1979) degrees from University of Illinois, Urbana, IL. He joined the University of Nebraska in 1981 as an Assistant Professor of Computer Science. He was promoted to Associate Professor in 1984 and Full Professor in 1988. His research interests include high performance optical switch architectures, routing and wavelength assignment, real-time scheduling, network coding, and structural and algorithmic graph theory.

    Steve Goddard is a John E. Olsson Professor of Engineering and Chair of the Department of Computer Science & Engineering at the University of Nebraska-Lincoln. He received the B.A. degree in Computer Science and Mathematics from the University of Minnesota (1985). He received the M.S. and Ph.D. degrees in Computer Science from the University of North Carolina at Chapel Hill (1995, 1998). His research interests are in embedded, real-time and distributed systems with an emphasis in real-time, rate-based scheduling theory.

    View full text