SlideShare une entreprise Scribd logo
1  sur  9
evaluate: revise tool default behavior
Luba Tang
replayer
Evaluate - Swiss knife to revise tool
behavior
 Intercept commands to the tool and revise it
 replayer (burglar) - intercept the control to original tool. Modify
the options to the original tool
 evaluate (hobbit) - controller of replayer
original
tool
evaluate
control
revised command
intercept
original
tool
command
Compiler Sensitivity - evaluate compiler optimization
 high watermark/low watermark
– Trivial upper bound/lower bound for a compilation
 Compiler sensitivity - The performance distance between
watermarks
compiler sensitivity
high watermark
low watermark
Set up high/low watermark
-mark-high [tool path]
• set target compiler to high watermark
-mark-low [tool path]
• set target compiler to low watermark
[local: ~]$ sudo evaluate -mark-high /usr/bin/gcc
[local: ~]$ gcc ./main.c -o ./a.out # build your project as usual
[local: ~]$ time ./a.out # evaluate performance as usual
real 0m0.002s
user 0m0.000s
sys 0m0.000s
[local: ~] sudo evaluate -mark-low /usr/bin/gcc
[local: ~] gcc ./main.c ./b.out
[local: ~] time ./b.out
real 0m0.004s
user 0m0.000s
sys 0n0.001s
clean watermarks
-unmark [tool path]
• clean up the watermarks on the target compiler
[local: ~]$ sudo evaluate -mark-high /usr/bin/gcc
[local: ~]$ gcc ./main.c -o ./a.out # build your project as usual
[local: ~]$ time ./a.out # evaluate performance as usual
real 0m0.002s
user 0m0.000s
sys 0m0.000s
[local: ~] sudo evaluate -unmark /usr/bin/gcc
List all watermarks
-l, -list
• list all watermarks
[local: ~]$ evaluate -l
/// *///
......... /// ....... ... ... .... .... ... ......... ......... ... ...
///////// /// //// /// *//////*////,//// */// ///////// ///////// ///*///
/// /// //// /// */// /// /// /// */// //// /// /// ////
///////// /////// ///./// /// /// /// */// ///// ///////// ///
/// /// ///. ////// /// /// /// */// .//// /// ///
///////// /// ///* //// /// /// /// */// ///////// ///////// ///
/////
Copyright (c) 2017 Skymizer Taiwan, Inc.
------------------------------------------------------------------------------
• low-mark -O0
locate in file://home/luba/skymizer-dev/build-trunk-dbg/echo.sh
• high-mark -O3
locate in file://usr/bin/gcc
------------------------------------------------------------------------------
Set customized watermarks
-tool [path of tool] -mark [strings]
– -tool and -mark must be used together
– All strings after -mark will be treated as new watermarks
 After settings customized watermarks, you can revise the behavior of target tool
[local: ~]$ evaluate -tool `which gcc` -mark -flto -O3 -finline
Show more details: -v
-verbose=N
set up verbose level, from zero to five
-v -v -v …
The number of -v represents the verbose level as well
[local: ~]$ evaluate -v -v -v # set up verbose level to 3
[local: ~]$ evaluate -verbose=2 # set up verbose level to 2
[local: ~]$ evaluate -quiet # set up verbose level to 0
Download
File format URL OS
static tar ball https://dl.skymizer.com/evaluate-1.0-
3.tar.gz
Ubuntu, CentOS
static rpm https://dl.skymizer.com/evaluate-1.0-
3.rpm
CentOS and can be
installed in all RPM system
static deb https://dl.skymizer.com/evaluate-1.0-
3.deb
ubuntu 14 LTS

Contenu connexe

Similaire à Evaluate r1 0-3

Virtual dj 5 user guide
Virtual dj 5   user guideVirtual dj 5   user guide
Virtual dj 5 user guide
luis177p
 
Virtual dj 5 user guide
Virtual dj 5   user guideVirtual dj 5   user guide
Virtual dj 5 user guide
pabloisrael15
 

Similaire à Evaluate r1 0-3 (20)

SAP WEBDYNPRO ABAP ONLINE TRAINING
SAP WEBDYNPRO ABAP ONLINE TRAININGSAP WEBDYNPRO ABAP ONLINE TRAINING
SAP WEBDYNPRO ABAP ONLINE TRAINING
 
Virtual dj 5 user guide
Virtual dj 5   user guideVirtual dj 5   user guide
Virtual dj 5 user guide
 
Virtual dj5
Virtual dj5   Virtual dj5
Virtual dj5
 
Virtual dj 5 user guide
Virtual dj 5   user guideVirtual dj 5   user guide
Virtual dj 5 user guide
 
Virtual dj 5 user guide
Virtual dj 5   user guideVirtual dj 5   user guide
Virtual dj 5 user guide
 
Update manual
Update manualUpdate manual
Update manual
 
Update manual
Update manualUpdate manual
Update manual
 
002207866
002207866002207866
002207866
 
Deploy hadoop cluster
Deploy hadoop clusterDeploy hadoop cluster
Deploy hadoop cluster
 
computer science c++ project class xii
computer science c++ project class xiicomputer science c++ project class xii
computer science c++ project class xii
 
Hands-on VeriFast with STM32 microcontroller @ Osaka
Hands-on VeriFast with STM32 microcontroller @ OsakaHands-on VeriFast with STM32 microcontroller @ Osaka
Hands-on VeriFast with STM32 microcontroller @ Osaka
 
SAP WEBDYNPRO ABAP ONLINE TRAINING
SAP WEBDYNPRO ABAP ONLINE TRAININGSAP WEBDYNPRO ABAP ONLINE TRAINING
SAP WEBDYNPRO ABAP ONLINE TRAINING
 
SAP WEBDYNPRO ABAP ONLINE TRAINING
SAP WEBDYNPRO ABAP ONLINE TRAININGSAP WEBDYNPRO ABAP ONLINE TRAINING
SAP WEBDYNPRO ABAP ONLINE TRAINING
 
Web dynpro abap
Web dynpro abapWeb dynpro abap
Web dynpro abap
 
SAP WEBDYNPRO ABAP ONLINE TRAINING
SAP WEBDYNPRO ABAP ONLINE TRAININGSAP WEBDYNPRO ABAP ONLINE TRAINING
SAP WEBDYNPRO ABAP ONLINE TRAINING
 
Training WEBDYNPRO ABAP Online SAP Course
Training WEBDYNPRO ABAP Online SAP CourseTraining WEBDYNPRO ABAP Online SAP Course
Training WEBDYNPRO ABAP Online SAP Course
 
Web dynpro abap
Web dynpro abapWeb dynpro abap
Web dynpro abap
 
SAP WEBDYNPRO ABAP COURSE ONLINE TRAINING
SAP WEBDYNPRO ABAP COURSE ONLINE TRAININGSAP WEBDYNPRO ABAP COURSE ONLINE TRAINING
SAP WEBDYNPRO ABAP COURSE ONLINE TRAINING
 
SAP WEBDYNPRO ABAP ONLINE TRAINING
SAP WEBDYNPRO ABAP ONLINE TRAININGSAP WEBDYNPRO ABAP ONLINE TRAINING
SAP WEBDYNPRO ABAP ONLINE TRAINING
 
ONLINE TRAINING SAP WEBDYNPRO ABAP COURSE
ONLINE TRAINING SAP WEBDYNPRO ABAP COURSEONLINE TRAINING SAP WEBDYNPRO ABAP COURSE
ONLINE TRAINING SAP WEBDYNPRO ABAP COURSE
 

Dernier

Dernier (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
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...
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
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...
 
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)
 
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
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
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, ...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
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
 
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...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
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
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 

Evaluate r1 0-3

  • 1. evaluate: revise tool default behavior Luba Tang
  • 2. replayer Evaluate - Swiss knife to revise tool behavior  Intercept commands to the tool and revise it  replayer (burglar) - intercept the control to original tool. Modify the options to the original tool  evaluate (hobbit) - controller of replayer original tool evaluate control revised command intercept original tool command
  • 3. Compiler Sensitivity - evaluate compiler optimization  high watermark/low watermark – Trivial upper bound/lower bound for a compilation  Compiler sensitivity - The performance distance between watermarks compiler sensitivity high watermark low watermark
  • 4. Set up high/low watermark -mark-high [tool path] • set target compiler to high watermark -mark-low [tool path] • set target compiler to low watermark [local: ~]$ sudo evaluate -mark-high /usr/bin/gcc [local: ~]$ gcc ./main.c -o ./a.out # build your project as usual [local: ~]$ time ./a.out # evaluate performance as usual real 0m0.002s user 0m0.000s sys 0m0.000s [local: ~] sudo evaluate -mark-low /usr/bin/gcc [local: ~] gcc ./main.c ./b.out [local: ~] time ./b.out real 0m0.004s user 0m0.000s sys 0n0.001s
  • 5. clean watermarks -unmark [tool path] • clean up the watermarks on the target compiler [local: ~]$ sudo evaluate -mark-high /usr/bin/gcc [local: ~]$ gcc ./main.c -o ./a.out # build your project as usual [local: ~]$ time ./a.out # evaluate performance as usual real 0m0.002s user 0m0.000s sys 0m0.000s [local: ~] sudo evaluate -unmark /usr/bin/gcc
  • 6. List all watermarks -l, -list • list all watermarks [local: ~]$ evaluate -l /// */// ......... /// ....... ... ... .... .... ... ......... ......... ... ... ///////// /// //// /// *//////*////,//// */// ///////// ///////// ///*/// /// /// //// /// */// /// /// /// */// //// /// /// //// ///////// /////// ///./// /// /// /// */// ///// ///////// /// /// /// ///. ////// /// /// /// */// .//// /// /// ///////// /// ///* //// /// /// /// */// ///////// ///////// /// ///// Copyright (c) 2017 Skymizer Taiwan, Inc. ------------------------------------------------------------------------------ • low-mark -O0 locate in file://home/luba/skymizer-dev/build-trunk-dbg/echo.sh • high-mark -O3 locate in file://usr/bin/gcc ------------------------------------------------------------------------------
  • 7. Set customized watermarks -tool [path of tool] -mark [strings] – -tool and -mark must be used together – All strings after -mark will be treated as new watermarks  After settings customized watermarks, you can revise the behavior of target tool [local: ~]$ evaluate -tool `which gcc` -mark -flto -O3 -finline
  • 8. Show more details: -v -verbose=N set up verbose level, from zero to five -v -v -v … The number of -v represents the verbose level as well [local: ~]$ evaluate -v -v -v # set up verbose level to 3 [local: ~]$ evaluate -verbose=2 # set up verbose level to 2 [local: ~]$ evaluate -quiet # set up verbose level to 0
  • 9. Download File format URL OS static tar ball https://dl.skymizer.com/evaluate-1.0- 3.tar.gz Ubuntu, CentOS static rpm https://dl.skymizer.com/evaluate-1.0- 3.rpm CentOS and can be installed in all RPM system static deb https://dl.skymizer.com/evaluate-1.0- 3.deb ubuntu 14 LTS