Calcul parralèle. Modèle PRAM

Documents pareils
La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Programmation linéaire

Parallélisme et Répartition

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Corrigé des TD 1 à 5

Table des matières. Introduction

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

Algorithmique et Programmation Fonctionnelle

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

Cours de Master Recherche

Continuité d une fonction de plusieurs variables

Machines virtuelles Cours 1 : Introduction

Fondements de l informatique Logique, modèles, et calculs

1 Recherche en table par balayage

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Architecture des Systèmes d Information Architecture des Systèmes d Information

Factorisation Factoriser en utilisant un facteur commun Fiche méthode

La Certification de la Sécurité des Automatismes de METEOR

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion


6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses

Conception de circuits numériques et architecture des ordinateurs

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

Équipe Académique Mathématiques

Définitions. Numéro à préciser. (Durée : )

4.2 Unités d enseignement du M1

Représentation des Nombres

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Nombres premiers. Comment reconnaître un nombre premier? Mais...

Nouvelles propositions pour la résolution exacte du problème de sac à dos bi-objectif unidimensionnel en variables binaires

Qualité du logiciel: Méthodes de test

FIMA, 7 juillet 2005

Annexe 6. Notions d ordonnancement.

Stratégie de recherche adaptative en programmation par contrainte

Cours Informatique 1. Monsieur SADOUNI Salheddine

CAHIER DES CHARGES CONCERNANT «La communication web 2013 de la Maison de l Emploi de Marseille»

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

Cours Optimisation Partie Optimisation Combinatoire. Année scolaire Gérard Verfaillie ONERA/DCSD/CD, Toulouse

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit.

Données Réparties. Thibault BERNARD.

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Résolution de systèmes linéaires par des méthodes directes

Premiers pas sur l ordinateur Support d initiation

Mathématique et Automatique : de la boucle ouverte à la boucle fermée. Maïtine bergounioux Laboratoire MAPMO - UMR 6628 Université d'orléans

Suites numériques 3. 1 Convergence et limite d une suite

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Cahier des charges. Achat de bornes interactives pour la Maison de l Environnement de Nice

Limites finies en un point

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Cours 7 : Utilisation de modules sous python

Réseaux de preuves booléens sous-logarithmiques

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Une introduction aux codes correcteurs quantiques

Chapitre VI - Méthodes de factorisation

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

Automatique (AU3): Précision. Département GEII, IUT de Brest contact:

I00 Éléments d architecture

Cours 1 : La compilation

Efficient Object Versioning for Object- Oriented Languages From Model to Language Integration

Calculabilité Cours 3 : Problèmes non-calculables.

Prévention des TMS-MS dans les entreprises de moins de 50 salariés. Dr Olivier PALMIERI

Christophe CANDILLIER Cours de DataMining mars 2004 Page 1

Approximations variationelles des EDP Notes du Cours de M2

Notion de base de données

Echantillonnage Non uniforme

Géométrie des nombres et cryptanalyse de NTRU

Bases de programmation. Cours 5. Structurer les données

Algorithmique I. Algorithmique I p.1/??

Métriques de performance pour les algorithmes et programmes parallèles

I. Polynômes de Tchebychev

Les apports de l informatique. Aux autres disciplines

"Calcul et hyper-calcul"

Le partage de clés cryptographiques : Théorie et Pratique

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

FONCTION DE DEMANDE : REVENU ET PRIX

MASTER SIS PRO : logique et sécurité DÉTECTION D INTRUSIONS. Odile PAPINI, LSIS. Université de Toulon et du Var. papini@univ-tln.

Cours 3 : L'ordinateur

Année 2014/ er septembre Version de Anca Muscholl, issue du poly de Marc Zeitoun. 1/143

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

Cours d Informatique

Vous êtes bien à la bonne présentation, c est juste que je trouvais que le titre de cette présentation étais un peu long,

Trouver un vecteur le plus court dans un réseau euclidien

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Francis BISSON ( ) Kenny CÔTÉ ( ) Pierre-Luc ROGER ( ) IFT702 Planification en intelligence artificielle

COURS EULER: PROGRAMME DE LA PREMIÈRE ANNÉE

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

Quelques tests de primalité

LES TYPES DE DONNÉES DU LANGAGE PASCAL

JOURNEES SYSTEMES & LOGICIELS CRITIQUES le 14/11/2000. Mise en Œuvre des techniques synchrones pour des applications industrielles

A GRASPxELS approach for the Job Shop with generic time-lags and new statistical determination of the parameters

ARCHITECTURE CONSTITUTION D'UN API

Transcription:

Mihaela JUGANARU-MATHIEU mathieu@emse.fr École Nationale Supérieure des Mines de St Etienne 2012-2013

Plan Modèle séquentiel 1 Modèle séquentiel 2 3

Modèles du calcul séquentiel : machine de Turing modèle RAM (Random Access Memory) Complexité d un algorithme séquentiel A : temps : T s (A n ) espace mémoire S(A n ) space n étant la taille des données (d entrée) et A n l algorithme A instancié pour un problème de taille n

Classe P - les algorithmes dits polynomiaux : on peut déterminer une solution exacte dans un temps borné par une fonction polynomiale de n (solution par une machine de Turing déterministe). Classe NP - les algorithme pour lesquels on peut établir un temps polynomial que une solution est correcte (solution par une machine Turing nondéterministe). On a P NP. On a pas encore prouvé ni P = NP, ni P NP. Classes à part des problèmes : NP-complets et NP-difficiles.

Concepts - PRAM Modèle séquentiel Une (machine) PRAM se compose de : ensemble illimité de processeurs, chaque processeur connait son indice une mémoire globale partagée infinie et le temps d accès à une cellule de mémoire est supposé constant un ensemble fini d instructions qui est le programme commun exécuté de manière synchrone

Concepts - programme Un programme est une succession ordonnée des pas (étapes, instructions simples). Chaque processeur execute de manière synchrone une même instruction d une durée unitaire et est capable de determiner la suivante. Un pas peut être : un calcul un accès mémoire : lecture ou écriture un test vide

Concepts - CREW, EREW, CRCW Les accès mémoires peuvent être supposées : concurrents (les processeurs accèdent en même temps à une cellule mémoire - variable) exclusifs (les processeurs ne peuvent pas accéder en même temps à une variable).

Concepts - CREW, EREW, CRCW Trois sous-modèles possibles : CRCW CREW EREW Le modèle CRCW pose problème pour les écritures : la valeur définitive. Trois possibilités : COMMUNE-CRCW : la valeur écrite doit être commune ARBITRAIRE-CRCW : on écrit une valeur arbitraire parmi les valeurs des procesesurs PRIORITAIRE-CRCW : selon le numéro de priorité (indice) de chaque processeur

Complexité d un algorithme parallèle : nombre de processeurs : H(A n ) hardware temps parallèle : T // (A n ) travail : W (A n ) = H(A n ) T // (A n ) work On mettra en évidence un facteur de type O pour le H et pour le T //. Par abus de langage : O // (.,.).

On propose des algorithmes parallèle sur un modèle PRAM et on analyse leur indice de complexité.

Un algorithme parallèle est dit : efficace si la solution parallèle est intéressante : le temps parallèle est polylogarithmique et le travail est un facteur du temps séquentiel multiplié par un facteur logarithmique optimal si la solution parallèle est efficace et le travail est du même ordre que le temps du meilleur algorithme séquentiel Exemple : le produit de n valeurs.

Classes de complexité NC La classe NC (Nick s Class) formalisée par N. Pippenger : Sous-classes de NC : On a : NC = ensemble de problèmes P tel que A = (A n ) famille algorithmes : A n résout P n en coût O // (log O(1) n, n O(1) ) NC k, EREW k, CREW k, CRCW k NC k = EREW k CREW k CRCW k EREW k+1 NC k+1

Comment on peut trouver une solution parallèle? au départ il faut déjà bien comprendre le problème ; connaitre une solution séquentielle peut aider

Techniques de parallélisation Techniques pour construire des algorithmes parallèles : étude du graphe de précédence diviser pour paralléliser casser par la redondance

Principe de Brent Modèle séquentiel Si on conçoit un algorithme pour PRAM pour un nombre important de processeurs, on peut facilement le transformer pour moins de processeurs. Si on dispose d une solution sur H(A n ) processeurs, la solution est transformable sur m processeurs avec m < H(A n ). On répète les opérations sur le même processeur. On peut rajouter des pas vides de calcul, mais ce nombre restera borné par T // (A n ).