Benchmarks. Ensemble de codes permettant de tester la fonctionnalité et les performances d'une solution HPC dans son ensemble.



Documents pareils
Architecture des ordinateurs

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1

Architecture des calculateurs

Communications performantes par passage de message entre machines virtuelles co-hébergées

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

Conception de circuits numériques et architecture des ordinateurs

CORBA haute performance

<Insert Picture Here> Solaris pour la base de donnés Oracle

Eléments d architecture des machines parallèles et distribuées

Evaluation des performances de programmes parallèles haut niveau à base de squelettes

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

Parallélisme et Répartition

Sommaire. 3. Les grands principes de GFS L architecture L accès de fichier en lecture L accès de fichier en écriture Bilan

Retour d expérience en Astrophysique : utilisation du Cloud IaaS pour le traitement de données des missions spatiales

Infrastructures Parallèles de Calcul

Tests de performance du matériel

Cluster de calcul Freeware en Océanographie Opérationnelle

Les environnements de calcul distribué

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

Module 0 : Présentation de Windows 2000

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes.

Leçon 1 : Les principaux composants d un ordinateur

Rapport d activité. Mathieu Souchaud Juin 2007

Projet de Bachelor Virtual Desktop Infrastructure

Outil d aide au choix Serveurs Lot 4 Marché Groupement de Recherche

Runtime. Gestion de la réactivité des communications réseau. François Trahay Runtime, LaBRI sous la direction d'alexandre Denis Université Bordeaux I

Technologie SDS (Software-Defined Storage) de DataCore

Informatique pour scientifiques hiver Plan général Systèmes d exploitation

ETUDE ET IMPLÉMENTATION D UNE CACHE L2 POUR MOBICENTS JSLEE

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

Portage d applications sur le Cloud IaaS Portage d application

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007

Annuaires LDAP et méta-annuaires

Exécution des instructions machine

PLAN. Industrialisateur Open Source LANS DE SECOURS INFORMATIQUES PRINCIPES GENERAUX ETAT DE L ART SELON BV ASSOCIATES

L offre Stockage et serveurs System x / BladeCenter F.Libier, Business Partner Technical Manager

<Insert Picture Here> Exadata Storage Server et DB Machine V2

SQL Server 2008 et YourSqlDba

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE

Exercices Active Directory (Correction)

EMC Forum EMC ViPR et ECS : présentation des services software-defined

Gestion répartie de données - 1

Limitations of the Playstation 3 for High Performance Cluster Computing

Concepts et systèmes de stockage

Analyse de performance, monitoring

Gestion de clusters de calcul avec Rocks

THÈSE. pour obtenir le grade de. Spécialité : "Informatique : Systèmes et Communications"

en version SAN ou NAS

Chapitre 4 : Les mémoires

Hébergement PHP. Comprendre pour bien choisir son hébergement

Le Raid c est quoi? Comment ca marche? Les différents modes RAID :

Démontage d'un ordinateur

Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose, Keith Ross Addison-Wesley, July ENPC.

RAPPORT D'AUDIT - SÉCURITÉ ET PERFORMANCES DES SERVEURS

Session S12 Les bases de l optimisation SQL avec DB2 for i

vbladecenter S! tout-en-un en version SAN ou NAS

Migration d un Cluster Fiber Channel+SAN+Lames sous Xen vers Ethernet +iscsi+serveurs sous KVM

Ordinateur Logiciel Mémoire. Entrées/sorties Périphériques. Suite d'instructions permettant de réaliser une ou plusieurs tâche(s), de résoudre un

Marché Public en procédure adaptée : Infrastructure Informatique régionale hébergée CAHIER DES CHARGES ET DES CLAUSES TECHNIQUES

«clustering» et «load balancing» avec Zope et ZEO

Cluster High Performance Computing. Dr. Andreas Koch, Cluster Specialist

Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace

Contributions à l expérimentation sur les systèmes distribués de grande taille

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

T. Gasc 1,2,3, F. De Vuyst 1, R. Motte 3, M. Peybernes 4, R. Poncet 5

Configurations maximales

Architecture d un service de partage de données modifiables sur une infrastructure pair-à-pair

Introduction. René J. Chevance

Windows Server Chapitre 1: Découvrir Windows Server 2008

Spécifications du logiciel. Mise à jour : 24 février 2011 Nombre total de pages : 7

Initiation au HPC - Généralités

Maîtriser les technologies Big Data pour obtenir des résultats en quasi-temps réel

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

Windows serveur 2008 installer hyperv

Intérêt des codes FEC pour le stockage distribué Le projet ANR FEC4Cloud et la solution RozoFS

Serveurs et solutions PowerEdge pour les applications métiers

Windows 2000: W2K: Architecture. Introduction. W2K: amélioration du noyau. Gamme windows W2K pro: configuration.

Potentiels de la technologie FPGA dans la conception des systèmes. Avantages des FPGAs pour la conception de systèmes optimisés

ésylog, direction technique Esylog_PeerBackup outil de sauvegarde individuelle mails & fichiers personnels documentation technique

Structure de base d un ordinateur

Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

la virtualisation pour quoi faire?

Règles et paramètres d'exploitation de Caparmor 2 au 11/12/2009. Pôle de Calcul Intensif pour la mer, 11 Decembre 2009

Cours 13. RAID et SAN. 2004, Marc-André Léger

Le Network File System de Sun (NFS)

Hyper-V et SC Virtual Machine Manager sous Windows Server 2008 R2

Optimisations des SGBDR. Étude de cas : MySQL

Structure et fonctionnement d'un ordinateur : hardware

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques

Architectures d implémentation de Click&DECiDE NSI

Dossier d'étude technique

Réseaux M2 CCI SIRR. Introduction / Généralités

Manuel de System Monitor

Vers un cache réparti adapté au cloud computing

Caches web. Olivier Aubert 1/35

NOTIONS DE RESEAUX INFORMATIQUES

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters AVANTAGES

HPC by OVH.COM. Le bon calcul pour l innovation OVH.COM

Transcription:

Ensemble de codes permettant de tester la fonctionnalité et les performances d'une solution HPC dans son ensemble. (Merci à Ludovic Saugé) Françoise BERTHOUD, Francoise.Berthoud@grenoble.cnrs.fr

Les benchmarks : sommaire Objectifs : Pourquoi et comment mesurer/comparer la performance des serveurs de calcul? Plan : 1 le cadre : qui, quand, pourquoi? 2 Comment? 3 Mémoire / interconnexion / IO 2 4 Quelques considérations au moment de l achat

Éléments de contexte 3

L'acheteur Qui, Quand et pourquoi? - Achat : Dans la phase de préparation de l'ao Connaître les caractéristiques de la solution existante Préparer la partie benchmark de l'ao Logistique Analyse des résultats soumis par les vendeurs - Installation : Phase de recette («acceptance tests»). Vérification des engagements fonctionnels et de performances. - Exploitation : Suivre tout au long de la durée de vie de sa machine les performances et déceler d'éventuels problèmes ou possibles régressions. 4

Questionnement.. Questions aux stagiaires : - Qu'est-il intéressant de mesurer pour être certain de faire le bon choix? - Y'a-t-il un seul indice de performance? - Le temps de restitution d'une application. - Le nombre de jobs simultanés - La consommation électrique pour un job donné? - Existe-t-il le benchmark universel? - Celui qui donne une valeur unique, facile à comparer... - Celui qui tourne vite... HPL (Top500)? Spec2006? HPCC? 5

Quels benchmarks? - Les micro-benchmarks et les benchmarks synthétiques fournissent une idée du comportement d'une solution élément à élément. C'est une référence, un point de comparaison entre les technologies 6 - Les applications sont là pour donner une idée du comportement GLOBAL d'une solution - La fin des fins d'une machine est d'effectuer des calculs pour les utilisateurs - Les applications doivent être réalistes d'une situation de production.

Il est nécessaire : Mais avant tout.. De bien comprendre et définir ce que l'on veut mesurer (pourquoi veut-on le mesurer?) De mettre au point des outils adaptés, une expérience (avec ses conditions) pour obtenir la mesure le benchmark... Ex. «capacité d'un nœud de calcul d'effectuer des opérations mémoires aléatoires» On veut donc déterminer la latence mémoire On peut utiliser un bench style 'latmem' ou HPCC s- RandomAccess... Ces benchs donnent des mesures différentes car ils ne mesurent pas exactement la même chose... Lequel est-il le plus pertinent pour mon application? 7

Et.. - Comment tel ou tel choix affecte les performances de la solution - Ces effets sont-ils mesurables? Comment les mesurer? - Ex. interconnect Latence, bande passante Performance MPI Code de l'utilisateur... - Ne pas oublier l'objectif final : la machine est destinée à faire tourner des codes utilisateurs en production et non des benchmarks... 8

Performances mémoire : facteurs déterminants - Localisation : cache? Mémoire centrale? Mémoire distribuée? disques? - Si les données sont en RAM 9 - La manière dont elles sont accédées : au travers d'un chipset, directement par le processeur? Via le processeur voisin? BP llcbench : http://icl.cs.utk.edu/projects/llcbench/ Mesure de la bande passante pour différente taille de tableau (256 bytes à plusieurs dizaines de MBytes) et différents «pattern» Découverte de la hiérarchie mémoire Portage et exécution : Immédiat Lat_mem_rd (LMBench) : http://www.bitmover.com/lmbench/ Latence d'accès (en nanosecondes) aux données au travers de la hiérarchie de cache Portage et exécution : simple Stream : http://www.cs.virginia.edu/stream/ «The STREAM benchmark is a simple synthetic benchmark program that measures sustainable memory bandwidth (in MB/s) and the corresponding computation rate for simple vector kernels.» Benchmark accidentel! Développé pour comprendre les différences de performance entre deux architectures pour un code météo. Indispensable dans sa trousse-à-outil Accès mémoires séquentiels Portage et exécution : Aucune difficulté

Performances réseau Le type de réseau (numalink, ethernet, infiniband, etc.), soit la???? et la????? (hard) 10 L architecture du réseau (hard) La taille des messages (code) Attention : sur les SMP / Numa ou gros nœud un test sur l'ensemble des nœuds donne un résultat «moyenné» entre «entre-nœud» (InterConnect) et «internœud» («shared memory»).

Performances réseau 11 Performances point à point : Indicateurs : Latence Petits messages bande passante Gros messages taux de messages Permet de comparer les technos entre elles. - La latence est une quantité primordiale pour les petits messages: elle permet aussi de définir le taux de messages (~2 bytes) - Les tests sur les opérations collectives sont intéressantes pour l'applicatif (sensible à l'engorgement) : MPI_Alltoall(v), codes à base de FFT, par ex. les codes de chimie (cpmd) - Le taux de messages est une quantité intéressante : il fournit une indication sur la capacité de traitement de la carte.

Performances d IO 12 Toute la chaine d IO : baie (configuration matérielle, logicielle), type et architecture d interconnexion, serveur (s), client Présence/taille des caches! Type de file systèmes et pile logicielle adaptée. L utilisation qu on en fait (applis!) (Type de pattern : séquentiel ou random, ratio écriture/lecture, nombre, taille) On ne benchmark pas seulement une baie mais un système global Système équilibré et performant, qui satisfasse vos contraintes (budget, énergie), pour vos applicatifs!

Performances d IO : benchmarks (attention aux propriétés du FS!) «maison» (attention aux conditions d exécution) donneront une idée sur les perf de la solution et le comportement des applications IOZONE : http://www.iozone.org/ «Couteau suisse» du bench d'i/os Multiple pattern d'écriture : write, read, rewrite,reread, random... Multiple taille d'i/os, multiple volume. Le bench dans sa globalité peut permettre de déceler les effets de caches. Portage simple, exécution : nombreuses options Effective I/O Bandwidth (beff_io) Benchmark : https://fs.hlrs.de/projects/par/mpi//b_eff_io/ Benchmark orienté MPI-IO, différentes opérations, différents pattern Synthétique : nombreux tests, nombreuses données : un score! Portage : Facile, nécessite une implémentation MPI-2 Exécution : Modéré, analyse compliquée... 13 Bonnie ++ : http://www.coker.com.au/bonnie++/ Ecriture séquentielle, Lecture séquentielle Pattern aléatoire : lecture et re-écriture dans 10% des cas. Portage facile, exécution facile.. Interleaved or Random (IOR) benchmarks : http://sourceforge.net/projects/ior-sio/. Proche des applications : parallèle, adaptés au HPC Permet de tester les APIs (parallèles) couramment utilisés par les utilisateurs : MPI-IO, parallelnetcdf, phdf5, posix Par défaut MPI-IO Portage : Modéré, requiert une implémentation MPI Exécution : Simple Pour ce benchmark, MPI-IO n'est pas adapté à la mesure d'un débit maximale d'une baie. Par contre il parfaitement adapté pour avoir des idées de performances d'applicatifs.

En pratique : Comment spécifier les demandes de benchmarks dans les proc d achat? 14 Choisissez les applicatifs les plus représentatifs ou ceux qui seront exécutés sur le serveur Choisissez un jeu de paramètres représentatif (attention aux effets de cache) Spécifier ce que vous attendez comme résultat, et l unité utilisée (conditions d exécution, temps de restitution en secondes, kwh,..) Spécifier complètement les conditions d exécution du bench, soit :

En pratique : Comment spécifier les demandes de benchmarks? 1 - Conditions de charge ou de non charge du socket au moment de l exécution du bench (exemples) 2 - Spécifications techniques hardware (par exemple serveur à l identique à la solution proposée) 3 - Si job parallèle, en plus des conditions cidessus, spécifier le nombre de cœur en étant très précis sur la répartition sur les sockets/serveurs 4 - Fournir un tableau à compléter avec les résultats 15

Par exemple 16 A construire ensemble.