Embarrassingly Parallel Jobs Are Not Embarrassingly Easy to Schedule on the Grid
Total Page:16
File Type:pdf, Size:1020Kb
Embarrassingly Parallel Jobs Are Not Embarrassingly Easy to Schedule on the Grid Enis Afgan, Purushotham Bangalore Department of Computer and Information Sciences University of Alabama at Birmingham 1300 University Blvd., Birmingham AL 35294-1170 {afgane, puri}@cis.uab.edu Abstract range greatly from only a few instances to several hundred instances and each instance can execute from Embarrassingly parallel applications represent several seconds or minutes to many hours. The end an important workload in today's grid environments. result is speedup of application’s execution that is only Scheduling and execution of this class of applications limited by the number of resource available. is considered mostly a trivial and well-understood Meanwhile, grid computing has emerged as the process on homogeneous clusters. However, while upcoming distributed computational infrastructure that grid environments provide the necessary enables virtualization and aggregation of computational resources, associated resource geographically distributed compute resources into a heterogeneity represents a new challenge for efficient seamless compute platform [2]. Characterized by task execution for these types of applications across heterogeneous resources with a wide range of network multiple resources. This paper presents a set of speeds between participating sites, high network examples illustrating how execution characteristics of latency, site and resource instability and a sea of local individual tasks, and consequently a job, are affected management policies, it seems the grid presents as by the choice of task execution resources, task many problems as it solves. Nonetheless, from the invocation parameters, and task input data attributes. early days of the grid, EP class of applications has It is the aim of this work to highlight this relationship been categorized as the killer application for the grid between an application and an execution resource to [3]. This is due to the ability of EP applications to promote development of better metascheduling consume large numbers of resources accompanied techniques for the grid. By exploiting this relationship, with minimal requirements and dependencies on application throughput can be maximized, also network status as well as high tolerance for partial resulting in higher resource utilization. In order to failure. Furthermore, these applications were relatively achieve such benefits, a set of job scheduling and easy to deploy and initiate execution. execution concerns is derived leading toward a This suitability has materialized through several computational pipeline for scheduling embarrassingly projects that have explored, exploited, and advanced parallel applications in grid environments. capabilities of EP application in grid environments, for example AppLeS [4] and Nimrod/G [5]. However, because of the lack of communication between 1. Introduction individual tasks, a common assumption is that execution of EP application in grid environments is Embarrassingly parallel (EP) class of applications easy, or at least significantly easier than execution of is likely to represent the most widely deployed class of tightly coupled, MPI applications. On the contrary, applications in the world [1]. EP applications, in execution of EP applications in grid environments is nature very similar to SPMD (Single Process, Multiple confined by resource availability, optimized through Data) or Parameter Sweep, are characterized by task parameterization, hindered by simultaneous use independent, coarsely grained and indivisible tasks. and management of heterogeneous resources The goal of EP applications is to introduce parallelism belonging to different administrative domains, and into application execution without any application dependent on user requirements. As such, the act of code modification and associated cost. This is realized application execution includes application scheduling, through multiple invocations of the same application, or assignment of tasks to appropriate resources. where each instance is invoked using a different input Because of the sheer number of influencing data set. The number of tasks being instantiated can components, scheduling becomes a major component 978-1-4244-2872-4/08/$25.00 ©2008 IEEE for success of EP applications in the grid and should be handled comprehensively with respect to the 17 application execution environment variables. 15 As the grid evolves into independently managed clouds relying heavily on commercial aspects, 13 resource owners will try to maximize resource utilization while satisfying users’ requirements. 11 Simultaneously, users will impose stringent 9 requirements on their application executions in terms 7 of cost, execution time, reliability or data cost. In Task number order to achieve these objectives an understanding of 5 the components influencing application execution is necessary. In this paper, we offer a discussion of 3 execution variables for EP applications in grid 1 environments and their effects on applications’ runtimes. We have used the NCBI BLAST [6] 0 2000 4000 6000 8000 application as an example to highlight many of these Time taken (seconds) issues and illustrate the need for advanced resource and application specific metascheduling techniques. Figure 1. Sample task runtimes of a job across heterogeneous resources. 2. Application Model largely homogeneous. In grid environments, where As briefly discussed, the Embarrassingly Parallel individual resources are highly heterogeneous, task (EP) class of applications is composed of a class of execution times can vary greatly [8]. Figure 1 shows applications whose computational load consists of an example of task runtime variability resulting from executing the same application multiple times, with resource heterogeneity. Shown tasks were all fed an each instance operating on a varying input data set and equally-sized input file and executed across a range of perhaps varying parameters [7]. The most significant heterogeneous resources resulting in a significant level characteristic of EP applications is that, once started, of load imbalance. Tasks that have experienced there is no communication between individual tasks. approximately equivalent runtimes got assigned to This model can be seen as a modification of Flynn’s multiple nodes within a single cluster by the high-level original SIMD (Single Instruction, Multiple Data) scheduler. In the described environment, the runtime taxonomy and more general SPMD (Single Process, of the entire job is determined by the longest running Multiple Data) model where individual processes can task making a strong requirement for efficient load execute independent instructions at the same point in balancing. time but are, overall, executing the same code [7]. As such, an application execution with all of its instances 2.2. Task parameterization is referred to as a job. A job is composed of a set of tasks or instances, where each instance is assigned a In order to better understand factors influencing different input data set. More formally, a job J runtime of a task, a task ti can be further decomposed composed of a set of tasks ti can be represented as and represented as follows: follows: (2) where d represents the task input data, r represents (1) i i the execution resource for task ti, and pi represents the parameter set used when invoking the given task. In this section we present some of the key factors that Individually, the input data set is the single most affect metascheduling of EP class of applications in a influential factor determining the runtime of a task. grid along with potential solutions to address some of However, because the input file or input parameters these issues. are the purpose for the computation,the job is constrained by the characteristics of the input. 2.1. Task heterogeneity Nonetheless, at the task level, existing file characteristics may be exploited to better meet In more traditional cluster environments, where resource capabilities. For example, Figure 2 is individual compute nodes are homogeneous, execution showing runtime of two different NCBI BLAST [6] times of individual tasks within a job can be expected jobs where a large number of only short search queries Because of grid resource heterogeneity, the factor Many short queries offering most flexibility regarding task runtime is the Few large queries resource selected for task execution. Figure 3 shows a sample runtimes for a set of jobs on heterogeneous resources. From the figure, it is obvious that even small variations in underlying resources can cause 0 2000 4000 6000 8000 noticeable change in task and therefore job runtime. Time (in seconds) Lastly, the parameter set used when invoking a Figure 2.Task runtime affected by input file task can have a significant impact on resource properties. utilization and task runtime (see Figure 4). For example, a sample parameter that the user may have where fed to the program as opposed to a small control over but that does not influence the results of number of long queries. Both files were of the computation is number of threads employed within approximately same physical size. The figure shows a a process. Other such parameters may be application difference in execution speed of several orders of dependent and can include transitional probabilities in magnitude. Such observations are application specific, Hidden Markov Model (HHM) applications or step but offer a new level of application-specific size in Monte Carlo simulations.