Genome Analysis in a Dynamically Scaled Hybrid Cloud
|
|
|
- Kory Ray
- 10 years ago
- Views:
Transcription
1 Genome Analysis in a Dynamically Scaled Hybrid Cloud Chris Smowton, Georgiana Copil, Hong-Linh Truong, Crispin Miller and Wei Xing CRUK Manchester Institute University of Manchester, Manchester, UK {Chris.Smowton, Crispin.Miller, Wei.Xing}@cruk.manchester.ac.uk Institute of Information Systems Vienna University of Technology, Wien, Austria {e.copil,truong}@dsg.tuwien.ac.at Abstract In this paper, we explore the benefits of automatically determining the degree of parallelism used to perform genetic mutation calling in a hybrid cloud environment. We propose algorithms to automatically control both the hiring of hybrid cloud resources and the selection of the degree of parallelism employed in analysis tasks executed against that cloud. Using the Broad Institute s Genome Analysis Toolkit as a case study, we then conduct profile-driven simulation studies to characterise the circumstances in which our algorithms are beneficial or deleterious compared to simple, conventional baseline algorithms. We find that there are a wide range of cloud workload scenarios where our algorithms outperform the baselines, and thereby argue that automatic control of cloud scaling and task parallelism, using techniques like those proposed, are likely to be beneficially applicable to real-world biocomputing. Keywords-cloud computing; auto-scaling; dynamic scalability; thread-level parallelism; genome analysis; biocomputing I. INTRODUCTION Modern biology increasingly relies upon computer processing to relate experimental data to known information stored in electronic form, such as mapping short DNA reads against the human genome [1] [3]. As a result, biological laboratories often purchase large high-performance computing (HPC) facilities, or spend significant proportions of their budget hiring compute resources from an academic or public cloud provider. However, in neither case is their purchasing as efficient as possible: it is common for HPC facilities to spend large proportions of their time idle, or for external cloud purchasing to be sized in an ad-hoc manner, either manually or with minimal automation. Applying intelligent algorithms to determine what cloud resources to hire, and how to distribute resources between different analysis jobs, has the potential to improve resource usage efficiency and thus represent a significant saving to biological laboratories and institutions. Existing systems such as Jockey [4] and Quasar [5] provide the kind of intelligent control required, regulating the resources assigned to cloud workloads in order to achieve quality-ofservice goals specified by their users. However, they have Correspondence: [email protected] typically been applied to services designed with this sort of dynamic rescaling in mind, such as scalable persistent services (e.g. a distributed filesystem) or distributed execution frameworks (e.g. Hadoop or Dryad). In this paper, we apply similar automatic resource allocation methods to classical HPC workloads that are not designed for dynamic scalability, and present candidate algorithms to control cloud resource hiring (horizontal scaling) and assignment of resources to jobs (resource allocation) with an HPC-style workload. We describe a case study applying our candidate algorithms to the Broad Institute s Genome Analysis Toolkit (GATK) [6], and show using discrete event simulation that its performance in a hybrid cloud environment can be significantly improved compared to more straightforward resource allocation methods. We outline a model of a hybrid cloud environment and its users, describe our discrete event simulator, and explore the benefits achieved by applying dynamic scaling in diverse circumstances. We contend that these promising initial results suggest that automatic dynamic scaling could be profitably applied to a broader range of classical HPC applications, and outline potential directions for this future work. II. BACKGROUND The hybrid cloud resource allocation problem has been richly explored. To give some representative examples, Van den Bossche et al. described an algorithm for scheduling tasks in order to meet their deadlines, including predicting the cost and likely performance of execution in multiple possible public cloud environments [7]. Malawski et al. analysed scheduling DAGs of jobs, taking into account the knock-on delays to future tasks caused by delaying those that are currently runnable [8]. Kim et al. investigated scheduling against a hybrid cloud, and additionally introspected on running and past tasks in order to predict the likely performance characteristics of future tasks [9]. All three of these studies investigated kinds of workloads typically encountered in an HPC environment: the structure of the job, or graph of jobs is known in advance, and the degree of parallelism exploited is configured by the user submitting the job for execution for example, they might submit a graph
2 of jobs annotated with the number of concurrent cores required by each node for optimal execution. Thus they all considered automating horizontal scaling of the compute cluster (how much public compute time to hire, and in some cases where to hire it from), but did not consider automating the allocation of resources to jobs. Several other systems do automatically allocate and reallocate ongoing tasks resources in order to help them achieve their performance goals. Ferguson et al. designed Jockey [4] to monitor on-going cluster workloads, such as MapReduce and Dryad jobs, and dynamically adjust the number of concurrent cores (and other resources) they are provided with in order to keep them on schedule. Delimitrou et al. wrote the Quasar system with a similar approach and similar goals: Quasar could adjust the resources dedicated to ongoing jobs based on online monitoring and automated offline profiling data, including considering inter-job interference effects [5]. Han et al. designed a lightweight platform to adjust the resources available to on-going jobs or services by adjusting the specification of the virtual machine they inhabit [1], while Tian et al., Schwarzkopf et al. and Agarwal et al. all considered giving a cloud or cluster scheduler control over the execution plan of a distributed execution framework such as MapReduce or Dryad [11] [13], effectively placing the scheduler in charge of parallelism. These two groups of studies respectively show that automatically controlling the hybrid cloud placement of jobs with fixed resource requirements can be beneficial, and that automatically determining the degree of parallelism and thus resource requirements used in distributed execution environments can likewise improve job performance and user quality of service. In this paper we extend the prior work on HPCstyle workloads to consider the automatic scaling techniques that have been applied to persistent services and distributed execution frameworks designed for the cloud. Where prior work with HPC workloads has only considered scheduling jobs with externally specified resource requirements, we give our scheduler control of the degree of parallelism employed by each job, analogous to the automatic MapReduce or Dryad planning described above. Whilst the work is described in terms of a hybrid cloud, it also applies to any situation where multiple resource tiers are available for hire; for example, different tiers of HPC resources (in-house, local, national) or different cloud providers (a federated cloud). III. MODEL In this section we describe our model of the GATK application, a hybrid cloud and its resource manager, and the users who submit analysis tasks (in this paper, specifically GATK analysis tasks) for execution in the hybrid cloud. We also describe the known shortcomings of our model compared to the real world. A. Application The GATK application consists of a set of tools that are usually built into a pipeline consisting of multiple stages. The first stage consumes the user s input data; every other stage depends on the full output of its predecessor. Each stage runs as a separate process, whose degrees of thread-level parallelism can be independently configured. We consider a particular 7-stage mutation detection pipeline: the user submits aligned DNA or RNA reads in Binary Aligned Map (BAM) format [14], and receives a list of suspected mutations. Many of the GATK tools used in this pipeline require a great deal of I/O bandwidth, but they are ultimately compute- or memorybound rather than I/O-bound. Most (but not all) GATK tools can be accelerated by local multi-threading, which is normally set manually, but in this paper will be controlled by our resource allocation algorithm. The degree of multi-threading is fixed on startup, but can differ between pipeline stages. The stages communicate via intermediate files. We model the typical use case where the stages are run sequentially: whilst it is possible to chain some stages together using FIFOs, this can lead to wasted CPU time as stages become bound by their predecessor s output rate. We model GATK pipeline stages with single-threaded execution time that is a linear function of the size of the first stage s input data. Thus for each pipeline stage i we can specify coefficients a i and b i such that execution time E i can be given in terms of input data size d: E i (d) = a i d + b i We compute multi-threaded execution time assuming that the single-threaded execution time for a particular stage may be split by a constant factor c i into a sequential part and a part which scales perfectly. Thus threaded execution time using t threads T i (t, d) relates to E i (d) by: E i (d) T i (t, d) = c i + (1 c i )E i (d) t Thus adding more and more threads to a particular pipeline stage yields diminishing returns in accordance with Amdahl s law. The values of a i, b i and c i were determined for each pipeline stage by linear regression of offline profiling data. The profile measured the time taken to analyse a variety of input sizes and thread counts. We found these simple models represented the profiling data very accurately [15]. B. Hybrid Cloud We model a hybrid cloud with two tiers,private andpublic. Both have a constant cost per core per unit time, with private cores being cheaper. The private tier represents the owned compute resources which are common in scientific institutions, whose cost may represent an internal incentive for fair sharing. The public tier represents machines hired from a public provider. Apart from differences in cost, machines from the two tiers are used and managed in the same way. The model could trivially be extended to consider more tiers (for example, many different cloud computing providers or
3 products); however we restrict ourselves to two tiers here for simplicity of exposition. We model both tiers as a fungible pool of cores that can be assigned to stages in any combination. In practice this is effectively true of the public tier, as providers sell virtual machines of sufficiently variable size. In the private tier, in practice cores do go to waste because of problems optimally bin-packing stages onto physical nodes; however we assume that this phenomenon has negligible impact in practice and do not model it. We assume that private and public cores perform the same: although this may not be true in practice, any slowdown caused by hardware differences could be approximately modelled by adjusting the cost of public vs. private cores. We also assume both tiers have a constant price per core per unit time (i.e. we do not model variable cost products such as Amazon EC2 s spot pricing). To begin with, for simplicity we assume that the link between the private and public tier machines is sufficiently high-bandwidth that we can use a shared-store model that is, a stage can run on either tier without moving data in advance, and the GATK pipeline stages do not become I/O bound due to executing in one location or the other. The cost of moving data between sites is not explicitly modelled; however if compute cost is roughly proportional to the cost of importing data to compute upon, then it can be factored into the public tier s price per core. Later in the paper we will consider the impact of an explicit data transfer phase. C. Resource Manager The resource manager maintains a single FIFO queue of runnable pipeline stages, and assigns private and public cores to each in turn. It implements a horizontal scaling algorithm that decides, for each stage, whether to execute it using the private tier (which may entail waiting for free resources) or the public tier (which is always available, having effectively unlimited size, but is more expensive than the private tier). It also implements a resource allocation algorithm that decides, in cooperation with the horizontal scaling algorithm, how many cores to assign each stage as it starts execution, and so how much thread-level parallelism each stage can employ. The scaling algorithm and the allocation algorithm both seek to maximise profit: the difference between the core hiring cost and the reward offered by users. Whilst this resource manager model is unusually advanced in taking charge of both scaling and resource allocation, it does not incorporate some features that are common in practically deployed managers, such as dispatching stages in priority rather than FIFO order, accounting for task interference effects, or introspecting on running jobs in order to construct a performance model or determine whether they are performing as the model predicts. D. Users We assume that many independent users are submitting GATK analysis pipeline requests to our resource manager, and that they all offer reward for completing the entire pipeline (i.e. they do not care how long individual pipeline stages take). They also all offer reward on the same terms (i.e. there are no users with more urgent work than others willing to offer a premium for fast execution). Since the users are assumed to be acting independently, we model first pipeline stage arrival as a Poisson process, with each arrival carrying a batch of analysis pipeline requests. The batch size, and the input sizes of each request, are normally distributed. The parameters of these distributions can be varied to adjust the stress on the resource manager in terms of arrival rate and its variability. We experimented briefly with an alternative user model in which the mean arrival rate exhibited long-term variation, but found that this did not significantly effect our experimental results. We assume throughout that the GATK workload is the only demand on our pool of cores; in reality there would be other workloads vying for the same resources. We consider two possible schemes under which the users offer reward for completing their requested analysis pipeline runs: the time-oriented scheme and the throughput-oriented scheme. 1) Time-oriented Reward: Under the time-oriented reward scheme, users offer a reward proportional to input size for completion of the whole GATK pipeline, with a constant penalty per unit time the work is delayed. Thus the reward R given for finishing an analysis with input data size d in total time t is related by constants R max and R penalty : R(d, t) = d(r max tr penalty ) This scheme represents the case where the primary undesirable factor is the time wasted by users waiting for analysis pipelines to complete: they are paid proportional to time, and so the penalty for delaying work is similarly a linear function of time. 2) Throughput-oriented Reward: Under the throughputoriented reward scheme, users offer a reward proportional to the rate at which analysis requests are completed, and thus inversely proportional to the time to run the complete pipeline. It can be given in terms of input data size d and analysis time t in terms of a scaling factor R scale : R(d, t) = dr scale t This scheme represents the case where the user is more concerned with relative speedup than with the total time consumed for a particular run: whilst the time-oriented scheme values any minute it can save equally, the throughput-oriented scheme rewards according to the proportion of runtime that was eliminated. 3) Alternative Schemes: In practice users may value attributes of their analysis pipelines other than their simple execution time, such as the system s ability to reliably predict when they will complete, or the variability of their duration. We leave these alternative possibilities as future work.
4 IV. SCALING ALGORITHMS In this section, we describe our proposed horizontal scaling and resource allocation algorithms and the baseline algorithms we compare them against. The baselines we consider here are kept simple to facilitate easy analysis; we aim to establish that our dynamic algorithms have potential, rather than to establish that they are best in class. In future we will investigate how the opportunity for dynamic resource allocation can be exploited as part of more practical existing algorithms. A. Horizontal Scaling The resource manager s horizontal scaling algorithm selects, for each pipeline stage that reaches the front of the queue, whether to execute it using private or public tier resources. We consider two baseline horizontal scaling algorithms for comparison. The first is the always-scale algorithm, which always hires public tier resources if all private-tier resources are currently occupied. Under this scheme, tasks never queue. The second is the never-scale algorithm, which never hires public resources at all, modelling a conventional local HPC cluster. Competing with these two baselines, we propose a scheme called predictive horizontal scaling. If all private cores are occupied, this algorithm weighs the cost of public cores against the loss of reward that will result from waiting for private cores to become free. Our predictive algorithm keeps track of analysis stages that are currently running in private tier resources, and an expected completion time for each one, which is computed using the application model given in section III-A. Thus it can compute the expected queueing time for each task in the queue, which is simply the time until sufficient expected completion times have passed that enough private tier cores have been released to run the task. The expected execution time for the whole pipeline run is also computed, with the precise method depending on the resource allocation algorithm in use, since it depends on how many cores will be dedicated to future pipeline stages. Writing q for the current queue of runnable pipeline stages, writing Q i for the time a stage i in that queue is expected to wait to reach the front, and writing E i for the expected total execution time for i s whole pipeline, including this stage, the predictive algorithm computes the reward loss R loss due to waiting for the stage h at the head of the queue to acquire private resources: R loss (q, h) = i q (R(d i, E i + Q i ) R(d i, E i + Q i Q h )) Thus, writing C public and C private for the two tiers prices and S h for the expected execution time of the single pipeline stage currently at the head of the queue, it calculates the profit due to running stage h using public resources: P (q, h) = R loss (q, h) S h (C public C private ) This simply weighs the extra cost due to running in a more expensive resource tier compared to the reward loss resulting from delaying every task in the queue. The expected reward is recomputed each time the queue s state changes, either because of an analysis stage being dequeued and dispatched, or a new stage added to the end of the queue. The next task is dispatched against private cores whenever they become available, or against public cores whenever this formula indicates doing so would be profitable. When public resources are expensive, this has the practical result of roughly establishing a threshold queue size beyond which hiring public resources is considered profitable. This is because the expected reward from reducing the delay experienced by every stage in the queue, on average, scales linearly with the length of the queue. One problem that this algorithm experiences is how to deal with inaccurate predictions regarding a task s completion time. The simplest version assumes that a running task that should already have finished, but has not, will complete immediately. Later in this paper we will investigate alternative approaches to predicting when late stages will complete. B. Resource Allocation As described previously, each GATK analysis stage has distinct scaling behaviour with respect to the degree of threadlevel parallelism employed. Some stages scale near-perfectly, whilst others do not scale at all. The resource allocation algorithm s task is to consider their scaling behaviour and the current level of cloud resource utilisation, and thus choose what degree of thread-level parallelism should be used for each pipeline stage when it starts execution. The resource allocation algorithm can also be called upon to predict how many cores it will assign a future pipeline stage, in order to help the horizontal scaling algorithm estimate whole pipeline execution times. The baseline resource allocation algorithm allocates a constant degree of parallelism to each pipeline stage; in our figures we call the algorithm best constant plan. The allocation may differ from one pipeline stage to another, but does not depend on current resource utilisation. In effect we take the maximum profit achievable over all possible constant execution plans, although in practice we use a hill-climbing algorithm to lessen the cost of finding the best plan. We propose three variants of our dynamic resource allocation algorithm, all of which attempt to account for current levels of resource utilisation when picking how many cores to assign the next runnable task, but which vary slightly in their priorities. Our goal in proposing three variants is to explore the relative merits of their contrasting choices of optimism and pessimism concerning the future, and of fixed vs. adaptive short-term planning. The first, called greedy resource allocation, calculates the anticipated reward if the next pipeline stage were executed with a variety of possible levels of parallelism, assuming that future stages of the same pipeline run single-threaded. Thus, if available resources permit, it will achieve maximum reward now by running the current pipeline stage with a high degree of parallelism. It will be discouraged from doing so either
5 because the additional resources do not reduce execution time enough to generate sufficient extra reward, or because publictier resources would be needed and they are too expensive. When predicting future stage parallelism, it pessimistically assumes it will be forced to run them single-threaded. Our second proposed algorithm, called long-term resource allocation, takes the opposite approach: rather than try to maximise reward from each pipeline stage as it becomes runnable, it selects an execution plan for all pipeline stages when the first one becomes runnable, basing the reward it anticipates from doing so on the current degree of resource utilisation. The execution plans it considers represent a spectrum ranging from optimal resource usage (a purely single-threaded execution) to optimal profit when running on private infrastructure (assigning extra cores to the most scalable pipeline stages). The array of possible plans are pre-computed by calculating the expected profit from running every possible permutation of thread counts assigned to each pipeline stage. These plans are sorted by profit and filtered such that expected profit increases monotonically with CPU time invested (i.e. plans are eliminated whenever they would invest more resources and achieve a worse outcome than some other plan). Ideally we would consider every such plan whenever a new pipeline run is about to begin; however doing so is too computationally costly, so we sample the list 1 times at regular intervals to produce a shortlist, which is consulted per arrival to yield an approximation to the best possible execution plan. Since the execution plan is decided once and for all when the first stage starts to run, when asked to predict future pipeline stage parallelism it can do so accurately. The third algorithm, called long-term adaptive resource allocation, represents a compromise between the first two: it precomputes a mapping from a task s history (how many cores were employed in each stage that has already run) to the ideal plan for the rest of the job assuming private tier resources. It picks how many cores to actually assign using the same algorithm as greedy scaling, but limited not to exceed the ideal case. For example, if the ideal plan for a new job indicated the first pipeline stage should use 2 threads, this algorithm would weigh the anticipated profit from using either one or two threads, but not more. If it deviates from the ideal plan due to current circumstances, then upon running the second stage it will look up the ideal plan given that stage one ran single-threaded, which will most likely assign more cores to later stages to make up for lost time, or on the other hand might note that given the slowdown experienced so far, it is no longer worth investing extra resources in later stages. The long-term adaptive algorithm predicts future stage parallelism by optimistically assuming the ideal plan given the pipeline s history will in fact be used. The simplest versions of these algorithms tend to snap between two different execution plans: the optimal scaling for private and public tier resources. However, all can be modified by a sharing factor, under which the algorithms assume that the present overall workload will shortly increase by that factor and compute the best option for all of these hypothetical stages rather than just the stage that is presently under consideration. This represents the consideration that if another stage arrived right now with similar needs it would be better overall if they shared them, rather than run in series or hire public resources for the other task. Setting the sharing factor may be beneficial because it encourages fair sharing, or deleterious when resources are left available for future tasks that never in fact materialise. V. IMPLEMENTATION We implemented a discrete event simulator realising the model and scaling algorithms described above in roughly 1, lines of Python. It models the queue of runnable pipeline stages, the pool of private and public cores available to run them, our baseline and candidate scaling and allocation algorithms, and the GATK application itself, the latter being accomplished by predicting GATK execution times using the equations given in III-A. Our model gives formulae for predicting pipeline stages execution time given their characteristics; however, in reality these predictions will not always be accurate. Our simulator accounts for this by multiplying the predicted time by a factor drawn from a normal distribution centred at one, constrained to the range (.1, 1.9), and with configurable standard deviation. Thus all algorithms experience a world where their predictions are on average correct, but with variable error. In future work we may extend the simulator to model interference effects which may reduce the performance of multiple jobs running concurrently below that observed for each in isolation. However, for the purposes of this paper we continue to assume that no systematic error is introduced to the tasks predicted runtime. The simulator source is available at com/smowton/scan/tree/escience/sim. VI. SIMULATION RESULTS We explored the parameter space of our model and its simulated universe in order to determine how our scaling and resource allocation algorithms behave compared to the baselines given, and compared to each other. Whilst the arbitrary nature of the simulated cost and time units means we cannot draw conclusions that are concretely applicable to running the GATK application in the real world, we can suggest how and why certain algorithms produce good behaviour in simulation, and therefore present interesting directions for further study. Our goal is not to establish that our proposed algorithms are optimal, but rather to establish when and why they are beneficial or harmful compared to their respective baselines, which we assert are representative of typical simple policies seen in practice. The arbitrary time and cost units employed throughout these simulations are denoted TUs and CUs respectively. A. Experimental Configuration We ran a very large number of simulation sessions, varying many different attributes of the simulated situation. Table
6 Active stages or cores 1 Active analysis stages or cores over simulation period Stages Cores 8 1 Sim time elapsed (TUs) Fig. 1. Trace of active pipeline stages and allocated cores for a system with mean inter-arrival interval 2. TUs. Active stages or cores Active analysis stages or cores over simulation period Stages Cores 8 1 Sim time elapsed (TUs) Fig. 2. Trace of active pipeline stages and allocated cores for a system with mean inter-arrival interval 3. TUs. I gives the variable and fixed parameters we used (recall that the various R parameters influence the reward given for completing a pipeline run in a given time, as described in III-D). It also gives the fixed a i, b i and c i parameters (described in section III-A) that determine the relationship between input data size, thread count and execution time for each pipeline stage. The scalability factors were derived from profiling of the real GATK with a variety of thread counts and input data sizes; the other parameters were selected by trial and error in order to exhibit a cross-section of the system s behaviour. The arrival batch size and job size parameters were chosen to produce significant short-term workload variation, such that the scaling and resource allocation algorithms would experience a wide range of cloud utilisation during a given simulation run. All our experiments measure how performance varies with changing system workload by varying the mean job interarrival interval. For context, a mean interval of 2. time units represents a very busy system where much public resource hiring is necessary to keep the task queue from growing out of control, whilst a mean interval of 3. time units corresponds to a quiet system where the private resource tier is rarely if ever fully occupied. Figures 1 and 2 show smoothed traces for each of these two extremes. Both examples run with our predictive horizontal scaling and greedy resource allocation algorithms enabled; note their clear preference for running with 1 cores allocated (the size of the private tier). To give an idea of scale, a total of roughly 1, and 15, pipeline runs completed for the lighter and heavier workloads exhibited respectively. Whenever a best constant plan result is depicted, the best plan has been determined per value of the independent variable; profit would be reduced if a single constant plan were selected Variable Parameter Values Greedy, long-term, Resource allocation algorithm long-term adaptive, best constant Always-scale, Horizontal scaling algorithm never-scale, predictive scaling Mean job inter-arrival interval 2., TUs Task completion reward function Time-based, throughput-based Public tier core cost (CUs / TU) 2, 5, 8, 11 Fixed Parameter Value Simulation time (TUs) 1, Private tier core cost (CUs / TU) 5 R max (CUs) R penalty (CUs) 15 R scale (CUs / TU) 15, Possible instance sizes (cores) 1, 2, 4, 8, 16 Mean jobs per arrival event 3 Jobs per arrival variance 2 Mean job size (arbitrary units) 5 Job size variance 1 Pipeline stage a i b i c i TABLE I VARIABLE AND FIXED SIMULATION ATTRIBUTES, AND PIPELINE STAGE PARAMETERS Profit vs. mean arrival interval for various horizontal scaling functions Public-tier hire cost (CUs per TU): 5 Resource allocation algorithm: Best constant plan Horizontal scaling function Predictive Always-scale Never-scale Fig. 3. Horizontal scaling algorithm vs. profit to use across all workload levels. Due to space limitations we will not present all of our experimental data, but instead will call out and illustrate specific interesting subsets. When figures show the two different reward schemes under consideration, note that the absolute values of profit achieved are not directly comparable because the rewards given by the two schemes are arrived at using different formulae, and so are themselves incomparable. All measurements in this section were repeated 1 times, and all error bars represent a single standard deviation either side of the mean over these 1 repetitions. B. Horizontal Scaling We found that our predictive horizontal scaling algorithm achieves a sound compromise between the behaviour of the always-scale and never-scale baselines when running with a constant resource allocation policy (i.e. when every run for a particular data point uses the same execution plan). Figure 3 shows an example of this behaviour, where the
7 Profit vs. mean arrival interval for various horizontal scaling functions Public-tier hire cost (CUs per TU): 8 Resource allocation algorithm: Best constant plan Horizontal scaling function Predictive Always-scale Never-scale Fig. 4. Horizontal scaling algorithm vs. profit Profit vs. mean arrival interval for various resource allocation algorithms Horizontal scaling function: Always-scale Public-tier hire cost (CUs per TU): Fig. 6. Resource allocation algorithm Greedy Long-term Long-term adaptive Best constant plan Resource allocation algorithm vs. profit Profit vs. mean arrival interval for various horizontal scaling functions Public-tier hire cost (CUs per TU): 5 Resource allocation algorithm: Long-term adaptive Horizontal scaling function Predictive Always-scale Never-scale Fig. 5. Horizontal scaling algorithm vs. profit predictive algorithm mimics the never-scale baseline with a light workload and the always-scale baseline with a heavy load. At intermediate loads it performs marginally better than either baseline, although it remains within a standard deviation of either. At the heaviest workloads, when using predictive scaling, tasks often waited briefly in the queue for private resources, before the queue grew and dispatching a task to the public cloud became profitable. This leads to worse performance than the always-scale baseline because tasks are being dispatched to the public cloud almost as often, but sometimes queued briefly beforehand. A more refined algorithm might learn that its queueing decisions were often wrong and adjust its threshold for taking them, thus approaching the (in this case) optimal always-scale policy more closely. For light workloads the predictive algorithm s hesitation is almost always correct, and it performs like the never-scale baseline. Prediction briefly outperforms either baseline when a queued stage has a roughly 5/5 chance of ending up pushed into the public cloud or successfully waiting for private resources. Altering the cost of public-tier resources simply changes where the workload becomes heavy enough that the predictive scaling scheme briefly becomes superior, followed by the always-scale scheme. Figure 4 shows the case when the public tier cost has been changed from 5 to 8 CUs per TU; other data points follow similar patterns. Altering the reward scheme similarly alters the break-even point between the different schemes, but not the fundamental pattern of behaviour. Using a more flexible resource allocation policy leads to the three scaling algorithms behaving very similarly at light workloads. For example, Figure 5 shows the same situation as Figure 3 only using long-term adaptive resource allocation instead of the best constant baseline. The adaptive algorithm Profit vs. mean arrival interval for various resource allocation algorithms Horizontal scaling function: Always-scale Public-tier hire cost (CUs per TU): 5 Resource allocation algorithm Greedy Long-term Long-term adaptive Best constant plan Fig. 7. Resource allocation algorithm vs. profit reduces the number of cores used per pipeline stage when running in the public cloud, reducing the impact of the alwaysscale baseline s eagerness to use expensive public resources. C. Resource Allocation When running with the always-scale baseline horizontal scaling algorithm, we found that our dynamic resource allocation policies do best when public tier cost is moderate. When public resources are cheap (Figure 6) the baseline constant resource allocation policy performs best because its chosen execution plan fits both tiers; when they are expensive the public tier is rarely used, and so a single plan that suits the private tier is acceptable. At intermediate levels our long-term adaptive and greedy resource allocation algorithms are able to beat the best constant plan at most workload levels, as shown in Figure 7. They perform better because the optimal plan involves a roughly even mix of highly-parallel and singlethreaded executions, and so the penalty for trying to constantly adopt either one is significant. Figure 8 shows the same situation as 7, only using the throughput-based reward scheme instead of the time-based scheme used so far. The long-term adaptive scheme outperforms the greedy scheme because the latter pessimistically assumes that the current stage is the only opportunity to optimise, whilst the former optimistically plans the rest of the pipeline; when using a reward scheme that favours proportional reductions to the whole pipeline runtime this makes the optimistic scheme more aggressive. The non-adaptive longterm allocation plan performs worst for both reward schemes because it plans the whole pipeline run at the beginning based on current circumstances, rigidly following its plan even if it switches from one cloud tier to the other between pipeline stages.
8 Profit vs. mean arrival interval for various resource allocation algorithms Horizontal scaling function: Always-scale Public-tier hire cost (CUs per TU): 5 Resource allocation algorithm Greedy Long-term Long-term adaptive Best constant plan Fig. 8. Resource allocation algorithm vs. profit Profit vs. mean arrival interval for various resource allocation algorithms Horizontal scaling function: Predictive Public-tier hire cost (CUs per TU): 8 Resource allocation algorithm Greedy Long-term Long-term adaptive Best constant plan Fig. 9. Resource allocation algorithm vs. profit Running our resource allocators with predictive horizontal scaling also enabled results in the greedy and long-term adaptive allocators consistently improving over the best constant plan. Figure 9 shows a case where both function usefully, with the time-based reward scheme and moderately high public resource costs. The benefits are clearest at moderate workloads where the optimal workload balance mixes single- and multithreaded pipeline stage runs; at very low and high workloads the schemes converge as the range of viable choices shrinks. Switching to the throughput-oriented reward scheme but keeping all other attributes the same (Figure 1) differentiates the greedy and long-term adaptive algorithms, as the long-term adaptive algorithm s optimism about future pipeline stages again leads to more aggressive exploitation of opportunities to increase profit. Varying the cost of public cores yields similar behaviour when public tier cores cost 5, 8 or 11 CUs / TU; when the public cores are at their cheapest (2 CUs / TU) the best constant plan wins out because there is no longer an incentive to behave differently when running on private vs. public cores. D. Sharing Factor We expected that setting the sharing factor (defined in IV-B) would improve the performance of our resource allocation algorithms by encouraging collective optimisation when several jobs are competing for the last available private tier cores. However, in fact we found that only the long-term resource allocation policy benefited from setting the sharing factor above 1. This is most likely because the long-term allocation policy s inability to modify its execution plan when a particular pipeline run moves from one tier to the other between stages can lead to excessive cost as private-tier-optimised plans are run against the more expensive public tier; the sharing factor Profit vs. mean arrival interval for various resource allocation algorithms Horizontal scaling function: Predictive Public-tier hire cost (CUs per TU): 8 Resource allocation algorithm Greedy Long-term Long-term adaptive Best constant plan Fig. 1. Resource allocation algorithm vs. profit Profit vs. mean arrival interval for various greed factors Horizontal scaling function: Predictive Resource allocation algorithm: Long-term Greed factor Fig. 11. Sharing factor vs. profit ameliorated that behaviour slightly by encouraging it to plan conservatively when the private tier is nearly fully occupied. Even then the benefit is only realised when the workload is heavy enough that resource usage frequently exceeds the capacity of the private tier. Figure 11 gives an example where the benefit resulting from setting the sharing factor is most clear, while Figure 12 shows a similar situation that is typical of the other resource allocation policies, where the default sharing factor of 1 produces the best performance at all workload levels. All of these results were obtained with the public tier price per core set to 5 CUs per TU (i.e. 1 times the cost of a private tier core). It is possible that more costly public-tier cores, and so a greater incentive to fit tasks into the private tier whenever possible, might make a sharing factor above one profitable for other resource allocation policies; time did not permit us to investigate this possibility, but we intend to do so in future. E. Prediction Accuracy Our predictive horizontal scaling algorithm forecasts when running jobs will complete in order to choose between waiting for private tier cores and hiring public tier cores now. As described in section V, our simulator derives the actual time for a pipeline stage to complete from the prediction, multiplied by an error factor drawn from a distribution centred on one, but with a configurable standard deviation. In Figure 13 we plot a typical case when the error factor is varied from perfect (standard deviation = ) to quite poor (standard deviation =.3). Profit falls significantly when the system is busy and the error factor is high across all reward schemes and resource allocation algorithms. This occurs because the basic predictive horizontal scaling
9 1 8 Profit vs. mean arrival interval for various greed factors Horizontal scaling function: Predictive Resource allocation algorithm: Long-term adaptive Greed factor Fig. 12. Sharing factor vs. profit Profit vs. mean arrival interval for various error factor standard deviations Horizontal scaling function: Predictive with uniform window Resource allocation algorithm: Greedy Fig. 14. Error factor vs. profit Error factor standard deviation Profit vs. mean arrival interval for various error factor standard deviations Horizontal scaling function: Predictive Resource allocation algorithm: Greedy Error factor standard deviation Fig. 13. Error factor vs. profit algorithm forecasts that late pipeline stages will complete immediately, which is not born out in practice. Therefore we made a simple augmentation to the basic algorithm to predict job completion according to a uniform probability distribution centred around the basic prediction, with a configurable width relative to their total runtime, called the maximum error. For example, setting the maximum error to.5 says that we should expect job completion in a window from.5 to 1.5 times the basic predicted completion time. Once some of the window has passed, this augmented algorithm predicts the expected completion time given the knowledge that it has not yet completed. Since the distribution is uniform, this is simply the midpoint between the current simulation time and the end of the window. The upshot is that when tasks are running late, we continue to predict their completion at least some time into the future. This encourages public tier core hiring if it is profitable to avoid the expected wait. Figure 13 shows how profit varies with workload using an otherwise identical setup to Figure 14 and a maximum error of.9 chosen because it is the maximum error that our simulation can in fact produce, and therefore the ideal case. The performance improvement is significant when the system is busy. The specifics of this improvement to the predictive scaling algorithm are clearly imperfect for one thing, the distribution of finishing times for late tasks is not uniform, either in our simulator or in real life, and for another setting the maximum error parameter ought properly to be learned rather than manually supplied but the point to be made is that some mechanism for sensibly predicting when late tasks will complete is necessary for the predictive horizontal scaling algorithm to function in the presence of inaccurate predictions. These experiments were conducted at a public tier cost of 5 CUs per core-tu. Since the basic predictive scaling algorithm Profit vs. mean arrival interval for various horizontal scaling functions Inter-tier transmission rate (job size units / TU): 5 Resource allocation algorithm: Long-term adaptive Horizontal scaling function Predictive Predictive network aware Fig. 15. Network bandwidth vs. profit inappropriately discourages public tier hiring when running tasks are late to finish, if the experiment was repeated with varying public-tier cost we would expect the harm resulting from doing so to be greatest when public cores are cheapest. F. Network Bandwidth Previous experiments assumed a high-bandwidth inter-tier connection such that transfer time and costs are irrelevant. We extended our model to limit the inter-tier connection bandwidth, and introduced a network aware variant of our predictive horizontal scaling system that accounts for transmission delay when projecting a task s runtime. Pipeline stages queue to use the inter-tier link whenever a pipeline stage is to execute at a different tier than its predecessor, with the time taken to move their data determined by the size of the particular pipeline run s input data and the capacity of the link. The network-aware predictive algorithm accounts for the link by adding the expected time for the transmit queue to clear to the estimated execution time for a public tier stage. We found that when the link s bandwidth is low (Figure 15 shows a representative example) then adding network awareness improves its performance by avoiding costly trips to the public tier; however when its bandwidth is high (Figure 16 shows a case that is otherwise identical to Figure 15) adding network awareness actually hurts performance when the workload is heavy. This is likely because, as seen in previous experiments, at this level of workload an alwaysscale policy is optimal, and network awareness is providing a slight extra incentive not to hire public resources. We did not model a particular cost associated with network transmission; however, since data transmission time is proportional to data size which is itself nearly proportional to compute time, adding this would be very similar in effect to
10 1 1 8 Profit vs. mean arrival interval for various horizontal scaling functions Inter-tier transmission rate (job size units / TU): 2 Resource allocation algorithm: Long-term adaptive Horizontal scaling function Predictive Predictive network aware Fig. 16. Network bandwidth vs. profit increasing the public tier s compute price. We also assumed a network link that can be shared optimally, so concurrent flows do not impact one another s throughput. While this is not true in practice when large numbers of independent machines fight for bandwidth, as the resource coordinator we are well positioned to use an efficient cooperative sharing solution if necessary. G. Summary We explored all permutations of resource allocation algorithm, horizontal scaling algorithm, reward scheme and workload, and found that our proposed algorithms are often able to improve performance above their respective baselines, demonstrating that real-world workloads using the GATK and similar analysis tools may benefit from intelligent cloud scaling and pipeline stage sizing. We found that our long-term adaptive resource allocation algorithm outperforms the best-constant baseline algorithm in many circumstances, and that our predictive horizontal scaling represents a useful compromise between the two baseline schemes that always or never scale when private resources are fully occupied. We also found that altruistic or generous behaviour is not globally profitable in the situation we analysed, and that a scheme to forecast the likely completion time of late jobs is vital to the correct functioning of scaling algorithms that rely on predicting future job completion times. VII. CONCLUSION We have explored the design space of automatic algorithms to control cloud resource hiring and task resource allocation in a hybrid cloud situation, taking the Genome Analysis Toolkit as a particular case study for this exploration. Our simulation study found that our candidate algorithms were able to outperform simple baseline schemes in a wide variety of circumstances, and therefore argue that (a) classical HPCstyle workloads like the GATK can benefit from this kind of automatic scaling and control, and (b) that our candidate algorithms represent a useful starting point to improve their performance in the real world. In future work we intend to adapt existing scaling and scheduling algorithms that have been used to manage persistent services or distributed execution frameworks to the HPC use case and see how their behaviour compares to our candidate algorithms. We also plan to conduct large-scale tests in real cloud environments to validate the simplifying assumptions of our simulated cloud environment, or to determine what barriers to real world applicability exist. ACKNOWLEDGEMENT This work was supported by the European Commission s CELAR (31779) FP7 project (FP7- ICT-211-8). We thank the Scientific Computing team and RNA Biology Group at CRUK MI for their helpful comments. REFERENCES [1] R. Chen, G. I. Mias, J. Li-Pook-Than, L. Jiang, H. Y. Lam, R. Chen, E. Miriami, K. J. Karczewski, M. Hariharan, F. E. Dewey et al., Personal omics profiling reveals dynamic molecular and medical phenotypes, Cell, vol. 148, no. 6, pp , 212. [2] M. S. Lawrence, P. Stojanov, C. H. Mermel, J. T. Robinson, L. A. Garraway, T. R. Golub, M. Meyerson, S. B. Gabriel, E. S. Lander, and G. Getz, Discovery and saturation analysis of cancer genes across 21 tumour types, Nature, vol. 55, pp , 214. [3] J. N. Weinstein, E. A. Collisson, G. B. Mills, K. R. M. Shaw, B. A. Ozenberger, K. Ellrott, I. Shmulevich, C. Sander, and J. M. Stuart, The cancer genome atlas pan-cancer analysis project, Nature Genetics, vol. 45, pp , 213. [4] A. D. Ferguson, P. Bodik, S. Kandula, E. Boutin, and R. Fonseca, Jockey: guaranteed job latency in data parallel clusters, in Proceedings of the 7th ACM european conference on Computer Systems. ACM, 212, pp [5] C. Delimitrou and C. Kozyrakis, Quasar: Resource-efficient and qosaware cluster management, in Proceedings of the 19th international conference on Architectural support for programming languages and operating systems. ACM, 214, pp [6] A. McKenna, M. Hanna, E. Banks, A. Sivachenko, K. Cibulskis, A. Kernytsky, K. Garimella, D. Altshuler, S. Gabriel, M. Daly, and M. A. DePristo, The Genome Analysis Toolkit: a MapReduce framework for analyzing next-generation DNA sequencing data. Genome research, vol. 2, no. 9, pp , Sep. 21. [Online]. Available: [7] R. Van den Bossche, K. Vanmechelen, and J. Broeckhove, Online cost-efficient scheduling of deadline-constrained workloads on hybrid clouds, Future Generation Computer Systems, vol. 29, no. 4, pp , 213. [8] M. Malawski, K. Figiela, M. Bubak, E. Deelman, and J. Nabrzyski, Scheduling multi-level deadline-constrained scientific workflows on clouds based on cost optimization, Scientific Programming, 214. [9] H. Kim, Y. El-Khamra, I. Rodero, S. Jha, and M. Parashar, Autonomic management of application workflows on hybrid computing infrastructure, Scientific Programming, vol. 19, no. 2-3, pp , 211. [1] R. Han, L. Guo, M. M. Ghanem, and Y. Guo, Lightweight resource scaling for cloud applications, in Cluster, Cloud and Grid Computing (CCGrid), th IEEE/ACM International Symposium on. IEEE, 212, pp [11] F. Tian and K. Chen, Towards optimal resource provisioning for running mapreduce programs in public clouds, in Cloud Computing (CLOUD), 211 IEEE International Conference on. IEEE, 211, pp [12] M. Schwarzkopf, A. Konwinski, M. Abd-El-Malek, and J. Wilkes, Omega: flexible, scalable schedulers for large compute clusters, in Proceedings of the 8th ACM European Conference on Computer Systems. ACM, 213, pp [13] S. Agarwal, S. Kandula, N. Bruno, M.-C. Wu, I. Stoica, and J. Zhou, Re-optimizing data-parallel computing, in Proceedings of the 9th USENIX conference on Networked Systems Design and Implementation. USENIX Association, 212, pp [14] H. Li, B. Handsaker, A. Wysoker, T. Fennell, J. Ruan, N. Homer, G. Marth, G. Abecasis, R. Durbin et al., The sequence alignment/map format and samtools, Bioinformatics, vol. 25, no. 16, pp , 9. [15] C. Smowton, A. Balla, D. Antoniades, C. Miller, G. Pallis, M. Dikaiakos, and W. Xing, Analysing cancer genomics in the elastic cloud, in Proceedings of the CCGrid Workshop on Clusters, Clouds and Grids for Life Sciences (to appear). IEEE/ACM, 215.
Genome Analysis in a Dynamically Scaled Hybrid Cloud
Genome Analysis in a Dynamically Scaled Hybrid Cloud Chris Smowton*, Georgiana Copil**, Hong- Linh Truong**, Crispin Miller* and Wei Xing* * CRUK Manchester ** TU Vienna In a Nutshell Users want to run
CHAPTER 5 WLDMA: A NEW LOAD BALANCING STRATEGY FOR WAN ENVIRONMENT
81 CHAPTER 5 WLDMA: A NEW LOAD BALANCING STRATEGY FOR WAN ENVIRONMENT 5.1 INTRODUCTION Distributed Web servers on the Internet require high scalability and availability to provide efficient services to
Keywords: Dynamic Load Balancing, Process Migration, Load Indices, Threshold Level, Response Time, Process Age.
Volume 3, Issue 10, October 2013 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Load Measurement
A SURVEY ON MAPREDUCE IN CLOUD COMPUTING
A SURVEY ON MAPREDUCE IN CLOUD COMPUTING Dr.M.Newlin Rajkumar 1, S.Balachandar 2, Dr.V.Venkatesakumar 3, T.Mahadevan 4 1 Asst. Prof, Dept. of CSE,Anna University Regional Centre, Coimbatore, [email protected]
Resource Allocation Schemes for Gang Scheduling
Resource Allocation Schemes for Gang Scheduling B. B. Zhou School of Computing and Mathematics Deakin University Geelong, VIC 327, Australia D. Walsh R. P. Brent Department of Computer Science Australian
Performance of networks containing both MaxNet and SumNet links
Performance of networks containing both MaxNet and SumNet links Lachlan L. H. Andrew and Bartek P. Wydrowski Abstract Both MaxNet and SumNet are distributed congestion control architectures suitable for
Adaptive Probing: A Monitoring-Based Probing Approach for Fault Localization in Networks
Adaptive Probing: A Monitoring-Based Probing Approach for Fault Localization in Networks Akshay Kumar *, R. K. Ghosh, Maitreya Natu *Student author Indian Institute of Technology, Kanpur, India Tata Research
A REVIEW PAPER ON THE HADOOP DISTRIBUTED FILE SYSTEM
A REVIEW PAPER ON THE HADOOP DISTRIBUTED FILE SYSTEM Sneha D.Borkar 1, Prof.Chaitali S.Surtakar 2 Student of B.E., Information Technology, J.D.I.E.T, [email protected] Assistant Professor, Information
Computing Load Aware and Long-View Load Balancing for Cluster Storage Systems
215 IEEE International Conference on Big Data (Big Data) Computing Load Aware and Long-View Load Balancing for Cluster Storage Systems Guoxin Liu and Haiying Shen and Haoyu Wang Department of Electrical
Overlapping Data Transfer With Application Execution on Clusters
Overlapping Data Transfer With Application Execution on Clusters Karen L. Reid and Michael Stumm [email protected] [email protected] Department of Computer Science Department of Electrical and Computer
IMCM: A Flexible Fine-Grained Adaptive Framework for Parallel Mobile Hybrid Cloud Applications
Open System Laboratory of University of Illinois at Urbana Champaign presents: Outline: IMCM: A Flexible Fine-Grained Adaptive Framework for Parallel Mobile Hybrid Cloud Applications A Fine-Grained Adaptive
Hadoop Fair Scheduler Design Document
Hadoop Fair Scheduler Design Document October 18, 2010 Contents 1 Introduction 2 2 Fair Scheduler Goals 2 3 Scheduler Features 2 3.1 Pools........................................ 2 3.2 Minimum Shares.................................
A High Performance Computing Scheduling and Resource Management Primer
LLNL-TR-652476 A High Performance Computing Scheduling and Resource Management Primer D. H. Ahn, J. E. Garlick, M. A. Grondona, D. A. Lipari, R. R. Springmeyer March 31, 2014 Disclaimer This document was
Analysis of Job Scheduling Algorithms in Cloud Computing
Analysis of Job Scheduling s in Cloud Computing Rajveer Kaur 1, Supriya Kinger 2 1 Research Fellow, Department of Computer Science and Engineering, SGGSWU, Fatehgarh Sahib, India, Punjab (140406) 2 Asst.Professor,
Privacy-Aware Scheduling for Inter-Organizational Processes
Privacy-Aware Scheduling for Inter-Organizational Processes Christoph Hochreiner Distributed Systems Group, Vienna University of Technology, Austria [email protected] Abstract Due to the
A Hybrid Load Balancing Policy underlying Cloud Computing Environment
A Hybrid Load Balancing Policy underlying Cloud Computing Environment S.C. WANG, S.C. TSENG, S.S. WANG*, K.Q. YAN* Chaoyang University of Technology 168, Jifeng E. Rd., Wufeng District, Taichung 41349
Benchmarking Hadoop & HBase on Violin
Technical White Paper Report Technical Report Benchmarking Hadoop & HBase on Violin Harnessing Big Data Analytics at the Speed of Memory Version 1.0 Abstract The purpose of benchmarking is to show advantages
Introduction to Apache YARN Schedulers & Queues
Introduction to Apache YARN Schedulers & Queues In a nutshell, YARN was designed to address the many limitations (performance/scalability) embedded into Hadoop version 1 (MapReduce & HDFS). Some of the
Comparative Analysis of Congestion Control Algorithms Using ns-2
www.ijcsi.org 89 Comparative Analysis of Congestion Control Algorithms Using ns-2 Sanjeev Patel 1, P. K. Gupta 2, Arjun Garg 3, Prateek Mehrotra 4 and Manish Chhabra 5 1 Deptt. of Computer Sc. & Engg,
Optimal Service Pricing for a Cloud Cache
Optimal Service Pricing for a Cloud Cache K.SRAVANTHI Department of Computer Science & Engineering (M.Tech.) Sindura College of Engineering and Technology Ramagundam,Telangana G.LAKSHMI Asst. Professor,
Shareability and Locality Aware Scheduling Algorithm in Hadoop for Mobile Cloud Computing
Shareability and Locality Aware Scheduling Algorithm in Hadoop for Mobile Cloud Computing Hsin-Wen Wei 1,2, Che-Wei Hsu 2, Tin-Yu Wu 3, Wei-Tsong Lee 1 1 Department of Electrical Engineering, Tamkang University
CHAPTER 1 INTRODUCTION
1 CHAPTER 1 INTRODUCTION 1.1 MOTIVATION OF RESEARCH Multicore processors have two or more execution cores (processors) implemented on a single chip having their own set of execution and architectural recourses.
DynamicCloudSim: Simulating Heterogeneity in Computational Clouds
DynamicCloudSim: Simulating Heterogeneity in Computational Clouds Marc Bux, Ulf Leser {bux leser}@informatik.hu-berlin.de The 2nd international workshop on Scalable Workflow Enactment Engines and Technologies
Network Infrastructure Services CS848 Project
Quality of Service Guarantees for Cloud Services CS848 Project presentation by Alexey Karyakin David R. Cheriton School of Computer Science University of Waterloo March 2010 Outline 1. Performance of cloud
PERFORMANCE ANALYSIS OF PaaS CLOUD COMPUTING SYSTEM
PERFORMANCE ANALYSIS OF PaaS CLOUD COMPUTING SYSTEM Akmal Basha 1 Krishna Sagar 2 1 PG Student,Department of Computer Science and Engineering, Madanapalle Institute of Technology & Science, India. 2 Associate
Energy Constrained Resource Scheduling for Cloud Environment
Energy Constrained Resource Scheduling for Cloud Environment 1 R.Selvi, 2 S.Russia, 3 V.K.Anitha 1 2 nd Year M.E.(Software Engineering), 2 Assistant Professor Department of IT KSR Institute for Engineering
A Scalable Network Monitoring and Bandwidth Throttling System for Cloud Computing
A Scalable Network Monitoring and Bandwidth Throttling System for Cloud Computing N.F. Huysamen and A.E. Krzesinski Department of Mathematical Sciences University of Stellenbosch 7600 Stellenbosch, South
The Importance of Software License Server Monitoring
The Importance of Software License Server Monitoring NetworkComputer How Shorter Running Jobs Can Help In Optimizing Your Resource Utilization White Paper Introduction Semiconductor companies typically
BSPCloud: A Hybrid Programming Library for Cloud Computing *
BSPCloud: A Hybrid Programming Library for Cloud Computing * Xiaodong Liu, Weiqin Tong and Yan Hou Department of Computer Engineering and Science Shanghai University, Shanghai, China [email protected],
Contributions to Gang Scheduling
CHAPTER 7 Contributions to Gang Scheduling In this Chapter, we present two techniques to improve Gang Scheduling policies by adopting the ideas of this Thesis. The first one, Performance- Driven Gang Scheduling,
Survey on Job Schedulers in Hadoop Cluster
IOSR Journal of Computer Engineering (IOSR-JCE) e-issn: 2278-0661, p- ISSN: 2278-8727Volume 15, Issue 1 (Sep. - Oct. 2013), PP 46-50 Bincy P Andrews 1, Binu A 2 1 (Rajagiri School of Engineering and Technology,
Energy Efficient MapReduce
Energy Efficient MapReduce Motivation: Energy consumption is an important aspect of datacenters efficiency, the total power consumption in the united states has doubled from 2000 to 2005, representing
A Study on Workload Imbalance Issues in Data Intensive Distributed Computing
A Study on Workload Imbalance Issues in Data Intensive Distributed Computing Sven Groot 1, Kazuo Goda 1, and Masaru Kitsuregawa 1 University of Tokyo, 4-6-1 Komaba, Meguro-ku, Tokyo 153-8505, Japan Abstract.
A Load Balancing Algorithm based on the Variation Trend of Entropy in Homogeneous Cluster
, pp.11-20 http://dx.doi.org/10.14257/ ijgdc.2014.7.2.02 A Load Balancing Algorithm based on the Variation Trend of Entropy in Homogeneous Cluster Kehe Wu 1, Long Chen 2, Shichao Ye 2 and Yi Li 2 1 Beijing
Adaptive Tolerance Algorithm for Distributed Top-K Monitoring with Bandwidth Constraints
Adaptive Tolerance Algorithm for Distributed Top-K Monitoring with Bandwidth Constraints Michael Bauer, Srinivasan Ravichandran University of Wisconsin-Madison Department of Computer Sciences {bauer, srini}@cs.wisc.edu
Performance Modeling and Analysis of a Database Server with Write-Heavy Workload
Performance Modeling and Analysis of a Database Server with Write-Heavy Workload Manfred Dellkrantz, Maria Kihl 2, and Anders Robertsson Department of Automatic Control, Lund University 2 Department of
Research on Job Scheduling Algorithm in Hadoop
Journal of Computational Information Systems 7: 6 () 5769-5775 Available at http://www.jofcis.com Research on Job Scheduling Algorithm in Hadoop Yang XIA, Lei WANG, Qiang ZHAO, Gongxuan ZHANG School of
Task Scheduling in Hadoop
Task Scheduling in Hadoop Sagar Mamdapure Munira Ginwala Neha Papat SAE,Kondhwa SAE,Kondhwa SAE,Kondhwa Abstract Hadoop is widely used for storing large datasets and processing them efficiently under distributed
SLA-aware Resource Scheduling for Cloud Storage
SLA-aware Resource Scheduling for Cloud Storage Zhihao Yao Computer and Information Technology Purdue University West Lafayette, Indiana 47906 Email: [email protected] Ioannis Papapanagiotou Computer and
Optimizing Shared Resource Contention in HPC Clusters
Optimizing Shared Resource Contention in HPC Clusters Sergey Blagodurov Simon Fraser University Alexandra Fedorova Simon Fraser University Abstract Contention for shared resources in HPC clusters occurs
Developing Scalable Smart Grid Infrastructure to Enable Secure Transmission System Control
Developing Scalable Smart Grid Infrastructure to Enable Secure Transmission System Control EP/K006487/1 UK PI: Prof Gareth Taylor (BU) China PI: Prof Yong-Hua Song (THU) Consortium UK Members: Brunel University
Final Project Proposal. CSCI.6500 Distributed Computing over the Internet
Final Project Proposal CSCI.6500 Distributed Computing over the Internet Qingling Wang 660795696 1. Purpose Implement an application layer on Hybrid Grid Cloud Infrastructure to automatically or at least
Development of Bio-Cloud Service for Genomic Analysis Based on Virtual
Development of Bio-Cloud Service for Genomic Analysis Based on Virtual Infrastructure 1 Jung-Ho Um, 2 Sang Bae Park, 3 Hoon Choi, 4 Hanmin Jung 1, First Author Korea Institute of Science and Technology
A Case for Dynamic Selection of Replication and Caching Strategies
A Case for Dynamic Selection of Replication and Caching Strategies Swaminathan Sivasubramanian Guillaume Pierre Maarten van Steen Dept. of Mathematics and Computer Science Vrije Universiteit, Amsterdam,
Analysis and Optimization of Massive Data Processing on High Performance Computing Architecture
Analysis and Optimization of Massive Data Processing on High Performance Computing Architecture He Huang, Shanshan Li, Xiaodong Yi, Feng Zhang, Xiangke Liao and Pan Dong School of Computer Science National
Figure 1. The cloud scales: Amazon EC2 growth [2].
- Chung-Cheng Li and Kuochen Wang Department of Computer Science National Chiao Tung University Hsinchu, Taiwan 300 [email protected], [email protected] Abstract One of the most important issues
A Dynamic Resource Management with Energy Saving Mechanism for Supporting Cloud Computing
A Dynamic Resource Management with Energy Saving Mechanism for Supporting Cloud Computing Liang-Teh Lee, Kang-Yuan Liu, Hui-Yang Huang and Chia-Ying Tseng Department of Computer Science and Engineering,
Grid Scheduling Dictionary of Terms and Keywords
Grid Scheduling Dictionary Working Group M. Roehrig, Sandia National Laboratories W. Ziegler, Fraunhofer-Institute for Algorithms and Scientific Computing Document: Category: Informational June 2002 Status
Payment minimization and Error-tolerant Resource Allocation for Cloud System Using equally spread current execution load
Payment minimization and Error-tolerant Resource Allocation for Cloud System Using equally spread current execution load Pooja.B. Jewargi Prof. Jyoti.Patil Department of computer science and engineering,
LCMON Network Traffic Analysis
LCMON Network Traffic Analysis Adam Black Centre for Advanced Internet Architectures, Technical Report 79A Swinburne University of Technology Melbourne, Australia [email protected] Abstract The Swinburne
Comparison of Request Admission Based Performance Isolation Approaches in Multi-tenant SaaS Applications
Comparison of Request Admission Based Performance Isolation Approaches in Multi-tenant SaaS Applications Rouven Kreb 1 and Manuel Loesch 2 1 SAP AG, Walldorf, Germany 2 FZI Research Center for Information
Web Server Software Architectures
Web Server Software Architectures Author: Daniel A. Menascé Presenter: Noshaba Bakht Web Site performance and scalability 1.workload characteristics. 2.security mechanisms. 3. Web cluster architectures.
SOS: Software-Based Out-of-Order Scheduling for High-Performance NAND Flash-Based SSDs
SOS: Software-Based Out-of-Order Scheduling for High-Performance NAND -Based SSDs Sangwook Shane Hahn, Sungjin Lee, and Jihong Kim Department of Computer Science and Engineering, Seoul National University,
Cost Effective Automated Scaling of Web Applications for Multi Cloud Services
Cost Effective Automated Scaling of Web Applications for Multi Cloud Services SANTHOSH.A 1, D.VINOTHA 2, BOOPATHY.P 3 1,2,3 Computer Science and Engineering PRIST University India Abstract - Resource allocation
Praktikum Wissenschaftliches Rechnen (Performance-optimized optimized Programming)
Praktikum Wissenschaftliches Rechnen (Performance-optimized optimized Programming) Dynamic Load Balancing Dr. Ralf-Peter Mundani Center for Simulation Technology in Engineering Technische Universität München
Competitive Analysis of QoS Networks
Competitive Analysis of QoS Networks What is QoS? The art of performance analysis What is competitive analysis? Example: Scheduling with deadlines Example: Smoothing real-time streams Example: Overflow
Survey on Scheduling Algorithm in MapReduce Framework
Survey on Scheduling Algorithm in MapReduce Framework Pravin P. Nimbalkar 1, Devendra P.Gadekar 2 1,2 Department of Computer Engineering, JSPM s Imperial College of Engineering and Research, Pune, India
Flexible Deterministic Packet Marking: An IP Traceback Scheme Against DDOS Attacks
Flexible Deterministic Packet Marking: An IP Traceback Scheme Against DDOS Attacks Prashil S. Waghmare PG student, Sinhgad College of Engineering, Vadgaon, Pune University, Maharashtra, India. [email protected]
MINIMIZING STORAGE COST IN CLOUD COMPUTING ENVIRONMENT
MINIMIZING STORAGE COST IN CLOUD COMPUTING ENVIRONMENT 1 SARIKA K B, 2 S SUBASREE 1 Department of Computer Science, Nehru College of Engineering and Research Centre, Thrissur, Kerala 2 Professor and Head,
Heterogeneity-Aware Resource Allocation and Scheduling in the Cloud
Heterogeneity-Aware Resource Allocation and Scheduling in the Cloud Gunho Lee, Byung-Gon Chun, Randy H. Katz University of California, Berkeley, Yahoo! Research Abstract Data analytics are key applications
PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions. Outline. Performance oriented design
PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions Slide 1 Outline Principles for performance oriented design Performance testing Performance tuning General
Cost-effective Resource Provisioning for MapReduce in a Cloud
1 -effective Resource Provisioning for MapReduce in a Cloud Balaji Palanisamy, Member, IEEE, Aameek Singh, Member, IEEE Ling Liu, Senior Member, IEEE Abstract This paper presents a new MapReduce cloud
Parallel Compression and Decompression of DNA Sequence Reads in FASTQ Format
, pp.91-100 http://dx.doi.org/10.14257/ijhit.2014.7.4.09 Parallel Compression and Decompression of DNA Sequence Reads in FASTQ Format Jingjing Zheng 1,* and Ting Wang 1, 2 1,* Parallel Software and Computational
Applying Active Queue Management to Link Layer Buffers for Real-time Traffic over Third Generation Wireless Networks
Applying Active Queue Management to Link Layer Buffers for Real-time Traffic over Third Generation Wireless Networks Jian Chen and Victor C.M. Leung Department of Electrical and Computer Engineering The
SCHEDULING IN CLOUD COMPUTING
SCHEDULING IN CLOUD COMPUTING Lipsa Tripathy, Rasmi Ranjan Patra CSA,CPGS,OUAT,Bhubaneswar,Odisha Abstract Cloud computing is an emerging technology. It process huge amount of data so scheduling mechanism
Lecture Outline Overview of real-time scheduling algorithms Outline relative strengths, weaknesses
Overview of Real-Time Scheduling Embedded Real-Time Software Lecture 3 Lecture Outline Overview of real-time scheduling algorithms Clock-driven Weighted round-robin Priority-driven Dynamic vs. static Deadline
Resource Allocation and the Law of Diminishing Returns
esource Allocation and the Law of Diminishing eturns Julia and Igor Korsunsky The law of diminishing returns is a well-known topic in economics. The law states that the output attributed to an individual
Understanding the Impact of Running WAN Emulation with Load Testing
Understanding the Impact of Running WAN Emulation with Load Testing A Shunra Software White Paper July 2, 2008 Introduction Investment in pre-deployment performance testing has become a widely adopted
International Journal of Advance Research in Computer Science and Management Studies
Volume 3, Issue 6, June 2015 ISSN: 2321 7782 (Online) International Journal of Advance Research in Computer Science and Management Studies Research Article / Survey Paper / Case Study Available online
Improving MapReduce Performance in Heterogeneous Environments
UC Berkeley Improving MapReduce Performance in Heterogeneous Environments Matei Zaharia, Andy Konwinski, Anthony Joseph, Randy Katz, Ion Stoica University of California at Berkeley Motivation 1. MapReduce
How In-Memory Data Grids Can Analyze Fast-Changing Data in Real Time
SCALEOUT SOFTWARE How In-Memory Data Grids Can Analyze Fast-Changing Data in Real Time by Dr. William Bain and Dr. Mikhail Sobolev, ScaleOut Software, Inc. 2012 ScaleOut Software, Inc. 12/27/2012 T wenty-first
Deployment of express checkout lines at supermarkets
Deployment of express checkout lines at supermarkets Maarten Schimmel Research paper Business Analytics April, 213 Supervisor: René Bekker Faculty of Sciences VU University Amsterdam De Boelelaan 181 181
Can We Beat DDoS Attacks in Clouds?
GITG342 Can We Beat DDoS Attacks in Clouds? Shui Yu, Yonghong Tian, Song Guo, Dapeng Oliver Wu IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 25, NO. 9, SEPTEMBER 2014 정보통신대학원 49기 정보보호 전공
CloudAnalyst: A CloudSim-based Tool for Modelling and Analysis of Large Scale Cloud Computing Environments
433-659 DISTRIBUTED COMPUTING PROJECT, CSSE DEPT., UNIVERSITY OF MELBOURNE CloudAnalyst: A CloudSim-based Tool for Modelling and Analysis of Large Scale Cloud Computing Environments MEDC Project Report
Performance Prediction, Sizing and Capacity Planning for Distributed E-Commerce Applications
Performance Prediction, Sizing and Capacity Planning for Distributed E-Commerce Applications by Samuel D. Kounev ([email protected]) Information Technology Transfer Office Abstract Modern e-commerce
A Data Dependency Based Strategy for Intermediate Data Storage in Scientific Cloud Workflow Systems *
A Data Dependency Based Strategy for Intermediate Data Storage in Scientific Cloud Workflow Systems * Dong Yuan, Yun Yang, Xiao Liu, Gaofeng Zhang, Jinjun Chen Faculty of Information and Communication
Scientific and Technical Applications as a Service in the Cloud
Scientific and Technical Applications as a Service in the Cloud University of Bern, 28.11.2011 adapted version Wibke Sudholt CloudBroker GmbH Technoparkstrasse 1, CH-8005 Zurich, Switzerland Phone: +41
A Locality Enhanced Scheduling Method for Multiple MapReduce Jobs In a Workflow Application
2012 International Conference on Information and Computer Applications (ICICA 2012) IPCSIT vol. 24 (2012) (2012) IACSIT Press, Singapore A Locality Enhanced Scheduling Method for Multiple MapReduce Jobs
How To Balance In Cloud Computing
A Review on Load Balancing Algorithms in Cloud Hareesh M J Dept. of CSE, RSET, Kochi hareeshmjoseph@ gmail.com John P Martin Dept. of CSE, RSET, Kochi [email protected] Yedhu Sastri Dept. of IT, RSET,
Setting deadlines and priorities to the tasks to improve energy efficiency in cloud computing
Setting deadlines and priorities to the tasks to improve energy efficiency in cloud computing Problem description Cloud computing is a technology used more and more every day, requiring an important amount
A Framework for Performance Analysis and Tuning in Hadoop Based Clusters
A Framework for Performance Analysis and Tuning in Hadoop Based Clusters Garvit Bansal Anshul Gupta Utkarsh Pyne LNMIIT, Jaipur, India Email: [garvit.bansal anshul.gupta utkarsh.pyne] @lnmiit.ac.in Manish
Load Balancing MPI Algorithm for High Throughput Applications
Load Balancing MPI Algorithm for High Throughput Applications Igor Grudenić, Stjepan Groš, Nikola Bogunović Faculty of Electrical Engineering and, University of Zagreb Unska 3, 10000 Zagreb, Croatia {igor.grudenic,
Process Scheduling CS 241. February 24, 2012. Copyright University of Illinois CS 241 Staff
Process Scheduling CS 241 February 24, 2012 Copyright University of Illinois CS 241 Staff 1 Announcements Mid-semester feedback survey (linked off web page) MP4 due Friday (not Tuesday) Midterm Next Tuesday,
