Une dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU



Documents pareils
Cours 1 : La compilation

Segmentation d'images à l'aide d'agents sociaux : applications GPU

Cours de Génie Logiciel

Vers l'orchestration de grilles de PC par les mécanismes de publicationsouscription

OCL - Object Constraint Language

Chapitre 2 : Abstraction et Virtualisation

Machines virtuelles Cours 1 : Introduction

Quantification d incertitude et Tendances en HPC

Les participants repartiront de cette formation en ayant une vision claire de la stratégie et de l éventuelle mise en œuvre d un Big Data.

Construire le Business Case lié à l automatisation du Cloud avec vcloud Suite

UML (Diagramme de classes) Unified Modeling Language

Conception des systèmes répartis

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Contrôle Non Destructif : Implantation d'algorithmes sur GPU et multi-coeurs. Gilles Rougeron CEA/LIST Département Imagerie Simulation et Contrôle

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

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

Architectures informatiques dans les nuages

Journée Scientifique Onera

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

GRIDKIT: Pluggable Overlay Networks for Grid Computing

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

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

Change the game with smart innovation

Master (filière Réseau) Parcours Recherche: Systèmes Informatiques et Réseaux (RTS)

Les apports de l informatique. Aux autres disciplines

UE Programmation Impérative Licence 2ème Année

Curriculum Vitae 1 er février 2008

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

KIT DE DÉMARRAGE SHAREPOINT DANS MICROSOFT AZURE

Systèmes Répartis. Pr. Slimane Bah, ing. PhD. Ecole Mohammadia d Ingénieurs. G. Informatique. Semaine Slimane.bah@emi.ac.ma

Les lières. MSc in Electronics and Information Technology Engineering. Ingénieur civil. en informatique. MSc in Architectural Engineering

Enseignant: Lamouchi Bassem Cours : Système à large échelle et Cloud Computing

Introduction au Cloud Computing

Perspectives en matière de portails géographiques et de 3D

Virtualisation sous Linux L'age de raison. Daniel Veillard

Qualité et ERP CLOUD & SECURITY (HACKING) Alireza MOKHTARI. 9/12/2014 Cloud & Security

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

Cloud Computing Enjeux stratégiques & transformationnels. Franck Besnard, Principal / Strategist, VMware

TP1 : Initiation à Java et Eclipse

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>

Évaluation et implémentation des langages

Organigramme / Algorigramme Dossier élève 1 SI

Brique BDL Gestion de Projet Logiciel

Synthèse d'images I. Venceslas BIRI IGM Université de Marne La

Hébergement MMI SEMESTRE 4

Programmer des applications réparties

Cloud Computing : Utiliser Stratos comme PaaS privé sur un cloud Eucalyptus

Services à la recherche: Data Management et HPC *

Evolution des technologies et émergence du cloud computing Drissa HOUATRA, Orange Labs Issy

Application 1- VBA : Test de comportements d'investissements

Classes et Objets en Ocaml.

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Examen Médian - 1 heure 30

Rapport 2014 et demande pour Portage de Méso-NH sur Machines Massivement Parallèles du GENCI Projet 2015 : GENCI GEN1605 & CALMIP-P0121

Application de K-means à la définition du nombre de VM optimal dans un cloud

ISO/CEI Technologies de l information Gestion des actifs logiciels. Partie 1: Procédés et évaluation progressive de la conformité

Analyse,, Conception des Systèmes Informatiques

Cloud Computing. Introduction. ! Explosion du nombre et du volume de données

THÈSE. présentée à TÉLÉCOM PARISTECH. pour obtenir le grade de. DOCTEUR de TÉLÉCOM PARISTECH. Mention Informatique et Réseaux. par.

Cloud computing Architectures, services et risques

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Algorithmique des Systèmes Répartis Protocoles de Communications

PANORAMA DES MENACES ET RISQUES POUR LE SI

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Windows serveur 2008 installer hyperv

État de l art des simulations multi-agents sur GPU

Analyse Combinatoire

Rapport de stage Master 2

Vérification formelle de la plate-forme Java Card

Compilation (INF 564)

modèles génériques applicables à la synthèse de contrôleurs discrets pour l Internet des Objets

Du Datacenter au Cloud Quels challenges? Quelles solutions? Christophe Dubos Architecte Microsoft

Les BRMS Business Rules Management System. Groupe GENITECH

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Diagramme de classes

Le développement d'applications informatiques

IFT2255 : Génie logiciel

Systèmes Multi-Agents et GPGPU : état des lieux et directions pour l avenir

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

SysFera. Benjamin Depardon

Programmation Web. Madalina Croitoru IUT Montpellier

Défi Cloud Computing

Découverte du tableur CellSheet

Elasticité logicielle pour optimiser l empreinte énergétique

Programmation d'agents intelligents Vers une refonte des fils de raisonnement. Stage de fin d'études Master IAD 2006

Université de Bangui. Modélisons en UML

Le cloud computing au service des applications cartographiques à haute disponibilité

Implémentation parallèle de certains algorithmes de fouille de données avec le framework MapReduce

Le Cloud. Généralités & Sécurité. Valentin Lecerf Salon du multimédia et de la photo Proville

Arrêt sur image. La simulation numérique au programme de l industrie

Cours Informatique Master STEP

Programme détaillé. Administrateur de Base de Données Oracle - SQLServer - MySQL. Objectifs de la formation. Les métiers

Licences Windows Server 2012 R2 dans le cadre de la virtualisation

Élasticité des applications à base de services dans le Cloud

Initiation au HPC - Généralités

La dernière base de données de Teradata franchit le cap du big data grâce à sa technologie avancée

Transcription:

Une dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU Gabriel Antoine Louis Paillard Ce travail a eu le soutien de la CAPES, agence brésilienne pour la recherche

Sommaire Travaux de recherches Le formalisme Gamma Métaphore de la Réaction Chimique Quelques aspects concernant Gamma Exemples de Programmes Gamma Architecture GPU Dérivation de Gamma

Travaux de Recherche Dévellopement d un nouveau algorithme distribué pour le calcul des nombres premiers; Emploi du nuage pour le calcul à haute performance; Emploi du nuage pour les VLE (Virtual Learning Environment).

Emploi du nuage pour les VLEs VLE QoS 5/14

Objectives VLE CC QoS Pas de mesures pour l usage de VLE employant QoS et CC Introduire une architecture pour démontrer aussi l emploi de l elasticité avec les VLES dans les nuages 6/14

Emploi du nuage pour le HPC Temp d éxécution des programmes HPC 7/16

Emploi du nuage pour le HPC HPC CC Analyse de performance Objective: Démontrer la possibilité d éxécution des applications HPC em CC Générer des données pour voir l éxécution de benchmarks sûr plusieur dispositions 8/16

8th Euro American Association on Telematics and Information Systems Distributed SystemsGrid Computing Distributed SystemsGrid Computing Peer-to-peer computing Cloud computing Cooperative computing Service computing Green computing Multi-agent systems

Gamma GAMMA (General Abstract Model for Multiset manipulation) fût créer em 1986 comme un formalisme pour la spécification de programmes; Façon d abstraire seulement sûr le problème à traiter.

Gamma MÉTAPHORE DE LA RÉACTION CHIMIQUE La condition de réaction demande La propriété Les élements fût satisfaicte sont remplacés par deux les par éléments deux le résultat éléments de sélectionés l action A C A B A BA BA A B B D Modèle de donnée Multiensemble Solution Chimique J JJ J J J C D

Gamma Le seul modèle de données en Gamma est le multiensemble qui peut être perçu comme une solution chimique où les données sont des réagents de cette solution. Un simple programme est une paire qui représente une action qui sera executé sûr les élements du multiensemble: Action Condition de reaction

Gamma Exemple Programme Gamma qui calcule le plus grand élement Max: x,y y x y Condition de Réaction Action Un stade stable For this fût multiset: trouvé, c.a.d.,{13} X aucune reaction peut avoir lieu. {4,13} {2,4,13} {2,3,4,13} x X x x x y Y

Aspects de Gamma Libre interactions entre les éléments du multiensemble Les programmes Gamma sont implicitement exécuté em parallèle Si la condition de réaction est satisfaite par quelques sousensembles disjoints Les reactions peuvent être operées simultanements et independaments

Aspects de Gamma La possibilité de se débarasser de la séquencialité en Gamma rapporte deux conséquences: Permettre que le programmeur décrive les programmes de façon abstraite. Cela rend Gamma désirable comme langage intermédiaire dans le processus de dérivation de programmes; Comme Gamma n emploie pas la séquencialité comme paradigme, le langage mène naturellement à des constructions de programmes parallèles.

Gamma Definition formelle de Gamma: Γ((R 1,A 1 ),..,(R m,a m ))(M)= if i [1,m], x 1,..x n M, R(x 1,..x n ) then M else let x 1,..x n M, let i [1,m] such that R i (x 1,..,x n ) in Γ((R 1,A 1 ),..,(R m,a m ))((M-{(x 1,..,x n }) + A i (x 1,..,x n ))

Gamma Si la condition de réaction est satisfaite par quelques sousensembles disjoints, les réactions peuvent avoir lieu indépendamment et simultanément; Cette propriété est la raison par laquelle les programmes Gamma possèdent un parallélisme potentiel.

Gamma Ex.: prime_numbers(n) = Γ((R,A)) ({2,..,N}) where R(x,y) = multiple(x,y) A(x,y) = y Comme conséquence du manque de compromis avec un ordre particulier d éxécution, un programme Gamma peut être implémenté de façon parallèle.

Gamma Le seul modèle de données en Gamma est le multiensemble. Les éléments du multiensemble peuvent êtres des valeurs simples ou composés (même des multiensembles). Um programme ne consiste plus en une séquence d instructions modifiant un état, ou en une fonction apliquée à ses arguments mais en un transformateur de multiensembles opérant les données simultanément.

Gamma Un probléme numérique: fact(n) = Γ ((R,A)) {1,..n} where R(x,y) = true A(x,y) = x*y

Gamma Problème de trie (sort): Sort(Vetor) = Γ ((R,A)) Vetor where R(i,v),(j,w) = (i>j) and (v<w) A(i,v),(j,w) = {(i,w),(j,v)}

Gamma Chemin plus court: Shortest_path(G) = Γ ((R,A)) (G) where R(v 1,v 2,c 12 ),(v 2,v 3,c 23 ), (v 1,v 3,c 13 )= c 13 > c 12 +c 23 A (v 1,v 2,c 12 ),(v 2,v 3,c 23 ), (v 1,v 3,c 13 )= {(v 1,v 2,c 12 ),(v 2,v 3,c 23 ), (v 1,v 3,c 12 +c 23 )= }

Gamma Dîner des Philosophes: philosophers= Γ ((R 1,A 1 )(R 2,A 2 ))({F 0, F 1, F 2, F 3, F 4 }) where R 1 (F i,f (i+1)mod5 ) = True A 1 (F i,f (i+1)mod5 ) = {P i } R 2 (P i ) = True A 2 (P i ) = {F i,f (i+1)mod5 }

Architecture GPU Durant les années soixante-dix ont été développés et mis à la disposition les premiers processeurs accélérateur graphique à deux dimensions. Dans les années 90, apparurent les premiers accélérateurs graphiques en trois dimensions qui avaient encore comme force motrice l'industrie des jeux videos,

Architecture GPU Depuis le début des années 2000 il est possible de profiter de la puissance de traitement graphique des unités de traitement graphique grâce à la possibilité d'un modèle de programmation générale GPGPU (General-Purpose Graphics Processing Units) qui a permis l'accès à certaines unités de GPU et les employer pour d'autres fins que ses objectifs de programmation originales.

Architecture GPU Depuis 2003, l'industrie des semi-conducteurs a mis en place deux chemins pour la conception de microprocesseurs: L'utilisation de plusieurs cœurs (multicore); L'utilisation de plusieurs noyaux (plusieurs noyaux).

Architecture GPU

Architecture GPU Nous pouvons visualiser le fonctionnement de ces processeurs comme un coprocesseur à l'unité centrale de calcul qui est idéal pour le traitement en parallèle d'un grand nombre de données qui peuvent être résolues d'une façon indépendante. Il est à noter que les ordinateurs avec plus de puissance de calcul figurant dans le top 500 ont une architecture hybride, comprenant CPU's et GPU.

Architecture GPU

Architecture GPU

Dérivation de Gamma Motivations: 1. Dificulté de programmation de ses dispositifs; 2. Caractéristique parallèle liès encore au paradigme impérative de programmation; 3. L'adéquation de l'architecture GPU pour le traitement des données est idéal pour l'application d'un langage qui suit le paradigme de réécritere de multiensembles.

Dérivation de Gamma I4 I0 I5 I1 I2 R1 (Manager reaction 1) Instances R1 I4 I0 I1 I5 I3 I2 R2 (Manager reaction 2) Instances R2 I3 R4 (Manager reaction 4) I0 I1 R3 (Manager reaction 3) I1 I5 I0 I3 I2 I4 Instances R4 I4 I5 I2 Instances R3 I3

Dérivation de Gamma R1 I0 I1 R2 R1 = i0 + i1 + i4 + i5; I4 I5 I0, I1, I3 R2 = i0.i1.i3 +... ; R3 = i1.i2.i4 + i1.i2.i5 +...; R4 = i2 + i3 ; R3 R4 I1, I2, I4 I1, I2, I5 I2 I3

Dérivation de Gamma R1 I0 I1 I0, I1, I3 R2 I4 I5 R4 I2 I1, I2, I4 I1, I2, I5 R3 I3

Dérivation de Gamma I0 R1 I0 I4 I1 I0, I1, I3 R2 I4 I5 I5 I1 I2 I2 R4 R4 G I1, I2, I1, I4 I2, I4 I1, I2, I5 I1, I2, I5 R3 R3 I3 I3

Dérivation de Gamma R1 I0 I1 I0, I1, I3 R2 I4 I5 R4 I2 I1, I2, I4 I1, I2, I5 R3 I3

Dérivation de Gamma I0 R1 1 1 I0, I1, I3 R2 I1 6 1 I4 5 I5 6 2 2 5 3 6 3 2 1 3 2 1 5 1 2 I2 R4 2 I1, I2, I4 3 I1, I2, I5 R3 3 5 I3

Dérivation de Gamma I0 R1 1 1 I0, I1, I3 R2 I1 6 1 I4 5 I5 6 2 2 5 3 6 3 2 1 3 2 1 5 1 2 I2 R4 I1, I2, I4 2 3 I1, I2, I5 R3 3 5 I3

Dérivation de Gamma R1 I0 Empate e I0, I1, I3 R2 I1 I4 I5 sink R4 I2 I1, I2, I4 I3 I1, I2, I5 R3

Dérivation de Gamma Célule 0 Célule 1 Célule 2 Célule 3 La célule 0 est chargé de distribuer les multiensembles entre les unités de traitement où il y aura une célule, illustrée ici par la célule 1, qui sera responsable par la distribution des éléments du multiensemble aux trheads.

Conclusions et suite... Vérifier l ordonnanceur pour les tâches Gamma; Implementer le langage sûr l architecture CUDA; Gamma Structurée?