Programmation parallèle et mise en œuvre des GPU

Dimension: px
Commencer à balayer dès la page:

Download "Programmation parallèle et mise en œuvre des GPU"

Transcription

1 Programmation parallèle et mise en œuvre des GPU Jean-Ferdy Susini! Maître de Conférences - CNAM! Département Informatique Paris, 21/10/14

2 Plan du cours 2 Objectif : sensibiliser à la programmation parallèle des GPU Rappel sur la programmation concurrente et le parallèle Présentation des GPU et ouverture de ces «coprocesseurs» à la programmation Définition du modèle de calcul d OpenCL Mise en œuvre d OpenCL Démo en Java TP

3 Présentation du cours 3

4 Programmation parallèle Paris, 21/10/14

5 Concurrence et/ou parallélisme 5 La concurrence est un problème ancien en informatique et en particulier dans les systèmes d exploitation : la mise à disposition d un nombre limité de ressources à un nombre arbitraire de tâches utilisatrices conduit à des situations de concurrence. Plusieurs solutions existent, à commencer par la possibilité de simuler des exécutions parallèles à travers de l interleaving."! Ordonnancement de tâches

6 Ordonnancement dans un SE 6 Objectif : gestion des ressources matérielles, dont la ressource processeur Architecture Monoprocesseur" optimiser l utilisation de la ressource processeur" améliorer la réactivité du système Architecture Multiprocesseur" profiter des ressources CPU supplémentaires" équilibrer la charge Au sein d un même processus, les threads satisfont ces mêmes besoins

7 Ordonnancement dans un SE 7 Les processus sont des tâches lourdes qui communiquent peu entre elles (à travers certains services du système)" L ordonnancement défini les règles d accès à la ressource processeur" Les communications inter-processus doivent guider la politique d ordonnancement" Définir les règles d ordonnancement est difficile en particulier dans un OS déjà existant, qui requiert la connaissance de nombreux mécanismes sous-jacents de l OS

8 Programmation 8 Au niveau des langages de programmation, la problématique de la concurrence et du parallélisme a été finalement peu considérée" Pourtant de nos jours le parallélisme est omniprésent" Mis à part quelques langages assez confidentiels, l essentiel des langages ont introduit la notion de parallélisme à travers les outils fournis par les SE, zn particulier les threads

9 Les threads 9 Un exemple : le langage Java"! Chaque thread exécute un code séquentiel! Modèle de programmation hérité de la programmation système : processus légers (partage de l'espace d'adressage, pile et registres séparés)! S appuie sur un service d ordonnancement! Correspondances ("Mapping") avec les processus légers : un à un, plusieurs à un, plusieurs à plusieurs

10 Les threads 10 Issus des systèmes d exploitation => on retrouve des stratégies d'ordonnancement :" Ordonnancement coopératif : le fil d'exécution "qui a" le processeur doit le relâcher explicitement. La stratégie d'ordonnancement diffère dans l'élection du processus auquel le processeur doit-être alloué! Ordonnancement préemptif: l'ordonnanceur du système peut contraindre un fil d'exécution à relâcher le processeur qui lui a été alloué en fonction de critères (quota, priorité, interruption,... ) qui constituent une part de la politique d'ordonnancement

11 L ordonnancement coopératif 11 Simple à programmer (coroutines)! Efficacité : maîtrise des "context switchs", -verrous, - changements de mode de protection! Pb avec les mauvais citoyens (threads non coopérative)! Discipline de programmation => transformation du "legacy software

12 L ordonnancement préemptif 12 pas de discipline de programmation (mais subsiste problèmes de réentrance,...)! Service d ordonnancement plus riche! Mieux adapté aux systèmes multiprocesseurs et/ou distribués! plus difficile à implanter (politiques plus complexes)! problème d'efficacité "context switchs" forcés arbitrairement, protection des données partagées nécessaires

13 Les threads 13 En Java :" API standardisée : Thread, chaque objet possède un verrou, mot clés synchronized et volatile! sémantique faible (ouverture, portabilité,...)! omniprésence : AWT, GC,...! contrôle fin problématique (les méthodes stop, suspend, resume sont étiquetées "deprecated" à partir de Java 1.2)! Mais les choses changent car enjeux majeur! plusieurs refontes du modèle de gestion mémoire et des threads de la JVM depuis Java 5.0

14 Le parallélisme 14 De nos jours, le parallélisme des ressources de calcul est partout :" pipelining, exécution out of order, architecture superscalaire : pose des problèmes de parallélisme et de concurrence que la plupart des compilateurs modernes arrivent à masquer" architectures distribuées, ont vu émerger des architectures logiciels de haut niveau, permettant de profiter de ce parallélisme souvent sur un modèle de tâches faiblement couplées." architectures multi-processeurs et multi-cœurs et de nos jours les architectures GPU, font émerger de nouveaux besoins pour la prise en compte efficace du parallélisme.

15 Le parallélisme 15 Les threads constituent une réponse bas niveau (empruntée au SE) qui reste une affaire de spécialistes" La sémantique est souvent faible voir trop sous spécifiée pour des raisons de portabilité pour être utilisées de façon fiable" Les threads ne permettent généralement pas le contrôle de la politique d ordonnancement qui les gère." Les threads dans un langage de programmation interfèrent souvent avec les principes de structuration mis en avant par le langage (fonctionnel, objet ) de nouveaux modèles font leur apparition

16 Modèles de programmation parallèle 16 De nombreuses solutions apparaissent, proposant de nouveaux modèles de structuration du code parallèle au dessus des solutions bas niveaux :" Task/Workers" MapReduce" Open MP" MPI" Cuda" OpenCL"

17 Principe généraux autour de la programmation des GPU Paris, 21/10/14

18 Qu est-ce qu un GPU 18 Graphics Processing Unit est un (co-)processeur graphique capable d effectuer très efficacement des calculs sur des images (2D, 3D, vidéos )

19 Qu est-ce qu un GPU 18 Graphics Processing Unit est un (co-)processeur graphique capable d effectuer très efficacement des calculs sur des images (2D, 3D, vidéos ) Caractéristiques :" un nb d unités de calcul vertigineux, souvent > 1000" dédiés au calcul, ils sont peu performants en cas de traitements conditionnels (pipeline très long)" chaque coeur accède efficacement à une quantité relativement faible de données correctement localisée et applique une série de traitement répétitif sur ces données

20 Qu est-ce qu un GPU 19 Traite principalement 2 pipelines :" Le traitement des vertex :"! Infographie 2D-3D tesselation vertices pipeline clipping culling! rotation échelle translation réflexion réfraction Le traitement des pixels : Passage progressif de pipelines! statiques aux shaders! programmables alpha test blending Z buffer pixel treatments trammage texture light mapping composition

21 Qu est-ce qu un GPU 20 Un exemple : Kepler GK110" > 7 milliard de transistor" 15 unités SMX de :" 192 cœurs opérant en float" 64 cœurs en double" 32 cœurs pour des fonctions particulières" 32 unités de transferts mémoire" registres de 32 bits

22 Peut-on exploiter cette puissance de calcul? 21 Calcul répétitif sur de grandes quantités de données : un problème bien connu dans le HPC : SIMD-SPMD" Évolution des shaders vers le GP-GPU (OpenCL-Cuda)" Modèle de programmation parallèle" Indépendamment chaque cœur est beaucoup plus lent qu un CPU (peu de cache, peu de mémoire, fréquence relativement faible ). C est le parallélisme massif qui fait la différence.

23 Petite histoire du GP-GPU : Nvidia lance Cuda, ATI lance close to Metal" 2008 : Apple propose OpenCL au Kronos Group, constitue un groupe de travail avec AMD/ATI et Nvidia : le Khronos Compute Working Group" dec 2008 OpenCL 1.0" août 2009 SnowLeopard implantation complète" sept 2009 Nvidia sort son implantation OpenCL 1.0" juin 2010 : OpenCL 1.1" juin 2011 : Intel SDK OpenCL 1.1 GPU/CPU" novembre 2011 : OpenCL 1.2" juillet 2013 : OpenCL 2.0" sept 2013 : Mavericks Open CL 1.2

24 Programmation complexe 23 La programmation GP-GPU reste quelque chose de complexe à maitriser, qui nécessite une transformation des algorithmes pour tenir compte des spécificités matérielles" En particulier le paramétrage du matériel constitue souvent la plus grosse partie du travail. Peu d heuristiques existent pour guider le développeur dans cette tâche" Le débugging et le profiling restent encore limités

25 Le modèles de programmation 24 OpenMP : API multi plate-forme pour les langages Fortran, C et C++ pour programmer des architectures parallèles à mémoire partagée. Elle consiste en en certain nombre de directives de compilation (pragma), des bibliothèques additionnelles et des variables d environnement (AMD, IBM, Intel, Cray, HP, Nvidia )" Cuda : modèle de programmation propriétaire des cartes Nvidia, propose des directives de compilation (pragma OpenACC), des librairies de fonctions optimisées, des extensions de C, C++ et Fortran, utilisant un compilateur dédié mvcc basé sur LLVM" DirectCompute : solution propriétaire de Microsoft associé à DirectX 11. Partage de nombreux points commun avec ses concurrents." Enzo : de PathScale qui génère du code Cuda optimisé à partir de C C++ ou Fortran annoté par des directives de compilations (pragma)." OpenCL : langage dérivé de C99 et des APIs pour contrôler la plate-form, plus général que Cuda les deux outils sont cependant très proches dans l esprit orienté parallélisme de tâche ou parallélisme de donnés. Comme les modèles sont proches et les performances voisines, nous n étudierons qu OpenCL.

26 Le modèle OpenCL Paris, 21/10/14

27 Modélisation d une application Open CL 26 On superpose 4 modèles pour appréhender une application OpenCL :" Le modèle matériel qui abstrait la plateforme et organise les ressources." Le modèle d exécution qui définit l organisation des traitements et leur répartition sur les ressources de calcul matériel" Le modèle mémoire qui définit la hiérarchisation d accès aux éléments de mémoire traités" Le modèle de programmation qui décrit comment les programmes sont spécifiés

28 Une plateforme OpenCL 27 L organisation d une plateforme OpenCL, suppose l existence d un processus hôte qui se connecte à un ensemble de périphériques OpenCL (devices). Par exemple une carte graphique." Un périphérique OpenCL peut être divisé en une ou plusieurs unités de calcul (Computing Units - CU)" Les CU se divisent en cœurs (Processing Elements - PE)" L objectif pour l hôte est d envoyer des traitements s exécuter sur les PE qui permettent des calculs selon un paradigme SIMD/SPMD.

29 Une plateforme OpenCL plateforme OpenCL 28 device OpenCL CU CU CU PEs device OpenCL processus" hôte CU CU CU CU device OpenCL CU CU

30 Modèle d exécution 29 Le programme hôte est le programme du processus hôte et ne s exécute pas sur les devices OpenCL" Un traitement sur un élément de donné est appelé un Work-Item (Exécution d un kernel - programme à exécuter - sur un cœur et sur un élément de donné)" Pour un même kernel, les WorkItems sont organisés dans un espace à N dimensions ND-Range (1D, 2D, 3D). Chaque WorkItem est repéré par des index dans cet espace à N dimension" Pour un même kernel, les WorkItems sont regroupés en Workgroups

31 Modèle d exécution Exemple en 2D 30 WorkGroup WorkGroup G MAX y WorkGroup G MAX x L MAX x WorkGroup L MAX y Nb total de WorkItem :" G MAX x * L MAX x" + G MAXy * L MAXy "! Chaque WorkItem a un" index local" 0 lx < L MAX x" 0 ly < L MAX y" Chaque Work Group à un" index de groupe" 0 Gx < G MAX x" 0 Gy < G MAX y

32 Modèle mémoire Une mémoire globale partagée entre tous les WorkItems et les WorkGroups et accessible en lecture et en écriture" 31 Des constantes globale partagées entre tous les WorkItems et les WorkGroups et accessible en lecture seule" Une mémoire locale partagée entre tous les WorkItems d un même WorkGroup et accessible en lecture et en écriture" Une mémoire privée accessible à un seul WorkItem" Les échanges mémoires suivent le chemin suivant :" hôte -> globale -> locale -> privée et retour

33 Modèle mémoire 32 device WorkGroup WorkGroup Privée Privée Privée Privée Privée Privée Privée Privée WorkItem WorkItem WorkItem WorkItem WorkItem WorkItem WorkItem WorkItem Locale Locale Globale Constantes hôte Mémoire hôte

34 Modèle de programmation 33 Kernel : élément de base d exécution : programme court similaire à une fonction en langage C," Program : une ensemble de fonctions C. Certaines seront éligibles pour constituer un kernel (point d entrée d un programme à exécuter sur un PE)." Application : un processus qui compile des programmes et place dans des files d exécutions des kernels et leur données pour être traités par le GPU. Les files d attente peuvent-être traitées dans l ordre ou bien explicitement sans respecter l ordre

35 Les kernels Création de programmes portables :" 34 Définition d un programme sous la forme d une chaine de caractères représentant le texte du programme en langage OpenCL C (source). Ou un binaire précompilé pour faciliter la compilation finale" Le programme représente un petit ensemble de fonctions et de kernels organisés comme une bibliothèque" Compilation à la volée à travers une API en spécifiant le périphérique cible de la compilation et des paramètres de compilation" Création d un kernel par sélection d une fonction et la spécification des arguments et donc des éléments de donnés sur lesquels le kernel va opérer

36 Le files de commandes 35 Le processus hôte soumet les kernels et les données à la plateforme OpenCL (program objects -> kernel objects et memory objects)" Des files de commandes sont associées aux devices OpenCL, permettant de soumettre un à un les kernels, des objets mémoire et des commandes de synchronisation (attente de la fin d exécution d une tâche )" Le contenu des files de commandes peut être traité dans l ordre ou dans un ordre privilégié par la plateforme (out of order), les événements de synchronisation permettent alors de remettre les choses en ordre

37 Cohérence mémoire et synchronisation C est un problème critique de la programmation parallèle, comment est-il traité dans le cas d OpenCL?" 36 Ne devrait pas être nécessaire entre les WorkItems (chaque WorkItem travaille sur sa part de données)." A sein d un WorkItem les opérations de lecture et d écriture en mémoire sont atomiques" Entre différentes tâches OpenCL la cohérence est obtenue par l utilisation des événements de synchronisation" Les WorkGroups permettent à des WorkItems de coordonner leurs accès mémoire et à partager de la mémoire entre eux par synchronisation de leur exécution

38 Mise en œuvre d OpenCL Paris, 21/10/14

39 Anatomie d une application OpenCL 38 Récupération des informations sur la plateforme Construction du Context OpenCL et selection des devices à utiliser Chargement et compilation des programmes Création des objets mémoires Création des files de commandes et transfert des données et des programmes sur la plate-forme Exécution des kernels, synchronisation et lecture des résultats

40 Récupération des infos 39 cl_int oclgetplatformid (cl_platform_id *platforms) cl_int clgetdeviceids (cl_platform_id platform, cl_device_type device_type, cl_uint num_entries, cl_device_id *devices, cl_uint *num_devices)

41 Création du context 40 cl_context clcreatecontext (const cl_context_properties *properties, cl_uint num_devices, const cl_device_id *devices, void (*pfn_notify)(const char *errinfo, const void *private_info, size_t cb, void *user_data), void *user_data, cl_int *errcode_ret)

42 Création des files de commandes 41 cl_command_queue clcreatecommandqueue (cl_context context, cl_device_id device, cl_command_queue_properties properties, cl_int *errcode_ret)

43 Création des objets mémoire 42 cl_mem clcreatebuffer (cl_context context, cl_mem_flags flags, size_t size, void *host_ptr, cl_int *errcode_ret) cl_int clsetkernelarg (cl_kernel kernel, cl_uint arg_index, size_t arg_size, const void *arg_value)

44 Kernels OpenCL 43 cl_program clcreateprogramwithsource (cl_context context, cl_uint count, const char **strings, const size_t *lengths, cl_int *errcode_ret) cl_int clbuildprogram (cl_program program, cl_uint num_devices, const cl_device_id *device_list, const char *options, void (*pfn_notify)(cl_program, void *user_data), void *user_data) cl_kernel clcreatekernel (cl_program program, const char *kernel_name, cl_int *errcode_ret)

45 Exécution 44 cl_int clenqueuendrangekernel (cl_command_queue command_queue, cl_kernel kernel, cl_uint work_dim, const size_t *global_work_offset, const size_t *global_work_size, const size_t *local_work_size, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event) cl_int clenqueuereadbuffer (cl_command_queue command_queue, cl_mem buffer, cl_bool blocking_read, size_t offset, size_t cb, void *ptr, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event)

46 OpenCL en Java Paris, 21/10/14

47 JOCL 46 Plusieurs «bindings» non officiels existent. Nous allons utiliser un binding strict appelé JOCL :" Offre une interface à travers des méthodes native (s appuie sur JNA) vers des fonctions en C reprenant l ensemble des spécifications OpenCL 1.2

Introduction au calcul parallèle avec OpenCL

Introduction au calcul parallèle avec OpenCL Introduction au calcul parallèle avec OpenCL Julien Dehos Séminaire du 05/01/2012 Sommaire Introduction Le calculateur du CGR/LISIC/LMPA Généralités sur OpenCL Modèles Programmation Optimisation Conclusion

Plus en détail

Introduction à la programmation des GPUs

Introduction à la programmation des GPUs Introduction à la programmation des GPUs Anne-Sophie Mouronval Mesocentre de calcul de l Ecole Centrale Paris Laboratoire MSSMat Avril 2013 Anne-Sophie Mouronval Introduction à la programmation des GPUs

Plus en détail

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

Segmentation d'images à l'aide d'agents sociaux : applications GPU Segmentation d'images à l'aide d'agents sociaux : applications GPU Richard MOUSSA Laboratoire Bordelais de Recherche en Informatique (LaBRI) - UMR 5800 Université de Bordeaux - France Laboratoire de recherche

Plus en détail

Une bibliothèque de templates pour CUDA

Une bibliothèque de templates pour CUDA Une bibliothèque de templates pour CUDA Sylvain Collange, Marc Daumas et David Defour Montpellier, 16 octobre 2008 Types de parallèlisme de données Données indépendantes n threads pour n jeux de données

Plus en détail

Initiation au HPC - Généralités

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

Plus en détail

M2-Images. Rendu Temps Réel - OpenGL 4 et compute shaders. J.C. Iehl. December 18, 2013

M2-Images. Rendu Temps Réel - OpenGL 4 et compute shaders. J.C. Iehl. December 18, 2013 Rendu Temps Réel - OpenGL 4 et compute shaders December 18, 2013 résumé des épisodes précédents... création des objets opengl, organisation des données, configuration du pipeline, draw,... opengl 4.3 :

Plus en détail

Introduction à CUDA. gael.guennebaud@inria.fr

Introduction à CUDA. gael.guennebaud@inria.fr 36 Introduction à CUDA gael.guennebaud@inria.fr 38 Comment programmer les GPU? Notion de kernel exemple (n produits scalaires): T ci =ai b ( ai, b : vecteurs 3D, ci for(int i=0;i

Plus en détail

Chapitre 2 : Abstraction et Virtualisation

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

Plus en détail

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

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique Architecture d ordinateur : introduction Dimitri Galayko Introduction à l informatique, cours 1 partie 2 Septembre 2014 Association d interrupteurs: fonctions arithmétiques élémentaires Elément «NON» Elément

Plus en détail

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

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

Plus en détail

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

Métriques de performance pour les algorithmes et programmes parallèles Métriques de performance pour les algorithmes et programmes parallèles 11 18 nov. 2002 Cette section est basée tout d abord sur la référence suivante (manuel suggéré mais non obligatoire) : R. Miller and

Plus en détail

Introduction à la Programmation Parallèle: MPI

Introduction à la Programmation Parallèle: MPI Introduction à la Programmation Parallèle: MPI Frédéric Gava et Gaétan Hains L.A.C.L Laboratoire d Algorithmique, Complexité et Logique Cours du M2 SSI option PSSR Plan 1 Modèle de programmation 2 3 4

Plus en détail

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

Contrôle Non Destructif : Implantation d'algorithmes sur GPU et multi-coeurs. Gilles Rougeron CEA/LIST Département Imagerie Simulation et Contrôle Contrôle Non Destructif : Implantation d'algorithmes sur GPU et multi-coeurs Gilles Rougeron CEA/LIST Département Imagerie Simulation et Contrôle 1 CEA R & D for Nuclear Energy 5 000 people Nuclear systems

Plus en détail

Quantification d incertitude et Tendances en HPC

Quantification d incertitude et Tendances en HPC Quantification d incertitude et Tendances en HPC Laurence Viry E cole de Physique des Houches 7 Mai 2014 Laurence Viry Tendances en HPC 7 Mai 2014 1 / 47 Contents 1 Mode lisation, simulation et quantification

Plus en détail

. Plan du cours. . Architecture: Fermi (2010-12), Kepler (12-?)

. Plan du cours. . Architecture: Fermi (2010-12), Kepler (12-?) Plan du cours Vision mate riel: architecture cartes graphiques NVIDIA INF 560 Calcul Paralle le et Distribue Cours 3 Vision logiciel: l abstraction logique de l architecture propose e par le langage CUDA

Plus en détail

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

Runtime. Gestion de la réactivité des communications réseau. François Trahay Runtime, LaBRI sous la direction d'alexandre Denis Université Bordeaux I Runtime Gestion de la réactivité des communications réseau François Trahay Runtime, LaBRI sous la direction d'alexandre Denis Université Bordeaux I 1 Le calcul hautes performances La tendance actuelle

Plus en détail

SugarCubes. Jean-Ferdinand Susini Maître de Conférences, CNAM Chaire systèmes enfouis et embarqués. Paris, le 9 janvier, 2009

SugarCubes. Jean-Ferdinand Susini Maître de Conférences, CNAM Chaire systèmes enfouis et embarqués. Paris, le 9 janvier, 2009 SugarCubes Jean-Ferdinand Susini Maître de Conférences, CNAM Chaire systèmes enfouis et embarqués Paris, le 9 janvier, 2009 Plan 2 Les SugarCubes au dessus de J2ME Quelques résultats expérimentaux Les

Plus en détail

La technologie Java Card TM

La technologie Java Card TM Présentation interne au CESTI La technologie Java Card TM sauveron@labri.u-bordeaux.fr http://dept-info.labri.u-bordeaux.fr/~sauveron 8 novembre 2002 Plan Qu est ce que Java Card? Historique Les avantages

Plus en détail

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

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :

Plus en détail

Catalogue des stages Ercom 2013

Catalogue des stages Ercom 2013 Catalogue des stages Ercom 2013 Optimisations sur Modem LTE Poste basé à : Caen (14) Analyse et optimisation des performances des traitements réalisés dans un modem LTE. - Profiling et détermination des

Plus en détail

Évaluation et implémentation des langages

É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

Plus en détail

Linux embarqué: une alternative à Windows CE?

Linux embarqué: une alternative à Windows CE? embarqué: une alternative à Windows CE? : une alternative à Windows CE Présentation Mangrove Systems Distribution embarqué Perspective WinCe / Questions Mangrove systems Créé en 2001 Soutien Soutien Ministère

Plus en détail

Projet de Veille Technologique

Projet de Veille Technologique Projet de Veille Technologique Programmation carte à puce - JavaCard Ing. MZOUGHI Ines (i.mzoughi@gmail.com) Dr. MAHMOUDI Ramzi (mahmoudr@esiee.fr) TEST Sommaire Programmation JavaCard Les prérequis...

Plus en détail

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

Communications performantes par passage de message entre machines virtuelles co-hébergées Communications performantes par passage de message entre machines virtuelles co-hébergées François Diakhaté1,2 1 CEA/DAM Île de France 2 INRIA Bordeaux Sud Ouest, équipe RUNTIME Renpar 2009 1 Plan Introduction

Plus en détail

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 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

Plus en détail

Concept de machine virtuelle

Concept de machine virtuelle Concept de machine virtuelle Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 1 Introduction: Java Virtual Machine Machine Virtuelle Java: qu est-ce que c est? c est la spécification d une machine

Plus en détail

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 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

Plus en détail

Machines virtuelles Cours 1 : Introduction

Machines virtuelles Cours 1 : Introduction Machines virtuelles Cours 1 : Introduction Pierre Letouzey 1 pierre.letouzey@inria.fr PPS - Université Denis Diderot Paris 7 janvier 2012 1. Merci à Y. Régis-Gianas pour les transparents Qu est-ce qu une

Plus en détail

Éléments de programmation et introduction à Java

Éléments de programmation et introduction à Java Éléments de programmation et introduction à Java Jean-Baptiste Vioix (jean-baptiste.vioix@iut-dijon.u-bourgogne.fr) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-20 Les différents langages informatiques

Plus en détail

Introduction aux Systèmes et aux Réseaux

Introduction aux Systèmes et aux Réseaux Introduction aux Systèmes et aux Réseaux Cours 5 Processus D après un cours de Julien Forget (univ Lille1) Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@univ-lyon1.fr Master CCI -

Plus en détail

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

<Insert Picture Here> Solaris pour la base de donnés Oracle Solaris pour la base de donnés Oracle Alain Chéreau Oracle Solution Center Agenda Compilateurs Mémoire pour la SGA Parallélisme RAC Flash Cache Compilateurs

Plus en détail

CH.3 SYSTÈMES D'EXPLOITATION

CH.3 SYSTÈMES D'EXPLOITATION CH.3 SYSTÈMES D'EXPLOITATION 3.1 Un historique 3.2 Une vue générale 3.3 Les principaux aspects Info S4 ch3 1 3.1 Un historique Quatre générations. Préhistoire 1944 1950 ENIAC (1944) militaire : 20000 tubes,

Plus en détail

Cours 1 : Qu est-ce que la programmation?

Cours 1 : Qu est-ce que la programmation? 1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types

Plus en détail

La carte à puce. Jean-Philippe Babau

La carte à puce. Jean-Philippe Babau La carte à puce Jean-Philippe Babau Département Informatique INSA Lyon Certains éléments de cette présentation sont issus de documents Gemplus Research Group 1 Introduction Carte à puce de plus en plus

Plus en détail

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données

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

Plus en détail

Conception des systèmes répartis

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

Plus en détail

GPA770 Microélectronique appliquée Exercices série A

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

Plus en détail

Initiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr

Initiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr Initiation à JAVA et à la programmation objet raphael.bolze@ens-lyon.fr O b j e c t i f s Découvrir un langage de programmation objet. Découvrir l'environnement java Découvrir les concepts de la programmation

Plus en détail

IRL : Simulation distribuée pour les systèmes embarqués

IRL : Simulation distribuée pour les systèmes embarqués IRL : Simulation distribuée pour les systèmes embarqués Yassine El Khadiri, 2 ème année Ensimag, Grenoble INP Matthieu Moy, Verimag Denis Becker, Verimag 19 mai 2015 1 Table des matières 1 MPI et la sérialisation

Plus en détail

Les environnements de calcul distribué

Les environnements de calcul distribué 2 e Atelier CRAG, 3 au 8 Décembre 2012 Par Blaise Omer YENKE IUT, Université de Ngaoundéré, Cameroun. 4 décembre 2012 1 / 32 Calcul haute performance (HPC) High-performance computing (HPC) : utilisation

Plus en détail

NFP 121. Java et les Threads. Présentation : Thierry Escalarasse Mai 2007

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

Plus en détail

Introduction aux systèmes temps réel. Iulian Ober IRIT ober@iut-blagnac.fr

Introduction aux systèmes temps réel. Iulian Ober IRIT ober@iut-blagnac.fr Introduction aux systèmes temps réel Iulian Ober IRIT ober@iut-blagnac.fr Définition Systèmes dont la correction ne dépend pas seulement des valeurs des résultats produits mais également des délais dans

Plus en détail

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige. : JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL

Plus en détail

Rappels d architecture

Rappels d architecture Assembleur Rappels d architecture Un ordinateur se compose principalement d un processeur, de mémoire. On y attache ensuite des périphériques, mais ils sont optionnels. données : disque dur, etc entrée

Plus en détail

Cours 1 : La compilation

Cours 1 : La compilation /38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 34 NFP111 Systèmes et Applications Réparties Cours 7 - CORBA/Partie 1 Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon

Plus en détail

Parallélisme et Répartition

Parallélisme et Répartition Parallélisme et Répartition Master Info Françoise Baude Université de Nice Sophia-Antipolis UFR Sciences Département Informatique baude@unice.fr web du cours : deptinfo.unice.fr/~baude Septembre 2009 Chapitre

Plus en détail

Contribution à la conception à base de composants logiciels d applications scientifiques parallèles.

Contribution à la conception à base de composants logiciels d applications scientifiques parallèles. - École Normale Supérieure de LYON - Laboratoire de l Informatique du Parallélisme THÈSE en vue d obtenir le grade de Docteur de l École Normale Supérieure de Lyon - Université de Lyon Discipline : Informatique

Plus en détail

Systèmes et traitement parallèles

Systèmes et traitement parallèles Systèmes et traitement parallèles Mohsine Eleuldj Département Génie Informatique, EMI eleuldj@emi.ac.ma 1 Système et traitement parallèle Objectif Etude des architectures parallèles Programmation des applications

Plus en détail

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

Une dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU 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

Plus en détail

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

Rapport 2014 et demande pour 2015. Portage de Méso-NH sur Machines Massivement Parallèles du GENCI Projet 2015 : GENCI GEN1605 & CALMIP-P0121 Rapport 2014 et demande pour 2015 Portage de Méso-NH sur Machines Massivement Parallèles du GENCI Projet 2015 : GENCI GEN1605 & CALMIP-P0121 Rappel sur Méso-NH : Modélisation à moyenne échelle de l atmosphère

Plus en détail

Exécutif temps réel Pierre-Yves Duval (cppm)

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

Plus en détail

Performances de la programmation multi-thread

Performances de la programmation multi-thread UFR Sciences et techniques de Franche-Comté Projet semestriel 2ème année de Master Informatique Performances de la programmation multi-thread Auteur(s) : Beuque Eric Moutenet Cyril Tuteur(s) : Philippe

Plus en détail

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme 1 2 c est quoi? Technologie développée par SUN Microsystems lancée en 1995 Dans un des premiers papiers* sur le langage JAVA, SUN le décrit

Plus en détail

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation

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

Plus en détail

Projet Active Object

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

Plus en détail

Prise en compte des ressources dans les composants logiciels parallèles

Prise en compte des ressources dans les composants logiciels parallèles Prise en compte des ressources dans les composants logiciels parallèles Aperçus de l action RASC et du projet Concerto F. Guidec Frederic.Guidec@univ-ubs.fr Action RASC Plan de cet exposé Contexte Motivations

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

Exécution des instructions machine

Exécution des instructions machine Exécution des instructions machine Eduardo Sanchez EPFL Exemple: le processeur MIPS add a, b, c a = b + c type d'opération (mnémonique) destination du résultat lw a, addr opérandes sources a = mem[addr]

Plus en détail

Architecture des ordinateurs

Architecture des ordinateurs Décoder la relation entre l architecture et les applications Violaine Louvet, Institut Camille Jordan CNRS & Université Lyon 1 Ecole «Découverte du Calcul» 2013 1 / 61 Simulation numérique... Physique

Plus en détail

Tout savoir sur le matériel informatique

Tout savoir sur le matériel informatique Tout savoir sur le matériel informatique Thème de l exposé : Les Processeurs Date : 05 Novembre 2010 Orateurs : Hugo VIAL-JAIME Jérémy RAMBAUD Sommaire : 1. Introduction... 3 2. Historique... 4 3. Relation

Plus en détail

Conception de circuits numériques et architecture des ordinateurs

Conception de circuits numériques et architecture des ordinateurs Conception de circuits numériques et architecture des ordinateurs Frédéric Pétrot Année universitaire 2014-2015 Structure du cours C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 Codage des nombres en base 2, logique

Plus en détail

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN 1. DÉVELOPPEMENT D'APPLICATION (CONCEPTEUR ANALYSTE) 1.1 ARCHITECTURE MATÉRIELLE DU SYSTÈME INFORMATIQUE 1.1.1 Architecture d'un ordinateur Processeur,

Plus en détail

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant 1969. R&T 1ère année. Sylvain MERCHEZ

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant 1969. R&T 1ère année. Sylvain MERCHEZ MODULE I1 Plan Chapitre 1 Qu'est ce qu'un S.E? Introduction Historique Présentation d'un S.E Les principaux S.E R&T 1ère année Votre environnement Sylvain MERCHEZ Introduction Introduction Rôles et fonctions

Plus en détail

Vérifier la qualité de vos applications logicielle de manière continue

Vérifier la qualité de vos applications logicielle de manière continue IBM Software Group Vérifier la qualité de vos applications logicielle de manière continue Arnaud Bouzy Kamel Moulaoui 2004 IBM Corporation Agenda Analyse de code Test Fonctionnel Test de Performance Questions

Plus en détail

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................

Plus en détail

Environnements de développement (intégrés)

Environnements de développement (intégrés) Environnements de développement (intégrés) Introduction aux EDI, la plateforme Eclipse Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure

Plus en détail

Vulgarisation Java EE Java EE, c est quoi?

Vulgarisation Java EE Java EE, c est quoi? Paris, le 1 Février 2012 Vulgarisation Java EE Java EE, c est quoi? Sommaire Qu est ce que Java? Types d applications Java Environnements Java Versions de Java Java EE, c est quoi finalement? Standards

Plus en détail

Architecture ordinateur. Organisation mémoire et Entrées/Sorties

Architecture ordinateur. Organisation mémoire et Entrées/Sorties Architecture ordinateur Organisation mémoire et Entrées/Sorties 243 Plages mémoire et E/S Dans une architecture à bus partagé, seule une partie des adresses active le contrôleur mémoire. Il reste des adresses

Plus en détail

Vers du matériel libre

Vers du matériel libre Février 2011 La liberté du logiciel n est qu une partie du problème. Winmodems Modem traditionnel Bon fonctionnement Plus cher Electronique propriétaire Blob sur DSP intégré au modem Bien reçu par les

Plus en détail

Matériel & Logiciels (Hardware & Software)

Matériel & Logiciels (Hardware & Software) CHAPITRE 2 HARDWARE & SOFTWARE P. 1 Chapitre 2 Matériel & Logiciels (Hardware & Software) 2.1 Matériel (Hardware) 2.1.1 Présentation de l'ordinateur Un ordinateur est un ensemble de circuits électronique

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

Architecture des Ordinateurs. Partie II:

Architecture des Ordinateurs. Partie II: Architecture des Ordinateurs Partie II: Le port Floppy permet le raccordement du lecteur de disquette àla carte mère. Remarque: Le lecteur de disquette a disparu il y a plus de 6 ans, son port suivra.

Plus en détail

Remise à niveau d un programme JAVA du domaine public

Remise à niveau d un programme JAVA du domaine public Jean-Baptiste VIGUIER 12 septembre 2002 DCEM 2 jb.viguier@free.fr Remise à niveau d un programme JAVA du domaine public Dossier réalisé pour le laboratoire d oncogénétique Docteur P.GORRY MCU-PH institut

Plus en détail

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

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

Plus en détail

Machines Virtuelles. et bazard autour. Rémi Forax

Machines Virtuelles. et bazard autour. Rémi Forax Machines Virtuelles et bazard autour Rémi Forax Avant propos Quelle est la complexité du code ci-dessous? Avec un processeur à 1Ghz, combien de temps le calcul prendra t'il? public static void main(string[]

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

SQL Server 2012 et SQL Server 2014

SQL Server 2012 et SQL Server 2014 SQL Server 2012 et SQL Server 2014 Principales fonctions SQL Server 2012 est le système de gestion de base de données de Microsoft. Il intègre un moteur relationnel, un outil d extraction et de transformation

Plus en détail

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

T. Gasc 1,2,3, F. De Vuyst 1, R. Motte 3, M. Peybernes 4, R. Poncet 5 Modélisation de la performance et optimisation d un algorithme hydrodynamique de type Lagrange-Projection sur processeurs multi-cœurs T. Gasc 1,2,3, F. De Vuyst 1, R. Motte 3, M. Peybernes 4, R. Poncet

Plus en détail

Point sur les solutions de développement d apps pour les périphériques mobiles

Point sur les solutions de développement d apps pour les périphériques mobiles Point sur les solutions de développement d apps pour les périphériques mobiles Par Hugues MEUNIER 1. INTRODUCTION a. Une notion importante : le responsive web design Nous sommes en train de vivre une nouvelle

Plus en détail

INITIATION AU LANGAGE JAVA

INITIATION AU LANGAGE JAVA INITIATION AU LANGAGE JAVA I. Présentation 1.1 Historique : Au début des années 90, Sun travaillait sur un projet visant à concevoir des logiciels simples et performants exécutés dans des PDA (Personnal

Plus en détail

Informatique UE 102. Jean-Yves Antoine. Architecture des ordinateurs et Algorithmique de base. UFR Sciences et Techniques Licence S&T 1ère année

Informatique UE 102. Jean-Yves Antoine. Architecture des ordinateurs et Algorithmique de base. UFR Sciences et Techniques Licence S&T 1ère année UFR Sciences et Techniques Licence S&T 1ère année Informatique UE 102 Architecture des ordinateurs et Algorithmique de base Jean-Yves Antoine http://www.info.univ-tours.fr/~antoine/ UFR Sciences et Techniques

Plus en détail

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

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 prenom.nom@mi.parisdescartes.fr 2 Programmation Impérative

Plus en détail

Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D.

Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D. 2013 Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D. Table des matières 1 Introduction (Historique / définition)... 3 2 But de la virtualisation... 4 3 Théorie : bases et typologie des solutions techniques...

Plus en détail

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs Architecture Matérielle des Systèmes Informatiques. S1 BTS Informatique de Gestion 1 ère année THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT Dossier 1 L environnement informatique. Objectifs Enumérer et

Plus en détail

Partie 7 : Gestion de la mémoire

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

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations

Plus en détail

WEA Un Gérant d'objets Persistants pour des environnements distribués

WEA Un Gérant d'objets Persistants pour des environnements distribués Thèse de Doctorat de l'université P & M Curie WEA Un Gérant d'objets Persistants pour des environnements distribués Didier Donsez Université Pierre et Marie Curie Paris VI Laboratoire de Méthodologie et

Plus en détail

Leçon 1 : Les principaux composants d un ordinateur

Leçon 1 : Les principaux composants d un ordinateur Chapitre 2 Architecture d un ordinateur Leçon 1 : Les principaux composants d un ordinateur Les objectifs : o Identifier les principaux composants d un micro-ordinateur. o Connaître les caractéristiques

Plus en détail

Chapitre 1. Infrastructures distribuées : cluster, grilles et cloud. Grid and Cloud Computing

Chapitre 1. Infrastructures distribuées : cluster, grilles et cloud. Grid and Cloud Computing Chapitre 1. Infrastructures distribuées : cluster, grilles et cloud Grid and Cloud Computing Problématique Besoins de calcul croissants Simulations d'expériences coûteuses ou dangereuses Résolution de

Plus en détail

Java à Murex: un retour d'expérience. Jean-Pierre DACHER & Craig MORRISON

Java à Murex: un retour d'expérience. Jean-Pierre DACHER & Craig MORRISON 1 Java à Murex: un retour d'expérience Jean-Pierre DACHER & Craig MORRISON Résumé Description des défis et contraintes d un grand éditeur de logiciel Le cycle de développement Murex pour atteindre les

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

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

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011 Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr Université de Provence 9 février 2011 Arnaud Labourel (Université de Provence) Exclusion Mutuelle 9 février 2011 1 / 53 Contexte Epistémologique

Plus en détail

Calcul multi GPU et optimisation combinatoire

Calcul multi GPU et optimisation combinatoire Année universitaire 2010 2011 Master recherche EEA Spécialité : SAID Systèmes Automatiques, Informatiques et Décisionnels Parcours : Systèmes Automatiques Calcul multi GPU et optimisation combinatoire

Plus en détail

Info0604 Programmation multi-threadée. Cours 5. Programmation multi-threadée en Java

Info0604 Programmation multi-threadée. Cours 5. Programmation multi-threadée en Java Info0604 Programmation multi-threadée Cours 5 Programmation multi-threadée en Java Pierre Delisle Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique 18 février 2015 Plan

Plus en détail

Optimisations des SGBDR. Étude de cas : MySQL

Optimisations des SGBDR. Étude de cas : MySQL Optimisations des SGBDR Étude de cas : MySQL Introduction Pourquoi optimiser son application? Introduction Pourquoi optimiser son application? 1. Gestion de gros volumes de données 2. Application critique

Plus en détail