July 13, 2015 1 GrenchMark: A workload generator for Grids Demo at TU Delft A. Iosup, D.H.J. Epema PDS Group, ST/EWI, TU Delft.

Slides:



Advertisements
Similar presentations
The map and reduce functions in MapReduce are easy to test in isolation, which is a consequence of their functional style. For known inputs, they produce.
Advertisements

7 april SP3.1: High-Performance Distributed Computing The KOALA grid scheduler and the Ibis Java-centric grid middleware Dick Epema Catalin Dumitrescu,
1 OBJECTIVES To generate a web-based system enables to assemble model configurations. to submit these configurations on different.
June 1, GrenchMark : Towards a Generic Framework for Analyzing, Testing, and Comparing Grids ASCI Conference 2006 A. Iosup, D.H.J. Epema PDS Group,
June 2, GrenchMark : A Framework for Analyzing, Testing, and Comparing Grids CCGrid 2006 A. Iosup, D.H.J. Epema PDS Group, ST/EWI, TU Delft.
June 3, ServMark A Hierarchical Architecture for Testing Grids Santiago, Chile A. Iosup, H. Mohamed, D.H.J. Epema PDS Group, ST/EWI, TU Delft C.
June 3, 2015 Synthetic Grid Workloads with Ibis, K OALA, and GrenchMark CoreGRID Integration Workshop, Pisa A. Iosup, D.H.J. Epema Jason Maassen, Rob van.
A Grid Parallel Application Framework Jeremy Villalobos PhD student Department of Computer Science University of North Carolina Charlotte.
Workload Management Workpackage Massimo Sgaravatto INFN Padova.
A Grid Resource Broker Supporting Advance Reservations and Benchmark- Based Resource Selection Erik Elmroth and Johan Tordsson Reporter : S.Y.Chen.
DAS-3/Grid’5000 meeting: 4th December The KOALA Grid Scheduler over DAS-3 and Grid’5000 Processor and data co-allocation in grids Dick Epema, Alexandru.
1 A Performance Study of Grid Workflow Engines Alexandru Iosup and Dick Epema PDS Group Delft University of Technology The Netherlands Corina Stratan Parallel.
1 Trace-Based Characteristics of Grid Workflows Alexandru Iosup and Dick Epema PDS Group Delft University of Technology The Netherlands Simon Ostermann,
June 25, GrenchMark: A synthetic workload generator for Grids KOALA Workshop A. Iosup, H. Mohamed, D.H.J. Epema PDS Group, ST/EWI, TU Delft.
June 25, GrenchMark: Synthetic workloads for Grids First Demo at TU Delft A. Iosup, D.H.J. Epema PDS Group, ST/EWI, TU Delft.
June 28, Resource and Test Management in Grids Rapid Prototyping in e-Science VL-e Workshop, Amsterdam, NL Dick Epema, Catalin Dumitrescu, Hashim.
June 29, Grenchmark: A workload generator for Grid schedulers First Demo at TU Delft A. Iosup, D.H.J. Epema PDS Group, ST/EWI, TU Delft.
Workload Management Massimo Sgaravatto INFN Padova.
University of Dortmund June 30, On Grid Performance Evaluation using Synthetic Workloads JSSPP 2006 Alexandru Iosup, Dick Epema PDS Group, ST/EWI,
July 13, “How are Real Grids Used?” The Analysis of Four Grid Traces and Its Implications IEEE Grid 2006 Alexandru Iosup, Catalin Dumitrescu, and.
Euro-Par 2008, Las Palmas, 27 August DGSim : Comparing Grid Resource Management Architectures Through Trace-Based Simulation Alexandru Iosup, Ozan.
DIRAC API DIRAC Project. Overview  DIRAC API  Why APIs are important?  Why advanced users prefer APIs?  How it is done?  What is local mode what.
The SAM-Grid Fabric Services Gabriele Garzoglio (for the SAM-Grid team) Computing Division Fermilab.
Introduction to UNIX/Linux Exercises Dan Stanzione.
QCDgrid Technology James Perry, George Beckett, Lorna Smith EPCC, The University Of Edinburgh.
Euro-Par 2007, Rennes, 29th August 1 The Characteristics and Performance of Groups of Jobs in Grids Alexandru Iosup, Mathieu Jan *, Ozan Sonmez and Dick.
A Project about: Molecular Dynamic Simulation (MDS) Prepared By Ahmad Lotfy Abd El-Fattah Grid Computing Group Supervisors Alexandr Uzhinskiy & Nikolay.
Rsv-control Marco Mambelli – Site Coordination meeting October 1, 2009.
Workload Management WP Status and next steps Massimo Sgaravatto INFN Padova.
– Introduction to the Shell 10/1/2015 Introduction to the Shell – Session Introduction to the Shell – Session 2 · Permissions · Users.
SAN DIEGO SUPERCOMPUTER CENTER Working with Inca Reporters Jim Hayes Inca Workshop September 4-5, 2008.
Capture and Replay Often used for regression test development –Tool used to capture interactions with the system under test. –Inputs must be captured;
Copyright © 2007, Oracle. All rights reserved. Managing Concurrent Requests.
NeSC Apps Workshop July 20 th, 2002 Customizable command line tools for Grids Ian Kelley + Gabrielle Allen Max Planck Institute for Gravitational Physics.
Grid Workload Management & Condor Massimo Sgaravatto INFN Padova.
3-2.1 Topics Grid Computing Meta-schedulers –Condor-G –Gridway Distributed Resource Management Application (DRMAA) © 2010 B. Wilkinson/Clayton Ferner.
Nadia LAJILI User Interface User Interface 4 Février 2002.
LCG Middleware Testing in 2005 and Future Plans E.Slabospitskaya, IHEP, Russia CERN-Russia Joint Working Group on LHC Computing March, 6, 2006.
1 Challenge the future KOALA-C: A Task Allocator for Integrated Multicluster and Multicloud Environments Presenter: Lipu Fei Authors: Lipu Fei, Bogdan.
Marcelo R.N. Mendes. What is FINCoS? A Java-based set of tools for data generation, load submission, and performance measurement of event processing systems;
Stuart Wakefield Imperial College London Evolution of BOSS, a tool for job submission and tracking W. Bacchi, G. Codispoti, C. Grandi, INFN Bologna D.
JAVA: An Introduction to Problem Solving & Programming, 5 th Ed. By Walter Savitch and Frank Carrano. ISBN © 2008 Pearson Education, Inc., Upper.
Real-Time Systems, 2009 Fall Project 2: Energy-Efficient Scheduling For Android Environment Advised by Prof. Tei-Wei Kuo TA: Po-Chun Huang ( 黃柏鈞 )
LHCb Software Week November 2003 Gennady Kuznetsov Production Manager Tools (New Architecture)
© Geodise Project, University of Southampton, Geodise Middleware & Optimisation Graeme Pound, Hakki Eres, Gang Xue & Matthew Fairman Summer 2003.
Getting started DIRAC Project. Outline  DIRAC information system  Documentation sources  DIRAC users and groups  Registration with DIRAC  Getting.
Review of Condor,SGE,LSF,PBS
Controlling Computer Using Speech Recognition (CCSR) Creative Masters Group Supervisor : Dr: Mounira Taileb.
Going Large-Scale in P2P Experiments Using the JXTA Distributed Framework Mathieu Jan & Sébastien Monnet Projet PARIS Paris, 13 February 2004.
CENG 476 Projects 2014 (10’th November 2014) 1. Projects One problem for each student One problem for each student 2.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
© Geodise Project, University of Southampton, Geodise Middleware Graeme Pound, Gang Xue & Matthew Fairman Summer 2003.
Virtual Data Management for CMS Simulation Production A GriPhyN Prototype.
1 DIRAC Job submission A.Tsaregorodtsev, CPPM, Marseille LHCb-ATLAS GANGA Workshop, 21 April 2004.
Korea Workshop May GAE CMS Analysis (Example) Michael Thomas (on behalf of the GAE group)
EGI-InSPIRE RI EGI-InSPIRE EGI-InSPIRE RI How to integrate portals with the EGI monitoring system Dusan Vudragovic.
CPSC 871 John D. McGregor Module 8 Session 3 Assignment.
Hyperion Artifact Life Cycle Management Agenda  Overview  Demo  Tips & Tricks  Takeaways  Queries.
STAR Scheduling status Gabriele Carcassi 9 September 2002.
Status of Globus activities Massimo Sgaravatto INFN Padova for the INFN Globus group
Grid Workload Management (WP 1) Massimo Sgaravatto INFN Padova.
Linux Administration Working with the BASH Shell.
Enabling Grids for E-sciencE Work Load Management & Simple Job Submission Practical Shu-Ting Liao APROC, ASGC EGEE Tutorial.
Practical using C++ WMProxy API advanced job submission
Workload Management Workpackage
Working With Azure Batch AI
HyperSim: High Performance Simulation Kernel
On Dynamic Resource Availability in Grids
Resource and Test Management in Grids
Wide Area Workload Management Work Package DATAGRID project
Presentation transcript:

July 13, GrenchMark: A workload generator for Grids Demo at TU Delft A. Iosup, D.H.J. Epema PDS Group, ST/EWI, TU Delft

July 13, Evaluating Grid schedulers performance Performance Qualitative metrics supported application types, advanced fault tolerance, advanced... Quantitative metrics resource consumption, system performance, scheduler functionality Other metrics cost, single number Needs Applications, workloads, more workloads… Benefits Configuration testing and tuning Functionality testing System design and procurement Performance testing Runtime estimation

July 13, GrenchMark A systematic approach to testing Grid schedulers A set of metrics for comparing schedulers A set of representative applications Both real and synthetic Sequential 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]

July 13, The GrenchMark process

July 13, Outline Introduction Grenchmark Using Grenchmark Customizing Grenchmark Extending Grenchmark Conclusions [done] [here]

July 13, wl-desc.in Describes the workload to be generated; input file for wl-gen.py Fixed, non-fixed, semi-fixed execution sites Applications inter-arrival time: Poisson, uniform, normal, exp, hyperexp2, Weibull, log normal, gamma, … Over 35 supported applications, in 3 categories: sequential, MPI, Ibis

July 13, Grenchmark process $./wl-gen.py wl-desc.in $./wl-submit.py out/wl-to-submit.wl TODO Sample run: 95 jobs / 411 components 95 files / 32 directories 300KB data Sample run: multi-threaded – submission delay +/- 0.01s 95 JDFs

July 13, 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

July 13, 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)

July 13, Demo 1: Generating one job Single site, single instance

July 13, 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)

July 13, Describing the workload: Units wl-desc.in ID Times UnitType SiteType TotalComps PerSiteDesc ArrivalTimeDistr OtherInfo ? 1 wl:poisson Poisson(500) File=wl.xin wl.xin RandomWorkload=false NComponents=4;8 ComponentSize=8;16 Submitter=drunner Application=pi-g2-gm Generate Times x Jobs or Times x Sets of Jobs wl: prefix – workload unit generator [Hashim’s jobs]

July 13, 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

July 13, 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, components / 3k files, 4k dirs Timing: 30s generate / 86,400s submit (1 day, eh?) $ wl-gen.py --duration= wl-desc.in $ wl-submit.py --onefile out/wl-desc.in

July 13, Outline Introduction Grenchmark Using Grenchmark Customizing Grenchmark Extending Grenchmark Conclusions [done] [here] [done]

July 13, 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 … 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

July 13, 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

July 13, Outline Introduction Grenchmark Using Grenchmark Customizing Grenchmark Extending Grenchmark Conclusions [done] [here] [done]

July 13, 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

July 13, 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

July 13, Extending the workload generator (2) Unit Generators in C, Ruby, Perl,... ? 1.Same as previous: generate your-job-generator.py in apps/ 2.Replace step 4 with: 1.Interface your Python code, so that it runs your C, C++, Ruby, Perl, … application (os.exec, os.popen, …) 2.Save your C, C++, Ruby, Perl, … application information to a text file, or use pipes to transfer info 3.Read the saved information.

July 13, 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

July 13, Conclusions and future work Grenchmark easily generates diverse workloads of Grid applications KOALA developers successfully used GrenchMark to test KOALA Future work do you have specific Grid applications types that you would like to test? Try Grenchmark!

July 13, Thank you! Questions? Remarks? Observations? All welcome! Grenchmark [10x Paulo] Alexandru IOSUP TU Delft [google: “iosup”]