SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
The impact of software on energy
use – and what can we do about it
Energy in HPC
The world’s top 500
supercomputers cost 400M€
annually in energy alone
If software reduces
its energy footprint
… payback could
be enormous
Solution
Enable developers
and users to
improve application
energy
consumption
Two Key Questions
• Can developers optimize code for energy?
• Can owners and users tune applications for
energy?
What is
energy?
Approximations for Energy
• Floating point, vector operations,
memory access
• L1 or L2 misses vs main memory
orders of magnitude in energy
Heuristics
• Real data from some processor,
memory subsystems, accelerators
• Available in kernel - Intel RAPL
Low level
measurement
• PDU and server level readings
• Real data – real energy
Server level
monitoring
How we optimize for time
Capture
performance
• Profiler creates
application profile
• Allinea MAP
records multiple
processes
Find
bottlenecks
• Source code
viewer pinpoints
key consumers
• Timelines find
unusual patterns
Optimize
• Rewrite key loops
• Reorganize
memory access
patterns
• Change algorithms
CPU Package and System Power
Whole System
Power Usage
CPU Package
Power Usage
We can also measure power when profiling
Coprocessor Metrics
• Coprocessors have power requirements
– NVIDIA CUDA GPU OR INTEL XEON PHI (KNC)
• Devices provide kernel access to power
– HIGH POWER CONSUMPTION WHEN ACTIVE
– LOW POWER CONSUMPTION WHEN IDLE
Two Key Questions
• Can developers optimize code for energy? YES
• Can owners and users tune applications for
energy?
How we tune time without changing code
No instrumentation needed
No source code needed
No recompilation needed
Less than 5% runtime overhead
Fully scalable
Explicit and usable output
We can include energy usage too
Key Observation: In a Nutshell
• For many HPC workloads
– THE FASTER AN APPLICATION COMPLETES, THE LOWER ITS
ENERGY CONSUMPTION
– IE. OPTIMIZE FOR SPEED AND YOU ARE PROBABLY ALREADY
OPTIMIZING FOR ENERGY
• But for some HPC and non-HPC cases
– FREQUENCY SCALING SAVES ENERGY
Two Key Questions
• Can developers optimize code for energy? YES
• Can owners and users tune applications for
energy? YES
…. But should they?
• Are we counting all energy?
• Are we considering all costs?
.. Let’s rewrite the key question!
Two Key Questions
• When should developers optimize code for
energy?
• When should owners and users tune applications
for energy?
What is
energy?
Measuring Energy
• Real data from some processor,
memory subsystems
• Available in kernel - Intel RAPL
Low level
measurement
• PDU and server level readings
• Real data – real energy
Server level
monitoring
• Air-con
• Servers, switches, storage….
Full system
monitoring
Frequency Scaling
Some
workloads have
low compute
requirement, but
high data
volume
Data crunching vs number
crunching
Processor is
over-powered
for the speed of
memory, disk or
network
CPU frequency can be scaled
down in software
Providing
information to
developer, user
and system
owner
Allinea MAP
Allinea Performance Reports
A lot of codes are memory-bound
Multiple cores share bandwidth
Core 1
Core 2
Core 3
Core 4
…
Lots of
clever
technology
Main memory
Can we tune them for energy efficiency?
Core 1
Core 2
Core 3
Core 4
…
Lots of
clever
technology
Main
memory
How can users improve energy efficiency?
Buy a new cluster
Optimize the code
Reduce CPU frequency?
Run on fewer cores per node?
The Experiment
One
simple
code
A well-understood
wave equation
solver
One
compute
node
Minimize effect of
MPI
communications
Change
CPU
frequency
and
#cores
Measure the results
with Allinea
Performance
Reports
4 PPN @ 2.1 Ghz, 30 seconds
Observed Results
Lower CPU frequency
• 1.7GHz – 6% less energy use
• Same runtime
Fewer cores/more nodes
• 20% increased runtime
• … but according to RAPL 15% energy saving
• Nonsense!! – 2x servers baseline power!
Important take-aways:
• Measure whole system energy
• Control power per application
Improving energy efficiency
• Tools show if the application wastes power
• Developers can see when to optimize and change
code
• Users can improve efficiency without changing code
Each application
and system has
different
characteristics
• Slowing down applications costs science and results
• Machines and PhDs have finite lifetime – their cost
dominates
Don’t forget the
opportunity cost
• Optimize for time before optimizing for energy
Time and energy
are not the same
Allinea’s Energy Products
• Allinea MAP
– PROFILER - PART OF ALLINEA FORGE DEVELOPMENT SUITE
– ADD-ON FOR SYSTEM AND PACKAGE ENERGY/POWER
• Allinea Performance Reports
– 1-PAGE BENCHMARKING/ANALYSIS
– ADD-ON FOR SYSTEM AND CPU ENERGY/POWER
• Available now
– RAPL SUPPORT FOR CPU ENERGY/POWER
– WHOLE NODE POWER MEASUREMENT FOR CRAY AND SOME
OTHER SYSTEMS
• Visit: http://www.allinea.com/energy-pack

Contenu connexe

Similaire à The impact of software on energy use and optimization strategies

Optimizing High Performance Computing Applications for Energy
Optimizing High Performance Computing Applications for EnergyOptimizing High Performance Computing Applications for Energy
Optimizing High Performance Computing Applications for EnergyDavid Lecomber
 
Unit 1 Computer organization and Instructions
Unit 1 Computer organization and InstructionsUnit 1 Computer organization and Instructions
Unit 1 Computer organization and InstructionsBalaji Vignesh
 
SC17 Panel: Energy Efficiency Gains From HPC Software
SC17 Panel: Energy Efficiency Gains From HPC SoftwareSC17 Panel: Energy Efficiency Gains From HPC Software
SC17 Panel: Energy Efficiency Gains From HPC Softwareinside-BigData.com
 
OpenPOWER Acceleration of HPCC Systems
OpenPOWER Acceleration of HPCC SystemsOpenPOWER Acceleration of HPCC Systems
OpenPOWER Acceleration of HPCC SystemsHPCC Systems
 
Basics of micro controllers for biginners
Basics of  micro controllers for biginnersBasics of  micro controllers for biginners
Basics of micro controllers for biginnersGerwin Makanyanga
 
Embedded system hardware architecture ii
Embedded system hardware architecture iiEmbedded system hardware architecture ii
Embedded system hardware architecture iiGrace Abraham
 
Challenges in Embedded Computing
Challenges in Embedded ComputingChallenges in Embedded Computing
Challenges in Embedded ComputingPradeep Kumar TS
 
Fundamentals.pptx
Fundamentals.pptxFundamentals.pptx
Fundamentals.pptxdhivyak49
 
QuantumChemistry500
QuantumChemistry500QuantumChemistry500
QuantumChemistry500Maho Nakata
 
L-2 (Computer Performance).ppt
L-2 (Computer Performance).pptL-2 (Computer Performance).ppt
L-2 (Computer Performance).pptImranKhan997082
 
Intel Distribution for Python - Scaling for HPC and Big Data
Intel Distribution for Python - Scaling for HPC and Big DataIntel Distribution for Python - Scaling for HPC and Big Data
Intel Distribution for Python - Scaling for HPC and Big DataDESMOND YUEN
 
OpenPOWER Roadmap Toward CORAL
OpenPOWER Roadmap Toward CORALOpenPOWER Roadmap Toward CORAL
OpenPOWER Roadmap Toward CORALinside-BigData.com
 
Programmable Logic Controller (plc)
Programmable Logic Controller (plc)Programmable Logic Controller (plc)
Programmable Logic Controller (plc)Dhruv Shah
 
Aged Data Center Infrastructure.pptx
Aged Data Center Infrastructure.pptxAged Data Center Infrastructure.pptx
Aged Data Center Infrastructure.pptxSchneider Electric
 
Basic Structure of Computers: Functional Units, Basic Operational Concepts, B...
Basic Structure of Computers: Functional Units, Basic Operational Concepts, B...Basic Structure of Computers: Functional Units, Basic Operational Concepts, B...
Basic Structure of Computers: Functional Units, Basic Operational Concepts, B...Abhishekn84
 
HPC Best Practices: Application Performance Optimization
HPC Best Practices: Application Performance OptimizationHPC Best Practices: Application Performance Optimization
HPC Best Practices: Application Performance Optimizationinside-BigData.com
 
Vector Supercomputers and Scientific Array Processors
Vector Supercomputers and Scientific Array ProcessorsVector Supercomputers and Scientific Array Processors
Vector Supercomputers and Scientific Array ProcessorsHsuvas Borkakoty
 
GPU Support In Spark And GPU/CPU Mixed Resource Scheduling At Production Scale
GPU Support In Spark And GPU/CPU Mixed Resource Scheduling At Production ScaleGPU Support In Spark And GPU/CPU Mixed Resource Scheduling At Production Scale
GPU Support In Spark And GPU/CPU Mixed Resource Scheduling At Production ScaleSpark Summit
 

Similaire à The impact of software on energy use and optimization strategies (20)

Optimizing High Performance Computing Applications for Energy
Optimizing High Performance Computing Applications for EnergyOptimizing High Performance Computing Applications for Energy
Optimizing High Performance Computing Applications for Energy
 
Unit 1 Computer organization and Instructions
Unit 1 Computer organization and InstructionsUnit 1 Computer organization and Instructions
Unit 1 Computer organization and Instructions
 
SC17 Panel: Energy Efficiency Gains From HPC Software
SC17 Panel: Energy Efficiency Gains From HPC SoftwareSC17 Panel: Energy Efficiency Gains From HPC Software
SC17 Panel: Energy Efficiency Gains From HPC Software
 
Parallel Computing on the GPU
Parallel Computing on the GPUParallel Computing on the GPU
Parallel Computing on the GPU
 
OpenPOWER Acceleration of HPCC Systems
OpenPOWER Acceleration of HPCC SystemsOpenPOWER Acceleration of HPCC Systems
OpenPOWER Acceleration of HPCC Systems
 
Basics of micro controllers for biginners
Basics of  micro controllers for biginnersBasics of  micro controllers for biginners
Basics of micro controllers for biginners
 
Embedded system hardware architecture ii
Embedded system hardware architecture iiEmbedded system hardware architecture ii
Embedded system hardware architecture ii
 
Challenges in Embedded Computing
Challenges in Embedded ComputingChallenges in Embedded Computing
Challenges in Embedded Computing
 
Fundamentals.pptx
Fundamentals.pptxFundamentals.pptx
Fundamentals.pptx
 
QuantumChemistry500
QuantumChemistry500QuantumChemistry500
QuantumChemistry500
 
L-2 (Computer Performance).ppt
L-2 (Computer Performance).pptL-2 (Computer Performance).ppt
L-2 (Computer Performance).ppt
 
Intel Distribution for Python - Scaling for HPC and Big Data
Intel Distribution for Python - Scaling for HPC and Big DataIntel Distribution for Python - Scaling for HPC and Big Data
Intel Distribution for Python - Scaling for HPC and Big Data
 
OpenPOWER Roadmap Toward CORAL
OpenPOWER Roadmap Toward CORALOpenPOWER Roadmap Toward CORAL
OpenPOWER Roadmap Toward CORAL
 
Programmable Logic Controller (plc)
Programmable Logic Controller (plc)Programmable Logic Controller (plc)
Programmable Logic Controller (plc)
 
Aged Data Center Infrastructure.pptx
Aged Data Center Infrastructure.pptxAged Data Center Infrastructure.pptx
Aged Data Center Infrastructure.pptx
 
Basic Structure of Computers: Functional Units, Basic Operational Concepts, B...
Basic Structure of Computers: Functional Units, Basic Operational Concepts, B...Basic Structure of Computers: Functional Units, Basic Operational Concepts, B...
Basic Structure of Computers: Functional Units, Basic Operational Concepts, B...
 
HPC Best Practices: Application Performance Optimization
HPC Best Practices: Application Performance OptimizationHPC Best Practices: Application Performance Optimization
HPC Best Practices: Application Performance Optimization
 
Code Optimization
Code OptimizationCode Optimization
Code Optimization
 
Vector Supercomputers and Scientific Array Processors
Vector Supercomputers and Scientific Array ProcessorsVector Supercomputers and Scientific Array Processors
Vector Supercomputers and Scientific Array Processors
 
GPU Support In Spark And GPU/CPU Mixed Resource Scheduling At Production Scale
GPU Support In Spark And GPU/CPU Mixed Resource Scheduling At Production ScaleGPU Support In Spark And GPU/CPU Mixed Resource Scheduling At Production Scale
GPU Support In Spark And GPU/CPU Mixed Resource Scheduling At Production Scale
 

Dernier

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
 
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
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
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
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
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
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
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
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
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
 

Dernier (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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
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
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
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
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
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
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
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 impact of software on energy use and optimization strategies

  • 1. The impact of software on energy use – and what can we do about it
  • 2. Energy in HPC The world’s top 500 supercomputers cost 400M€ annually in energy alone If software reduces its energy footprint … payback could be enormous Solution Enable developers and users to improve application energy consumption
  • 3. Two Key Questions • Can developers optimize code for energy? • Can owners and users tune applications for energy?
  • 4. What is energy? Approximations for Energy • Floating point, vector operations, memory access • L1 or L2 misses vs main memory orders of magnitude in energy Heuristics • Real data from some processor, memory subsystems, accelerators • Available in kernel - Intel RAPL Low level measurement • PDU and server level readings • Real data – real energy Server level monitoring
  • 5. How we optimize for time Capture performance • Profiler creates application profile • Allinea MAP records multiple processes Find bottlenecks • Source code viewer pinpoints key consumers • Timelines find unusual patterns Optimize • Rewrite key loops • Reorganize memory access patterns • Change algorithms
  • 6. CPU Package and System Power Whole System Power Usage CPU Package Power Usage We can also measure power when profiling
  • 7. Coprocessor Metrics • Coprocessors have power requirements – NVIDIA CUDA GPU OR INTEL XEON PHI (KNC) • Devices provide kernel access to power – HIGH POWER CONSUMPTION WHEN ACTIVE – LOW POWER CONSUMPTION WHEN IDLE
  • 8. Two Key Questions • Can developers optimize code for energy? YES • Can owners and users tune applications for energy?
  • 9. How we tune time without changing code No instrumentation needed No source code needed No recompilation needed Less than 5% runtime overhead Fully scalable Explicit and usable output
  • 10. We can include energy usage too
  • 11. Key Observation: In a Nutshell • For many HPC workloads – THE FASTER AN APPLICATION COMPLETES, THE LOWER ITS ENERGY CONSUMPTION – IE. OPTIMIZE FOR SPEED AND YOU ARE PROBABLY ALREADY OPTIMIZING FOR ENERGY • But for some HPC and non-HPC cases – FREQUENCY SCALING SAVES ENERGY
  • 12. Two Key Questions • Can developers optimize code for energy? YES • Can owners and users tune applications for energy? YES …. But should they? • Are we counting all energy? • Are we considering all costs? .. Let’s rewrite the key question!
  • 13. Two Key Questions • When should developers optimize code for energy? • When should owners and users tune applications for energy?
  • 14. What is energy? Measuring Energy • Real data from some processor, memory subsystems • Available in kernel - Intel RAPL Low level measurement • PDU and server level readings • Real data – real energy Server level monitoring • Air-con • Servers, switches, storage…. Full system monitoring
  • 15. Frequency Scaling Some workloads have low compute requirement, but high data volume Data crunching vs number crunching Processor is over-powered for the speed of memory, disk or network CPU frequency can be scaled down in software Providing information to developer, user and system owner Allinea MAP Allinea Performance Reports
  • 16. A lot of codes are memory-bound
  • 17. Multiple cores share bandwidth Core 1 Core 2 Core 3 Core 4 … Lots of clever technology Main memory
  • 18. Can we tune them for energy efficiency? Core 1 Core 2 Core 3 Core 4 … Lots of clever technology Main memory
  • 19. How can users improve energy efficiency? Buy a new cluster Optimize the code Reduce CPU frequency? Run on fewer cores per node?
  • 20. The Experiment One simple code A well-understood wave equation solver One compute node Minimize effect of MPI communications Change CPU frequency and #cores Measure the results with Allinea Performance Reports
  • 21. 4 PPN @ 2.1 Ghz, 30 seconds
  • 22. Observed Results Lower CPU frequency • 1.7GHz – 6% less energy use • Same runtime Fewer cores/more nodes • 20% increased runtime • … but according to RAPL 15% energy saving • Nonsense!! – 2x servers baseline power! Important take-aways: • Measure whole system energy • Control power per application
  • 23. Improving energy efficiency • Tools show if the application wastes power • Developers can see when to optimize and change code • Users can improve efficiency without changing code Each application and system has different characteristics • Slowing down applications costs science and results • Machines and PhDs have finite lifetime – their cost dominates Don’t forget the opportunity cost • Optimize for time before optimizing for energy Time and energy are not the same
  • 24. Allinea’s Energy Products • Allinea MAP – PROFILER - PART OF ALLINEA FORGE DEVELOPMENT SUITE – ADD-ON FOR SYSTEM AND PACKAGE ENERGY/POWER • Allinea Performance Reports – 1-PAGE BENCHMARKING/ANALYSIS – ADD-ON FOR SYSTEM AND CPU ENERGY/POWER • Available now – RAPL SUPPORT FOR CPU ENERGY/POWER – WHOLE NODE POWER MEASUREMENT FOR CRAY AND SOME OTHER SYSTEMS • Visit: http://www.allinea.com/energy-pack