Optimizing existing large codebase Measure Modemise Mem threads 花5 Measuring Performance Measuring Performance ●What is performance? Tools available o Finding bottlenecks 2 Code modernization Improving Memory Handling The nightmare of thread safety Low level optimizations Conclusion perf tools bottlenecks 6/62 S.Ponce-CERN
Optimizing existing large codebase 6 / 62 S. Ponce - CERN Measure Modernize Mem threads low level c/c perf tools bottlenecks Measuring Performance 1 Measuring Performance What is performance ? Tools available Finding bottlenecks 2 Code modernization 3 Improving Memory Handling 4 The nightmare of thread safety 5 Low level optimizations 6 Conclusion
Optimizing existing large codebase Mem threads 花5 Defining our performance Key question is:what is performance o simply going faster perf tools bottlenecks 7/62 S.Ponce-CERN
Optimizing existing large codebase 7 / 62 S. Ponce - CERN Measure Modernize Mem threads low level c/c perf tools bottlenecks Defining our performance Key question is : what is performance simply going faster ? not at all costs (money, physics results) making better use of the hardware most of the time hardware is cheaper than people ! you need to define your “Key Performance Indicators” e.g. nb Evts / s / ✩ with constant man power for a trigger and get a clear idea of your different costs flops/✩ of your machines including network, cabling, cooling, buildings, ... human costs cost of transition
Optimizing existing large codebase Mem threads 花5 Defining our performance Key question is:what is performance o simply going faster not at all costs(money,physics results) perf tools bottlenecks 7/62 S.Ponce-CERN
Optimizing existing large codebase 7 / 62 S. Ponce - CERN Measure Modernize Mem threads low level c/c perf tools bottlenecks Defining our performance Key question is : what is performance simply going faster ? not at all costs (money, physics results) making better use of the hardware most of the time hardware is cheaper than people ! you need to define your “Key Performance Indicators” e.g. nb Evts / s / ✩ with constant man power for a trigger and get a clear idea of your different costs flops/✩ of your machines including network, cabling, cooling, buildings, ... human costs cost of transition
Optimizing existing large codebase Measure Modemiss Mem threads 花5 Defining our performance Key question is:what is performance o simply going faster not at all costs(money,physics results) o making better use of the hardware perf tools bottlenecks 7/62 S.Ponce-CERN
Optimizing existing large codebase 7 / 62 S. Ponce - CERN Measure Modernize Mem threads low level c/c perf tools bottlenecks Defining our performance Key question is : what is performance simply going faster ? not at all costs (money, physics results) making better use of the hardware most of the time hardware is cheaper than people ! you need to define your “Key Performance Indicators” e.g. nb Evts / s / ✩ with constant man power for a trigger and get a clear idea of your different costs flops/✩ of your machines including network, cabling, cooling, buildings, ... human costs cost of transition
Optimizing existing large codebase Mem threads Defining our performance Key question is:what is performance o simply going faster not at all costs(money,physics results) o making better use of the hardware most of the time hardware is cheaper than people perf tools bottlenecks 7/62 S.Ponce-CERN
Optimizing existing large codebase 7 / 62 S. Ponce - CERN Measure Modernize Mem threads low level c/c perf tools bottlenecks Defining our performance Key question is : what is performance simply going faster ? not at all costs (money, physics results) making better use of the hardware most of the time hardware is cheaper than people ! you need to define your “Key Performance Indicators” e.g. nb Evts / s / ✩ with constant man power for a trigger and get a clear idea of your different costs flops/✩ of your machines including network, cabling, cooling, buildings, ... human costs cost of transition