SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
Introduction
Methodology
Implementation (general info)
Implementation (client)
Evaluation of implementation
Programs Performance Analysis Toolkit Adaptor
Michael K. Pankov
Advisor: Anatoly P. Karpenko
Bauman Moscow State Technical University
October 11, 2013
Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
Introduction
Methodology
Implementation (general info)
Implementation (client)
Evaluation of implementation
Goal, tasks, and importance of the work
Goal
Develop a method and software toolkit for modeling of
programs performance on general purpose computers
Tasks
1 Develop method of programs performance modeling
2 Implement the performance analysis & modeling toolkit
3 Study the efficiency of toolkit on a set of benchmarks
Importance
1 Estimation of computer performance during its design
2 Search of optimal compiler settings by methods of iterative
compilation and machine learning-driven techniques
Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
Introduction
Methodology
Implementation (general info)
Implementation (client)
Evaluation of implementation
Overview
A lot of recent research: see C. Dubach, G. Fursin, B. C. Lee,
W. Wu
In particular, there’s cTuning public repository for research
and corresponding program Collective Mind run by G. Fursin
This work is about modeling of performance of
general-purpose computer programs with feature ranking by
means of Earth Importance and regression by means of
k-Nearest Neighbors and Earth Regression. We try to
accomplish automatic detection of relevant features.
Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
Introduction
Methodology
Implementation (general info)
Implementation (client)
Evaluation of implementation
Method of statistical programs performance analysis
Velocitas
1 Perform a series of experiments on measuring time of program
execution and form a set, U:
U = {(Xi , yi )}, Xi = (xij , i ∈ [1; m], j ∈ [1; n])
Xi — features vector (CPU frequency, number of rows of
processed matrix, etc.), yi — response (execution time),
m — number of experiments, n — number of features
Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
Introduction
Methodology
Implementation (general info)
Implementation (client)
Evaluation of implementation
2 Split the U set into training sample D and test sample C by
randomly assigning of 70% of experiments to D
D = {di | f I
rand (di ) > 0.3}, (1)
di = (Xi , yi ), (2)
f I
rand (d) ∈ [0 : 1], (3)
i ∈ [1; m], (4)
C = U  D (5)
Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
Introduction
Methodology
Implementation (general info)
Implementation (client)
Evaluation of implementation
3 Extract features xik
xik = f (Xi ), (6)
Xi = (xij ), (7)
D = {(Xi , yi )}, (8)
i ∈ [1; m], (9)
j ∈ [1; n + r], (10)
k ∈ [n + 1; r] (11)
r — number of additional features (i.e. ”size of input data”)
Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
Introduction
Methodology
Implementation (general info)
Implementation (client)
Evaluation of implementation
4 Filter the training set D to remove noise and incorrect
measurements
D = D  {(Xi , yi ) | P(Xi , yi )}
P — experiment selection predicate (we remove all
experiments where the measured execution time is less than
tmin)
Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
Introduction
Methodology
Implementation (general info)
Implementation (client)
Evaluation of implementation
5 Rank the features and select only ones with non-zero
importance
sj = frank(D ), (12)
j ∈ [1; n], (13)
D = {(Xi , yi ) | Sj > 0} (14)
sj — scalar value of importance of particular feature,
frank — feature ranking function (we used MSE, Relief F,
Earth Importance)
Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
Introduction
Methodology
Implementation (general info)
Implementation (client)
Evaluation of implementation
6 Fit the regression model of 1 of 4 kinds (linear, random forest,
Earth, k nearest neighbors)
Mp = {fpred , B} (15)
B = ffit(D ), p ∈ [1; 4] (16)
B — vector of model parameters, ffit — learning function,
fpref — prediction function (they’re defined for each model
separately)
Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
Introduction
Methodology
Implementation (general info)
Implementation (client)
Evaluation of implementation
7 Test the model by RRSE metric
C = U  D (17)
= {(Xi , yi )}, (18)
i ∈ [1; m], (19)
Xi = (xik), (20)
k ∈ [1; n + r] (21)
˜Y = fpred (X, B), (22)
RRSE =
m
i=1
(˜yi − yi )2
m
i=1
(yi − ¯y)2
(23)
˜yi — predicted value of response, ¯y — average value of
response in testing sample
Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
Introduction
Methodology
Implementation (general info)
Implementation (client)
Evaluation of implementation
Architecture of Adaptor Framework
Database server
Data views
Client
Database interaction module
Program building module
Experimentation module
Information retrieval module
Information analysis module
Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
Introduction
Methodology
Implementation (general info)
Implementation (client)
Evaluation of implementation
Technology stack
Database server
Distributed client-server document-oriented storage CouchDB
Cloud platform Cloudant
Client
Python
Statistical framework Orange
GNU/Linux on x86 platform
Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
Introduction
Methodology
Implementation (general info)
Implementation (client)
Evaluation of implementation
Database interaction module
Provides high-level API for
storage of Python objects to
database documents
Uses local CouchDB server
as a fall-back if the remote
isn’t available
Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
Introduction
Methodology
Implementation (general info)
Implementation (client)
Evaluation of implementation
Program building module
Manages paths to source
files of experimental
programs
Sources are in hierarchical
structure of directories
Module enables that only
specifying the name of
program to build is
enough for sources to be
found
Manages build tools and
their settings
Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
Introduction
Methodology
Implementation (general info)
Implementation (client)
Evaluation of implementation
Experimentation module
Calibrates the program
execution time measurement
before every series of runs
Subtracts the execution
time of ”simplest”
program to avoid
systematical error
Runs the program being
studied until relative
dispersion of time
measurement becomes
pretty low (drel < 5%)
Passes experiment data to
database interaction module
Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
Introduction
Methodology
Implementation (general info)
Implementation (client)
Evaluation of implementation
Information retrieval module
Collects the information on
used platform and
experiment being carried out
CPU
Frequency
Cache size
Instruction set extensions
etc.
Compiler
Experiment
Studied program
Size of input data
Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
Introduction
Methodology
Implementation (general info)
Implementation (client)
Evaluation of implementation
Data analysis module
Receives data from database and saves it to CSV files for
input to Orange statistical analysis system
Graphs results using Python library matplotlib
Two groups of program performance models
Simplest (1 feature)
More complex (3-5 features)
Four regression models in both groups
Linear
k Nearest Neighbors
Multivariate Adaptive Regression Splines
Random Forest
Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
Introduction
Methodology
Implementation (general info)
Implementation (client)
Evaluation of implementation
Data analysis module (cont.)
Scheme of 40 data analysis
components in Orange
system
Reading in
Preprocessing
Filtering
Feature extraction
Feature ranking
Predictor fitting
Prediction results
evaluation
Saving predictions to CSV
file
Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
Introduction
Methodology
Implementation (general info)
Implementation (client)
Evaluation of implementation
Platform
Intel CPUs
Core 2 Quad Q8200
2.33 GHz, 2 MB cache
Core i5 M460 2.53
GHz, 3 MB cache
Xeon E5430 2.66
GHz, 6 MB cache
Ubuntu 12.04, gcc and
llvm compilers
Polybench/C 3.2 benchmark
set, 28 programs in total
Linear algebra, solution of
systems of linear algebraic
equations and ordinary
differential equations
Input data is generated by
deterministic algorithms
Performance of chosen
programs from benchmark
set is modeled using
Adaptor framework
symm. Multiplication of
symmetric matrices
Square matrices of 2i
dimensionality,
i = frand (1, 10)
ludcmp.
LU-decomposition.
Square matrices of
frand (2, 1024)
dimensionality
1000 experiments per CPU
Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
Introduction
Methodology
Implementation (general info)
Implementation (client)
Evaluation of implementation
Feature ranking. symm program
Attribute Relief F Mean Square Error Earth Importance
size 0.268 0.573 4.9
cpu mhz 0.000 0.006 3.3
width 0.130 0.573 0.7
cpu cache 0.000 0.006 0.5
height 0.130 0.573 0.0
Earth Importance selected only relevant features
Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
Introduction
Methodology
Implementation (general info)
Implementation (client)
Evaluation of implementation
Feature ranking. symm program (cont.)
428 experiments
1 feature: matrix dimensionality
RMSE RRSE R2
k Nearest Neighbors 5.761 0.051 0.997
Random Forest 5.961 0.052 0.997
Linear Regression 15.869 0.139 0.981
Root Relative Square Error of k Nearest Neighbors —
approx. 5%
Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
Introduction
Methodology
Implementation (general info)
Implementation (client)
Evaluation of implementation
Resulting model of performance
k Nearest Neighbors
model
of performance
of symm program
on Intel
Core 2 Quad Q8200
CPU
Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
Introduction
Methodology
Implementation (general info)
Implementation (client)
Evaluation of implementation
Resulting model of performance
Comparison of models of performance of ludcmp program
468 experiments
2 features: width of matrix, CPU frequency
RMSE RRSE R2
k Nearest Neigbors 1.093 0.048 0.998
Linear Regression 9.067 0.394 0.845
Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
Introduction
Methodology
Implementation (general info)
Implementation (client)
Evaluation of implementation
Where models fail
Amazon throttles its
micro servers: data is
split into two
”curves”
Earth Regression at
least tries to follow
the ”main curve”
k Nearest Neighbors
is much worse in this
situation
Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
Introduction
Methodology
Implementation (general info)
Implementation (client)
Evaluation of implementation
Results of evaluation
Most suitable Feature Ranking method — Earth Importance
Most suitable Regression method — k Nearest Neighbors
Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
Introduction
Methodology
Implementation (general info)
Implementation (client)
Evaluation of implementation
Further work
Velocitas method is promising, scales for larger feature sets
Data filtering to reduce noise can help it to get even better
Orange is decent statistical framework, but interactive work
with it limits batch processing
For larger data sets and increased automation of Adaptor
framework, either its API, or other libraries (e.g. sklearn)
should be used
Custom research scenario support is required
It would be interesting to perform experiments on GPU to
study effects of massive parallel execution
Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
Introduction
Methodology
Implementation (general info)
Implementation (client)
Evaluation of implementation
Thank you!
Contact information: Michael K. Pankov
mkpankov@gmail.com
michaelpankov.com
This is an extended and edited version of my diploma defense
keynote, given on June 19, 2013
Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor

Contenu connexe

Tendances

HITECS: A UML Profile and Analysis Framework for Hardware-in-the-Loop Testing...
HITECS: A UML Profile and Analysis Framework for Hardware-in-the-Loop Testing...HITECS: A UML Profile and Analysis Framework for Hardware-in-the-Loop Testing...
HITECS: A UML Profile and Analysis Framework for Hardware-in-the-Loop Testing...Lionel Briand
 
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCL
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCLOCLR: A More Expressive, Pattern-Based Temporal Extension of OCL
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCLLionel Briand
 
Implementing Generate-Test-and-Aggregate Algorithms on Hadoop
Implementing Generate-Test-and-Aggregate Algorithms on HadoopImplementing Generate-Test-and-Aggregate Algorithms on Hadoop
Implementing Generate-Test-and-Aggregate Algorithms on HadoopYu Liu
 
Testing of Cyber-Physical Systems: Diversity-driven Strategies
Testing of Cyber-Physical Systems: Diversity-driven StrategiesTesting of Cyber-Physical Systems: Diversity-driven Strategies
Testing of Cyber-Physical Systems: Diversity-driven StrategiesLionel Briand
 
Scalable and Cost-Effective Model-Based Software Verification and Testing
Scalable and Cost-Effective Model-Based Software Verification and TestingScalable and Cost-Effective Model-Based Software Verification and Testing
Scalable and Cost-Effective Model-Based Software Verification and TestingLionel Briand
 
Test Case Prioritization for Acceptance Testing of Cyber Physical Systems
Test Case Prioritization for Acceptance Testing of Cyber Physical SystemsTest Case Prioritization for Acceptance Testing of Cyber Physical Systems
Test Case Prioritization for Acceptance Testing of Cyber Physical SystemsLionel Briand
 
Automated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance SystemsAutomated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance SystemsLionel Briand
 
Speeding up information extraction programs: a holistic optimizer and a learn...
Speeding up information extraction programs: a holistic optimizer and a learn...Speeding up information extraction programs: a holistic optimizer and a learn...
Speeding up information extraction programs: a holistic optimizer and a learn...INRIA-OAK
 

Tendances (8)

HITECS: A UML Profile and Analysis Framework for Hardware-in-the-Loop Testing...
HITECS: A UML Profile and Analysis Framework for Hardware-in-the-Loop Testing...HITECS: A UML Profile and Analysis Framework for Hardware-in-the-Loop Testing...
HITECS: A UML Profile and Analysis Framework for Hardware-in-the-Loop Testing...
 
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCL
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCLOCLR: A More Expressive, Pattern-Based Temporal Extension of OCL
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCL
 
Implementing Generate-Test-and-Aggregate Algorithms on Hadoop
Implementing Generate-Test-and-Aggregate Algorithms on HadoopImplementing Generate-Test-and-Aggregate Algorithms on Hadoop
Implementing Generate-Test-and-Aggregate Algorithms on Hadoop
 
Testing of Cyber-Physical Systems: Diversity-driven Strategies
Testing of Cyber-Physical Systems: Diversity-driven StrategiesTesting of Cyber-Physical Systems: Diversity-driven Strategies
Testing of Cyber-Physical Systems: Diversity-driven Strategies
 
Scalable and Cost-Effective Model-Based Software Verification and Testing
Scalable and Cost-Effective Model-Based Software Verification and TestingScalable and Cost-Effective Model-Based Software Verification and Testing
Scalable and Cost-Effective Model-Based Software Verification and Testing
 
Test Case Prioritization for Acceptance Testing of Cyber Physical Systems
Test Case Prioritization for Acceptance Testing of Cyber Physical SystemsTest Case Prioritization for Acceptance Testing of Cyber Physical Systems
Test Case Prioritization for Acceptance Testing of Cyber Physical Systems
 
Automated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance SystemsAutomated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance Systems
 
Speeding up information extraction programs: a holistic optimizer and a learn...
Speeding up information extraction programs: a holistic optimizer and a learn...Speeding up information extraction programs: a holistic optimizer and a learn...
Speeding up information extraction programs: a holistic optimizer and a learn...
 

Similaire à Program Performance Analysis Toolkit Adaptor

IEEE P2P 2013 - Bootstrapping Skynet: Calibration and Autonomic Self-Control ...
IEEE P2P 2013 - Bootstrapping Skynet: Calibration and Autonomic Self-Control ...IEEE P2P 2013 - Bootstrapping Skynet: Calibration and Autonomic Self-Control ...
IEEE P2P 2013 - Bootstrapping Skynet: Calibration and Autonomic Self-Control ...Kalman Graffi
 
Who cares about Software Process Modelling? A First Investigation about the P...
Who cares about Software Process Modelling? A First Investigation about the P...Who cares about Software Process Modelling? A First Investigation about the P...
Who cares about Software Process Modelling? A First Investigation about the P...Daniel Mendez
 
Spm software effort estimation
Spm software effort estimationSpm software effort estimation
Spm software effort estimationKanchana Devi
 
Probe Debugging
Probe DebuggingProbe Debugging
Probe DebuggingESUG
 
Developing Tools for “What if…” Testing of Large-scale Software Systems
Developing Tools for “What if…” Testing of Large-scale Software SystemsDeveloping Tools for “What if…” Testing of Large-scale Software Systems
Developing Tools for “What if…” Testing of Large-scale Software Systems James Hill
 
A scalable collaborative filtering framework based on co clustering
A scalable collaborative filtering framework based on co clusteringA scalable collaborative filtering framework based on co clustering
A scalable collaborative filtering framework based on co clusteringAllenWu
 
Rejunevating software reengineering processes
Rejunevating software reengineering processesRejunevating software reengineering processes
Rejunevating software reengineering processesmanishthaper
 
LIFT: A Legacy InFormation retrieval Tool
LIFT: A Legacy InFormation retrieval ToolLIFT: A Legacy InFormation retrieval Tool
LIFT: A Legacy InFormation retrieval ToolKellyton Brito
 
ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...
ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...
ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...Aberla
 
Automating Speed: A Proven Approach to Preventing Performance Regressions in ...
Automating Speed: A Proven Approach to Preventing Performance Regressions in ...Automating Speed: A Proven Approach to Preventing Performance Regressions in ...
Automating Speed: A Proven Approach to Preventing Performance Regressions in ...HostedbyConfluent
 
Spm project planning
Spm project planning Spm project planning
Spm project planning Kanchana Devi
 
Ml programming with python
Ml programming with pythonMl programming with python
Ml programming with pythonKumud Arora
 
Recommendation System for Design Patterns in Software Development
Recommendation System for Design Patterns in Software DevelopmentRecommendation System for Design Patterns in Software Development
Recommendation System for Design Patterns in Software DevelopmentFrancis Palma
 
A Pragmatic Approach to Semantic Repositories Benchmarking
A Pragmatic Approach to Semantic Repositories BenchmarkingA Pragmatic Approach to Semantic Repositories Benchmarking
A Pragmatic Approach to Semantic Repositories BenchmarkingDhaval Thakker
 
A Connectionist Approach to Dynamic Resource Management for Virtualised Netwo...
A Connectionist Approach to Dynamic Resource Management for Virtualised Netwo...A Connectionist Approach to Dynamic Resource Management for Virtualised Netwo...
A Connectionist Approach to Dynamic Resource Management for Virtualised Netwo...Rashid Mijumbi
 
Academic research on graph processing: connecting recent findings to industri...
Academic research on graph processing: connecting recent findings to industri...Academic research on graph processing: connecting recent findings to industri...
Academic research on graph processing: connecting recent findings to industri...openCypher
 

Similaire à Program Performance Analysis Toolkit Adaptor (20)

IEEE P2P 2013 - Bootstrapping Skynet: Calibration and Autonomic Self-Control ...
IEEE P2P 2013 - Bootstrapping Skynet: Calibration and Autonomic Self-Control ...IEEE P2P 2013 - Bootstrapping Skynet: Calibration and Autonomic Self-Control ...
IEEE P2P 2013 - Bootstrapping Skynet: Calibration and Autonomic Self-Control ...
 
Who cares about Software Process Modelling? A First Investigation about the P...
Who cares about Software Process Modelling? A First Investigation about the P...Who cares about Software Process Modelling? A First Investigation about the P...
Who cares about Software Process Modelling? A First Investigation about the P...
 
Spm software effort estimation
Spm software effort estimationSpm software effort estimation
Spm software effort estimation
 
Probe Debugging
Probe DebuggingProbe Debugging
Probe Debugging
 
Developing Tools for “What if…” Testing of Large-scale Software Systems
Developing Tools for “What if…” Testing of Large-scale Software SystemsDeveloping Tools for “What if…” Testing of Large-scale Software Systems
Developing Tools for “What if…” Testing of Large-scale Software Systems
 
A scalable collaborative filtering framework based on co clustering
A scalable collaborative filtering framework based on co clusteringA scalable collaborative filtering framework based on co clustering
A scalable collaborative filtering framework based on co clustering
 
Rejunevating software reengineering processes
Rejunevating software reengineering processesRejunevating software reengineering processes
Rejunevating software reengineering processes
 
Ch1
Ch1Ch1
Ch1
 
Ch1
Ch1Ch1
Ch1
 
Se
SeSe
Se
 
LIFT: A Legacy InFormation retrieval Tool
LIFT: A Legacy InFormation retrieval ToolLIFT: A Legacy InFormation retrieval Tool
LIFT: A Legacy InFormation retrieval Tool
 
ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...
ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...
ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...
 
Rsse12.ppt
Rsse12.pptRsse12.ppt
Rsse12.ppt
 
Automating Speed: A Proven Approach to Preventing Performance Regressions in ...
Automating Speed: A Proven Approach to Preventing Performance Regressions in ...Automating Speed: A Proven Approach to Preventing Performance Regressions in ...
Automating Speed: A Proven Approach to Preventing Performance Regressions in ...
 
Spm project planning
Spm project planning Spm project planning
Spm project planning
 
Ml programming with python
Ml programming with pythonMl programming with python
Ml programming with python
 
Recommendation System for Design Patterns in Software Development
Recommendation System for Design Patterns in Software DevelopmentRecommendation System for Design Patterns in Software Development
Recommendation System for Design Patterns in Software Development
 
A Pragmatic Approach to Semantic Repositories Benchmarking
A Pragmatic Approach to Semantic Repositories BenchmarkingA Pragmatic Approach to Semantic Repositories Benchmarking
A Pragmatic Approach to Semantic Repositories Benchmarking
 
A Connectionist Approach to Dynamic Resource Management for Virtualised Netwo...
A Connectionist Approach to Dynamic Resource Management for Virtualised Netwo...A Connectionist Approach to Dynamic Resource Management for Virtualised Netwo...
A Connectionist Approach to Dynamic Resource Management for Virtualised Netwo...
 
Academic research on graph processing: connecting recent findings to industri...
Academic research on graph processing: connecting recent findings to industri...Academic research on graph processing: connecting recent findings to industri...
Academic research on graph processing: connecting recent findings to industri...
 

Dernier

What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
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 WorkerThousandEyes
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 

Dernier (20)

What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 

Program Performance Analysis Toolkit Adaptor

  • 1. Introduction Methodology Implementation (general info) Implementation (client) Evaluation of implementation Programs Performance Analysis Toolkit Adaptor Michael K. Pankov Advisor: Anatoly P. Karpenko Bauman Moscow State Technical University October 11, 2013 Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
  • 2. Introduction Methodology Implementation (general info) Implementation (client) Evaluation of implementation Goal, tasks, and importance of the work Goal Develop a method and software toolkit for modeling of programs performance on general purpose computers Tasks 1 Develop method of programs performance modeling 2 Implement the performance analysis & modeling toolkit 3 Study the efficiency of toolkit on a set of benchmarks Importance 1 Estimation of computer performance during its design 2 Search of optimal compiler settings by methods of iterative compilation and machine learning-driven techniques Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
  • 3. Introduction Methodology Implementation (general info) Implementation (client) Evaluation of implementation Overview A lot of recent research: see C. Dubach, G. Fursin, B. C. Lee, W. Wu In particular, there’s cTuning public repository for research and corresponding program Collective Mind run by G. Fursin This work is about modeling of performance of general-purpose computer programs with feature ranking by means of Earth Importance and regression by means of k-Nearest Neighbors and Earth Regression. We try to accomplish automatic detection of relevant features. Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
  • 4. Introduction Methodology Implementation (general info) Implementation (client) Evaluation of implementation Method of statistical programs performance analysis Velocitas 1 Perform a series of experiments on measuring time of program execution and form a set, U: U = {(Xi , yi )}, Xi = (xij , i ∈ [1; m], j ∈ [1; n]) Xi — features vector (CPU frequency, number of rows of processed matrix, etc.), yi — response (execution time), m — number of experiments, n — number of features Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
  • 5. Introduction Methodology Implementation (general info) Implementation (client) Evaluation of implementation 2 Split the U set into training sample D and test sample C by randomly assigning of 70% of experiments to D D = {di | f I rand (di ) > 0.3}, (1) di = (Xi , yi ), (2) f I rand (d) ∈ [0 : 1], (3) i ∈ [1; m], (4) C = U D (5) Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
  • 6. Introduction Methodology Implementation (general info) Implementation (client) Evaluation of implementation 3 Extract features xik xik = f (Xi ), (6) Xi = (xij ), (7) D = {(Xi , yi )}, (8) i ∈ [1; m], (9) j ∈ [1; n + r], (10) k ∈ [n + 1; r] (11) r — number of additional features (i.e. ”size of input data”) Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
  • 7. Introduction Methodology Implementation (general info) Implementation (client) Evaluation of implementation 4 Filter the training set D to remove noise and incorrect measurements D = D {(Xi , yi ) | P(Xi , yi )} P — experiment selection predicate (we remove all experiments where the measured execution time is less than tmin) Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
  • 8. Introduction Methodology Implementation (general info) Implementation (client) Evaluation of implementation 5 Rank the features and select only ones with non-zero importance sj = frank(D ), (12) j ∈ [1; n], (13) D = {(Xi , yi ) | Sj > 0} (14) sj — scalar value of importance of particular feature, frank — feature ranking function (we used MSE, Relief F, Earth Importance) Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
  • 9. Introduction Methodology Implementation (general info) Implementation (client) Evaluation of implementation 6 Fit the regression model of 1 of 4 kinds (linear, random forest, Earth, k nearest neighbors) Mp = {fpred , B} (15) B = ffit(D ), p ∈ [1; 4] (16) B — vector of model parameters, ffit — learning function, fpref — prediction function (they’re defined for each model separately) Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
  • 10. Introduction Methodology Implementation (general info) Implementation (client) Evaluation of implementation 7 Test the model by RRSE metric C = U D (17) = {(Xi , yi )}, (18) i ∈ [1; m], (19) Xi = (xik), (20) k ∈ [1; n + r] (21) ˜Y = fpred (X, B), (22) RRSE = m i=1 (˜yi − yi )2 m i=1 (yi − ¯y)2 (23) ˜yi — predicted value of response, ¯y — average value of response in testing sample Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
  • 11. Introduction Methodology Implementation (general info) Implementation (client) Evaluation of implementation Architecture of Adaptor Framework Database server Data views Client Database interaction module Program building module Experimentation module Information retrieval module Information analysis module Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
  • 12. Introduction Methodology Implementation (general info) Implementation (client) Evaluation of implementation Technology stack Database server Distributed client-server document-oriented storage CouchDB Cloud platform Cloudant Client Python Statistical framework Orange GNU/Linux on x86 platform Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
  • 13. Introduction Methodology Implementation (general info) Implementation (client) Evaluation of implementation Database interaction module Provides high-level API for storage of Python objects to database documents Uses local CouchDB server as a fall-back if the remote isn’t available Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
  • 14. Introduction Methodology Implementation (general info) Implementation (client) Evaluation of implementation Program building module Manages paths to source files of experimental programs Sources are in hierarchical structure of directories Module enables that only specifying the name of program to build is enough for sources to be found Manages build tools and their settings Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
  • 15. Introduction Methodology Implementation (general info) Implementation (client) Evaluation of implementation Experimentation module Calibrates the program execution time measurement before every series of runs Subtracts the execution time of ”simplest” program to avoid systematical error Runs the program being studied until relative dispersion of time measurement becomes pretty low (drel < 5%) Passes experiment data to database interaction module Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
  • 16. Introduction Methodology Implementation (general info) Implementation (client) Evaluation of implementation Information retrieval module Collects the information on used platform and experiment being carried out CPU Frequency Cache size Instruction set extensions etc. Compiler Experiment Studied program Size of input data Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
  • 17. Introduction Methodology Implementation (general info) Implementation (client) Evaluation of implementation Data analysis module Receives data from database and saves it to CSV files for input to Orange statistical analysis system Graphs results using Python library matplotlib Two groups of program performance models Simplest (1 feature) More complex (3-5 features) Four regression models in both groups Linear k Nearest Neighbors Multivariate Adaptive Regression Splines Random Forest Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
  • 18. Introduction Methodology Implementation (general info) Implementation (client) Evaluation of implementation Data analysis module (cont.) Scheme of 40 data analysis components in Orange system Reading in Preprocessing Filtering Feature extraction Feature ranking Predictor fitting Prediction results evaluation Saving predictions to CSV file Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
  • 19. Introduction Methodology Implementation (general info) Implementation (client) Evaluation of implementation Platform Intel CPUs Core 2 Quad Q8200 2.33 GHz, 2 MB cache Core i5 M460 2.53 GHz, 3 MB cache Xeon E5430 2.66 GHz, 6 MB cache Ubuntu 12.04, gcc and llvm compilers Polybench/C 3.2 benchmark set, 28 programs in total Linear algebra, solution of systems of linear algebraic equations and ordinary differential equations Input data is generated by deterministic algorithms Performance of chosen programs from benchmark set is modeled using Adaptor framework symm. Multiplication of symmetric matrices Square matrices of 2i dimensionality, i = frand (1, 10) ludcmp. LU-decomposition. Square matrices of frand (2, 1024) dimensionality 1000 experiments per CPU Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
  • 20. Introduction Methodology Implementation (general info) Implementation (client) Evaluation of implementation Feature ranking. symm program Attribute Relief F Mean Square Error Earth Importance size 0.268 0.573 4.9 cpu mhz 0.000 0.006 3.3 width 0.130 0.573 0.7 cpu cache 0.000 0.006 0.5 height 0.130 0.573 0.0 Earth Importance selected only relevant features Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
  • 21. Introduction Methodology Implementation (general info) Implementation (client) Evaluation of implementation Feature ranking. symm program (cont.) 428 experiments 1 feature: matrix dimensionality RMSE RRSE R2 k Nearest Neighbors 5.761 0.051 0.997 Random Forest 5.961 0.052 0.997 Linear Regression 15.869 0.139 0.981 Root Relative Square Error of k Nearest Neighbors — approx. 5% Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
  • 22. Introduction Methodology Implementation (general info) Implementation (client) Evaluation of implementation Resulting model of performance k Nearest Neighbors model of performance of symm program on Intel Core 2 Quad Q8200 CPU Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
  • 23. Introduction Methodology Implementation (general info) Implementation (client) Evaluation of implementation Resulting model of performance Comparison of models of performance of ludcmp program 468 experiments 2 features: width of matrix, CPU frequency RMSE RRSE R2 k Nearest Neigbors 1.093 0.048 0.998 Linear Regression 9.067 0.394 0.845 Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
  • 24. Introduction Methodology Implementation (general info) Implementation (client) Evaluation of implementation Where models fail Amazon throttles its micro servers: data is split into two ”curves” Earth Regression at least tries to follow the ”main curve” k Nearest Neighbors is much worse in this situation Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
  • 25. Introduction Methodology Implementation (general info) Implementation (client) Evaluation of implementation Results of evaluation Most suitable Feature Ranking method — Earth Importance Most suitable Regression method — k Nearest Neighbors Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
  • 26. Introduction Methodology Implementation (general info) Implementation (client) Evaluation of implementation Further work Velocitas method is promising, scales for larger feature sets Data filtering to reduce noise can help it to get even better Orange is decent statistical framework, but interactive work with it limits batch processing For larger data sets and increased automation of Adaptor framework, either its API, or other libraries (e.g. sklearn) should be used Custom research scenario support is required It would be interesting to perform experiments on GPU to study effects of massive parallel execution Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor
  • 27. Introduction Methodology Implementation (general info) Implementation (client) Evaluation of implementation Thank you! Contact information: Michael K. Pankov mkpankov@gmail.com michaelpankov.com This is an extended and edited version of my diploma defense keynote, given on June 19, 2013 Michael K. PankovAdvisor: Anatoly P. Karpenko Programs Performance Analysis Toolkit Adaptor