DAY 2 - Jawaharlal Nehru University · •We can use Sevcik's execution time function to model a...

Post on 28-Jan-2020

0 views 0 download

Transcript of DAY 2 - Jawaharlal Nehru University · •We can use Sevcik's execution time function to model a...

DAY 2

Agenda for Today

• Introduce the workload characterization problem.

• Discuss a simple example of characterizing the workload for an intranet.

– What is workload characterization?

– What workload we want to characterize?

• Present a workload characterization methodology.

References

• Thyagaraj Thanalapati, Sivarama P. Dandamudi: An Efficient Adaptive Scheduling Scheme for Distributed Multicomputers. IEEE Trans. Parallel Distrib. Syst. 12(7): 758-768 (2001)

• A. Iosup and D.H.J. Epema, Grid Computing Workloads, IEEE Internet Computing 15(2): 19-26 (2011)

• Feitelson DG. Workload modeling for computer systems perfMemory ormance evaluation. Cambridge University Press; 2015.

Introduction • Workloads appear in many contexts and therefore

have many different types.

• Different workloads have a significant effect on performance.

• Different workloads have different features

• Ensuring that systems meet desired performance goals without excessive (and expensive) over-provisioning is of great importance.

• Therefor, reliable workload models are needed.

What is workload? • The workload of a system can be defined as the set

of all inputs that the system receives from its environment during any given period of time.

A variety of jobs with different characteristics are submitted to the cloud by different users.

A static workload is one in which a certain amount of work is given, and when it is done that is it.

A dynamic workload, in contrast, is one in which work continues to arrive all the time; it is never “done”.

Need to capture

HP Engineering

Sample Cloud Computing Applications

Demand Variability

Demand Volume

Taxes, @Home

Low

Low

High

High

Web Server Space Survey

Comet Detected

Sky Survey

Pharma Research

Social Gaming

Online Gaming

Social Networking

Big Data Analytics

SW Dev/Test

Office Tools

Tsunami Prediction

Epidemic Simulation Exp.

Research

From Iosup

Batch workloads

• Typically tend to process huge volumes of data.

– Example: An application that produce monthly bills for utilities (e.g., power, water, mobile phone bills, etc.)

– Require considerable compute and storage resources.

– Batch workloads are rarely time sensitive and can be scheduled when few real-time tasks are running.

High-performance workloads • High-performance workloads typically require

significant compute capabilities.

– next day weather prediction application

• High-throughput workloads Examples of these applications include

– different patient data in large scale biomedical trials

– different parts of a genome or protein sequence in bioinformatics applications

– different random numbers in a simulations based on Monte Carlo methods

– different model parameters in ensemble simulations or explorations of parameter spaces

Bag-of-Tasks

• Bag-of-tasks refers to parallel jobs with many independent tasks

• The tasks can be executed out of the submission order.

• The following is not bag of task

T1

T2

T3

T5

T4

T7

T8

T6

Example of BoT Applications

• Parameter sweeps – Comprehensive, possibly exhaustive investigation of a model

– Very useful in engineering and simulation-based science

• Monte Carlo simulations – Simulation with random elements: fixed time yet limited inaccuracy

– Very useful in engineering and simulation-based science

• Many other types of batch processing – Periodic computation, Cycle scavenging

– Very useful to automate operations and reduce waste

Workflow Applications

• Workflow is a set of jobs with precedence (think Direct Acyclic Graph)

• Complex applications – Complex filtering of data

– Complex analysis of instrument measurements

Maslina Abdul Aziz, Jemal H. Abawajy, Tutut Herawan: Layered workflow scheduling algorithm. FUZZ-IEEE 2015: 1-7

ADDRESSING BIG DATA ENERGY CONSUMPTION

Collection Station

Emergency

Monitoring Centre

Medical staff

Observation StationData Center

Fog Node

Push

Pull

Push

Pull

Push

Pull

Physical Machines

Sensor

Data

Computational

resources

Virtual (Sensor) Machines

VM Manager

Service Scheduler

Analytics Engine Visualization Enigne

Acc

ess

Co

ntro

l

Dat

a Sh

arin

g P

olic

y

Application 1 Application N

Medical Application Services

E-Health

Data

Middleware

Pu

bli

sh

Alert

PatientIoT+Fog

Jemal H. Abawajy, Mohammad Mehedi Hassan, Federated Internet of Things and Cloud Computing Pervasive Patient Health Monitoring System. IEEE Communications Magazine 55(1): 48-53 (2017)

Sara Ghanavati, Jemal Abawajy and Davood Izadi (2017), The Internet of Things: Foundation for Smart Cities, eHealth, and Ubiquitous Computing, Ricardo Armentano, Robin Singh Bhadoria, Parag Chatterjee, Ganesh Chandra Deka (eds.), CRC Press.

• Integrated Fog computing (FC) and Internet of Everything (IoE)

Workflow Applications • Workflow applications are jobs with precedence (

represented by a directed acyclic task graph). • 75%+ WFs are sized 40 jobs or less, 95% are sized 200

jobs or less (Ostermann et al., 2008)

T1

T2

T3

T5

T4

T7

T8

T6

Structure of divide-and-conquer programs

Maslina Abdul Aziz, Jemal H. Abawajy, Tutut Herawan: Layered workflow scheduling algorithm. FUZZ-IEEE 2015: 1-7

• Example applications – Complex filtering of data

– Complex analysis of instrument measurements

Web Workload

• Example of execution of HTTP requests (sec)

• Characteristics of Web workloads: – burstiness

– heavy-tailed distributions

Request No. CPU time

I/O time

Elapsed time

1 0.0095 0.04 0.071

2 0.0130 0.11 0.145

3 0.0155 0.12 0.156

4 0.0088 0.04 0.065

5 0.0111 0.09 0.114

6 0.0171 0.14 0.163

7 0.2170 1.20 4.380

8 0.0129 0.12 0.151

9 0.0091 0.05 0.063

10 0.0170 0.14 0.189

Average 0.0331 0.205 0.550

Performance Analysis

• There are three common methodologies to evaluate performance

– Use actual workload

– Use traced workload directly to drive a simulation.

– Create a model from the trace and use the model for either analysis or simulation.

Trace Data

• Trace is recorded data as a trace, or log, of workload-related events that happened in a certain system.

• Example

– The Failure Trace Archive (FTA) is a centralized public repository of availability traces of parallel and distributed systems, and tools for their analysis.

– The purpose of this archive is to facilitate the design, validation, and comparison of fault-tolerant models and algorithms.

Trace-data simulation • Trace-driven simulations are common in parallel and

distributed computing

• Shortcomings

– Collecting data may be inconvenient or costly, and instrumentation may introduce overhead.

– Data collection is inherently limited as the conditions under which data is gathered may restrict one to a small sample of the space of interest.

– For example, given a server with 128 nodes, it is not possible to collect data about systems with 64 or 256 nodes.

• We need models to transcend these limitations.

Workload Modeling • Workload modeling is used to generate synthetic

workloads based on real-life job execution observations.

• The goal is typically to be able to create workloads that can be used in performance evaluation studies

Workload Submission Workload

description (may include QoS)

Workload Generation

J1 J1 Jn

Analysis

SLA

Consolidate

result

Negotiation

Framework

Cloud Computing Environment

Performance

Measures Preal

Cloud Computing Environment

Performance

Measures Pmodel

Workload Model

The synthetic workload is supposed to be similar to those that occur in practice on real systems

End User

Real Workload

Synthetic Workload

The result is supposed to align with real application

Replicate in experimental setting cloud environment

Workload Resource Usage Observation

Transaction Classes

Frequency Maximum CPU time (msec)

Maximum I/O time (msec)

Trivial 40% 8 120

Light 30% 20 300

Medium 20% 100 700

Heavy 10% 900 1200

Workload Features

• Workloads are characterized by many attributes that have a great effect on scheduling

– I/O can also have a great effect on scheduling

– memory can lead to swapping.

– for parallel jobs, the number of processors used is an additional parameter, which influences how well jobs pack together.

• The level of detail needed in workload characterization depends on the goal of the evaluation.

Jemal H. Abawajy, Sivarama P. Dandamudi: Scheduling Parallel Jobs with CPU and I/O Resource Requirements in Cluster Computing Systems. MASCOTS 2003: 336-343

Workload Features

• Workloads are characterized by many attributes

– arrival times

– running times

– total memory usage (maybe locality of reference)

– distribution of I/O sizes and how they interleave with the computation

– Communication

– number of processors (VMs)

Adapted from Menascé & Almeida.

52

Selection of characterizing parameters

• Each workload component is characterized by two groups of

information:

• Workload intensity

– arrival rate

– number of clients and think time

– number of processes or threads in execution simultaneously

• Service demands (Di1, Di2, … DiK), where Dij is the service

demand of component i at resource j.

Exponential Distribution

• The Exponential:

– 𝜆 = measures how many things happen per unit

𝑓 𝑥 = 𝜆 ∙ 𝑒−𝜆∙𝑥

0

0.5

1

1.5

2

2.5

1 2 3 4 5 6 7

pro

bab

ility

den

sity

fu

nct

ion

s

X

Lambda 0.5 1 2

Hyper-exponential distribution

• Hyper-exponential distributions is used in service demand modeling

• The hyper-exponential distribution is obtained by selecting from a mixture of several exponential distributions.

• The simplest variant has only two stages:

𝜆1

𝜆2

𝑃

1 − 𝑃 𝜆1 ≠ 𝜆2

𝑓 𝑥 = 𝑝𝑖 ∙ 𝜆𝑖 ∙ 𝑒𝜆𝑖𝑥

𝑛

𝑖=1

0 ≤ 𝑝𝑖 ≤ 1

0 ≤ 𝜆1, 𝜆2𝑖 ≤ 1

Coefficient of Variation

• Coefficient of variation is defined as follows

𝐶𝑣 =𝜎

𝜇

• Where

– 𝜎 is the standard deviation

– 𝜇 is the mean

Long-lived vs short-lived Jobs

• Long-lived processes

• short-lived processes

𝑃 𝑇 > 𝜏 ∝ 𝛼2, 𝛼 ≈ 1

• This means that most processes are short, but a small number are very long.

Selecting VM for Migration

• A VM running on an overloaded physical machine will receive worse service than a VM running on an unloaded machine.

• Load balancing is the activity of migrating a running VM from an overloaded machine to an underloaded one.

Selecting VM for Migration

• It would be most beneficial if we could identify VM that may be expected to continue to run for a long time, and select them for migration.

• But how can we know in advance whether a VM is going to finish executing soon or not?

– The answer is that it depends on the statistics of VM runtimes.

Selecting VM for Migration

• Suppose we have the following as an example VM Start End Now Remain

𝑉𝑀1 0 16 12 4

𝑉𝑀2 0 64 20 44

𝑉𝑀3 0 14 4 10

Time unit

0 2 4 6 8 10 12 14 16 18 20 22 24

𝑉𝑀1 𝑉𝑀2 𝑉𝑀3

64

• The challenge is deciding the VM to migrate.

Selecting VM for Migration

• VM migration involves considerable overhead.

• If the VM terminates soon after being migrated, that overhead has been wasted.

• In addition, the VM cannot run during the time it is being migrated.

• Again, if it terminates soon after the migration, it would have been better off staying in its place.

Performance Measurements

• Classical performance metrics: – Response time,

– throughput,

– scalability,

– resource/cost/energy,

– efficiency,

– Elasticity

– Availability,

– reliability, and

– security

– SLA violation

Energy Consumption

Feature Extraction

Feature Selection

Applications

Resources

Features

Subset Features

Regression Method

Result Evaluation

Makespan

– Traditional: Makespan, Job Slowdown

– Workload Speedup One (SU1)

– Workload Slowdown Infinite (SUinf)

Cost Metrics • Cost Metrics

– Actual Cost (Ca)

– Charged Cost (Cc)

Compound Metrics

• Compound Metrics – Cost Efficiency (Ceff)

– Utility

Adapted from Menascé & Almeida.

66

Summary

• Workload Characterization

• what is it?

• basic concepts

• workload description and modeling

• representativeness of a workload model

• Methodology (1) • Choice of an analysis standpoint

• Identification of the basic component

• Choice of the characterizing parameters

• Data collection

Application

Communication

• Given – 𝑡0 is the start up time or latency,

– n is the number of nodes involved in the communication,

– 𝑟∞ = is the asymptotic bandwidth, which is defined as the maximal bandwidth achievable when the message length approaches infinity,

– m denotes the number of bytes of data to be transmitted.

Workload Parameters • We can use Sevcik's execution time function to

model a wide range of representative applications

– 𝜙: is an indication of the load imbalance in the computation, – W is the cumulative service demand for the job,

– p is the number of processors allocated to the job,

– 𝛼: represents the amount of sequential computation,

– 𝛽:represents the amount of communication and congestion overhead that increases with the number of processors.

– represents the ideal division of an application's basic work across p processors

Maximum Parallelism

Values

Acknowledgement

• The slides have been adapted from

– Menascé & Almeida.