SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Semelhante a Evaluate r1 0-3

Virtual dj 5 user guide
Virtual dj 5   user guideVirtual dj 5   user guide
Virtual dj 5 user guideluis177p
 
Virtual dj 5 user guide
Virtual dj 5   user guideVirtual dj 5   user guide
Virtual dj 5 user guidepabloisrael15
 
Deploy hadoop cluster
Deploy hadoop clusterDeploy hadoop cluster
Deploy hadoop clusterChirag Ahuja
 
computer science c++ project class xii
computer science c++ project class xiicomputer science c++ project class xii
computer science c++ project class xiiYogesh Saini
 
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 @ OsakaKiwamu Okabe
 

Semelhante a 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
 

Último

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
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
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
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
 
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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
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
 
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
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
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
 
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
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
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
 

Último (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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
 
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)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
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?
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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...
 
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
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
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
 
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
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
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
 

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