SlideShare a Scribd company logo
1 of 34
Download to read offline
BIG DATA WORKLOAD ANALYSIS USING SWAT AND
MONIR MOZUMDER
IPYTHON NOTEBOOKS
AMD RESEARCH

THANKS:

JAY OWEN (AMD RESEARCH)
LEONARDO PIGA (AMD RESEARCH)
MAURICIO BRETERNITZ (AMD RESEARCH)
SABARISHYAM SRINIVASARAJU (AMD RESEARCH)
* I also want to acknowledge and thank KEITH LOWERY for
his contributions to the development of the SWAT tool at AMD.
AGENDA
SWAT OVERVIEW

IPython overview

Performance Bottleneck Analysis using
IPython Notebooks
2 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
SYNTHETIC WORKLOAD ANALYSIS TOOLKIT (SWAT)
OVERVIEW

SWAT
Software platform for automating creation, deployment,
synthetic compute workloads on clusters of arbitrary sizes

execution, and data gathering of

Allows deployment of workloads on Virtual Clusters (Amazon EC2) or physical in-house clusters (Seamicro server,
Bare hardware cluster…)
Supports benchmark workloads from CloudSuite, and some research workloads like GraphLab, HadoopCL etc.
Gathers various system statistics during run and collects them along with workload logs in a batch folder which are
stored in the UI box for later analysis/visualization

3 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
SYNTHETIC WORKLOAD ANALYSIS TOOLKIT (SWAT)
COMPONENTS

4 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
SYNTHETIC WORKLOAD ANALYSIS TOOLKIT (SWAT)
 Front End
Houses the Control Box of the SWAT tool
Separate from the actual cluster that runs the workloads
Does not need the benchmark workloads to be installed
Manages the cluster, if needed boots them with configuration options chosen by User
Stores logs generated for the runs for later analysis

 Cluster nodes
Runs the actual workloads as directed by Front End
Needs workloads installed on each node
Can reside on cloud service provider’s data center (Amazon) or in a local internal cluster

5 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
SYNTHETIC WORKLOAD ANALYSIS TOOLKIT (SWAT)
FRONT END (UI)

 Major steps in running a workload:
 Select nodes (instances)
 Select Workload Container
 Hadoop flavor
 Other container (memcached)

 Select Actual Workload:
 Basic hadoop jobs
 Cloudsuite benchmarks








Data Analytics (Mahout)
Data Serving (Cassandra)
Media Streaming (darwin)
Software Testing (Cloud9)
Web Search (nutch)
Web Serving (Oilo, Faban)
GraphLab

 McBlaster (memcached)

 Start selected job in batch mode or standalone mode

6 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
SWAT WORKFLOW STEPS
 1. Cluster selection:

7 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
SWAT WORKFLOW STEPS
 2. Workload Container Selection:

8 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
SWAT WORKFLOW STEPS
 3. Workload selection:

9 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
SWAT WORKFLOW STEPS
 4. Job initiation, progress and termination:

10 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
IPYTHON BASICS
 What is Ipython?
‒ Ipython stands for Interactive Python
‒
‒
‒
‒

A better python interpreter
Interactive IDE for python (QTConsole…)
Better web based front end for interactive analysis of scientific data (IPython notebooks)
Also has parallel execution engine for running workloads on a cluster (not as full-featured as SWAT..)

 Installing
‒ Install as all-in-one package in Windows®: Enthought Canopy, Anaconda, ActivePython, pythonxy
‒ In Linux® , we need to install the components separately (assuming setuptools already installed):

‒easy_install ipython[zmq,qtconsole,notebook]
‒easy_install pandas
‒easy_install matplotlib

11 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
IPYTHON

INTERFACES

 Starting ipython
 ipython
 opens up default shell like console

 ipython qtconsole --pylab=inline
 opens up graphical qt-based console

 ipython notebook --pylab=inline





instantiates server and a browser window pointing to the server instance
Server dashboard points to notebooks existing in machine, and ways to create new ones
Users can connect to this server instance remotely and collaborate by working on the same notebook
We use this feature for our SWAT log analysis and bottleneck finding experiments

12 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
IPYTHON

NOTEBOOK DASHBOARD

Note:
All three modes offer similar functionality.
We use the notebook interface due to easy

13 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL

sharing for collaborating remotely with multiple users
IPYTHON NOTEBOOK EXAMPLE SESSION
 Any python expression can be run at the console prompt:
In [1]: a=range(1,10)
In [2]: a
Out[2]: [1, 2, 3, 4, 5, 6, 7, 8, 9]

 Also run basic shell commands:
In [3]: pwd
Out [3]: u'c:monirapu13sumatra'
In [4]: cd ..
c:monir

 Even capture the output of any shell command or script into python variable

14 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
A COMMON PATTERN IN OUR DATA ANALYSIS
 Read Data from sources:
• CSV, JSON, Excel, Raw log file, DB connection….

 Munge data into data structure suitable for plotting
• Get it into a DataFrame (pandas library)

 Do final plotting
• df.plot()

 Do any sub-range plotting for further details

15 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
TYPICAL DATA ANALYSIS SESSION
import

pandas as pd

import

matplotlib.pyplot as

plt

……….
swat_archive = '/var/www/html/repo‘
……….
cd $swat_archive/Job_TerasortExperiment_Feb5/job_00_00
……….
df1 = pd.read_csv('vmstat.csv', parse_dates=[['date','time']], usecols=['date', 'time', '%idle'])
df1 = df1.set_index('date_time')
df1.plot()

16 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
TYPICAL DATA ANALYSIS SESSION - 2

17 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
REUSE INTERACTIONS AS GENERIC FUNCTION
 Once you are satisfied with your interactions, put them in a script

 Script has to have ipython as #! interpreter
def
#!/usr/bin/ipython
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import pandas as pd
# ……….
task_list = [
"CPU_Timeline_User_plus_Sys",
"Network_Timeline_Tx_plus_Rxw,
"DISK_Timeline_Read_Write_MBps",
"Compare_metrics_bottleneck",
"Compare_metrics_bottleneck_smoothed",
"Webserver_metrics",
# ………., about 20 total tasks
]
18 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL

def

def

bottleneck( job, mode='cpu', img_name=None, nodes='All',
alt_repo=None, nb=True, cat=None, arg=17, ifc='eth0',
smooth=None):
# create a custom graph and put it under images folder
…
timeline ( args……..)
# similar function
….
main()
# parse command line args and call appropriate graphing function
SWAT POST RUN
 Swat post job completion script now calls our graphing script
‒ graph_command_line.ipy current_batch_num current_job_num
‒ Graphing script can also be run manually to create more fine tuned graphs
‒ Same can be done from Ipython notebook:

19 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
DATA IS BEAUTIFUL
CPU UTILIZATION FROM ONE RUN

20 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
DATA IS BEAUTIFUL - 2
CPU UTILIZATION DATA FROM TWO RUNS

21 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
DATA IS BEAUTIFUL - 3
NETWORK UTILIZATION

22 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
DATA IS BEAUTIFUL - 4
PERFORMANCE COUNTER DATA

23 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
DATA IS BEAUTIFUL ?
PER-CORE CPU UTILIZATION

24 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
LIMITATIONS
 Images are static: no zooming
 Zooming functionality can be done by interactively asking to plot certain sub-range of the series
 Example sub-range plot:

25 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
HOW IS THIS HELPING US?

26 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
BOTTLENECK ANALYSIS
Workloads utilize the system resources
Certain workloads are CPU bound, while certain others are
Disk/Network/Memory bound
Ipython helps explore system logs and create nice graphs showing resource
utilization
‒Resource that is near 100% utilization is the bottleneck
‒If system is not at bottleneck, increase load by configuring workload and repeat
‒If at bottleneck, try to add more resources and repeat
‒Example scenarios in following slides

Enables us to optimize/characterize systems for certain workloads
27 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
BOTTLENECK ANALYSIS: CPU

28 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
BOTTLENECK ANALYSIS: DISK
HTTP://10.236.12.134/REPOS/BATCH_THU_08_AUG_2013_18_48_06/JOB_01_00/IMAGES/BATCH_THU_08_AUG_2013_18_48_06_JOB_01_00_DISK_BOTTLENECK_SMOOTHED_SEAMICRO08.PNG

29 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
WORKLOAD TUNING
(WORK IN PROGRESS)

1.
2.
3.
4.

Analyze workload logs of past SWAT runs from IPython notebook
Check resource utilization/performance of a run
Analyze associated workload configuration and correlate
Create new workload configuration based on observation and insights on
tuning
5. Push new config to SWAT template library
6. Initiate new run from SWAT using the new config
7. Repeat as needed to find optimal configuration
30 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
CONCLUSION
 Ipython notebook is a great tool for interactive data analysis
 For short exploratory sessions only, not to code huge code base
 Once done exploring - put into scripts for re-use

 Has its limitations: there are alternatives
Tableau®: interactive a la carte plots
 needs licensing
 no custom graphing, but menu has lots of choices

d3.js: needs coding
OpenTSDB: time series charts updated dynamically
etc..

31 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
REFERENCES
 Ipython tutorials
Pycon 2013: “IPython in-depth: high-productivity interactive and parallel python”
http://www.youtube.com/watch?v=bP8ydKBCZiY

SciPy2013: “IPython in Depth”:
 http://www.youtube.com/watch?v=xe_ATRmw0KM

 Ipython website: http://ipython.org/
Check the videos link for more tutorials

 Support: Stackoverflow tag: ipython, ipython-notebook

32 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
QUESTIONS / DEMO?

33 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
DISCLAIMER & ATTRIBUTION
The information presented in this document is for informational purposes only and may contain technical inaccuracies, omissions and typographical errors.
The information contained herein is subject to change and may be rendered inaccurate for many reasons, including but not limited to product and roadmap
changes, component and motherboard version changes, new model and/or product releases, product differences between differing manufacturers, software
changes, BIOS flashes, firmware upgrades, or the like. AMD assumes no obligation to update or otherwise correct or revise this information. However, AMD
reserves the right to revise this information and to make changes from time to time to the content hereof without obligation of AMD to notify any person of
such revisions or changes.
AMD MAKES NO REPRESENTATIONS OR WARRANTIES WITH RESPECT TO THE CONTENTS HEREOF AND ASSUMES NO RESPONSIBILITY FOR ANY
INACCURACIES, ERRORS OR OMISSIONS THAT MAY APPEAR IN THIS INFORMATION.
AMD SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE. IN NO EVENT WILL AMD BE
LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL OR OTHER CONSEQUENTIAL DAMAGES ARISING FROM THE USE OF ANY INFORMATION
CONTAINED HEREIN, EVEN IF AMD IS EXPRESSLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

ATTRIBUTION
© 2013 Advanced Micro Devices, Inc. All rights reserved. AMD, the AMD Arrow logo and combinations thereof are trademarks of Advanced Micro Devices,
Inc. in the United States and/or other jurisdictions. Linux is a registered trademark of Linus Torvalds , Windows is a registered trademark of Microsoft
Corporation and Tableau is a registered trademark of Tableau Software. Other names are for informational purposes only and may be trademarks of their
respective owners.

34 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL

More Related Content

What's hot

What's hot (20)

PL-4043, Accelerating OpenVL for Heterogeneous Platforms, by Gregor Miller
PL-4043, Accelerating OpenVL for Heterogeneous Platforms, by Gregor MillerPL-4043, Accelerating OpenVL for Heterogeneous Platforms, by Gregor Miller
PL-4043, Accelerating OpenVL for Heterogeneous Platforms, by Gregor Miller
 
MM-4105, Realtime 4K HDR Decoding with GPU ACES, by Gary Demos
MM-4105, Realtime 4K HDR Decoding with GPU ACES, by Gary DemosMM-4105, Realtime 4K HDR Decoding with GPU ACES, by Gary Demos
MM-4105, Realtime 4K HDR Decoding with GPU ACES, by Gary Demos
 
PT-4053, Advanced OpenCL - Debugging and Profiling Using AMD CodeXL, by Uri S...
PT-4053, Advanced OpenCL - Debugging and Profiling Using AMD CodeXL, by Uri S...PT-4053, Advanced OpenCL - Debugging and Profiling Using AMD CodeXL, by Uri S...
PT-4053, Advanced OpenCL - Debugging and Profiling Using AMD CodeXL, by Uri S...
 
HC-4018, How to make the most of GPU accessible memory, by Paul Blinzer
HC-4018, How to make the most of GPU accessible memory, by Paul BlinzerHC-4018, How to make the most of GPU accessible memory, by Paul Blinzer
HC-4018, How to make the most of GPU accessible memory, by Paul Blinzer
 
PL-4044, OpenACC on AMD APUs and GPUs with the PGI Accelerator Compilers, by ...
PL-4044, OpenACC on AMD APUs and GPUs with the PGI Accelerator Compilers, by ...PL-4044, OpenACC on AMD APUs and GPUs with the PGI Accelerator Compilers, by ...
PL-4044, OpenACC on AMD APUs and GPUs with the PGI Accelerator Compilers, by ...
 
HC-4015, An Overview of the HSA System Architecture Requirements, by Paul Bli...
HC-4015, An Overview of the HSA System Architecture Requirements, by Paul Bli...HC-4015, An Overview of the HSA System Architecture Requirements, by Paul Bli...
HC-4015, An Overview of the HSA System Architecture Requirements, by Paul Bli...
 
Leverage the Speed of OpenCL™ with AMD Math Libraries
Leverage the Speed of OpenCL™ with AMD Math LibrariesLeverage the Speed of OpenCL™ with AMD Math Libraries
Leverage the Speed of OpenCL™ with AMD Math Libraries
 
GS-4152, AMD’s Radeon R9-290X, One Big dGPU, by Michael Mantor
GS-4152, AMD’s Radeon R9-290X, One Big dGPU, by Michael MantorGS-4152, AMD’s Radeon R9-290X, One Big dGPU, by Michael Mantor
GS-4152, AMD’s Radeon R9-290X, One Big dGPU, by Michael Mantor
 
Keynote (Johan Andersson) - Mantle for Developers - by Johan Andersson, Techn...
Keynote (Johan Andersson) - Mantle for Developers - by Johan Andersson, Techn...Keynote (Johan Andersson) - Mantle for Developers - by Johan Andersson, Techn...
Keynote (Johan Andersson) - Mantle for Developers - by Johan Andersson, Techn...
 
GS-4106 The AMD GCN Architecture - A Crash Course, by Layla Mah
GS-4106 The AMD GCN Architecture - A Crash Course, by Layla MahGS-4106 The AMD GCN Architecture - A Crash Course, by Layla Mah
GS-4106 The AMD GCN Architecture - A Crash Course, by Layla Mah
 
HC-4019, "Exploiting Coarse-grained Parallelism in B+ Tree Searches on an APU...
HC-4019, "Exploiting Coarse-grained Parallelism in B+ Tree Searches on an APU...HC-4019, "Exploiting Coarse-grained Parallelism in B+ Tree Searches on an APU...
HC-4019, "Exploiting Coarse-grained Parallelism in B+ Tree Searches on an APU...
 
Keynote (Phil Rogers) - The Programmers Guide to Reaching for the Cloud - by ...
Keynote (Phil Rogers) - The Programmers Guide to Reaching for the Cloud - by ...Keynote (Phil Rogers) - The Programmers Guide to Reaching for the Cloud - by ...
Keynote (Phil Rogers) - The Programmers Guide to Reaching for the Cloud - by ...
 
ISCA 2014 | Heterogeneous System Architecture (HSA): Architecture and Algorit...
ISCA 2014 | Heterogeneous System Architecture (HSA): Architecture and Algorit...ISCA 2014 | Heterogeneous System Architecture (HSA): Architecture and Algorit...
ISCA 2014 | Heterogeneous System Architecture (HSA): Architecture and Algorit...
 
WT-4069, WebCL: Enabling OpenCL Acceleration of Web Applications, by Mikael ...
WT-4069, WebCL: Enabling OpenCL Acceleration of Web Applications, by  Mikael ...WT-4069, WebCL: Enabling OpenCL Acceleration of Web Applications, by  Mikael ...
WT-4069, WebCL: Enabling OpenCL Acceleration of Web Applications, by Mikael ...
 
Deeper Look Into HSAIL And It's Runtime
Deeper Look Into HSAIL And It's Runtime Deeper Look Into HSAIL And It's Runtime
Deeper Look Into HSAIL And It's Runtime
 
Easy and High Performance GPU Programming for Java Programmers
Easy and High Performance GPU Programming for Java ProgrammersEasy and High Performance GPU Programming for Java Programmers
Easy and High Performance GPU Programming for Java Programmers
 
LCU13: GPGPU on ARM Experience Report
LCU13: GPGPU on ARM Experience ReportLCU13: GPGPU on ARM Experience Report
LCU13: GPGPU on ARM Experience Report
 
Direct3D12 and the Future of Graphics APIs by Dave Oldcorn
Direct3D12 and the Future of Graphics APIs by Dave OldcornDirect3D12 and the Future of Graphics APIs by Dave Oldcorn
Direct3D12 and the Future of Graphics APIs by Dave Oldcorn
 
GS-4147, TressFX 2.0, by Bill-Bilodeau
GS-4147, TressFX 2.0, by Bill-BilodeauGS-4147, TressFX 2.0, by Bill-Bilodeau
GS-4147, TressFX 2.0, by Bill-Bilodeau
 
Using GPUs to handle Big Data with Java by Adam Roberts.
Using GPUs to handle Big Data with Java by Adam Roberts.Using GPUs to handle Big Data with Java by Adam Roberts.
Using GPUs to handle Big Data with Java by Adam Roberts.
 

Viewers also liked

Vac workload analysis ppx jan 26 2016
Vac workload analysis   ppx jan 26 2016Vac workload analysis   ppx jan 26 2016
Vac workload analysis ppx jan 26 2016
Alex Thibault
 

Viewers also liked (8)

Workload Analysis Analisa Beban Kerja
Workload Analysis Analisa Beban KerjaWorkload Analysis Analisa Beban Kerja
Workload Analysis Analisa Beban Kerja
 
workload analysis
workload analysisworkload analysis
workload analysis
 
Work load analysis
Work load analysisWork load analysis
Work load analysis
 
Get more out of cloud with astructured workload analysis
Get more out of cloud with astructured workload analysisGet more out of cloud with astructured workload analysis
Get more out of cloud with astructured workload analysis
 
The Effect of Workload on Occupational Stress. Emmanuel Segui
The Effect of Workload on Occupational Stress. Emmanuel SeguiThe Effect of Workload on Occupational Stress. Emmanuel Segui
The Effect of Workload on Occupational Stress. Emmanuel Segui
 
Vac workload analysis ppx jan 26 2016
Vac workload analysis   ppx jan 26 2016Vac workload analysis   ppx jan 26 2016
Vac workload analysis ppx jan 26 2016
 
About work: efficiency, utilisation and workload
About work: efficiency, utilisation and workloadAbout work: efficiency, utilisation and workload
About work: efficiency, utilisation and workload
 
Workload balancing
Workload balancingWorkload balancing
Workload balancing
 

Similar to PL-4047, Big Data Workload Analysis Using SWAT and Ipython Notebooks, by Monir Mozumder

PyWPS at COST WPS Workshop
PyWPS at COST WPS WorkshopPyWPS at COST WPS Workshop
PyWPS at COST WPS Workshop
Jachym Cepicky
 

Similar to PL-4047, Big Data Workload Analysis Using SWAT and Ipython Notebooks, by Monir Mozumder (20)

Endofday: A Container Workflow Engine for Scalable, Reproducible Computation
Endofday: A Container Workflow Engine for Scalable, Reproducible ComputationEndofday: A Container Workflow Engine for Scalable, Reproducible Computation
Endofday: A Container Workflow Engine for Scalable, Reproducible Computation
 
Kubernetes to improve business scalability and processes (Cloud & DevOps Worl...
Kubernetes to improve business scalability and processes (Cloud & DevOps Worl...Kubernetes to improve business scalability and processes (Cloud & DevOps Worl...
Kubernetes to improve business scalability and processes (Cloud & DevOps Worl...
 
PyWPS at COST WPS Workshop
PyWPS at COST WPS WorkshopPyWPS at COST WPS Workshop
PyWPS at COST WPS Workshop
 
Building a scalable learning platform - Erik Veld - Codemotion Amsterdam 2018
Building a scalable learning platform - Erik Veld - Codemotion Amsterdam 2018Building a scalable learning platform - Erik Veld - Codemotion Amsterdam 2018
Building a scalable learning platform - Erik Veld - Codemotion Amsterdam 2018
 
Monitoring MySQL with DTrace/SystemTap
Monitoring MySQL with DTrace/SystemTapMonitoring MySQL with DTrace/SystemTap
Monitoring MySQL with DTrace/SystemTap
 
Deploying PostgreSQL on Kubernetes
Deploying PostgreSQL on KubernetesDeploying PostgreSQL on Kubernetes
Deploying PostgreSQL on Kubernetes
 
iguazio - nuclio overview to CNCF (Sep 25th 2017)
iguazio - nuclio overview to CNCF (Sep 25th 2017)iguazio - nuclio overview to CNCF (Sep 25th 2017)
iguazio - nuclio overview to CNCF (Sep 25th 2017)
 
Deploy MediaWiki usgin Fiware Lab Facilities
Deploy MediaWiki usgin Fiware Lab FacilitiesDeploy MediaWiki usgin Fiware Lab Facilities
Deploy MediaWiki usgin Fiware Lab Facilities
 
Tutorial to setup OpenStreetMap tileserver with customized boundaries of India
Tutorial to setup OpenStreetMap tileserver with customized boundaries of IndiaTutorial to setup OpenStreetMap tileserver with customized boundaries of India
Tutorial to setup OpenStreetMap tileserver with customized boundaries of India
 
Building a Dev/Test Cloud with Apache CloudStack
Building a Dev/Test Cloud with Apache CloudStackBuilding a Dev/Test Cloud with Apache CloudStack
Building a Dev/Test Cloud with Apache CloudStack
 
Django deployment with PaaS
Django deployment with PaaSDjango deployment with PaaS
Django deployment with PaaS
 
Deploy Mediawiki Using FIWARE Lab Facilities
Deploy Mediawiki Using FIWARE Lab FacilitiesDeploy Mediawiki Using FIWARE Lab Facilities
Deploy Mediawiki Using FIWARE Lab Facilities
 
Speeding up Programs with OpenACC in GCC
Speeding up Programs with OpenACC in GCCSpeeding up Programs with OpenACC in GCC
Speeding up Programs with OpenACC in GCC
 
Cloud init and cloud provisioning [openstack summit vancouver]
Cloud init and cloud provisioning [openstack summit vancouver]Cloud init and cloud provisioning [openstack summit vancouver]
Cloud init and cloud provisioning [openstack summit vancouver]
 
Improving Apache Spark Downscaling
 Improving Apache Spark Downscaling Improving Apache Spark Downscaling
Improving Apache Spark Downscaling
 
Inithub.org presentation
Inithub.org presentationInithub.org presentation
Inithub.org presentation
 
Monitoring using Prometheus and Grafana
Monitoring using Prometheus and GrafanaMonitoring using Prometheus and Grafana
Monitoring using Prometheus and Grafana
 
Hadoop cluster performance profiler
Hadoop cluster performance profilerHadoop cluster performance profiler
Hadoop cluster performance profiler
 
New Jersey Red Hat Users Group Presentation: Provisioning anywhere
New Jersey Red Hat Users Group Presentation: Provisioning anywhereNew Jersey Red Hat Users Group Presentation: Provisioning anywhere
New Jersey Red Hat Users Group Presentation: Provisioning anywhere
 
Cascading talk in Etsy (http://www.meetup.com/cascading/events/169390262/)
Cascading talk in Etsy (http://www.meetup.com/cascading/events/169390262/)Cascading talk in Etsy (http://www.meetup.com/cascading/events/169390262/)
Cascading talk in Etsy (http://www.meetup.com/cascading/events/169390262/)
 

More from AMD Developer Central

Rendering Battlefield 4 with Mantle by Yuriy ODonnell
Rendering Battlefield 4 with Mantle by Yuriy ODonnellRendering Battlefield 4 with Mantle by Yuriy ODonnell
Rendering Battlefield 4 with Mantle by Yuriy ODonnell
AMD Developer Central
 

More from AMD Developer Central (20)

DX12 & Vulkan: Dawn of a New Generation of Graphics APIs
DX12 & Vulkan: Dawn of a New Generation of Graphics APIsDX12 & Vulkan: Dawn of a New Generation of Graphics APIs
DX12 & Vulkan: Dawn of a New Generation of Graphics APIs
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
 
Media SDK Webinar 2014
Media SDK Webinar 2014Media SDK Webinar 2014
Media SDK Webinar 2014
 
An Introduction to OpenCL™ Programming with AMD GPUs - AMD & Acceleware Webinar
An Introduction to OpenCL™ Programming with AMD GPUs - AMD & Acceleware WebinarAn Introduction to OpenCL™ Programming with AMD GPUs - AMD & Acceleware Webinar
An Introduction to OpenCL™ Programming with AMD GPUs - AMD & Acceleware Webinar
 
DirectGMA on AMD’S FirePro™ GPUS
DirectGMA on AMD’S  FirePro™ GPUSDirectGMA on AMD’S  FirePro™ GPUS
DirectGMA on AMD’S FirePro™ GPUS
 
Webinar: Whats New in Java 8 with Develop Intelligence
Webinar: Whats New in Java 8 with Develop IntelligenceWebinar: Whats New in Java 8 with Develop Intelligence
Webinar: Whats New in Java 8 with Develop Intelligence
 
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...
 
Inside XBox- One, by Martin Fuller
Inside XBox- One, by Martin FullerInside XBox- One, by Martin Fuller
Inside XBox- One, by Martin Fuller
 
TressFX The Fast and The Furry by Nicolas Thibieroz
TressFX The Fast and The Furry by Nicolas ThibierozTressFX The Fast and The Furry by Nicolas Thibieroz
TressFX The Fast and The Furry by Nicolas Thibieroz
 
Rendering Battlefield 4 with Mantle by Yuriy ODonnell
Rendering Battlefield 4 with Mantle by Yuriy ODonnellRendering Battlefield 4 with Mantle by Yuriy ODonnell
Rendering Battlefield 4 with Mantle by Yuriy ODonnell
 
Low-level Shader Optimization for Next-Gen and DX11 by Emil Persson
Low-level Shader Optimization for Next-Gen and DX11 by Emil PerssonLow-level Shader Optimization for Next-Gen and DX11 by Emil Persson
Low-level Shader Optimization for Next-Gen and DX11 by Emil Persson
 
Gcn performance ftw by stephan hodes
Gcn performance ftw by stephan hodesGcn performance ftw by stephan hodes
Gcn performance ftw by stephan hodes
 
Inside XBOX ONE by Martin Fuller
Inside XBOX ONE by Martin FullerInside XBOX ONE by Martin Fuller
Inside XBOX ONE by Martin Fuller
 
Introduction to Direct 3D 12 by Ivan Nevraev
Introduction to Direct 3D 12 by Ivan NevraevIntroduction to Direct 3D 12 by Ivan Nevraev
Introduction to Direct 3D 12 by Ivan Nevraev
 
Holy smoke! Faster Particle Rendering using Direct Compute by Gareth Thomas
Holy smoke! Faster Particle Rendering using Direct Compute by Gareth ThomasHoly smoke! Faster Particle Rendering using Direct Compute by Gareth Thomas
Holy smoke! Faster Particle Rendering using Direct Compute by Gareth Thomas
 
Computer Vision Powered by Heterogeneous System Architecture (HSA) by Dr. Ha...
Computer Vision Powered by Heterogeneous System Architecture (HSA) by  Dr. Ha...Computer Vision Powered by Heterogeneous System Architecture (HSA) by  Dr. Ha...
Computer Vision Powered by Heterogeneous System Architecture (HSA) by Dr. Ha...
 
Productive OpenCL Programming An Introduction to OpenCL Libraries with Array...
Productive OpenCL Programming An Introduction to OpenCL Libraries  with Array...Productive OpenCL Programming An Introduction to OpenCL Libraries  with Array...
Productive OpenCL Programming An Introduction to OpenCL Libraries with Array...
 
Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14
Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14
Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14
 
RapidFire - the Easy Route to low Latency Cloud Gaming Solutions - AMD at GDC14
RapidFire - the Easy Route to low Latency Cloud Gaming Solutions - AMD at GDC14RapidFire - the Easy Route to low Latency Cloud Gaming Solutions - AMD at GDC14
RapidFire - the Easy Route to low Latency Cloud Gaming Solutions - AMD at GDC14
 
Mantle and Nitrous - Combining Efficient Engine Design with a modern API - AM...
Mantle and Nitrous - Combining Efficient Engine Design with a modern API - AM...Mantle and Nitrous - Combining Efficient Engine Design with a modern API - AM...
Mantle and Nitrous - Combining Efficient Engine Design with a modern API - AM...
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

PL-4047, Big Data Workload Analysis Using SWAT and Ipython Notebooks, by Monir Mozumder

  • 1. BIG DATA WORKLOAD ANALYSIS USING SWAT AND MONIR MOZUMDER IPYTHON NOTEBOOKS AMD RESEARCH THANKS: JAY OWEN (AMD RESEARCH) LEONARDO PIGA (AMD RESEARCH) MAURICIO BRETERNITZ (AMD RESEARCH) SABARISHYAM SRINIVASARAJU (AMD RESEARCH) * I also want to acknowledge and thank KEITH LOWERY for his contributions to the development of the SWAT tool at AMD.
  • 2. AGENDA SWAT OVERVIEW IPython overview Performance Bottleneck Analysis using IPython Notebooks 2 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
  • 3. SYNTHETIC WORKLOAD ANALYSIS TOOLKIT (SWAT) OVERVIEW SWAT Software platform for automating creation, deployment, synthetic compute workloads on clusters of arbitrary sizes execution, and data gathering of Allows deployment of workloads on Virtual Clusters (Amazon EC2) or physical in-house clusters (Seamicro server, Bare hardware cluster…) Supports benchmark workloads from CloudSuite, and some research workloads like GraphLab, HadoopCL etc. Gathers various system statistics during run and collects them along with workload logs in a batch folder which are stored in the UI box for later analysis/visualization 3 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
  • 4. SYNTHETIC WORKLOAD ANALYSIS TOOLKIT (SWAT) COMPONENTS 4 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
  • 5. SYNTHETIC WORKLOAD ANALYSIS TOOLKIT (SWAT)  Front End Houses the Control Box of the SWAT tool Separate from the actual cluster that runs the workloads Does not need the benchmark workloads to be installed Manages the cluster, if needed boots them with configuration options chosen by User Stores logs generated for the runs for later analysis  Cluster nodes Runs the actual workloads as directed by Front End Needs workloads installed on each node Can reside on cloud service provider’s data center (Amazon) or in a local internal cluster 5 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
  • 6. SYNTHETIC WORKLOAD ANALYSIS TOOLKIT (SWAT) FRONT END (UI)  Major steps in running a workload:  Select nodes (instances)  Select Workload Container  Hadoop flavor  Other container (memcached)  Select Actual Workload:  Basic hadoop jobs  Cloudsuite benchmarks        Data Analytics (Mahout) Data Serving (Cassandra) Media Streaming (darwin) Software Testing (Cloud9) Web Search (nutch) Web Serving (Oilo, Faban) GraphLab  McBlaster (memcached)  Start selected job in batch mode or standalone mode 6 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
  • 7. SWAT WORKFLOW STEPS  1. Cluster selection: 7 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
  • 8. SWAT WORKFLOW STEPS  2. Workload Container Selection: 8 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
  • 9. SWAT WORKFLOW STEPS  3. Workload selection: 9 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
  • 10. SWAT WORKFLOW STEPS  4. Job initiation, progress and termination: 10 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
  • 11. IPYTHON BASICS  What is Ipython? ‒ Ipython stands for Interactive Python ‒ ‒ ‒ ‒ A better python interpreter Interactive IDE for python (QTConsole…) Better web based front end for interactive analysis of scientific data (IPython notebooks) Also has parallel execution engine for running workloads on a cluster (not as full-featured as SWAT..)  Installing ‒ Install as all-in-one package in Windows®: Enthought Canopy, Anaconda, ActivePython, pythonxy ‒ In Linux® , we need to install the components separately (assuming setuptools already installed): ‒easy_install ipython[zmq,qtconsole,notebook] ‒easy_install pandas ‒easy_install matplotlib 11 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
  • 12. IPYTHON INTERFACES  Starting ipython  ipython  opens up default shell like console  ipython qtconsole --pylab=inline  opens up graphical qt-based console  ipython notebook --pylab=inline     instantiates server and a browser window pointing to the server instance Server dashboard points to notebooks existing in machine, and ways to create new ones Users can connect to this server instance remotely and collaborate by working on the same notebook We use this feature for our SWAT log analysis and bottleneck finding experiments 12 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
  • 13. IPYTHON NOTEBOOK DASHBOARD Note: All three modes offer similar functionality. We use the notebook interface due to easy 13 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL sharing for collaborating remotely with multiple users
  • 14. IPYTHON NOTEBOOK EXAMPLE SESSION  Any python expression can be run at the console prompt: In [1]: a=range(1,10) In [2]: a Out[2]: [1, 2, 3, 4, 5, 6, 7, 8, 9]  Also run basic shell commands: In [3]: pwd Out [3]: u'c:monirapu13sumatra' In [4]: cd .. c:monir  Even capture the output of any shell command or script into python variable 14 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
  • 15. A COMMON PATTERN IN OUR DATA ANALYSIS  Read Data from sources: • CSV, JSON, Excel, Raw log file, DB connection….  Munge data into data structure suitable for plotting • Get it into a DataFrame (pandas library)  Do final plotting • df.plot()  Do any sub-range plotting for further details 15 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
  • 16. TYPICAL DATA ANALYSIS SESSION import pandas as pd import matplotlib.pyplot as plt ………. swat_archive = '/var/www/html/repo‘ ………. cd $swat_archive/Job_TerasortExperiment_Feb5/job_00_00 ………. df1 = pd.read_csv('vmstat.csv', parse_dates=[['date','time']], usecols=['date', 'time', '%idle']) df1 = df1.set_index('date_time') df1.plot() 16 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
  • 17. TYPICAL DATA ANALYSIS SESSION - 2 17 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
  • 18. REUSE INTERACTIONS AS GENERIC FUNCTION  Once you are satisfied with your interactions, put them in a script  Script has to have ipython as #! interpreter def #!/usr/bin/ipython import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt import pandas as pd # ………. task_list = [ "CPU_Timeline_User_plus_Sys", "Network_Timeline_Tx_plus_Rxw, "DISK_Timeline_Read_Write_MBps", "Compare_metrics_bottleneck", "Compare_metrics_bottleneck_smoothed", "Webserver_metrics", # ………., about 20 total tasks ] 18 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL def def bottleneck( job, mode='cpu', img_name=None, nodes='All', alt_repo=None, nb=True, cat=None, arg=17, ifc='eth0', smooth=None): # create a custom graph and put it under images folder … timeline ( args……..) # similar function …. main() # parse command line args and call appropriate graphing function
  • 19. SWAT POST RUN  Swat post job completion script now calls our graphing script ‒ graph_command_line.ipy current_batch_num current_job_num ‒ Graphing script can also be run manually to create more fine tuned graphs ‒ Same can be done from Ipython notebook: 19 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
  • 20. DATA IS BEAUTIFUL CPU UTILIZATION FROM ONE RUN 20 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
  • 21. DATA IS BEAUTIFUL - 2 CPU UTILIZATION DATA FROM TWO RUNS 21 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
  • 22. DATA IS BEAUTIFUL - 3 NETWORK UTILIZATION 22 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
  • 23. DATA IS BEAUTIFUL - 4 PERFORMANCE COUNTER DATA 23 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
  • 24. DATA IS BEAUTIFUL ? PER-CORE CPU UTILIZATION 24 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
  • 25. LIMITATIONS  Images are static: no zooming  Zooming functionality can be done by interactively asking to plot certain sub-range of the series  Example sub-range plot: 25 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
  • 26. HOW IS THIS HELPING US? 26 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
  • 27. BOTTLENECK ANALYSIS Workloads utilize the system resources Certain workloads are CPU bound, while certain others are Disk/Network/Memory bound Ipython helps explore system logs and create nice graphs showing resource utilization ‒Resource that is near 100% utilization is the bottleneck ‒If system is not at bottleneck, increase load by configuring workload and repeat ‒If at bottleneck, try to add more resources and repeat ‒Example scenarios in following slides Enables us to optimize/characterize systems for certain workloads 27 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
  • 28. BOTTLENECK ANALYSIS: CPU 28 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
  • 30. WORKLOAD TUNING (WORK IN PROGRESS) 1. 2. 3. 4. Analyze workload logs of past SWAT runs from IPython notebook Check resource utilization/performance of a run Analyze associated workload configuration and correlate Create new workload configuration based on observation and insights on tuning 5. Push new config to SWAT template library 6. Initiate new run from SWAT using the new config 7. Repeat as needed to find optimal configuration 30 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
  • 31. CONCLUSION  Ipython notebook is a great tool for interactive data analysis  For short exploratory sessions only, not to code huge code base  Once done exploring - put into scripts for re-use  Has its limitations: there are alternatives Tableau®: interactive a la carte plots  needs licensing  no custom graphing, but menu has lots of choices d3.js: needs coding OpenTSDB: time series charts updated dynamically etc.. 31 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
  • 32. REFERENCES  Ipython tutorials Pycon 2013: “IPython in-depth: high-productivity interactive and parallel python” http://www.youtube.com/watch?v=bP8ydKBCZiY SciPy2013: “IPython in Depth”:  http://www.youtube.com/watch?v=xe_ATRmw0KM  Ipython website: http://ipython.org/ Check the videos link for more tutorials  Support: Stackoverflow tag: ipython, ipython-notebook 32 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
  • 33. QUESTIONS / DEMO? 33 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL
  • 34. DISCLAIMER & ATTRIBUTION The information presented in this document is for informational purposes only and may contain technical inaccuracies, omissions and typographical errors. The information contained herein is subject to change and may be rendered inaccurate for many reasons, including but not limited to product and roadmap changes, component and motherboard version changes, new model and/or product releases, product differences between differing manufacturers, software changes, BIOS flashes, firmware upgrades, or the like. AMD assumes no obligation to update or otherwise correct or revise this information. However, AMD reserves the right to revise this information and to make changes from time to time to the content hereof without obligation of AMD to notify any person of such revisions or changes. AMD MAKES NO REPRESENTATIONS OR WARRANTIES WITH RESPECT TO THE CONTENTS HEREOF AND ASSUMES NO RESPONSIBILITY FOR ANY INACCURACIES, ERRORS OR OMISSIONS THAT MAY APPEAR IN THIS INFORMATION. AMD SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE. IN NO EVENT WILL AMD BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL OR OTHER CONSEQUENTIAL DAMAGES ARISING FROM THE USE OF ANY INFORMATION CONTAINED HEREIN, EVEN IF AMD IS EXPRESSLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. ATTRIBUTION © 2013 Advanced Micro Devices, Inc. All rights reserved. AMD, the AMD Arrow logo and combinations thereof are trademarks of Advanced Micro Devices, Inc. in the United States and/or other jurisdictions. Linux is a registered trademark of Linus Torvalds , Windows is a registered trademark of Microsoft Corporation and Tableau is a registered trademark of Tableau Software. Other names are for informational purposes only and may be trademarks of their respective owners. 34 | PRESENTATION TITLE | NOVEMBER 14, 2013 | CONFIDENTIAL