Programmation parallèle et mise en œuvre des GPU

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Rappels, SISD, SIMD. Calculateurs hybrides (GPU-OpenCL) Rappels, MIMD mémoire partagée. Rappels, MIMD mémoire partagée. Rappels... SISD,...

Rappels, SISD, SIMD. Calculateurs hybrides (GPU-OpenCL) Rappels, MIMD mémoire partagée. Rappels, MIMD mémoire partagée. Rappels... SISD,... Rappels, SISD, SIMD Calculateurs hybrides (GPU-OpenCL) Rappels... SISD,... SIMD Formation d Ingénieurs de l Institut Galiléee MACS 3 Philippe d Anfray Philippe.d-Anfray@cea.fr CEA DSM 2013-2014 SISD :

Plus en détail

Introduction à la programmation massivement parallèle

Introduction à la programmation massivement parallèle Introduction à la programmation massivement parallèle L exemple d opencl F. Sailhan CNAM, département informatique November 21, 2014 Plan 1 Introduction 2 Notions de base sur le parallélisme Architecture

Plus en détail

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 GPU. P. Fortin UPMC / LIP6 ANR TaMaDi 27/10/2010

Introduction à la programmation GPU. P. Fortin UPMC / LIP6 ANR TaMaDi 27/10/2010 Introduction à la programmation GPU P. Fortin UPMC / LIP6 ANR TaMaDi 27/10/2010 Les processeurs graphiques (GPU) GPU : Graphics Processing Unit GPGPU : General Purpose computation on Graphics Processing

Plus en détail

NVIDIA CUDA. Compute Unified Device Architecture. Sylvain Jubertie. Laboratoire d Informatique Fondamentale d Orléans 2011-2012

NVIDIA CUDA. Compute Unified Device Architecture. Sylvain Jubertie. Laboratoire d Informatique Fondamentale d Orléans 2011-2012 NVIDIA CUDA Compute Unified Device Architecture Sylvain Jubertie Laboratoire d Informatique Fondamentale d Orléans 2011-2012 Sylvain Jubertie (LIFO) NVIDIA CUDA 2011-2012 1 / 58 1 Introduction 2 Architecture

Plus en détail

Programmation multigpu OpenMP versus MPI

Programmation multigpu OpenMP versus MPI 17 février 2011 Gabriel Noaje Programmation multigpu OpenMP versus OpenMP 1 Programmation multigpu OpenMP versus MPI Gabriel Noaje, Michaël Krajecki, Christophe Jaillet gabriel.noaje@univ-reims.fr Équipe

Plus en détail

Multi-processeurs, multi-cœurs et cohérence mémoire et cache

Multi-processeurs, multi-cœurs et cohérence mémoire et cache Multi-processeurs, multi-cœurs et cohérence mémoire et cache Intervenant : Thomas Robert Institut Mines-Télécom Rappel système d exploitation & Parallélisme L unité d exécution pour un système d exploitation

Plus en détail

Introduction à la programmation // sur GPUs en CUDA et Python

Introduction à la programmation // sur GPUs en CUDA et Python Introduction à la programmation // sur GPUs en CUDA et Python Denis Robilliard Équipe CAMOME: C. Fonlupt, V. Marion-Poty, A. Boumaza LISIC ULCO Univ Lille Nord de France BP 719, F-62228 Calais Cedex, France

Plus en détail

Parallélisme. Cours 1

Parallélisme. Cours 1 Parallélisme Cours 1 TD : 20% - TP : 30% - Examen : 50% Feuille A4 manuscrite (pas de photocopie) Fabrice.Huet@etu.unice.fr (prendre rdv par mail pr le contacter) A quoi sert le parallélisme? Augmenter

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

M1 MIAGE Option IFD Data Mining et Parallélisme

M1 MIAGE Option IFD Data Mining et Parallélisme M1 MIAGE Option IFD Data Mining et Parallélisme Alexandre Termier 2011-2012 S2 1 / 24 Besoin ˆ Data Mining doit... traiter de gros volumes de données pouvoir eectuer des analyses complexes (gros calculs)

Plus en détail

La programmation concurrente

La programmation concurrente La programmation concurrente Jean-Ferdy Susini Maître de Conférences - CNAM Département Informatique Sources : Android Developpers, Wikipedia Paris, 06/05/2015 Architecture matérielle 2 Considérons l architecture

Plus en détail

CATALOGUE DE FORMATIONS OPTIMISATION DE PERFORMANCE ET ARCHITECTURES PARALLÈLES

CATALOGUE DE FORMATIONS OPTIMISATION DE PERFORMANCE ET ARCHITECTURES PARALLÈLES CATALOGUE DE FORMATIONS OPTIMISATION DE PERFORMANCE ET ARCHITECTURES PARALLÈLES Trois types de formation LES FORMATEURS Les experts techniques AS+ Groupe EOLEN disposent d une réelle expérience pratique

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

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

Moniteurs, Java, Threads et Processus

Moniteurs, Java, Threads et Processus Moniteurs, Java, Threads et Processus 1 Une vue orientée-objet de la mémoire partagée On peut voir un sémaphore comme un objet partagé accessible par deux méthodes : wait et signal. L idée du concept de

Plus en détail

Chap. 2 - Structure d un ordinateur

Chap. 2 - Structure d un ordinateur Architecture des ordinateurs Michèle Courant S2-27 octobre 2004 Chap. 2 - Structure d un ordinateur 2.1 Processeur ou unité centrale (CPU) 2.1.1 Organisation du CPU 2.1.2 Exécution d une instruction 2.1.3

Plus en détail

Chap. III : Le système d exploitation

Chap. III : Le système d exploitation UMR 7030 - Université Paris 13 - Institut Galilée Cours Architecture et Système Le système d exploitation (ou O.S. de l anglais Operating System ) d un ordinateur est le programme qui permet d accéder

Plus en détail

Architecture des ordinateurs. Optimisation : pipeline. Pipeline (I) Pipeline (II) Exemple simplifié : Instructions de type R

Architecture des ordinateurs. Optimisation : pipeline. Pipeline (I) Pipeline (II) Exemple simplifié : Instructions de type R Architecture des ordinateurs Licence Informatique - Université de Provence Jean-Marc Talbot Optimisation : pipeline jtalbot@cmi.univ-mrs.fr L3 Informatique - Université de Provence () Architecture des

Plus en détail

Objectifs. Maîtriser. Pratiquer

Objectifs. Maîtriser. Pratiquer 1 Bases de Données Objectifs Maîtriser les concepts d un SGBD relationnel Les modèles de représentations de données Les modèles de représentations de données La conception d une base de données Pratiquer

Plus en détail

Le système Windows. Yves Denneulin. Introduction. Introduction. Plan

Le système Windows. Yves Denneulin. Introduction. Introduction. Plan Introduction Le système Windows Yves Denneulin Windows a 25 ans Au début basé sur MS/DOS Multi-tâches coopératifs Pas de réelle protection entre applications Famille 1.0 -> 386 -> 95 -> 98 -> Me Version

Plus en détail

plan Virtualisation Plan Systèmes d exploitation centralisés 1 IMA 13 mars 2015 Contrôle de l accès aux ressources Interface avec les systèmes invités

plan Virtualisation Plan Systèmes d exploitation centralisés 1 IMA 13 mars 2015 Contrôle de l accès aux ressources Interface avec les systèmes invités plan Virtualisation s d exploitation centralisés 1 IMA Sources : 13 mars 2015 Chapitre 16 de Operating System Concepts (9ème édition), de Silberschatz, Galvin et Gagne Cours de Gérard Padiou, 1IMA 2012-2013

Plus en détail

Portage et optimisation d applications de traitement d images sur architecture Kalray Mppa-Manycore Journées de la Compilation

Portage et optimisation d applications de traitement d images sur architecture Kalray Mppa-Manycore Journées de la Compilation Portage et optimisation d applications traitement d images sur architecture Kalray Mppa-Manycore Journées la Compilation Pierre Guillou Centre recherche en informatique Mines ParisTech 4 décembre 2013

Plus en détail

Chargement de processus Allocation contigüe Allocation fragmentée Gestion de pages. Gestion mémoire. Julien Forget

Chargement de processus Allocation contigüe Allocation fragmentée Gestion de pages. Gestion mémoire. Julien Forget Julien Forget Université Lille 1 École Polytechnique Universitaire de Lille Cité Scientifique 59655 Villeneuve d Ascq GIS 3 2011-2012 1 / 46 Rôle du gestionnaire de mémoire Le gestionnaire de mémoire a

Plus en détail

Cours Systèmes d exploitation 1

Cours Systèmes d exploitation 1 Cours Systèmes d exploitation 1 Achraf Othman Support du cours : www.achrafothman.net 1 Plan du cours Chapitre 1 : Gestion des processus Chapitre 2 : Ordonnancement des processus Chapitre 3 : La communication

Plus en détail

Systèmes temps réel Concepts de base. Richard Grisel Professeur des Universités Université de Rouen

Systèmes temps réel Concepts de base. Richard Grisel Professeur des Universités Université de Rouen Systèmes temps réel Concepts de base Richard Grisel Professeur des Universités Université de Rouen 1 Systèmes temps réel - Choix Gestion des ressources Ordonnancement ( Scheduling ), Tolérance aux fautes

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

Temps Réel. Jérôme Pouiller <j.pouiller@sysmic.org> Septembre 2011

Temps Réel. Jérôme Pouiller <j.pouiller@sysmic.org> Septembre 2011 Temps Réel Jérôme Pouiller Septembre 2011 Sixième partie VI Architectures des OS temps réels J. Pouiller Temps Réel 172 / 197 18 Problématique des OS RT 19 Systèmes Symétriques

Plus en détail

Partie 6 : Ordonnancement de processus

Partie 6 : Ordonnancement de processus INF3600+INF2610 Automne 2006 Partie 6 : Ordonnancement de processus Exercice 1 : Considérez un système d exploitation qui ordonnance les processus selon l algorithme du tourniquet. La file des processus

Plus en détail

Introduction aux systèmes d exploitation

Introduction aux systèmes d exploitation Introduction aux systèmes d exploitation Le système d exploitation est un ensemble de logiciels qui pilotent la partie matérielle d un ordinateur. Les principales ressources gérées par un système d exploitation

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

GPU, processeurs multi-coeurs et bio-informatique

GPU, processeurs multi-coeurs et bio-informatique GPU, processeurs multi-coeurs et bio-informatique Jean-Stéphane Varré jean-stephane.varre@lifl.fr Equipe BONSAI Université Lille 1 - LIFL -INRIA Qu est-ce que c est? Le processeur (CPU) La carte graphique

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

Examen Corrigé NFP137 : Systèmes et applications concurrentes

Examen Corrigé NFP137 : Systèmes et applications concurrentes CONSERVATOIRE NATIONAL DES ARTS et METIERS Centre de Paris Examen Corrigé NFP137 : Systèmes et applications concurrentes 3 juillet 2007 Exercice 1 : Gestion des ressources : L algorithme du banquier. Lorsqu

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

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

Analyse des textures en temps réel exploitant une architecture parallèle multi-coeurs et GPU

Analyse des textures en temps réel exploitant une architecture parallèle multi-coeurs et GPU Analyse des textures en temps réel exploitant une architecture parallèle multi-coeurs et GPU Moulay Akhloufi, MScA, MBA (moulay.akhloufi@crvi.ca ) Gilles Champagne (gilles.champagne@crvi.ca) Mario Jr Laframboise

Plus en détail

Les Systèmes d Exploitation: Concepts et Programmation

Les Systèmes d Exploitation: Concepts et Programmation Les Systèmes d Exploitation: d Concepts et Programmation Samia Bouzefrane MCF en Informatique, CNAM samia.bouzefrane@cnam.fr http://cedric.cnam.fr/~bouzefra Samia Bouzefrane, Cours SYSTEME 1 Introduction

Plus en détail

Sixième partie VI. Architectures des OS temps réels. Temps Réel. Architectures multi-coeurs. Jérôme Pouiller <j.pouiller@sysmic.

Sixième partie VI. Architectures des OS temps réels. Temps Réel. Architectures multi-coeurs. Jérôme Pouiller <j.pouiller@sysmic. Temps Réel Sixième partie VI Jérôme Pouiller Architectures des OS s Sysmic - J. Pouiller Temps Réel 171 / 1 Architectures multi-coeurs Il est possible d utiliser des architecture

Plus en détail

Java. Java. Le livrede. Avec 80 exercices corrigés. Avec 80 exercices corrigés. Le livre. Anne Tasso. 5 e édition. Un best-seller qui a déjà conquis

Java. Java. Le livrede. Avec 80 exercices corrigés. Avec 80 exercices corrigés. Le livre. Anne Tasso. 5 e édition. Un best-seller qui a déjà conquis Anne Tasso Un best-seller qui a déjà conquis des milliers d'étudiants! Java Le livre Java Le livrede de premier premier langage langage Avec 80 exercices corrigés Avec 80 exercices corrigés 5 e édition

Plus en détail

Evolution des technologies de calcul intensif vers les systèmes multi-cœurs et accélérateurs

Evolution des technologies de calcul intensif vers les systèmes multi-cœurs et accélérateurs Evolution des technologies de calcul intensif vers les systèmes multi-cœurs et accélérateurs Marc Mendez-Bermond Expert solutions HPC Programme Contexte Technologies Evolutions 2 Confidentiel Research

Plus en détail

Architectures des OS temps réels

Architectures des OS temps réels Temps Réel Jérôme Pouiller Sixième partie VI Architectures des OS temps réels Sysmic - J. Pouiller Temps Réel 171 / 1 Sysmic - J. Pouiller Temps Réel 172 / 1 Architectures multi-coeurs

Plus en détail

Temps Réel. Jérôme Pouiller <j.pouiller@sysmic.org>

Temps Réel. Jérôme Pouiller <j.pouiller@sysmic.org> Temps Réel Jérôme Pouiller Sixième partie VI Architectures des OS temps réels Sysmic - J. Pouiller Temps Réel 171 / 1 Sysmic - J. Pouiller Temps Réel 172 / 1 Architectures multi-coeurs

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

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

NOTIONS SUR WINDOWS NT

NOTIONS SUR WINDOWS NT Chapitre 10 NOTIONS SUR WINDOWS NT Le système d'exploitation WINDOWS NT (New Technology) a été conçu par Microsoft entre 1988 et 1993. Cinq objectifs étaient poursuivis en créant ce nouveau SE : - offrir

Plus en détail

Configuration et Déploiement d Applications Réparties par Intégration de l Hétérogénéité des Implémentations dans un Langage de Description d

Configuration et Déploiement d Applications Réparties par Intégration de l Hétérogénéité des Implémentations dans un Langage de Description d Configuration et Déploiement d Applications Réparties par Intégration de l Hétérogénéité des Implémentations dans un Langage de Description d Architecture Doctorant: Directeurs de thèse: Bechir ZALILA

Plus en détail

Systèmes d exploitation Gestion des processus

Systèmes d exploitation Gestion des processus Systèmes d exploitation Gestion des processus Didier Verna didier@lrde.epita.fr 5 décembre 2000 Table des matières Table des matières Généralités... 3 États d un processus... 4 Bloc de contrôle d un processus

Plus en détail

Plan : Master IM2P2 - Calcul Scientifique

Plan : Master IM2P2 - Calcul Scientifique Plan : Les systèmes HPC Typologie des systèmes : Machines Mémoire partagée Machines à Mémoire Distribuées Machine NUMA Exemples Architectures Processeurs HPC Processeurs scalaires, superscalaires, vectoriels

Plus en détail

Types et performances des processeurs

Types et performances des processeurs Types et performances des processeurs Laboratoire de Systèmes Logiques Structure d un ordinateur contrôle processeur traitement séquenceur registres mémoire entrées/sorties micromémoire opérateurs bus

Plus en détail

Systèmes d exploitation Gestion des fichiers. Catalin Dima

Systèmes d exploitation Gestion des fichiers. Catalin Dima Systèmes d exploitation Gestion des fichiers Catalin Dima 1 Problématique Certains processus doivent stocker/avoir accès à une très grande quantité de mémoire Parfois plusieurs ordres de grandeur par rapport

Plus en détail

Système. Introduction aux systèmes informatiques

Système. Introduction aux systèmes informatiques Introduction aux systèmes informatiques Système Un système est une collection organisée d'objets qui interagissent pour former un tout Objets = composants du système Des interconnexions (liens) entre les

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

Comment un ordinateur fonctionne Processeur

Comment un ordinateur fonctionne Processeur Comment un ordinateur fonctionne Processeur Les processeurs Cerveau de l ordinateur Règle flux d information par intermédiaire du bus Détermine puissance de l ordi (486, Pentium, ) Vitesse définit par

Plus en détail

Tableaux (introduction) et types de base

Tableaux (introduction) et types de base Tableaux (introduction) et types de base A. Motivation..................................................... 4 B. Les tableaux.................................................... 5 C. Construction des tableaux.......................................

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

QUELQUES CONCEPTS INTRODUCTIFS

QUELQUES CONCEPTS INTRODUCTIFS ESIEE Unité d'informatique IN101 Albin Morelle (et Denis Bureau) QUELQUES CONCEPTS INTRODUCTIFS 1- ARCHITECTURE ET FONCTIONNEMENT D UN ORDINATEUR Processeur Mémoire centrale Clavier Unité d échange BUS

Plus en détail

Programmation des processeurs multicoeurs

Programmation des processeurs multicoeurs Programmation des processeurs multicoeurs Cours théorique et Application en OpenCL avec Matrix Studio Pascal Ballet pascal.ballet@univ-brest.fr Université de Bretagne Occidentale Laboratoire d Informatique

Plus en détail

Calculs parallèles et Distribués. Benmoussa Yahia Université M hamed Bougara de Boumerdès yahia.benmoussa@gmail.com

Calculs parallèles et Distribués. Benmoussa Yahia Université M hamed Bougara de Boumerdès yahia.benmoussa@gmail.com Calculs parallèles et Distribués Benmoussa Yahia Université M hamed Bougara de Boumerdès yahia.benmoussa@gmail.com Calculs parallèles et Distribués Introduction Parallélisation sur mémoire distribuée.

Plus en détail

Composants logiciel: Feel++, formats de fichier et visualisation

Composants logiciel: Feel++, formats de fichier et visualisation Composants logiciel: Feel++, formats de fichier et visualisation Alexandre Ancel Cemosis / Université de Strasbourg 13 Janvier 2015 1 / 20 Plan 1 Environnement logiciel & matériel 2 Formats de fichier

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

Programmation parallèle et distribuée

Programmation parallèle et distribuée Programmation parallèle et distribuée (GIF-4104/7104) Programmation massivement multifilaire sur GPU avec OpenCL (hiver 2013) Marc Parizeau, Département de génie électrique et de génie informatique OpenCL

Plus en détail

Parallélisme ou multitâche?

Parallélisme ou multitâche? Parallélisme ou multitâche? Ce texte est extrait d'un cours de L3 MIASHS. Vous pouvez en retrouver l'intégralité à cette adresse : http://grappa.univ-lille3.fr/~gonzalez/enseignement/2015-2016/l3miashs/calendrier.php?x=cm-5.php.

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

Calcul Haute Performance et Parallélisme Historique et exemples

Calcul Haute Performance et Parallélisme Historique et exemples Calcul Haute Performance et Parallélisme Historique et exemples Emmanuel Hermellin LIRMM Janvier 2014 Sommaire 1 Le Calcul Haute Performance Naissance des super-calculateurs Évolution des super-calculateurs

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

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

GPU Computing : début d'une ère ou fin d'une époque? eric.mahe@massiverand.com

GPU Computing : début d'une ère ou fin d'une époque? eric.mahe@massiverand.com GPU Computing : début d'une ère ou fin d'une époque? eric.mahe@massiverand.com Plan Génèse du projet OpenGPU Misères et grandeurs des GPUs Quelle place pour OpenCL? Les avancées de l'architecture Kepler

Plus en détail

Design, améliorations, et implémentations

Design, améliorations, et implémentations CPU et Mémoire Design, améliorations, et implémentations Techniques et caractéristiques modernes qui permettent de donner aux ordinateurs actuels toute leur puissance 1 Architectures CPU Design de l architecture

Plus en détail

Environnements de développement

Environnements de développement Environnements de développement UFR d Informatique Paris 7, LIAFA, 175 rue Chevaleret, Bureau 6A7 http://www.liafa.jussieu.fr/ sighirea/cours/edi/ Extension de la plate-forme Eclipse Résumé 1 Rappels de

Plus en détail

CROSS PLATEFORM MOBILE DEVELOPMENT (Phonegap, RhoMobile)

CROSS PLATEFORM MOBILE DEVELOPMENT (Phonegap, RhoMobile) INGENIEUR EN SCIENCES INFORMATIQUES RAPPORT D ETUDE TECHNOLOGIQUE SUR LES SOLUTIONS WEB CROSS PLATEFORM MOBILE DEVELOPMENT (Phonegap, ) Student : Jiachen NIE Parcours: IHM Subject : Adaptation des Interfaces

Plus en détail

Les Microprocesseurs partie2

Les Microprocesseurs partie2 Université Constantine 2 Abdelhamid Mehri Faculté des NTIC Département MI Electronique des Composants & Systèmes Les Microprocesseurs partie2 Cours de L1 - TRONC COMMUN DOMAINE MATHEMATIQUES INFORMATIQUE

Plus en détail

Présentation CaSciModOT Performances et Architectures

Présentation CaSciModOT Performances et Architectures Présentation CaSciModOT Performances et Architectures Code parallèle : Un peu de théorie Architectures variables : C(n,p)? Quel code? Quelle architecture? Structure d un code : partie parallèle / séquentielle

Plus en détail

2 ème partie : Programmation concurrente multi-thread

2 ème partie : Programmation concurrente multi-thread 2 ème partie : Programmation concurrente multi-thread TC-INFO-ASR4 Françoise Baude Université de Nice Sophia-Antipolis UFR Sciences Département Informatique baude@unice.fr web du cours : www-mips.unice.fr/~baude

Plus en détail

Analyse et mesure de performances du calcul distribué

Analyse et mesure de performances du calcul distribué Analyse et mesure de performances du calcul distribué Mohsine Eleuldj Département Génie Informatique, EMI eleuldj@emi.ac.ma CruCID Workshop, EMI, Rabat, 5 au 7 juillet 1999 Motivation Types d applications

Plus en détail

Analyse de performance et optimisation. David Geldreich (DREAM)

Analyse de performance et optimisation. David Geldreich (DREAM) Analyse de performance et optimisation David Geldreich (DREAM) Plan de l exposé Analyse de performance Outils Optimisation Démonstrations Analyse de performance Pas d optimisation sans analyse de performance

Plus en détail

Cluster de calcul, machine Beowulf, ferme de PC Principes, problématique et échanges d expérience

Cluster de calcul, machine Beowulf, ferme de PC Principes, problématique et échanges d expérience Cluster de calcul, machine Beowulf, ferme de PC Principes, problématique et échanges d expérience 29 mars 2002 Olivier BOEBION - Laboratoire de Mathématiques et de Physique Théorique - Tours 1 Principes

Plus en détail

Gestion de la Mémoire 1 ère partie: Point de vue processeur. Chapitre 5

Gestion de la Mémoire 1 ère partie: Point de vue processeur. Chapitre 5 Gestion de la Mémoire 1 ère partie: Point de vue processeur Chapitre 5 Présentation La mémoire peut être adressée de 3 points de vue Point de vue processeur Comment le processeur adresse la mémoire physique

Plus en détail

Cours client-serveur Web : Java et RMI (Remote Method Invocation)

Cours client-serveur Web : Java et RMI (Remote Method Invocation) Cours client-serveur Web : Java et RMI (Remote Method Invocation) 1 Java: Rappel sur les threads Cycle de vie d un thread (1) Né -> prêt appel de la méthode start du thread Prêt Exécution Distribution

Plus en détail

SRS Day. Vue d ensemble. Avérous Julien-Pierre

SRS Day. Vue d ensemble. Avérous Julien-Pierre SRS Day Sécurité apporté à Mac OS X LéopardL Vue d ensemble Pieters Aimeric Avérous Julien-Pierre pieter_a averou_j Introduction Mac OS X Léopard c est : Time Machine. Nouveau Finder, Quicklook, etc. Mais

Plus en détail

Conclusions et Perspectives

Conclusions et Perspectives 8 Conclusions et Perspectives Ce chapitre conclut la thèse en donnant un bilan du travail effectué et les perspectives envisageables au terme de cette recherche. Nous rappelons tout d abord les principales

Plus en détail

Le «thread local storage» et son utilisation

Le «thread local storage» et son utilisation Résumé Les allocations mémoire sont généralement plus coûteuses que d ordinaire en environnement multi-thread. En effet, la majorité des algorithmes d allocation en usage dans les systèmes d exploitation

Plus en détail

Année 2008-2009. Les threads Java. Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed.

Année 2008-2009. Les threads Java. Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed. Année 2008-2009 Les threads Java Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed.fr 1 Présentation du problème Revenons quelques instants à nos animaux.

Plus en détail

WP2T23 «APPLICATION de de REFERENCE» Prototypage rapide d une application de traitement d images avec SynDEx EADS

WP2T23 «APPLICATION de de REFERENCE» Prototypage rapide d une application de traitement d images avec SynDEx EADS WP2T23 «APPLICATION de de REFERENCE» Prototypage rapide d une application de traitement d images avec SynDEx EADS Avec l appui de l INRIA www-rocq.inria.fr/syndex 1 PLAN I. Présentation du sujet II. Présentation

Plus en détail

QCM systèmes d exploitation (Quarante questions)

QCM systèmes d exploitation (Quarante questions) QCM systèmes d exploitation (Quarante questions) QUIZZ OS N 1 (10 questions avec réponses) Question 1: Aux origines de l informatique, l'interface utilisateur des systèmes d exploitations était composée

Plus en détail

4D v11 SQL Release 5 (11.5) ADDENDUM

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

Plus en détail

De velopper une ve ritable application Open Data avec Processing

De velopper une ve ritable application Open Data avec Processing Open data : séquence n 4 De velopper une ve ritable application Open Data avec Processing Conditions Travail en groupe Durée : 2x2h La Ville de Nantes, Nantes Métropole et leurs partenaires ont lancé dernièrement

Plus en détail

Mise en œuvre des serveurs d application

Mise en œuvre des serveurs d application Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés

Plus en détail

Collection d'exercices

Collection d'exercices Collection d'exercices Question 1. Systèmes à temps réel Points Expliquez brièvement la différence entre les contraintes de temps réel strict et de temps réel souple.. Systèmes à temps réel Les dispositifs

Plus en détail

Systèmes d exploitation. Introduction. (Operating Systems) http://www.sir.blois.univ-tours.fr/ mirian/

Systèmes d exploitation. Introduction. (Operating Systems) http://www.sir.blois.univ-tours.fr/ mirian/ Systèmes d exploitation (Operating Systems) Introduction SITE : http://www.sir.blois.univ-tours.fr/ mirian/ Systèmes d exploitation - Mírian Halfeld-Ferrari p. 1/2 Qu est-ce qu un SE? Ensemble de logiciels

Plus en détail

S18 PHP pour des tâches batch sous IBM i

S18 PHP pour des tâches batch sous IBM i Modernisation, développement d applications et DB2 sous IBM i Technologies, outils et nouveautés 2013-2014 13 et 14 mai 2014 IBM Client Center Paris, Bois-Colombes S18 PHP pour des tâches batch sous IBM

Plus en détail

Customisation Rhapsody et Henri BOULOUET DITV/AEEV/EECH. approche méthodologique

Customisation Rhapsody et Henri BOULOUET DITV/AEEV/EECH. approche méthodologique Customisation Rhapsody et approche méthodologique Retour d expérience sur l implémentation d un langage et profil UML associé 1 Sommaire Principe d un développement méthodologique Evocation d ISR (Ingénierie

Plus en détail

Gestion des processus

Gestion des processus 1/27 Gestion des processus didier@lrde.epita.fr http://www.lrde.epita.fr/ didier 2/27 Table des matières 1 2 Ordonnancement des processus 3 sur les processus 4 entre processus 5 4/27 Programme vs. Processus

Plus en détail

Historique. Évolution des systèmes d exploitation (à travers les âges)

Historique. Évolution des systèmes d exploitation (à travers les âges) Historique Évolution des systèmes d exploitation (à travers les âges) Historique L histoire des systèmes d exploitation permet de dégager des concepts de base que l on retrouve dans les systèmes actuels

Plus en détail

Algorithmique et Analyse d Algorithmes

Algorithmique et Analyse d Algorithmes Algorithmique et Analyse d Algorithmes L3 Info Cours 5 : Structures de données linéaires Benjamin Wack 2015-2016 1 / 37 La dernière fois Logique de Hoare Dichotomie Aujourd hui Type Abstrait de Données

Plus en détail

Qu est-ce que le «cloud computing»?

Qu est-ce que le «cloud computing»? Qu est-ce que le «cloud computing»? Par Morand Studer eleven Octobre 2011 Qu est-ce que le «cloud computing»? - Morand Studer eleven Octobre 2011 www.eleven.fr 1 Aujourd hui, la démocratisation de l informatique

Plus en détail

Principes d'utilisation des systèmes de gestion de bases de données

Principes d'utilisation des systèmes de gestion de bases de données Principes d'utilisation des systèmes de gestion de bases de données JDBC L3 Informatique Emmanuel Waller, LRI, Orsay Université Paris Sud le mode programme JDBC JDBC : qu'est ce que c'est? Avantages? devant

Plus en détail

Panorama des temps réels sous GNU/Linux. Stelian Pop <stelian.pop@openwide.fr>

Panorama des temps réels sous GNU/Linux. Stelian Pop <stelian.pop@openwide.fr> Panorama des temps réels sous GNU/Linux Stelian Pop Conférence Linux Solutions, 2 février 2006 Le besoin en contexte industriel il y a souvent besoin d'un comportement temps réel:

Plus en détail

Programmation Multi-Threading en Java

Programmation Multi-Threading en Java Programmation Multi-Threading en Java Christophe Gravier, Frédérique Laforest, Julien Subercaze Télécom Saint-Étienne Université Jean Monnet {prénom.nom}@univ-st-etienne.fr FI2_INFO4 2012 2013 1 / 35 Plan

Plus en détail