June 29, 2015 1 Grenchmark: A workload generator for Grid schedulers First Demo at TU Delft A....

25
June 27, 2022 1 Grenchmark: A workload generator for Grid schedulers First Demo at TU Delft A. Iosup, D.H.J. Epema PDS Group, ST/EWI, TU Delft
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    214
  • download

    0

Transcript of June 29, 2015 1 Grenchmark: A workload generator for Grid schedulers First Demo at TU Delft A....

Page 1: June 29, 2015 1 Grenchmark: A workload generator for Grid schedulers First Demo at TU Delft A. Iosup, D.H.J. Epema PDS Group, ST/EWI, TU Delft.

April 18, 20231

Grenchmark:A workload generator for Grid schedulers

First Demo at TU Delft

A. Iosup, D.H.J. EpemaPDS Group, ST/EWI, TU Delft

Page 2: June 29, 2015 1 Grenchmark: A workload generator for Grid schedulers First Demo at TU Delft A. Iosup, D.H.J. Epema PDS Group, ST/EWI, TU Delft.

April 18, 20232

Evaluating Grid schedulers performance• Grid schedulers performance

• Qualitative metricssupported application types, advanced fault tolerance, advanced ...

• Quantitative metricsresource consumption, system performance, scheduler functionality

• Other metricscost, single number

• Needs• Applications, workloads, more workloads…

• Benefits • Configuration testing and tuning• Functionality testing• Comparing design alternatives• Runtime estimation• Systems procurement support

Page 3: June 29, 2015 1 Grenchmark: A workload generator for Grid schedulers First Demo at TU Delft A. Iosup, D.H.J. Epema PDS Group, ST/EWI, TU Delft.

April 18, 20233

Grenchmark

• A systematic approach to testing Grid schedulers• A set of metrics for comparing schedulers• A set of representative applications

• Both real and synthetic• Single tasks, MPI tasks, Java, IBIS/Satin tasks, batch

tasks, filters/streaming tasks, chains of tasks, DAGs, general graphs, ...(?)

• Easy tools to create synthetic workloads [TODAY]

• Testing, testing, testing… [EVERY DAY]

Page 4: June 29, 2015 1 Grenchmark: A workload generator for Grid schedulers First Demo at TU Delft A. Iosup, D.H.J. Epema PDS Group, ST/EWI, TU Delft.

April 18, 20234

Grenchmark process

$ ./wl-gen.py wl-desc.in $ ./wl-submit.py out/wl-to-submit.wl

12

1

2

TODO

• Sample run:• 95 jobs / 411 components• 95 files / 32 directories• 300KB data

• Sample run:• multi-threaded – submission delay +/- 0.01s• 95 JDFs

Page 5: June 29, 2015 1 Grenchmark: A workload generator for Grid schedulers First Demo at TU Delft A. Iosup, D.H.J. Epema PDS Group, ST/EWI, TU Delft.

April 18, 20235

Outline

• Introduction• Grenchmark• Using Grenchmark• Customizing Grenchmark• Extending Grenchmark• Conclusions

[done][done][here]

Page 6: June 29, 2015 1 Grenchmark: A workload generator for Grid schedulers First Demo at TU Delft A. Iosup, D.H.J. Epema PDS Group, ST/EWI, TU Delft.

April 18, 20236

wl-desc.in

$ cat wl-desc.in# File-type: text/wl-spec# WL Unit ID<tab>Times this unit<tab>Job Type<Tab>Site structure

type<Tab>Total # of jobs per unit<tab>Detailed Site structure<Tab>Arrival time distribution<Tab>Other info

#ID Times UnitType SiteType Total SiteInfo ArrivalTimeDistr OtherInfo 0 5 sser single 1 *:? U(0,1000) - 1 10 sser unordered2 - N(500,200)

NSites=2,DifferentSites=false ? 1 sser ordered ? fs3:2,fs2:1,fs1:1 Poisson(500) - ? 1 sser semi-ordered 5 fs3:2,*:1 LogNorm(10,5)

NSites=3,DifferentSites=true ? 1 fake semi-ordered 5 fs3:2,*:1 Weibull(2000,0.5)

NSites=3,DifferentSites=true ? 5 wl:poisson - - - Poisson(500)

RandomWorkload=true,NJobs=10,NComponents=2;8,ComponentSize=4;8 ? 2 wl:poisson - - - Poisson(500)

RandomWorkload=false,NComponents=4-8,ComponentSize=8;16 ? 1 wl:poisson - - - Poisson(500)

RandomWorkload=false,NComponents=4;8,ComponentSize=8;16,Submitter=drunner,Application=Poisson-g2-gm

? 2 wl:poisson - - - Poisson(500)RandomWorkload=false,NComponents=4;8,ComponentSize=8;16,Submitter=krunner,Application=findpi-gm

• Describes the workload to be generated; input file for wl-gen.py

Page 7: June 29, 2015 1 Grenchmark: A workload generator for Grid schedulers First Demo at TU Delft A. Iosup, D.H.J. Epema PDS Group, ST/EWI, TU Delft.

April 18, 20237

Preliminary notions

• Job, workload, workload unit• Job = Set of components (co-allocation support)

[Job = one program execution / the basic scheduling unit / … ]

• Workload = Set of Jobs• Workload Unit = Set of jobs with the same

property, generated in the same step (definition useful only for workload generator)

• Other• JDF = Job description file• Inter arrival time = time between two consecutive

jobs arrive in the system

Page 8: June 29, 2015 1 Grenchmark: A workload generator for Grid schedulers First Demo at TU Delft A. Iosup, D.H.J. Epema PDS Group, ST/EWI, TU Delft.

April 18, 20238

Some more notions

• Job site type / per site description• Single – run at one site• Unordered – run at several sites, all unspecified• Ordered – run at several site, all specified• Semi-ordered – run at several site, some

specified• Other (?)

• Inter-arrival time distributions Constant, Uniform, Normal, Exponential(λ), Poisson(Mean), HExp2, HPoisson2, Weibull, LogNormal, Gamma (~)

Page 9: June 29, 2015 1 Grenchmark: A workload generator for Grid schedulers First Demo at TU Delft A. Iosup, D.H.J. Epema PDS Group, ST/EWI, TU Delft.

April 18, 20239

Describing the workload: Jobs wl-desc.in

ID Times UnitType SiteType TotalComps PerSiteDesc [I]ArrivalTimeDistr OtherInfo 0 1 sser single 1 *:? U(0,1000) -

• Generate Times x Jobs or Times x Sets of Jobs• One Job = k Components (here: 1 -- single)

Page 10: June 29, 2015 1 Grenchmark: A workload generator for Grid schedulers First Demo at TU Delft A. Iosup, D.H.J. Epema PDS Group, ST/EWI, TU Delft.

April 18, 202310

Demo 1: Generating one job

• Single site, single instance

Page 11: June 29, 2015 1 Grenchmark: A workload generator for Grid schedulers First Demo at TU Delft A. Iosup, D.H.J. Epema PDS Group, ST/EWI, TU Delft.

April 18, 202311

Demo 2: Generating n jobs of the same type• 250 jobs in 100s, distribution Uniform(0,1000)

Page 12: June 29, 2015 1 Grenchmark: A workload generator for Grid schedulers First Demo at TU Delft A. Iosup, D.H.J. Epema PDS Group, ST/EWI, TU Delft.

April 18, 202312

Demo 3: Generating mixes of jobs

• 10 single jobs, 2 instances per job (count=2)Q: what happens with the running/output sandbox?

• 10 unordered jobs, 5 instances at 3 sites (3 components) eachQ: what about ensuring DifferentSites=true? I can do it from the submitter, but then ordered… [Jan David’s P2P simulation must include controlled wide-area/single-area mixes]

• 10 ordered jobs, inter-arrival time (IAT) IAT 5s

• 10 semi-ordered jobs, 5 instances, 2 ordered sites (1 random location), IAT LogNorm(10,3)

Page 13: June 29, 2015 1 Grenchmark: A workload generator for Grid schedulers First Demo at TU Delft A. Iosup, D.H.J. Epema PDS Group, ST/EWI, TU Delft.

April 18, 202313

Describing the workload: Jobs wl-desc.in

ID Times UnitType SiteType TotalComps PerSiteDesc [I]ArrivalTimeDistr OtherInfo 0 1 sser single 1 *:? U(0,1000) -

• Generate Times x Jobs or Times x Sets of Jobs• One Job = k Components (here: 1 -- single)

Page 14: June 29, 2015 1 Grenchmark: A workload generator for Grid schedulers First Demo at TU Delft A. Iosup, D.H.J. Epema PDS Group, ST/EWI, TU Delft.

April 18, 202314

Describing the workload: Units wl-desc.in

ID Times UnitType SiteType TotalComps PerSiteDesc [I]ArrivalTimeDistr OtherInfo 0 1 sser single 1 *:? U(0,1000) - ? 1 wl:poisson unordered - - Poisson(500) \

RandomWorkload=false,NComponents=4;8,ComponentSize=8;16,\Submitter=drunner,Application=Poisson-g2-gm

• Generate Times x Jobs or Times x Sets of Jobs• wl: prefix – self-aware workload unit generator [Hashim’s jobs]

Page 15: June 29, 2015 1 Grenchmark: A workload generator for Grid schedulers First Demo at TU Delft A. Iosup, D.H.J. Epema PDS Group, ST/EWI, TU Delft.

April 18, 202315

Demo 4: Generating one workload unit

• Hashim’s sample workload:• Poisson-g2-gm (Globus MPICH-G2)• Components: 4 and 8• Component Sizes: 8 and 16• IAT Poisson(5s)• Run with drunner

• Total: 4 jobs, 24 components

Page 16: June 29, 2015 1 Grenchmark: A workload generator for Grid schedulers First Demo at TU Delft A. Iosup, D.H.J. Epema PDS Group, ST/EWI, TU Delft.

April 18, 202316

Demo 5:Generating a full workload• Hashim’s full workload, 8 times:

• Poisson-g2-gm (Globus MPICH-G2) and findpi-gm• Components: 4 and 8• Component Sizes: 4/8 and 16• IAT Poisson(5s)• Run with drunner (poisson) / krunner (pi)• Submit time 1 day

• Generate:

• Submit:

• Total: 3200 jobs, 19200 components / 3k files, 4k dirs

• Timing: 30s generate / 86,400s submit (1 day, eh?)

$ wl-gen.py --duration=86400000 wl-desc.in

$ wl-submit.py --onefile out/wl-desc.in

Page 17: June 29, 2015 1 Grenchmark: A workload generator for Grid schedulers First Demo at TU Delft A. Iosup, D.H.J. Epema PDS Group, ST/EWI, TU Delft.

April 18, 202317

Outline

• Introduction• Grenchmark• Using Grenchmark• Customizing Grenchmark• Extending Grenchmark• Conclusions

[done][done]

[here]

[done]

Page 18: June 29, 2015 1 Grenchmark: A workload generator for Grid schedulers First Demo at TU Delft A. Iosup, D.H.J. Epema PDS Group, ST/EWI, TU Delft.

April 18, 202318

Customizing the workload generator Command-line parameters• wl-gen.py –help … displays a comprehensive help screen

• wl-gen.py –o outdir … creates the workload in directory outdir

• wl-gen.py –d 50000 … sets the total submission duration to 50s

• wl-gen.py –j my-jdf … uses my-jdf to write JDFs

• wl-gen.py –o out-1 wl-desc.in my favourite command

[seen]

Page 19: June 29, 2015 1 Grenchmark: A workload generator for Grid schedulers First Demo at TU Delft A. Iosup, D.H.J. Epema PDS Group, ST/EWI, TU Delft.

April 18, 202319

Customizing the submission tool Command-line parameters

• wl-submit.py –help … displays a comprehensive help screen

• wl-submit.py –t 10 … uses 10 threads to submit

• wl-submit.py --nosubmit … just prints the submission commands

• wl-submit.py --onefile … output job submit (runner) stderr and stdout to one file each (concatenated)

• wl-submit.py out/wl-to-submit.wl my favourite command

[seen]

Page 20: June 29, 2015 1 Grenchmark: A workload generator for Grid schedulers First Demo at TU Delft A. Iosup, D.H.J. Epema PDS Group, ST/EWI, TU Delft.

April 18, 202320

Outline

• Introduction• Grenchmark• Using Grenchmark• Customizing Grenchmark• Extending Grenchmark• Conclusions

[done][done]

[here]

[done]

[done]

Page 21: June 29, 2015 1 Grenchmark: A workload generator for Grid schedulers First Demo at TU Delft A. Iosup, D.H.J. Epema PDS Group, ST/EWI, TU Delft.

April 18, 202321

Extending the workload generator (1) Write your own Job Generators

1. Create your-job-generator.py in apps/

2. Place a Generator attribute, organized as a Key=Value list, one per line, with at least Name=your-job-type defined. Example:Generator=""" Name=your-job-type Author=You R. Name Copyright=copyright © 2005 You R. Name. All rights reserved. ""“

3. Create a function generateWorkloadUnit, which takes in

UnitDir, UnitID, WLUnit, SubmitDurationMS, bGenerateRandom

4. Make generateWorkloadUnit return a dictionary with keys ‘info’ and ‘jobs’, with appropriate data each

5. Use the generator in wl-desc.in by putting your-job-type in the UnitType field

Page 22: June 29, 2015 1 Grenchmark: A workload generator for Grid schedulers First Demo at TU Delft A. Iosup, D.H.J. Epema PDS Group, ST/EWI, TU Delft.

April 18, 202322

Extending the workload generator (2) Write your own Unit Generators

1. Create your-job-generator.py in apps/

2. Place a WLGenerator attribute, organized as a Key=Value list, one per line, with at least Name=your-job-type defined. Example:WLGenerator=""" Name=your-workload-type Author=You R. Name Copyright=copyright © 2005 You R. Name. All rights reserved. ""“

3. Create a function generateWorkload, which takes in UnitDir, UnitID, WLUnit, SubmitDurationMS, bGenerateRandom

4. Make generateWorkloadUnit return a dictionary with keys ‘info’ and ‘jobs’, with appropriate data each

5. Use the generator in wl-desc.in by putting your-job-type in the UnitType field

Page 23: June 29, 2015 1 Grenchmark: A workload generator for Grid schedulers First Demo at TU Delft A. Iosup, D.H.J. Epema PDS Group, ST/EWI, TU Delft.

April 18, 202323

Extending the workload generator (3) Write your own JDF Writers

1. Create your-jdf-writer.py in jdfprint/

2. Place a JDFGenerator attribute, organized as a Key=Value list, one per line, with at least Name=your-job-type defined. Example:JDFGenerator=""" Name=your-jdf-writer-type Author=You R. Name Copyright=copyright © 2005 You R. Name. All rights reserved. ""“

3. Create a function generateJDF, which takes in OutFileName, ListOfComponents

4. Make generateJDF write the components to the specified file, with appropriate data each

5. Use the generator by calling wl-gen.py with the –j parameter

Page 24: June 29, 2015 1 Grenchmark: A workload generator for Grid schedulers First Demo at TU Delft A. Iosup, D.H.J. Epema PDS Group, ST/EWI, TU Delft.

April 18, 202324

Conclusions and future work

• Grenchmark easily generates diverse workloads of Grid applications

• KOALA developersWould you like to use Grenchmark to test KOALA?

• EverybodyDo you have specific Grid applications types that you would like to test? Try Grenchmark!

Page 25: June 29, 2015 1 Grenchmark: A workload generator for Grid schedulers First Demo at TU Delft A. Iosup, D.H.J. Epema PDS Group, ST/EWI, TU Delft.

April 18, 202325

Thank you!

Questions? Remarks? Observations? All welcome!

Grenchmark http://grenchmark.st.ewi.tudelft.nl/ [10x Paulo]

Alexandru IOSUPTU Delft

[email protected]

http://www.pds.ewi.tudelft.nl/~iosup/index.html [google: “iosup”]