Métriques de performance pour les algorithmes et programmes parallèles
|
|
|
- Abel Jolicoeur
- il y a 10 ans
- Total affichages :
Transcription
1 Métriques de performance pour les algorithmes et programmes parallèles nov Cette section est basée tout d abord sur la référence suivante (manuel suggéré mais non obligatoire) : R. Miller and L. Boxer. Algorithms Sequential & Parallel. Prentice-Hall, [QA76.9A43M55]. Les références suivantes ont aussi été consultées : V. Kumar, A. Grama, A. Gupta, and G. Karypis. Introduction to Parallel Computing Design and Analysis of Algorithms. Benjamin/Cummings, [QA76.58I58]. J. JaJa. An Introduction to Parallel Algorithms. Addison-Wesley, [QA76.58J34]. G.E. Blelloch. Programming parallel algorithms. Communications of the ACM, 39(3):85 97, Introduction : le temps d exécution suffit-il? Lorsqu on désire analyser des algorithmes, on le fait de façon relativement abstraite, en ignorant de nombreux détails de la machine (temps d accès àlamémoire, vitesse d horloge de la machine, etc.). Une approche abstraite semblable peut être utilisée pour les algorithmes parallèles, mais on doit malgré tout tenir compte d autres facteurs. Par exemple, il est parfois nécessaire de tenir compte des principales caractéristiques de la machine sous-jacente (modèle architectural) : s agit-il d une machine multi-processeurs àmémoire partagée? Dans ce cas, où peut simplifier l analyse en supposant, comme dans une machine uniprocesseur, que le temps d accès àlamémoire est négligeable (bien qu on doive tenir compte des interactions possibles entre processeurs par l intermédiaire de synchronisations). On peut aussi supposer, puisqu on travaille dans le monde idéal des algorithmes, qu aucune limite n est imposée au nombre de processeurs (ressources illimitées, comme on le fait en ignorant, par exemple, qu un algorithme, une fois traduit dans un programme, ne sera pas nécessairement le seul àêtre exécuté sur la machine). S agit-il plutôt d une machine multi-ordinateurs àmémoire distribuée, donc où le temps d exécution est très souvent dominé par les coûts de communication entre processeurs? Un autre facteur important dont on doit tenir compte : le travail total effectué. Ainsi, l amélioration du temps d exécution d un algorithme parallèle par rapport àun 1
2 algorithme séquentiel équivalent se fait évidemment en introduisant des processus additionnels qui effectueront les diverses tâches de l algorithme de façon concurrente et parallèle. Supposons donc qu on ait algorithme séquentiel dont le temps d exécution est O(n). Il peut être possible, à l aide d un algorithme parallèle, de réduire le temps d exécution pour obtenir un temps O(lg n). Toutefois, si l algorithme demande d utiliser O(n) processeurs pour exécuter les n processus, il faut alors réaliser que le travail total effectué par l algorithme sera O(n lg n), donc asymptotiquement supérieur au travail effectué par l algorithme séquentiel. Lorsque cela est possible, il est évidemment préférable d améliorer le temps d exécution, mais sans augmenter le travail total effectué. Dans les sections qui suivent, nous allons examiner diverses métriques permettant de caractériser les performances d un algorithme, ou d un programme, parallèle. 2 Temps d exécution vs. profondeur Le temps d exécution d un algorithme parallèle (indépendant de sa mise en oeuvre par un programme et de son exécution sur une machine donnée) peut être défini comme dans le cas des algorithmes séquentiels, c est-à-dire, en utilisant la notation asymptotique pour approximer le nombre total d opérations effectuées (soit en sélectionnant une opération barométrique, soit en utilisant diverses opérations sur les approximations O pour estimer le nombre total d opérations). Une différence importante, toutefois, est que dans le cas d une machine parallèle, on doit tenir compte du fait que plusieurs opérations de base peuvent s exécuter en même temps. De plus, même en supposant des ressources infinies (nombre illimité de processeurs), ce ne sont évidemment pas toutes les opérations qui peuvent s exécuter en même temps, puisqu il faut évidemment respecter les dépendances de contrôle et de données (les instructions d une séquence d instructions doivent s exécuter les unes après les autres, un résultat ne peut être utilisé avant d être produit, etc.). Lorsqu on voudra analyser le temps d exécution d un algorithme écrit dans la notation MPD, qui permet de spécifier facilement un grand nombre de processus, on va supposer que chaque processus pourra s exécuter sur son propre processeur (virtuel). En d autres mots, en termes d analyse d algorithmes, on supposera qu un nombre illimité de processeurs est disponible. Comme dans le cas d un algorithme séquentiel, bien qu une telle analyse ne permette pas nécessairement de prédire de façon exacte le temps d exécution d un programme réalisant cet algorithme sur une machine donnée, elle est malgré tout utile pour déterminer comment le temps d exécution croît en fonction de la taille des données. Une telle approche est semblable à celle décrite par G. Blelloch (Blelloch, 1996), qui parle de la notion de profondeur (depth) associée à un algorithme. Définition 1 La profondeur du calcul effectué par un algorithme est définie comme la plus longue chaîne de dépendances séquentielles présentes dans ce calcul. La profondeur représente donc le meilleur temps d exécution possible en supposant une machine idéale avec un nombre illimité de processeurs. Le terme de longueur du chemin critique (critical path length) est aussi parfois utilisé au lieu du terme profondeur. 2
3 3 Coût, travail et optimalité 3.1 Coût La notion de coût d un algorithme a pour but de tenir compte à la fois du temps d exécution mais aussi du nombre de processeurs permettant d obtenir ce temps d exécution. Ajouter des processeurs est toujours coûteux (achat, installation, entretien, etc.) ; pour un même temps d exécution, un algorithme qui nécessite l utilisation de moins de processeurs qu un autre est donc toujours préférable. Définition 2 Notons par T p (n) le temps requis par un algorithme sur une machine parallèle à n processeurs. Le coût de cet algorithme est alors défini comme C (n) = n T p (n), qui représente le nombre total de cycles durant lesquels l algorithme s exécute sur l ensemble de la machine. 3.2 Travail Une définition semblable à celle de coût est celle du travail total effectué par un algorithme. Définition 3 Le travail, W(n), dénote le nombre total d opérations effectuées par l algorithme parallèle sur une machine à n processeurs. 3.3 Coût vs. travail Telles que définies, les notions de travail et de coût sont donc très similaires. Si C (n) etw (n) sont définis en utilisant les mêmes opérations barométriques, on aura nécessairement que W (n) C (n). En d autres mots, le travail est un estimé unpeu plus précis, qui tient compte du fait que ce ne sont pas nécessairement tous les processeurs qui travaillent durant toute la durée de l algorithme. 3.4 Optimalité Soit un problème pour lequel on connaît un algorithme séquentiel optimal s exécutant en temps T s (l algorithme est optimal au sens où cette borne ne peut pas être améliorée par aucun autre algorithme séquentiel). On peut alors définir deux formes d optimalité dans le cas d un algorithme parallèle : une première forme faible et une autre plus forte. Définition 4 Un algorithme parallèle est dit optimal si le travail W (n) effectué par l algorithme est tel que W (n) Θ(T s ). En d autres mots, le nombre total d opérations effectuées par l algorithme parallèle est asymptotiquement le même que celui de l algorithme séquentiel, et ce indépendamment du temps d exécution T p (n) de l algorithme parallèle. Une définition semblable peut aussi être introduite en utilisant le coût plutôt que le travail dans la définition précédente. 3
4 Soulignons qu un algorithme optimal, dans le sens décrit dans cette définition, assure que l accélération résultant (voir prochaine section) de l algorithme optimal sur une machine à p processeurs sera Θ(p). Une autre définition plus forte d optimalité est la suivante : Définition 5 Un algorithme parallèle est dit fortement optimal (on dit aussi optimal en travail-temps = work-time optimal) si on peut prouver que le temps T p (n) de cet algorithme, lui-même optimal, ne peut pas être amélioré par aucun autre algorithme parallèle optimal. 4 Accélération et efficacité 4.1 Accélération relative vs. absolue L accélération permet de déterminer de combien un algorithme parallèle est plus rapide qu un algorithme séquentiel équivalent. On distingue deux façons de définir l accélération : relative vs. absolue. Définition 6 Soit T p (n) le temps requis par un algorithme sur une machine parallèle à n processeurs. L accélération relative Sn r est alors défini comme T p (1)/T p (n). En d autres mots, on compare l algorithme s exécutant sur une machine multi-processeurs avec n processeurs par rapport au même algorithme s exécutant sur la même machine mais avec un seul processeur. Définition 7 Soit T p (n) le temps requis par un algorithme sur une machine parallèle à n processeurs. Soit Ts le temps requis pour le meilleur algorithme séquentiel possible. L accélération absolue Sn a est alors définie comme Ts /T p (n). En d autres mots, on compare l algorithme s exécutant sur une machine multi-processeurs avec n processeurs avec le meilleur algorithme séquentiel permettant de résoudre le même problème Accélération linéaire vs. superlinéaire On parle d accélération (relative ou absolue) linéaire lorsque S n = 1. En d autres mots, l utilisation de n processeurs permet d obtenir un algorithme n fois plus rapide. En général, de telles accélérations linéaires sont assez rares. Bizarrement toutefois, on rencontre parfois des accélérations superlinéaires, c est-àdire, telles que S n > 1. Deux situations expliquent généralement ce genre d accélérations superlinéaires. Un premier cas est lorsque l algorithme est non déterministe (par exemple, une fouille dans un arbre de jeux) : dans ce cas, le fait d utiliser plusieurs processus peut faire en sorte que l un des processus est chanceux et trouve plus rapidement la solution désirée. Une autre situation, mais qui s applique plutôt à l exécution du programme plutôt qu à l algorithme lui-même, est la présence d effets de cache. Toutes les machines modernes utilisent une hiérarchie mémoire à plusieurs niveaux : 4
5 Registres ; Cache(s) ; 1 Mémoire (DRAM). Les niveaux les plus près du processeur ont un temps d accès plus rapide, mais sont plus coûteux à mettre en oeuvre, donc sont de plus petite taille. Il arrive parfois que l exécution d un programme sur une machine uni-processeur nécessite un espace mémoire qui conduit à de nombreuses fautes de caches (par ex., à cause de la grande taille des données à traiter). Or, lorsqu on exécute le même programme mais sur une machine multi-processeurs avec une mémoire cache indépendante pour chaque processeur, le nombre total de fautes de caches est alors réduit de façon importante (parce que l ensemble des données peut maintenant entrer dans l ensembles des mémoires cache), conduisant à une accélération supérieure à une accélération linéaire. 4.2 Efficacité Alors que l accélération nous indique dans quelle mesure l utilisation de plusieurs processeurs permet d obtenir une solution plus rapidement, l efficacité nous indique dans quelle mesure les divers processeurs sont utilisés. Définition 8 L efficacité d un algorithme est le rapport entre le temps d exécution séquentiel et le coût d exécution sur une machine à n processeurs. En d autres mots, l efficacité est obtenue en divisant l accélération obtenue avec n processeurs par le nombre de processeurs : E n = T s C (n) = S n a n Alors que pour n processeurs, l accélération idéale est de n, l efficacité idéale est de 1, c est-à-dire, le cas idéal est lorsque les n processeurs sont utilisés à 100 %. 5 Dimensionnement (scalability) On dit d un algorithme qu il est dimensionnable (scalable) lorsque le niveau de parallélisme augmente au moins de façon linéaire avec la taille du problème. On dit d une architecture qu elle est dimensionnable si la machine continue à fournir les mêmes performances par processeur lorsque l on accroît le nombre de processeurs. L importance d avoir un algorithme et une machine dimensionnables provient du fait que cela permet de résoudre des problèmes de plus grande taille sans augmenter le temps d exécution simplement en augmentant le nombre de processeurs. 1 En fait, la plupart des machines modernes ont maintenant deux ou plusieurs niveaux de cache, par exemple : (i) mémoire (SRAM) de premier niveau, sur la même puce que le processeur ; (ii) mémoire de deuxième niveau, souvent sur une autre puce, mais avec un temps d accès inférieur au temps d accès à la mémoire. 5
6 6 Coûts des communications Un algorithme est distribué lorsqu il est conçu pour être exécuté sur une architecture composée d un certain nombre de processeurs reliés par un réseau, où chaque processeur exécute un ou plusieurs processus, et que les processus coopèrent strictement en s échangeant des messages. Dans un tel algorithme, il arrive fréquemment que le temps d exécution soit largement dominé par le temps requis pour effectuer les communications entre processeurs tel que décrit à la Section 7, le coût d une communication peut être de plusieurs ordres de grandeur supérieur au coût d exécution d une instruction normale. Dans ce cas, il peut alors être suffisant d estimer la complexité du nombre de communications requis par l algorithme. En d autres mots, les communications deviennent les opérations barométriques. 7 Sources des surcoûts d exécution parallèle Idéalement, on aimerait, pour une machine parallèle à n processeurs, obtenir une accélération qui soit n et une efficacité qui soit 1. En pratique, de telles performances sont très difficiles à atteindre. Plusieurs facteurs entrent en jeu et ont pour effet de réduire les performances : Création de processus et changements de contexte : créer un processus est une opération relativement coûteuse. Les langages supportant les threads (soit de façon directe, par ex., Java, soit par l intermédiaire de librairies, par ex., Pthreads de Posix en C) permettent d utiliser un plus grand nombre de tâches/threads à des coûts inférieurs, puisqu un thread est considéré comme une forme légère de processus (lightweight process). Qu est-ce que le poids d un processus? Un processus/thread, au sens général du terme est simplement une tâche indépendante (donc pas nécessairement un process au sens Unix du terme). Un processus/thread est toujours associé à contexte, qui définit l environnement d exécution de cette tâche. Minimalement, le contexte d un thread contient les éléments suivants : Registres (y compris le pointeur d instruction) ; Variables locales (contenues dans le bloc d activation sur la pile) ; Par contre, un processus au sens Unix du terme contient en gros les éléments suivants : Registres ; Variables locales ; Tas (heap) ; Descripteurs de fichiers et pipes ouverts/actifs ; Gestionnaires d interruption ; Code du programme ; 6
7 Dans le cas des threads, les éléments additionnels présents dans le contexte d un processus sont plutôt partagés entre les threads (des threads étant définis dans le contexte d un processus). Or, la création et l amorce d un nouveau thread ou processus demande toujours d allouer et d initialiser un contexte approprié. De plus, un changement de contexte survient lorsqu on doit suspendre l exécution d un thread (parce qu il a terminé son exécution, parce qu il devient bloqué, ou parce que la tranche de temps (time slice) qui lui était allouée est écoulée) et sélectionner puis réactiver un nouveau thread. Effectuer ces opérations introduisent donc des surcoûts qui peuvent devenir important si, par exemple, le nombre de threads est nettement supérieur au nombre de processeurs, conduisant ainsi à de nombreux changement de contexte. Synchronisation et communication entre processus : un programme concurrent, par définition, est formé de plusieurs processus qui interagissent et coopèrent pour résoudre un problème global. Cette coopération, et les interactions qui en résultent, entraînent l utilisation de divers mécanismes de synchronisation (par exemple, sémaphores pour le modèle de programmation par variables partagées) ou de communication (par ex., envois et réception de messages sur les canaux de communication dans le modèle par échanges de messages). L utilisation de ces mécanismes entraîne alors des coûts supplémentaires par rapport à un programme séquentiel équivalent (en termes des opérations additionnelles àexécuter, ainsi qu en termes des délais et changements de contexte qu ils peuvent impliquer). Communications inter-processeurs : les coûts de communications peuvent devenir particulièrement marqués lorsque l architecture sur laquelle s exécute le programme est de type multi-ordinateurs, c est-à-dire, lorsque les communications et échanges entre les processus/processeurs se font par l intermédiaire d un réseau. Le temps nécessaire pour effectuer une communication sur un réseau est supérieur, en gros, au temps d exécution d une instruction normale par un facteur de 2 4 ordres de grandeur donc pas 2 4 fois plus long, mais bien fois plus. Les communications introduisent donc des délais dans le travail effectué par le programme. De plus, comme il n est pas raisonnable d attendre durant plusieurs milliers de cycles sans rien faire, une communication génère habituellement aussi un changement de contexte, donc des surcoûts additionnels. Répartition de la charge de travail (load balancing) : larépartition du travail (des tâches, des threads) entre les divers processeurs, tant sur une machine multiprocesseurs que sur une machine multi-ordinateurs, entraîne l exécution de travail supplémentaire (généralement effectué par un load balancer, qui fait partie du système d exécution (run-time system) de la machine). Si les tâches sont mal réparties, il est alors possible qu un processeur soit surchargé de travail, alors qu un autre ait peu de travail à effectuer, donc soit mal utilisé. L effet global d un déséquilibre de la charge est alors d augmenter le temps d exécution et de réduire l efficacité globale. Toutefois, assurer une répartition 7
8 véritablement équilibrée de la charge de travail, particulièrement sur une machine multi-ordinateurs, peut entraîner des surcoûts non négligeables (principalement au niveau des communications requises pour monitorer le système et la charge, puis répartir le travail entre les processeurs). Calculs supplémentaires : l accélération absolue se mesure relativement au meilleur algorithme séquentiel permettant de résoudre le problème. Or, il est possible que cet algorithme séquentiel ne puisse pas être parallélisé (intrinsèquement séquentiel, à cause des dépendances de contrôle et de données qui le définissent). Dans ce cas, l algorithme parallèle pourra être basé sur une version séquentielle moins intéressante, mais plus facilement parallélisable. 8
Initiation au HPC - Généralités
Initiation au HPC - Généralités Éric Ramat et Julien Dehos Université du Littoral Côte d Opale M2 Informatique 2 septembre 2015 Éric Ramat et Julien Dehos Initiation au HPC - Généralités 1/49 Plan du cours
Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données
EARTH et Threaded-C: Éléments clés du manuel de références de Threaded-C Bref historique de EARTH et Threaded-C Ancêtres de l architecture EARTH: Slide 1 Machine à flux de données statique de J.B. Dennis
REALISATION d'un. ORDONNANCEUR à ECHEANCES
REALISATION d'un ORDONNANCEUR à ECHEANCES I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6
Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration
Julien MATHEVET Alexandre BOISSY GSID 4 Rapport Load Balancing et migration Printemps 2001 SOMMAIRE INTRODUCTION... 3 SYNTHESE CONCERNANT LE LOAD BALANCING ET LA MIGRATION... 4 POURQUOI FAIRE DU LOAD BALANCING?...
Gé nié Logiciél Livré Blanc
Gé nié Logiciél Livré Blanc Version 0.2 26 Octobre 2011 Xavier Blanc [email protected] Partie I : Les Bases Sans donner des définitions trop rigoureuses, il faut bien commencer ce livre par énoncer
1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :
GIF-3002 SMI et Architecture du microprocesseur Ce cours discute de l impact du design du microprocesseur sur le système entier. Il présente d abord l architecture du cœur ARM Cortex M3. Ensuite, le cours
Introduction aux systèmes temps réel. Iulian Ober IRIT [email protected]
Introduction aux systèmes temps réel Iulian Ober IRIT [email protected] Définition Systèmes dont la correction ne dépend pas seulement des valeurs des résultats produits mais également des délais dans
École Polytechnique de Montréal. Département de Génie Informatique et Génie Logiciel. Cours INF2610. Contrôle périodique.
École Polytechnique de Montréal Département de Génie Informatique et Génie Logiciel Cours INF2610 Contrôle périodique Automne 2013 Date : 11 octobre 2013 de 18h à 20h Professeur : Boucheneb Hanifa Documentation
Machines virtuelles Cours 1 : Introduction
Machines virtuelles Cours 1 : Introduction Pierre Letouzey 1 [email protected] PPS - Université Denis Diderot Paris 7 janvier 2012 1. Merci à Y. Régis-Gianas pour les transparents Qu est-ce qu une
Technologie de déduplication de Barracuda Backup. Livre blanc
Technologie de déduplication de Barracuda Backup Livre blanc Résumé Les technologies de protection des données jouent un rôle essentiel au sein des entreprises et ce, quelle que soit leur taille. Toutefois,
Ordonnancement temps réel
Ordonnancement temps réel [email protected] Version 1.5 Problématique de l ordonnancement temps réel En fonctionnement normal, respecter les contraintes temporelles spécifiées par toutes les tâches
NFP 121. Java et les Threads. Présentation : Thierry Escalarasse Mai 2007
NFP 121 Java et les Threads Présentation : Thierry Escalarasse Mai 2007 Plan du cour Présentation de la notion de Threads La classe Thread L interface Runnable Les états d un thread La Synchronisation
4.2 Unités d enseignement du M1
88 CHAPITRE 4. DESCRIPTION DES UNITÉS D ENSEIGNEMENT 4.2 Unités d enseignement du M1 Tous les cours sont de 6 ECTS. Modélisation, optimisation et complexité des algorithmes (code RCP106) Objectif : Présenter
Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping
Chapitre V : La gestion de la mémoire Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Introduction Plusieurs dizaines de processus doivent se partager
Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions
Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental
La reconquête de vos marges de manœuvre
La reconquête de vos marges de manœuvre Libérez vos applications critiques Bull ouvre de nouvelles portes à votre patrimoine applicatif. Bull LiberTP fait passer simplement vos applications transactionnelles
Exclusion Mutuelle. Arnaud Labourel Courriel : [email protected]. Université de Provence. 9 février 2011
Arnaud Labourel Courriel : [email protected] Université de Provence 9 février 2011 Arnaud Labourel (Université de Provence) Exclusion Mutuelle 9 février 2011 1 / 53 Contexte Epistémologique
Cours A7 : Temps Réel
Cours A7 : Temps Réel Pierre.Paradinas / @ / cnam.fr Cnam/Cedric Systèmes Enfouis et Embarqués (SEE) Motivations Du jour : les mécanismes multitâches, la gestion des priorités, l ordonnancement, la gestion
Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique
Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation
Pourquoi OneSolutions a choisi SyselCloud
Pourquoi OneSolutions a choisi SyselCloud Créée en 1995, Syselcom est une société suisse à capitaux suisses. Syselcom est spécialisée dans les domaines de la conception, l intégration, l exploitation et
Annexe 6. Notions d ordonnancement.
Annexe 6. Notions d ordonnancement. APP3 Optimisation Combinatoire: problèmes sur-contraints et ordonnancement. Mines-Nantes, option GIPAD, 2011-2012. [email protected] Résumé Ce document
GPA770 Microélectronique appliquée Exercices série A
GPA770 Microélectronique appliquée Exercices série A 1. Effectuez les calculs suivants sur des nombres binaires en complément à avec une représentation de 8 bits. Est-ce qu il y a débordement en complément
SQL Server 2008 et YourSqlDba
SQL Server 2008 et YourSqlDba Le futur de la maintenance des bases de données et la haute-disponibilité Par : Maurice Pelchat Société GRICS Survol du sujet Haute disponibilité (HD) Assurer la disponibilité
Cours 1 : La compilation
/38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas [email protected] PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà
Introduction au Data-Mining
Introduction au Data-Mining Alain Rakotomamonjy - Gilles Gasso. INSA Rouen -Département ASI Laboratoire PSI Introduction au Data-Mining p. 1/25 Data-Mining : Kèkecé? Traduction : Fouille de données. Terme
Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace
Processus 1) Contexte 2) Modèles de Notion de Points de vue Modèle fourni par le SX Opérations sur les 3) Gestion des Représentation des Opérations 4) Ordonnancement des Niveaux d ordonnancement Ordonnancement
CloudBees AnyCloud : Valeur, Architecture et Technologie cloud pour l entreprise
CloudBees AnyCloud : Valeur, Architecture et Technologie cloud pour l entreprise Alors que les plates-formes PaaS (Platform as a Service) commencent à s imposer comme le modèle privilégié auprès des entreprises
L utilisation d un réseau de neurones pour optimiser la gestion d un firewall
L utilisation d un réseau de neurones pour optimiser la gestion d un firewall Réza Assadi et Karim Khattar École Polytechnique de Montréal Le 1 mai 2002 Résumé Les réseaux de neurones sont utilisés dans
Eric Bertrand [email protected]. 08/11/06 Maître de conférence 1
Calcul parallèle des options MC. Eric Bertrand [email protected] 1 Plan Contexte du calcul parallèle Qualités requises Architecture Outillage Problèmes rencontrés perspectives 2 Contexte du calcul
LA VIRTUALISATION. Etude de la virtualisation, ses concepts et ses apports dans les infrastructures informatiques. 18/01/2010.
Guillaume ANSEL M2 ISIDIS 2009-2010 / ULCO Dossier d étude sur la virtualisation LA VIRTUALISATION 18/01/2010 Etude de la virtualisation, ses concepts et ses apports dans les infrastructures informatiques.
CHAPITRE 5. Stratégies Mixtes
CHAPITRE 5 Stratégies Mixtes Un des problèmes inhérents au concept d équilibre de Nash en stratégies pures est que pour certains jeux, de tels équilibres n existent pas. P.ex.le jeu de Pierre, Papier,
INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE
I N T E RS Y S T E M S INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE David Kaaret InterSystems Corporation INTERSySTEMS CAChé CoMME ALTERNATIvE AUx BASES de données RéSIdENTES
Concept totale. parfaitement compatibles permettant de jeter un «nouveau regard sur le marketing & les ventes».
Concept totale Le logiciel CRM peut être acheté partout. Tout comme les adresses de vos publipostages. Il existe également de nombreux logiciels pour le marketing par courrier électronique. Mais vous ne
Contributions à l expérimentation sur les systèmes distribués de grande taille
Contributions à l expérimentation sur les systèmes distribués de grande taille Lucas Nussbaum Soutenance de thèse 4 décembre 2008 Lucas Nussbaum Expérimentation sur les systèmes distribués 1 / 49 Contexte
Evaluation des performances de programmes parallèles haut niveau à base de squelettes
Evaluation des performances de programmes parallèles haut niveau à base de squelettes Enhancing the Performance Predictability of Grid Applications with Patterns and Process Algebras A. Benoit, M. Cole,
Version de novembre 2012, valable jusqu en avril 2013
Pré requis techniques pour l installation du logiciel complet de gestion commerciale WIN GSM en version hyper File en configuration Windows Terminal Serveur Version de novembre 2012, valable jusqu en avril
Francis BISSON (06 794 819) Kenny CÔTÉ (06 836 427) Pierre-Luc ROGER (06 801 883) IFT702 Planification en intelligence artificielle
Francis BISSON (06 794 819) Kenny CÔTÉ (06 836 427) Pierre-Luc ROGER (06 801 883) PLANIFICATION DE TÂCHES DANS MS PROJECT IFT702 Planification en intelligence artificielle Présenté à M. Froduald KABANZA
Chapitre 1 : Introduction aux bases de données
Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données
Représentation des Nombres
Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...
La surveillance réseau des Clouds privés
La surveillance réseau des Clouds privés Livre blanc Auteurs : Dirk Paessler, CEO de Paessler AG Gerald Schoch, Rédactrice technique de Paessler AG Publication : Mai 2011 Mise à jour : Février 2015 PAGE
TD n o 8 - Domain Name System (DNS)
IUT Montpellier - Architecture (DU) V. Poupet TD n o 8 - Domain Name System (DNS) Dans ce TD nous allons nous intéresser au fonctionnement du Domain Name System (DNS), puis pour illustrer son fonctionnement,
L'intelligence d'affaires: la statistique dans nos vies de consommateurs
L'intelligence d'affaires: la statistique dans nos vies de consommateurs Jean-François Plante, HEC Montréal Marc Fredette, HEC Montréal Congrès de l ACFAS, Université Laval, 6 mai 2013 Intelligence d affaires
QUESTION 1 {2 points}
ELE4301 Systèmes logiques II Page 1 de 8 QUESTION 1 {2 points} En se servant de paramètres électriques donnés dans le Tableau 1 ci-dessous, on désire déterminer la fréquence d opération du compteur présenté
La fonction exponentielle
DERNIÈRE IMPRESSION LE 2 novembre 204 à :07 La fonction exponentielle Table des matières La fonction exponentielle 2. Définition et théorèmes.......................... 2.2 Approche graphique de la fonction
IV- Comment fonctionne un ordinateur?
1 IV- Comment fonctionne un ordinateur? L ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu à présent, nous avons surtout vu l aspect «matériel», avec les interactions
GOUVERNANCE DES IDENTITES ET DES ACCES ORIENTEE METIER : IMPORTANCE DE CETTE NOUVELLE APPROCHE
GOUVERNANCE DES IDENTITES ET DES ACCES ORIENTEE METIER : IMPORTANCE DE CETTE NOUVELLE APPROCHE RÉSUMÉ Depuis des années, les responsables de la sécurité de l information et les responsables opérationnels
DAns un système multi-utilisateurs à temps partagé, plusieurs processus
Chapitre 8 Ordonnancement des processus Dns un système multi-utilisateurs à temps partagé, plusieurs processus peuvent être présents en mémoire centrale en attente d exécution. Si plusieurs processus sont
Manuel de System Monitor
Chris Schlaeger John Tapsell Chris Schlaeger Tobias Koenig Traduction française : Yves Dessertine Traduction française : Philippe Guilbert Traduction française : Robin Guitton Relecture de la documentation
Exercices INF5171 : série #3 (Automne 2012)
Exercices INF5171 : série #3 (Automne 2012) 1. Un moniteur pour gérer des ressources Le moniteur MPD 1 présente une première version d'un moniteur, exprimé en pseudo-mpd, pour gérer des ressources le nombre
03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing
3/4/27 Programmation Avancée Multimédia Multithreading Benoît Piranda Équipe SISAR Université de Marne La Vallée Besoin Programmes à traitements simultanés Réseau Réseau Afficher une animation en temps
Windows Internet Name Service (WINS)
Windows Internet Name Service (WINS) WINDOWS INTERNET NAME SERVICE (WINS)...2 1.) Introduction au Service de nom Internet Windows (WINS)...2 1.1) Les Noms NetBIOS...2 1.2) Le processus de résolution WINS...2
Partie 7 : Gestion de la mémoire
INF3600+INF2610 Automne 2006 Partie 7 : Gestion de la mémoire Exercice 1 : Considérez un système disposant de 16 MO de mémoire physique réservée aux processus utilisateur. La mémoire est composée de cases
Chapitre 2 : Abstraction et Virtualisation
Virtualisation et Cloud Computing Chapitre 2 : Abstraction et Virtualisation Objectifs Présenter la notion de niveaux d abstraction séparés par des interfaces bien définies Description des avantages et
Tsoft et Groupe Eyrolles, 2005, ISBN : 2-212-11623-3
Tsoft et Groupe Eyrolles, 2005, ISBN : 2-212-11623-3 Configuration requise ForestPrep DomainPrep Installation interactive 5 Installation sans surveillance Module 5 : Installation d Exchange Server 2003
Rapport d'analyse des besoins
Projet ANR 2011 - BR4CP (Business Recommendation for Configurable products) Rapport d'analyse des besoins Janvier 2013 Rapport IRIT/RR--2013-17 FR Redacteur : 0. Lhomme Introduction...4 La configuration
Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:
Travaux Pratiques 3. IFT 1002/IFT 1005. Structure Interne des Ordinateurs. Département d'informatique et de génie logiciel. Université Laval. Hiver 2012. Prof : Bui Minh Duc. Tous les exercices sont indépendants.
Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit.
Proposition de stage de BAC+4 ou BAC+5 Pro ou Recherche Etude comparative des outils de vérification d'algorithmes parallèles Logiciels (LSL), localisé à Palaiseau (Essonne), développe les outils d'aide
Contexte et motivations Les techniques envisagées Evolution des processus Conclusion
Vérification de logiciels par analyse statique Contexte et motivations Les techniques envisagées Evolution des processus Conclusion Contexte et motivations Specification Design architecture Revues and
Pourquoi archiver les emails
Pourquoi archiver les emails Objectif du document Ce document a pour objectif d'expliquer la nécessité et le bien-fondé de l'archivage des emails. Il a été écrit par Alain Heurtebise, Directeur Général
Chapitre I Notions de base et outils de travail
Chapitre I Notions de base et outils de travail Objectifs Connaître les principes fondateurs et l historique du langage Java S informer des principales caractéristiques du langage Java Connaître l environnement
Introduction à la théorie des files d'attente. Claude Chaudet [email protected]
Introduction à la théorie des files d'attente Claude Chaudet [email protected] La théorie des files d'attente... Principe: modélisation mathématique de l accès à une ressource partagée Exemples réseaux
Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie I : Introduction
Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre Partie I : Introduction Plan de la première partie Quelques définitions Caractéristiques communes des applications temps-réel Exemples d
4. Utilisation d un SGBD : le langage SQL. 5. Normalisation
Base de données S. Lèbre [email protected] Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :
Projet Active Object
Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques
Introduction aux SGBDR
1 Introduction aux SGBDR Pour optimiser une base Oracle, il est important d avoir une idée de la manière dont elle fonctionne. La connaissance des éléments sous-jacents à son fonctionnement permet de mieux
Aspects théoriques et algorithmiques du calcul réparti L agglomération
Aspects théoriques et algorithmiques du calcul réparti L agglomération Patrick CIARLET Enseignant-Chercheur UMA [email protected] Françoise LAMOUR [email protected] Aspects théoriques
J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation
J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation Cycle Ingénierie 2e année SIGL Dernière mise à jour : 19/10/2006 Christophe Porteneuve Threads Principes Cycle de vie Création java.lang.thread
Cours de Systèmes d Exploitation
Licence d informatique Synchronisation et Communication inter-processus Hafid Bourzoufi Université de Valenciennes - ISTV Introduction Les processus concurrents s exécutant dans le système d exploitation
La continuité de service
La continuité de service I INTRODUCTION Si la performance est un élément important de satisfaction de l'utilisateur de réseau, la permanence de la disponibilité des ressources l'est encore davantage. Ici
SGM. Master S.T.S. mention informatique, première année. Isabelle Puaut. Septembre 2011. Université de Rennes I - IRISA
SGM Master S.T.S. mention informatique, première année Isabelle Puaut Université de Rennes I - IRISA Septembre 2011 Isabelle Puaut SGM 2 / 1 Organisation de l enseignement Semestre 1 : processus, synchronisation
Qualité du logiciel: Méthodes de test
Qualité du logiciel: Méthodes de test Matthieu Amiguet 2004 2005 Analyse statique de code Analyse statique de code Étudier le programme source sans exécution Généralement réalisée avant les tests d exécution
4D v11 SQL Release 5 (11.5) ADDENDUM
ADDENDUM Bienvenue dans la release 5 de 4D v11 SQL. Ce document présente les nouveautés et modifications apportées à cette nouvelle version du programme. Prise en charge de nouvelles plates-formes La release
Introduction à MATLAB R
Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d
«clustering» et «load balancing» avec Zope et ZEO
IN53 Printemps 2003 «clustering» et «load balancing» avec Zope et ZEO Professeur : M. Mignot Etudiants : Boureliou Sylvain et Meyer Pierre Sommaire Introduction...3 1. Présentation générale de ZEO...4
MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»
MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» Du cours Modélisation Semi -Formelle de Système d Information Du Professeur Jean-Pierre GIRAUDIN Décembre. 2002 1 Table de matière Partie 1...2 1.1
Garantir une meilleure prestation de services et une expérience utilisateur optimale
LIVRE BLANC Garantir une meilleure prestation de services et une expérience utilisateur optimale Mai 2010 Garantir une meilleure prestation de services et une expérience utilisateur optimale CA Service
IFT2255 : Génie logiciel
IFT2255 : Génie logiciel Chapitre 6 - Analyse orientée objets Section 1. Introduction à UML Julie Vachon et Houari Sahraoui 6.1. Introduction à UML 1. Vers une approche orientée objet 2. Introduction ti
Conception des systèmes répartis
Conception des systèmes répartis Principes et concepts Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Octobre 2012 Gérard Padiou Conception des systèmes répartis 1 / 37 plan
La technologie Java Card TM
Présentation interne au CESTI La technologie Java Card TM [email protected] http://dept-info.labri.u-bordeaux.fr/~sauveron 8 novembre 2002 Plan Qu est ce que Java Card? Historique Les avantages
PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES
Leçon 11 PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Dans cette leçon, nous retrouvons le problème d ordonnancement déjà vu mais en ajoutant la prise en compte de contraintes portant sur les ressources.
INITIATION AU LANGAGE C SUR PIC DE MICROSHIP
COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par
Cours n 12. Technologies WAN 2nd partie
Cours n 12 Technologies WAN 2nd partie 1 Sommaire Aperçu des technologies WAN Technologies WAN Conception d un WAN 2 Lignes Louées Lorsque des connexions dédiées permanentes sont nécessaires, des lignes
agility made possible
DOSSIER SOLUTION Amélioration de la planification de la capacité à l aide de la gestion des performances applicatives Comment assurer une expérience utilisateur exceptionnelle pour les applications métier
Problèmes liés à la concurrence
ENS Cachan Problématique Difficile de gérer la concurrence : Pas toujours facile d avoir des fonctions réentrantes. Risque de race condition : ex : x :=x+1 x :=x+1 On voudrait des blocs d instructions
Introduction aux Machines Virtuelles avec VMKit
Introduction aux Machines Virtuelles avec Ingénieur :, Responsables : Gaël Thomas, Gilles Müller EQUIPE REGAL LIP6 INRIA (Paris/France) un substrat de machine virtuelle : a substrate for Managed Runtime
Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if
Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike
Précision d un résultat et calculs d incertitudes
Précision d un résultat et calculs d incertitudes PSI* 2012-2013 Lycée Chaptal 3 Table des matières Table des matières 1. Présentation d un résultat numérique................................ 4 1.1 Notations.........................................................
Consolidation de stockage
(Information sur la technologie Sto-2003-2) Wolfgang K. Bauer Spécialiste stockage Centre de compétence transtec AG Waldhörnlestraße 18 D-72072 Tübingen Allemagne TABLE DES MATIÈRES 1 RÉSUMÉ...3 2 INTRODUCTION...4
Guide de configuration de SQL Server pour BusinessObjects Planning
Guide de configuration de SQL Server pour BusinessObjects Planning BusinessObjects Planning XI Release 2 Copyright 2007 Business Objects. Tous droits réservés. Business Objects est propriétaire des brevets
Analyse de performance, monitoring
Analyse de performance, monitoring Plan Principes de profilage Projet TPTP dans Eclipse Utilisation des profiling tools de TPTP Philippe Collet Master 1 Informatique 2009-2010 http://deptinfo.unice.fr/twiki/bin/view/minfo/gl
Évaluation et implémentation des langages
Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation
Sommaire. Préface 1 : Pourquoi choisir Magento? Chapitre 1 : Magento, quésaco? Chapitre 2 : Quoi sous le capot?
Le Guide Magento 1 Sommaire Préface 1 : Pourquoi choisir Magento? Chapitre 1 : Magento, quésaco? Chapitre 2 : Quoi sous le capot? Chapitre 3 : Les fonctionnalités natives Chapitre 4 : Performance Chapitre
Technologie SDS (Software-Defined Storage) de DataCore
Technologie SDS (Software-Defined Storage) de DataCore SANsymphony -V est notre solution phare de virtualisation du stockage, dans sa 10e génération. Déployée sur plus de 10000 sites clients, elle optimise
UE Programmation Impérative Licence 2ème Année 2014 2015
UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie [email protected] 2 Programmation Impérative
Le Ro le Hyper V Troisie me Partie Haute disponibilite des machines virtuelles
Le Ro le Hyper V Troisie me Partie Haute disponibilite des machines virtuelles Microsoft France Division DPE Table des matières Présentation... 2 Objectifs... 2 Pré requis... 2 Quelles sont les principales
Exécutif temps réel Pierre-Yves Duval (cppm)
Exécutif temps réel Pierre-Yves Duval (cppm) Ecole d informatique temps réel - La Londes les Maures 7-11 Octobre 2002 Plan Exécutif Tâches Evénements et synchronisation Partage de ressources Communications
Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test
Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite
1 Mesure de la performance d un système temps réel : la gigue
TP TR ENSPS et MSTER 1 Travaux Pratiques Systèmes temps réel et embarqués ENSPS ISV et Master TP1 - Ordonnancement et communication inter-processus (IPC) Environnement de travail Un ordinateur dual-core
