Devoxx france 2014 compteurs de perf

9
@jpbempel #CompteursDePerf Mesurer directement depuis le CPU: les compteurs de performance Jean-Philippe BEMPEL, ULLINK Architecte Performance [email protected] http://jpbempel.blogspot.com

description

Les CPUs intègrent une unité de mesure de performance (PMU) que l'on peut utiliser pour collecter des données sur l'utilisation des caches (hit/miss) des prédictions de branches, du nombre d'instructions, des cycles, etc. Ces compteurs de performance (HPC) peuvent être accédés en Java grâce à la librairie overseer. Cette présentation montrera comment les mettre en oeuvre avec des exemples de situation où ils sont pertinents pour la compréhension des performances.

Transcript of Devoxx france 2014 compteurs de perf

Page 1: Devoxx france 2014 compteurs de perf

@jpbempel#CompteursDePerf

Mesurer directement depuis le CPU:

les compteurs de performance

Jean-Philippe BEMPEL, ULLINK

Architecte Performance

[email protected]

http://jpbempel.blogspot.com

Page 2: Devoxx france 2014 compteurs de perf

@jpbempel#CompteursDePerf

Compteurs de performance

•CPUs embarquent un PMU (Processing Monitoring Unit)

•Compteurs matériels sur le comportement du CPU

•Cycles

• Instructions

•Caches

•Accès mémoire

•Prédéfinis ou Programmables

Page 3: Devoxx france 2014 compteurs de perf

@jpbempel#CompteursDePerf

Perf

•Outil dispo sur pratiquement tous les linux

•Permet d’accéder aux compteurs de perf

mais permet bien d’autres choses

(profiling, compteurs OS, …)

•Lister des compteurs de perf : perf list

•Profiler avec compteurs par défautperf stat java …

•Programmer un compteur de perfperf stat –e LLC-load-misses java …

Page 4: Devoxx france 2014 compteurs de perf

@YourTwitterHandle@jpbempel#CompteursDePerf

Page 5: Devoxx france 2014 compteurs de perf

@jpbempel#CompteursDePerf

Overseer

•Librairie java (JNI – linux only)

•Permet de programmer tous les compteurs disponibles

•Basée sur libpfm4

•Encodage des compteurs en fonction du CPU

•Profiler précisément des portions de code d’applications

Page 6: Devoxx france 2014 compteurs de perf

@YourTwitterHandle@jpbempel#CompteursDePerf

Page 7: Devoxx france 2014 compteurs de perf

@YourTwitterHandle#DVXFR14{session hashtag} @YourTwitterHandle#YourSessionHashtag

Page 8: Devoxx france 2014 compteurs de perf

@jpbempel#CompteursDePerf

Liens

•Librairie Overseer

• http://www.peternier.com/projects/overseer/overseer.php

• libpfm4

• http://perfmon2.sourceforge.net/

Page 9: Devoxx france 2014 compteurs de perf

@jpbempel#CompteursDePerf

Crédit image / Creative Commons

• Rue pavée — By-Nc-Sa

• http://www.flickr.com/photos/22914687@N05/4957591422/sizes/l/

• Sous la Tour Eiffel — By-Nc-Sa

• http://www.flickr.com/photos/stewiedewie/244850735/sizes/l/in/photostream/

• Sous le pont — photo par B.Monginoux - By-Nc-Nd

• http://www.landscape-photo.net/displayimage.php?pid=5194

• Le Louvre – Photo par Anthony Gaudun - By-Nc-Sa

• http://www.flickr.com/photos/anthonygaudun/7474397964/sizes/o/in/photostream/

• Slide template created by @glaforge, completed by @nmartignole for Devoxx FR2014