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

Upload: jean-philippe-bempel

Post on 08-Jul-2015

317 views

Category:

Presentations & Public Speaking


1 download

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

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