TP/TD 5 : Section critique et Interblocage. Compare and Swap - Lock-free
|
|
- Angèle Sauvé
- il y a 8 ans
- Total affichages :
Transcription
1 ASR2 - L3 Informatique - ENS Lyon Année TP/TD 5 : Section critique et Interblocage R. Carpa, A. Cavelan et A.Lefray Compare and Swap - Lock-free Soit une implémentation de pile avec une liste chainée définie comme suit : E = {V val, E* next} et un pointeur de tête E* list_head. 1. Proposer une implémentation d une pile avec mutex (opérations lock/unlock). Pour cela, définir les fonctions Push et Pop. 2. Discuter des inconvénients de l utilisation d un mutex Soit le code suivant Push(E* elem) { do { E* old_first = list_head; elem->next = old_first; } } while (!CAS(&list_head, old_first, elem)) E* Pop() { } do { E* old_first = list_head; if(old_first == NULL) return NULL; E* second = old_first->next; } while (!CAS(&list_head, old_first, second)) return old_first; 3. Rappeler ce que fait la fonction CAS (Compare-And-Swap) bool CAS(T* memaddr, T compare, T update) compare la valeur à l adresse memaddr avec compare : si égale la remplace par update et retourne vrai, sinon retourne faux. 4. Que fait ce code? Comment se comporte-t-il en présence de Push/Pop concurrents? Implémentation lockf ree d une pile. Il permet donc des push/pop concurrents, cepant si le thread réalisant un pop/push est préempté par un autre thread réalisant un pop/push, il recommencera sa tentative (le CAS a échoué). Il n y a donc pas d attente bornée. 1
2 5. Supposons le scénario suivant : État de la pile : top A B C 1- Thread 1 exécute Pop et est préempté avant d exécuter l instruction CAS 2- Thread 2 exécute Pop deux fois et Push(A) 3- Thread 1 repr son exécution et réalise l opération CAS Donner l état de la pile et des threads après chaque étape et commenter le résultat final. Init : top A B C Après 1 : old_first = A, second = B, même pile Après 2 : Pop() = A : top B C, Pop() = B : top C, Push(A) : top A C Après 3 : L opération CAS(&A, A, B) réussi car l ancien A est bien égal au nouveau A inséré par le thread 2. On obtient donc top A B avec aucune garantie que B existe encore ou soit un emplacement mémoire valide. Ce problème s appelle ABA. Un solution classique pour éviter ce problème est de tagger les adresses (modifier les bits de points faibles non utilisés) lors d une suppression pour faire échouer la comparaison des adresses lors du CAS. 6. Conclure sur l intérêt de l opération CAS et ses dangers. CAS et assimilés sont très utiles pour implémenter des structures lockfree voir waitfree (avec un Double CAS par exemple) mais elles sont très difficiles à implémenter. Cours 1. Rappeler les 3 propriétés souhaitables pour la gestion des sections critiques. Exclusion mutuelle : 1 seul processus à la fois en section critique ; Attente bornée d un processus avant d entrer en section critique (conséquence : Absence de famine) ; Progression (conséquence : Absence d interblocage). 2. Rappeler les 4 conditions pour avoir un interblocage. Exclusion mutuelle : seulement un processus à la fois peut utiliser une ressource ; Tient-et-att : un processus qui tient au moins une ressource est en attente d autres ressources ; Pas de préemption : une ressource ne peut être relâchee qu intentionnellement par le processus qui la tient, une fois qu il a terminé ; Attente circulaire : il y a un ensemble P 1,..., P k de processus en attente, tels que P 1 att une ressource tenue par P 2,..., P i att une ressource tenue par P i+1,... et P k att une ressource tenue par P 1. 2
3 Interblocage - Prévention et Évitement Pour s assurer qu un interblocage ne peut se produire, le système peut soit prévenir (prévention de l interblocage) en s assurant qu au moins une des quatre conditions nécessaires ne peut se produire soit éviter (évitement de l interblocage) en gérant en avance les ressources qu une tâche doit utiliser pant son exécution. La stratégie d évitement consiste à autoriser l allocation d une ressource seulement lorsque cette allocation mène à un état "sûr", où l interblocage est impossible. 1. Un état est sûr si le système peut allouer les ressources à chaque processus (jusqu à son maximum) dans un certain ordre et finalement éviter un interblocage. Un état qui n est pas sûr sera qualifié d état aventureux. Quelles sont les relations entre états sûrs, aventureux et les interblocages? Interblocage Aventureux, ce qui implique : Sûr = Interblocage Aventureux = Interblocage Interblocage = Aventureux 2. Dans les algorithmes suivants, 3 processus utilisent de manière concurrente des ressources notées A...F : get(a); get(b); get(c); release(a); release(b); release(c); Algorithm 1: Processus 1 get(d); get(e); get(b); release(d); release(e); release(b); Algorithm 2: Processus 2 get(c); get(f); get(d); release(c); release(f); release(d); Algorithm 3: Processus 3 En utilisant un graphe d allocation de ressources, prouvez la possibilité d un interblocage. Prévention : Modifiez l ordre de demande des ressources pour éviter l interblocage. Justifier votre réponse. Évitement : Soit l état ci-dessous des 3 algorithmes. Utiliser le graphe d allocation de ressources pour trouver un état suivant qui est sûr. Quelles sont les demandes qui ne peuvent pas être satisfaites dans l état courent? Pourquoi? Processus Déjà allouées En cours de demande P 1 A,B C P 2 D,E B P 3 C 1) Si chaque processus prs les 2 premières ressources voulues, on se retrouve dans le cas suivant : A B C D E F P1 P2 P3 Cycle : P1->C->P3->D->P2->B(->P1) 3
4 2) Attente circulaire, ordre : A B C D E F Ordre P1 : A, B, C Ordre P2 : B, D, E Ordre P3 : C, D, F 3) État initial : A B C D E F P1 P2 P3 Le seul état sur est de donner C à P1. Si on donne C à P3, on engre un cycle : (C->P3->D->P2->B->P1->C) On ne peut pas donner B à P2, car B est détenu par P1. 3. Soit un système disposant de 9, 3 et 6 ressources de types respectivement R1, R2 et R3. La quantité de ressources demandées par chacun des 4 processus et l allocation actuelle est donnée dans le tableau suivant : Processus Demande max. Allouées R1 R2 R3 R1 R2 R3 P P l état, est-il sur? P2 demande une ressource de type R1 et une de type R3. La demande, peut-elle être satisfaite immédiatement? P1 demande une ressource de type R1 et une de type R3. La demande, peut-elle être satisfaite immédiatement? P P Dans l état initial la matrice Need est : P2 peut finir en utilisant (1 0 2) ressources. Étape 2 : Étape 3 : Étape 4 : P P P P P P P P et on a (1 1 2) ressources disponibles, (6 2 3) ressources disponibles finir P1, (7 2 3) ressources disponibles finir P3, (9 3 4) ressources disponibles finir P4 2) Oui. On attribue d abord les (1 0 1) ressources demandées à P2. Puis on teste qu on est dans un état sur. Le test est le même que dans la première partie (sauf la première étape) 4
5 3) Non, on se retrouve avec la matrice Need : P P et (0 1 1) ressources disponibles Interblocage - Détection et Récupération Soit n = 5 processus, m = 3 types de ressources, A, B et C avec une seule instance de chaque. On a l état suivant : Allocation Request P P P P P Y a-t-il interblocage? 1 seule instance de chaque ressource donc on va préférer le graphe d attente. soit P1 -> P4 -> P5, P3 -> P2 -> P4, P3 -> P5 Pas de cycle donc pas d interblocage 2. Et si P5 demande la ressource B? On a le cycle P2 -> P4 -> P5 (-> P2) donc interblocage! Soit n = 4 processus, m = 3 types de ressources, A (4 instances), B (4 instances), et C (7 instances). On a l état suivant : Allocation Request P P P P Y a-t-il interblocage? Utiliser la variante de l algo du banquier (avec REQUEST), réponse Non. Initialement Work = Available = (0 1 0). P2 : Work = (2 1 1) P1 + P3 : Work = (4 4 4) P4 ok donc pas d interblocage. 2. Et si P1 demande deux ressources de plus de C? Piège! Toujours bon :) L ordre devient P2, P3, P1, P4. 5
Chapitre 4 : Exclusion mutuelle
Chapitre 4 : Exclusion mutuelle Pierre Gançarski Juillet 2004 Ce support de cours comporte un certain nombre d erreurs : je décline toute responsabilité quant à leurs conséquences sur le déroulement des
Plus en détailProblèmes liés à la concurrence
ENS Cachan Problématique Difficile de gérer la concurrence : Pas toujours facile d avoir des fonctions réentrantes. Risque de race condition : ex : x :=x+1 x :=x+1 On voudrait des blocs d instructions
Plus en détailExclusion 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étail1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)
1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d
Plus en détailArchitecture des ordinateurs TD1 - Portes logiques et premiers circuits
Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice
Plus en détailLes processus légers : threads. Système L3, 2014-2015 1/31
Les processus légers : threads Système L3, 2014-2015 1/31 Les threads Les threads sont des processus légers exécutés à l intérieur d un processus L exécution des threads est concurrente Il existe toujours
Plus en détailExercices INF5171 : série #3 (Automne 2012)
Exercices INF5171 : série #3 (Automne 2012) 1. Un moniteur pour gérer des ressources Le moniteur MPD 1 présente une première version d'un moniteur, exprimé en pseudo-mpd, pour gérer des ressources le nombre
Plus en détailCours de Systèmes d Exploitation
Licence d informatique Synchronisation et Communication inter-processus Hafid Bourzoufi Université de Valenciennes - ISTV Introduction Les processus concurrents s exécutant dans le système d exploitation
Plus en détailCours de Programmation Impérative: Zones de mémoires et pointeurs
Cours de Programmation Impérative: Zones de mémoires et pointeurs Julien David A101 - david@lipn.univ-paris13.fr Julien David (A101 - david@lipn.univ-paris13.fr) 1 / 1 Z`o n`e s `d`e m`é m`o i r`e Julien
Plus en détailCours A7 : Temps Réel
Cours A7 : Temps Réel Pierre.Paradinas / @ / cnam.fr Cnam/Cedric Systèmes Enfouis et Embarqués (SEE) Motivations Du jour : les mécanismes multitâches, la gestion des priorités, l ordonnancement, la gestion
Plus en détailCentre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :
Algorithmique et programmation : STRUCTURES DE DONNÉES A. Structure et enregistrement 1) Définition et rôle des structures de données en programmation 1.1) Définition : En informatique, une structure de
Plus en détailINTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores
INTRODUCTION AUX SYSTEMES D EXPLOITATION TD2 Exclusion mutuelle / Sémaphores Exclusion mutuelle / Sémaphores - 0.1 - S O M M A I R E 1. GENERALITES SUR LES SEMAPHORES... 1 1.1. PRESENTATION... 1 1.2. UN
Plus en détailINTRODUCTION À LA PROGRAMMATION CONCURRENTE
INTRODUCTION À LA PROGRAMMATION CONCURRENTE POLYCOPIÉ DU COURS PCO1 Prof. Claude Evéquoz Prof. Yann Thoma HEIG-VD 2009 Table des matières Table des matières 2 1 Introduction à la programmation concurrente
Plus en détailUn ordonnanceur stupide
Un ordonnanceur simple Université Paris Sud L objet des exercices qui suivent est de créer un ordonanceur implantant l algorithme du tourniquet ( round-robin scheduler ). La technique utilisée pour élire
Plus en détailCours 2: Exclusion Mutuelle entre processus (lourds, ou légers -- threads)
Cours 2: Exclusion Mutuelle entre processus (lourds, ou légers -- threads) Concurrence entre processus & Problème d Exclusion Mutuelle 1. Introduction 2. Solutions avec attente active, dites Sans Arbitrage
Plus en détailChapitre 7. Récurrences
Chapitre 7 Récurrences 333 Plan 1. Introduction 2. Applications 3. Classification des récurrences 4. Résolution de récurrences 5. Résumé et comparaisons Lectures conseillées : I MCS, chapitre 20. I Rosen,
Plus en détailDéfinition des Webservices Ordre de paiement par email. Version 1.0
Définition des Webservices Ordre de paiement par email Version 1.0 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Historique du document
Plus en détailIntroduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr
Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr Mars 2002 Pour Irène et Marie Legal Notice Copyright c 2002 Patrick Cégielski Université
Plus en détailCours d initiation à la programmation en C++ Johann Cuenin
Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................
Plus en détailPrénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004
Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)
Plus en détailReprésentation des Nombres
Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...
Plus en détailAlgorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/??
Algorithmique I Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr Télécom 2006/07 Algorithmique I 20-09-06 p.1/?? Organisation en Algorithmique 2 séances par semaine pendant 8 semaines. Enseignement
Plus en détailL exclusion mutuelle distribuée
L exclusion mutuelle distribuée L algorithme de L Amport L algorithme est basé sur 2 concepts : L estampillage des messages La distribution d une file d attente sur l ensemble des sites du système distribué
Plus en détailPartie 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étailChapitre 5 : Flot maximal dans un graphe
Graphes et RO TELECOM Nancy A Chapitre 5 : Flot maximal dans un graphe J.-F. Scheid 1 Plan du chapitre I. Définitions 1 Graphe Graphe valué 3 Représentation d un graphe (matrice d incidence, matrice d
Plus en détailPlan 1/9/2013. Génération et exploitation de données. CEP et applications. Flux de données et notifications. Traitement des flux Implémentation
Complex Event Processing Traitement de flux de données en temps réel Romain Colle R&D Project Manager Quartet FS Plan Génération et exploitation de données CEP et applications Flux de données et notifications
Plus en détailConception 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étailResolution limit in community detection
Introduction Plan 2006 Introduction Plan Introduction Introduction Plan Introduction Point de départ : un graphe et des sous-graphes. But : quantifier le fait que les sous-graphes choisis sont des modules.
Plus en détailPlateforme PAYZEN. Définition de Web-services
Plateforme PAYZEN Définition de Web-services Ordre de paiement Version 1.1 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Lyra-Network
Plus en détailCours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples
Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation
Plus en détailECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;
RÈGLES A SUIVRE POUR OPTIMISER LES REQUÊTES SQL Le but de ce rapport est d énumérer quelques règles pratiques à appliquer dans l élaboration des requêtes. Il permettra de comprendre pourquoi certaines
Plus en détailSommaire. Structure. Liste simplement chaînée ALGORITHME ET STRUCTURES DE DONNÉES II
Sommaire ALGORITHME ET STRUCTURES DE DONNÉES II LES LISTES Liste simplement chaînée Liste doublement chaînée Liste circulaire Dr. Jihène Tounsi ISG de Sousse Site web http://www.jihenetounsi.com Email:
Plus en détailCEG4566/CSI4541 Conception de systèmes temps réel
CEG4566/CSI4541 Conception de systèmes temps réel Chapitre 6 Vivacité, sécurité (Safety), fiabilité et tolérance aux fautes dans les systèmes en temps réel 6.1 Introduction générale aux notions de sécurité
Plus en détail6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses
6. Hachage Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses PLAN Définition Fonctions de Hachage Méthodes de résolution de collisions Estimation
Plus en détailTp 1 correction. Structures de données (IF2)
Tp 1 correction Structures de données (IF2) Remarque générale : compilez et exécutez le code au-fur-et-à mesure de son écriture. Il est plus facile de corriger une petite portion de code délimitée que
Plus en détailTD n o 8 - Domain Name System (DNS)
IUT Montpellier - Architecture (DU) V. Poupet TD n o 8 - Domain Name System (DNS) Dans ce TD nous allons nous intéresser au fonctionnement du Domain Name System (DNS), puis pour illustrer son fonctionnement,
Plus en détailAlgorithmique et Programmation, IMA
Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions
Plus en détailLes arbres binaires de recherche
Institut Galilée Année 2010-2011 Algorithmique et arbres L2 TD 6 Les arbres binaires de recherche Type en C des arbres binaires (également utilisé pour les ABR) : typedef struct noeud_s { struct noeud_s
Plus en détailIntroduction à la programmation concurrente
Introduction à la programmation concurrente Moniteurs Yann Thoma Reconfigurable and Embedded Digital Systems Institute Haute Ecole d Ingénierie et de Gestion du Canton de Vaud This work is licensed under
Plus en détailOrdonnancement temps réel
Ordonnancement temps réel Laurent.Pautet@enst.fr Version 1.5 Problématique de l ordonnancement temps réel En fonctionnement normal, respecter les contraintes temporelles spécifiées par toutes les tâches
Plus en détailArbres binaires de recherche
1 arbre des comparaisons 2 recherche dichotomique l'arbre est recalculé à chaque recherche 2 5 3 4 7 9 1 6 1 2 3 4 5 6 7 9 10 conserver la structure d'arbre au lieu de la reconstruire arbre binaire de
Plus en détail03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing
3/4/27 Programmation Avancée Multimédia Multithreading Benoît Piranda Équipe SISAR Université de Marne La Vallée Besoin Programmes à traitements simultanés Réseau Réseau Afficher une animation en temps
Plus en détailBases de programmation. Cours 5. Structurer les données
Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et
Plus en détailLa NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.
La NP-complétude Johanne Cohen PRISM/CNRS, Versailles, France. Références 1. Algorithm Design, Jon Kleinberg, Eva Tardos, Addison-Wesley, 2006. 2. Computers and Intractability : A Guide to the Theory of
Plus en détailUE C avancé cours 1: introduction et révisions
Introduction Types Structures de contrôle Exemple UE C avancé cours 1: introduction et révisions Jean-Lou Desbarbieux et Stéphane Doncieux UMPC 2004/2005 Introduction Types Structures de contrôle Exemple
Plus en détailProgrammation C++ (débutant)/instructions for, while et do...while
Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de
Plus en détailEnsimag 1ère année Algorithmique 1 Examen 2ième session 24 juin 2010. Algorithmique 1
Algorithmique 1 Durée : 2h Machines électroniques interdites Tous documents papiers autorisés Il est conseillé de traiter les deux parties dans l ordre du sujet. Veuillez respecter les notations introduites
Plus en détailDHCP et NAT. Cyril Rabat cyril.rabat@univ-reims.fr. Master 2 ASR - Info09115 - Architecture des réseaux d entreprise 2012-2013
DHCP et NAT Cyril Rabat cyril.rabat@univ-reims.fr Master 2 ASR - Info09115 - Architecture des réseaux d entreprise 22-23 Cours n 9 Présentation des protocoles BOOTP et DHCP Présentation du NAT Version
Plus en détailQuelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)
Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07
Plus en détailProgrammation système I Les entrées/sorties
Programmation système I Les entrées/sorties DUT 1 re année Université de Marne La vallée Les entrées-sorties : E/O Entrées/Sorties : Opérations d échanges d informations dans un système informatique. Les
Plus en détailINITIATION AU LANGAGE C SUR PIC DE MICROSHIP
COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par
Plus en détailCONFIGURATION DE L AUTOMATE SIEMENS
CONFIGURATION DE L AUTOMATE SIEMENS Créer un projet Dans le bureau de Windows, double-cliquer sur l icône «SIMATIC Manager» : Cliquer ensuite sur l icône «nouveau» : Choisir un nom de projet et valider
Plus en détailOptions, Futures, Parité call put
Département de Mathématiques TD Finance / Mathématiques Financières Options, Futures, Parité call put Exercice 1 Quelle est la différence entre (a) prendre une position longue sur un forward avec un prix
Plus en détailUniversité Bordeaux 1, Licence Semestre 3 - Algorithmes et struct...
Université Bordeaux 1 table des matières Licence Semestre 3 - Algorithmes et structures de données 1 Dernière mise à jour effectuée le 23 Octobre 2013 Piles et Files Déitions Primitives de piles, exemples
Plus en détailProgrammation linéaire
1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit
Plus en détailConventions d écriture et outils de mise au point
Logiciel de base Première année par alternance Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette
Plus en détailIFT2245 - Systèmes d exploitation - TP n 1-20%
IFT2245 - Systèmes d exploitation - TP n 1-20% DIRO - Université de Montréal Nicolas Rous et Dorian Gomez Disponible : 14/02/2013 - Remise : 28/03/2013 au début de la démo LISEZ TOUT LE DOCUMENT AVANT
Plus en détailIntroduction aux Machines Virtuelles avec VMKit
Introduction aux Machines Virtuelles avec Ingénieur :, Responsables : Gaël Thomas, Gilles Müller EQUIPE REGAL LIP6 INRIA (Paris/France) un substrat de machine virtuelle : a substrate for Managed Runtime
Plus en détailProgrammation Orientée Objet Java
Programmation Orientée Objet Java Bertrand Estellon Département Informatique et Interactions Aix-Marseille Université 12 novembre 2014 Bertrand Estellon (DII AMU) Programmation Orientée Objet Java 12 novembre
Plus en détailCette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :
Développement d un client REST, l application Vélib 1. Présentation L application présentée permet de visualiser les disponibilités des vélos et des emplacements de parking à la disposition des parisiens
Plus en détailGénie Logiciel avec Ada. 4 février 2013
Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre
Plus en détailArithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot
Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,
Plus en détailBrefs rappels sur la pile et le tas (Stack. / Heap) et les pointeurs
Brefs rappels sur la pile et le tas (Stack / Heap) et les pointeurs (exemples en C) v1.11 - Olivier Carles 1 Pile et Tas Mémoire allouée de manière statique Mémoire Allouée Dynamiquement variables locales
Plus en détail6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr
6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr Interface d un SGF Implémentation d un SGF Gestion de la correspondance entre la structure logique et la structure
Plus en détailMé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étailInitiation 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étailOptimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications
Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications A. Optimisation sans contrainte.... Généralités.... Condition nécessaire et condition suffisante
Plus en détailIntroduction aux SGBDR
1 Introduction aux SGBDR Pour optimiser une base Oracle, il est important d avoir une idée de la manière dont elle fonctionne. La connaissance des éléments sous-jacents à son fonctionnement permet de mieux
Plus en détailLe langage C. Séance n 4
Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de
Plus en détailSécurité des réseaux Les attaques
Sécurité des réseaux Les attaques A. Guermouche A. Guermouche Cours 2 : Les attaques 1 Plan 1. Les attaques? 2. Quelques cas concrets DNS : Failles & dangers 3. honeypot A. Guermouche Cours 2 : Les attaques
Plus en détail4. Outils pour la synchronisation F. Boyer, Laboratoire Lig Fabienne.Boyer@imag.fr
4. Outils pour la synchronisation F. Boyer, Laboratoire Lig Fabienne.Boyer@imag.fr Le problème Insuffisance des solutions de base (verrous) Les solutions de plus haut niveau Les Sémaphores Les Moniteurs
Plus en détailOptimisation for Cloud Computing and Big Data
1 / 23 Optimisation for Cloud Computing and Big Data Olivier Beaumont, Lionel Eyraud-Dubois 2 / 23 Aujourd hui Problèmes de fiabilité on va oublier la dynamicité Placement de VMs en programmation par contraintes
Plus en détailRecherche dans un tableau
Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6
Plus en détailPublier un Carnet Blanc
Site Web de l association des ingénieurs INSA de Lyon Publier un Carnet Blanc Remarque : la suppression des contributions n est pas possible depuis le Front-Office. lbuisset Page 1 18/09/2008 Publication,
Plus en détailDonnées Réparties. Thibault BERNARD. thibault.bernard@univ-reims.fr
Données Réparties Thibault BERNARD thibault.bernard@univ-reims.fr Sommaire Introduction Gestion de la concurrence Reprise après panne Gestion des données dupliquées Sommaire Introduction Gestion de la
Plus en détailARBRES BINAIRES DE RECHERCHE
ARBRES BINAIRES DE RECHERCHE Table de symboles Recherche : opération fondamentale données : éléments avec clés Type abstrait d une table de symboles (symbol table) ou dictionnaire Objets : ensembles d
Plus en détailProbabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12
Probabilités. I - Rappel : trois exemples. Exemple 1 : Dans une classe de 25 élèves, il y a 16 filles. Tous les élèves sont blonds ou bruns. Parmi les filles, 6 sont blondes. Parmi les garçons, 3 sont
Plus en détailProjet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte
Projet d informatique M1BI : Compression et décompression de texte Le but de ce projet est de coder un programme réalisant de la compression et décompression de texte. On se proposera de coder deux algorithmes
Plus en détailCours Bases de données 2ème année IUT
Cours Bases de données 2ème année IUT Cours 13 : Organisation d une base de données, ou comment soulever (un peu) le voile Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Les clusters de table
Plus en détailInitiation à LabView : Les exemples d applications :
Initiation à LabView : Les exemples d applications : c) Type de variables : Créer un programme : Exemple 1 : Calcul de c= 2(a+b)(a-3b) ou a, b et c seront des réels. «Exemple1» nom du programme : «Exemple
Plus en détailMIS 102 Initiation à l Informatique
MIS 102 Initiation à l Informatique Responsables et cours : Cyril Gavoille Catherine Pannier Matthias Robine Marc Zeitoun Planning : 6 séances de cours 5 séances de TD (2h40) 4 séances de TP (2h40) + environ
Plus en détailLimites finies en un point
8 Limites finies en un point Pour ce chapitre, sauf précision contraire, I désigne une partie non vide de R et f une fonction définie sur I et à valeurs réelles ou complees. Là encore, les fonctions usuelles,
Plus en détailReporting et Décisions 100
Reporting et Décisions 100 Version 10.00 Référence COMPOSITION DU PROGICIEL PROPRIETE & USAGE CONFORMITE & MISE EN GARDE EVOLUTION FICHE DE SUGGESTION MARQUES Votre progiciel est composé d'un boîtier de
Plus en détailRelation d ordre. Manipulation des relations d ordre. Lycée Pierre de Fermat 2012/2013 Feuille d exercices
Lycée Pierre de Fermat 2012/2013 MPSI 1 Feuille d exercices Manipulation des relations d ordre. Relation d ordre Exercice 1. Soit E un ensemble fixé contenant au moins deux éléments. On considère la relation
Plus en détailCompte-rendu re union Campus AAR 3 mars 2015
Compte-rendu re union Campus AAR 3 mars 2015 Table des matières Liste d actions... 2 I. Environnement d analyse : INA, Armadillo... 3 a. Connexion de l outil INA avec API Armadillo... 3 b. Outil d analyse
Plus en détailExercices Corrigés Premières notions sur les espaces vectoriels
Exercices Corrigés Premières notions sur les espaces vectoriels Exercice 1 On considére le sous-espace vectoriel F de R formé des solutions du système suivant : x1 x 2 x 3 + 2x = 0 E 1 x 1 + 2x 2 + x 3
Plus en détailWindows 7, Configuration
Windows 7, Configuration Effectuer une installation propre Avant de commencer, les bonnes questions à se poser : - L ordinateur sur lequel je veux installer Windows, est-il compatible Windows 7? Tester
Plus en détailGenie Logiciel Avancé Projet :Gestion d une chaîne hotelier low cost
Institut Galilée Vivien Boyi-Banga INFO 2 Genie Logiciel Avancé Projet :Gestion d une chaîne hotelier low cost Enseignant : M.Feiz Année 2009-2010 1. Définir la borne de notre système Le système est composé
Plus en détailOptimisation des fonctions de plusieurs variables
Optimisation des fonctions de plusieurs variables Hervé Hocquard Université de Bordeaux, France 8 avril 2013 Extrema locaux et globaux Définition On étudie le comportement d une fonction de plusieurs variables
Plus en détailUniversité du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.
Université du Québec à Chicoutimi Département d informatique et de mathématique Plan de cours Titre : Élément de programmation Sigle : 8inf 119 Session : Automne 2001 Professeur : Patrice Guérin Local
Plus en détailCanevas théoriques du projet sur le poker Partie A
Partie A Dans une partie de poker, particulièrement au Texas Hold em Limit, il est possible d effectuer certains calculs permettant de prendre la meilleure décision. Quelques-uns de ces calculs sont basés
Plus en détailSTAGE IREM 0- Premiers pas en Python
Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer
Plus en détailINTRODUCTION AUX TESTS CODES DE L INTERFACE UTILISATEUR
INTRODUCTION AUX TESTS CODES DE L INTERFACE UTILISATEUR 1 Introduction aux tests codés de l interface utilisateur (Coded UI Tests) Sommaire Avertissement...2 Aperçu...3 1. Génération des tests codés depuis
Plus en détailStructure fonctionnelle d un SGBD
Fichiers et Disques Structure fonctionnelle d un SGBD Requetes Optimiseur de requetes Operateurs relationnels Methodes d acces Gestion de tampon Gestion de disque BD 1 Fichiers et Disques Lecture : Transfert
Plus en détailPublier dans la Base Documentaire
Site Web de l association des ingénieurs INSA de Lyon Publier dans la Base Documentaire Remarque : la suppression des contributions n est pas possible depuis le Front-Office. lbuisset Page 1 18/09/2008
Plus en détailLicence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter
Plus en détailRésolution de systèmes linéaires par des méthodes directes
Résolution de systèmes linéaires par des méthodes directes J. Erhel Janvier 2014 1 Inverse d une matrice carrée et systèmes linéaires Ce paragraphe a pour objet les matrices carrées et les systèmes linéaires.
Plus en détailCARPE. Documentation Informatique S E T R A. Version 2.00. Août 2013. CARPE (Documentation Informatique) 1
CARPE (Documentation Informatique) 1 CARPE Version 2.00 Août 2013 Documentation Informatique S E T R A Programme CARPE - Manuel informatique de l'utilisateur CARPE (Documentation Informatique) 2 Table
Plus en détailPour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
Plus en détail