Jonathan Passerat-Palmbach

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

Download "Jonathan Passerat-Palmbach"

Transcription

1 Techniques de Génie Logiciel au service des Simulations de Monte Carlo : cas de la distribution des nombres Pseudo-Aléatoires dans un environnement de Calcul à Haute Performance Jonathan Passerat-Palmbach Résumé : Les simulations dites 'stochastiques', du grec 'stochos', utilisent astucieusement le hasard, et sont de plus en plus répandues dans les supercalculateurs. Cette thèse propose des techniques logicielles et des outils pour paralléliser la génération de nombres pseudo-aléatoires sur des architectures à base de GPU (Graphics Processing Units). Ces dernières sont massivement utilisées pour accélérer très sensiblement les temps de calcul. Notre approche conserve la rigueur scientifique nécessaire à la reproductibilité des expériences et à l'évitement de biais, ce qui n'était actuellement pas le cas. 1 Utilisation du hasard dans les modèles : les simulations stochastiques Lorsque l'homme ne comprend pas un processus, il le représente sous une autre forme et produit ainsi un modèle de la réalité. On en distingue plusieurs catégories selon les problèmes que l'on cherche à modéliser. Généralement, le cœur du modèle consiste à résoudre un ensemble d'équations plus ou moins complexes. Toutefois, lorsque l'outil mathématique ne permet pas d'obtenir une représentation suffisamment précise de la réalité, on utilise le hasard pour palier ce manque. On parle alors de modèle stochastique, du grec stochos signifiant hasard. L'outil informatique a apporté une dimension supérieure à la modélisation en lui permettant de plonger les modèles dans le temps : on parle alors de simulation numérique. De nos jours, la simulation numérique est employé dans de nombreux domaines allant de la chimie et la biologie à l'industrie automobile. La puissance de calcul des ordinateurs permet d'explorer les paramètres à la fois au cours du temps mais aussi de faire varier Les simulations à base de modèles stochastiques sont communément connues sous le nom de simulation de Monte Carlo. Cette dénomination rappelle bien évidemment les jeux de hasard et de casinos. Une simulation dite de Monte Carlo doit malgré tout être considérée comme une expérience scientifique à part entière. Comme toute expérience scientifique, une simulation numérique se doit d'être reproductible : les résultats obtenus dans des conditions particulières doivent être retrouvés dès lors que l'on place la simulation dans des conditions identiques. Le défi est donc de manipuler le hasard pour l'utiliser à des fins de modélisation, tout en étant capable de rejouer le même scénario au fil des expériences. 1

2 2 Manipulation du hasard : les générateurs de nombres aléatoires Un outil informatique, le générateur de nombres pseudo-aléatoires, permet d'obtenir un tel résultat. Il s'agit d'un algorithme produisant une séquence de nombres d'apparence parfaitement aléatoire. En réalité, ces générateurs sont l'expression de suites mathématiques complexes mimant le hasard, mais restent tout à fait déterministes pour celui qui connaît l'ensemble de leurs paramètres. On parle ainsi de pseudo-hasard et de nombres pseudo-aléatoires pour les différencier des véritables séquences purement aléatoires basées sur des processus quantiques. On peut représenter un générateur de nombre aléatoires de manière très simple à l'aide d'un cercle et ainsi décrire ses propriétés. La Figure 1 montre cette analogie. Le cercle représente l'ensemble de la séquence aléatoire générée par un ensemble de paramètres donnés. On retrouve l'élément courant qui n'est autre que le dernier nombre produit, et son successeur, rappelant le côté purement déterministe des générateurs pseudoaléatoires. Sur le cercle, le point de départ dans la séquence, appelée germe ou graine, peut se trouver n'importe où. Enfin l'analogie du cercle représente idéalement le fait que la séquence générée est cyclique : une fois l'intégralité des nombres tirés, on boucle sur la même séquence. La longueur de la séquence produite par un générateur est appelée période. Figure 1 Représentation d une séquence pseudo-aléatoire sous forme de cercle Le caractère facilement reproductible des générateurs de nombres pseudo-aléatoires fait d'eux un outil au cœur des simulations numériques. Différents algorithmes de génération existent et présentent chacun des propriétés différentes. Il existe bien évidemment une classification des algorithmes, certains étant de meilleur qualité statistique que d'autres. Le plus important lors du choix de l'algorithme est avant tout de considérer son utilisation au sein de l'application visée. Si l'utilisation des générateurs est bien maitrisée au sein des applications séquentielles, c'est à dire les programmes informatiques exécutant leurs actions les unes après les autres, les applications parallèles ne peuvent pas en dire autant. 2

3 3 Applications parallèles et nombres pseudo-aléatoires Pour donner un ordre de grandeur, les simulations récentes utilisent parfois des milliards de nombres pseudo-aléatoires [2]. Dans ce contexte, le temps d'exécution de la simulation peut être prohibitif sans traitement parallèle. Cependant, les processeurs classiques dont nous disposons ont montré leur limite. Les fabricants de processeurs ne parviennent plus à respecter la loi de Moore [3], qui prévoyait de doubler le nombre de transistors dans les processeurs tous les 18 mois (voire la Figure 2, et par conséquent d'augmenter la fréquence des processeurs. Figure 2 La loi de Moore suggère que le nombre de transistors dans les processeurs double tous les 18 mois [Source wikipedia] Doubler la densité de transistors sur une puce associée à l'augmentation de leur fréquence de fonctionnement a la malencontreuse propriété d'augmenter la consommation énergétique de la puce, ainsi que la chaleur qu'elle dissipe. La course à l'augmentation de la fréquence des processeurs n'est donc pas viable et une autre solution se devait d'être trouvée pour continuer d'accroître les performances des machines. L'idée est de profiter du nombre élevée de transistors pour dupliquer dupliquer l'ensemble des éléments matériels nécessaires à l'exécution d'un programme, au sein d'une seule et même puce. On appelle cette technologie les processeurs multi-coeurs. En multipliant le nombre de cœurs sur un processeur, on lui ajoute la capacité d'exécuter plusieurs applications ou tâches en parallèle. Les ordinateurs grand public possèdent de nos jours de 4 à 8 cœurs et sont donc potentiellement capables d'exécuter des applications parallèles ou plusieurs applications séquentielles en même temps. La stratégie de la parallélisation, si elle est utilisée à bon escient, permet d'améliorer la puissance de calcul d'une machine, tout en réduisant sa consommation énergétique. En 3

4 Figure 3 Comparaison entre CPU simple et multi-cœurs effet, à fréquence de fonctionnement identique, le nombre de cœurs agissant en parallèles permet de réaliser plus d'opérations qu'avec un processeur d'ancienne génération. Il n'est donc plus nécessaire d'élever la fréquence de fonctionnement des processeurs, diminuant ainsi son impact énergétique. Il existe principalement deux types d'applications parallèles : lorsqu'une application est capable de réaliser plusieurs actions indépendantes en même temps, on parle de parallélisme de tâches. Si l'on compare ce type de parallélisme à la vie courante, on peut imaginer une personne capable de tenir une conversation téléphonique tout en travaillant sur son ordinateur. Les deux tâches sont parfaitement indépendantes mais réalisées en parallèle. Par opposition au parallélisme de tâches, on parle de parallélisme de données quand plusieurs processeurs réalisent la même tâche sur des données différentes. Pour reprendre l'analogie précédente, on imaginera cette fois-ci une personne capable de peindre avec deux pinceaux en même temps. Chacune de ses mains sera chargée de peindre une partie d'une toile. Parmi les applications les plus friandes de parallélisation, on retrouve au premier rang les simulations numériques, nécessitant toujours plus de puissance de calcul pour supporter des modèles toujours plus ambitieux. La nature même des simulations de type Monte Carlo engendre une augmentation significative des temps d'exécution. Le fait d'utiliser le hasard dans ces simulations nous obligent à répéter l'expérience un grand nombre de fois de manière à moyenner l'impact du hasard sur les résultats. Quelques propriétés théoriques doivent cependant être respectées pour que les résultats issus de la simulation ne souffrent pas d'un biais potentiel. Premièrement, toutes les réplications de la simulation doivent utiliser le même algorithme de génération de nombres aléatoires. Seuls ses paramètres seront réglés différemment d'une réplication à l'autre. Dans un second temps, il faudra s'assurer que les séquences aléatoires utilisées sont hautement indépendantes. Elles ne doivent pas posséder de lien évident entre elles : ce qui est le cas si chaque élément d'une séquence A est le double de l'élément correspondant dans la séquence B par exemple. Dans le même esprit, deux séquences possédant des portions communes se chevauchent et ne sont donc pas indépendantes. 4

5 4 Gestion des nombres pseudo-aléatoires dans les applications parallèles Paralléliser une application n'est pas tâche facile. Comme nous l'avons vu précédemment, le but de cette opération est d'améliorer les performances de l'application originale, et donc d'accélérer son temps d'exécution. On répartit pour cela les actions à effectuer sur les différents cœurs du processeur à l'aide de threads. Les threads sont les outils manipulés par le programmeur pour paralléliser une application. Chaque thread dispose de son propre contexte d'exécution, et regroupe l'ensemble des opérations représentant une action particulière de l'application. Dans le cas d'un parallélisme de tâches, chaque thread aura une fonction bien précise à réaliser, comme «téléphoner» si l'on reprend l'analogie précédente. En se plaçant à présent dans le contexte d'un parallélisme de données, chaque thread regroupera les actions permettant de traiter un certain groupe de données. On imaginera qu'un thread est chargé de peindre la moitié inférieure d'un tableau, tandis qu'un second se charge de la moitié inférieure. Figure 4 Chaque thread parallèle effectue une série de tâches indépendamment des autres Les threads sont donc l'outil qui permet au programmeur d'accéder au degré parallèle introduit par les multiples cœurs des processeurs. Tout n'est malheureusement pas aussi simple que ça, et de nombreux choix évidents dans le cas d'une application séquentielle le deviennent beaucoup moins dans un contexte parallèle. Prenons les générateurs de nombres pseudo-aléatoires qui nous intéressent tant. Une simulation de Monte Carlo séquentielle utilise un unique générateur pour subvenir à ses besoins en nombres aléatoires. Que se passe-t-il maintenant si l'on parallélise cette même simulation à l'aide de threads et que chaque thread a besoin d'avoir accès à une source de hasard pour réaliser les actions qui lui ont été attribuées? Avant de se prononcer, rappelons les contraintes introduites par les simulations de Monte Carlo : les séquences aléatoires utilisées entre deux réplications aux paramètres différents doivent être indépendantes, et les exécutions répétées d'une même instance de simulation doivent être reproductibles. Les threads doivent donc accéder aux mécanismes de génération de nombres aléatoires en parallèle, tout en obtenant la même séquence de nombre à chaque exécution. 5

6 Sans aucune prise en charge particulière de ce problème, le résultat serait totalement indéterministe et impossible à reproduire. En effet chaque thread accéderait à l'unique générateur de l'application indépendamment et obtiendrait donc le nombre courant de la séquence aléatoire. Rien n'assure que l'ordre d'accès des threads à cette séquence sera le même d'une exécution à l'autre. Il se pourrait même que deux threads accèdent exactement au même moment au générateur et tirent le même nombre aléatoire! Cette situation ne respecte en rien les contraintes que nous avons exposées et n'est donc pas satisfaisante. Si l'indépendance n'est pas établie, les qualités intrinsèques statistiques ne sont plus garanties, et les conséquences pourraient être importantes, allant jusqu'à impacter significativement les résultats de la simulation. Nous avons pu constater un tel problème dans le cas d'une application de médecine nucléaire permettant de détecter des tumeurs. La Figure 5 compare les résultats obtenus pour la même simulation en prenant soin de gérer correctement la distribution des nombres pseudo-aléatoires entre les threads ou non. On constate que le résultat obtenu en appliquant les bonnes pratiques de distribution est très proche de l idéal, alors que l absence de distribution correcte produit un résultat erroné. Figure 5 En haut, le résultat idéal de la simulation. En bas, le résultat d une simulation parallèle avec (à gauche) et sans (à droite) prise en charge correcte de la distribution des nombres pseudo-aléatoires entre les threads. Depuis une vingtaine d'années, plusieurs techniques ont été mises au point pour répartir correctement les nombres aléatoires issus d'un même générateur entre différents threads parallèles. Les générateurs sont sensibles à la manière dont les séquences aléatoires qu'ils produisent sont partagées entre les threads. On doit donc s'assurer que la technique choisie pour répartir correctement les nombres aléatoires au sein d'une application parallèle convient au générateur utilisé. Notre vision du problème est telle que le couple { générateur ; application} devient de ce fait un ensemble de propriétés { générateur ; application ; technique de distribution} caractérisant la simulation. Il devient donc extrêmement complexe de faire les bons choix d'outils lorsque l'on conçoit une simulation de Monte Carlo. Par ailleurs, les scientifiques concevant ce genre de simulations sont bien évidemment des experts de leur domaine, mais pas forcément dans la gestion de nombres aléatoires en parallèle. S'il s'agit d'un domaine de recherche pour nous, ce doit être un outil simple à utiliser pour le reste de la communauté. En informatique, on appelle bibliothèque, une collection d'utilitaires visant à répondre à une pro- 6

7 blématique précise. Dans notre cas, on peut regrouper dans une bibliothèque l'ensemble des fonctions gérant la distribution des nombres aléatoires, sans que le concepteur de simulations n'ait à maîtriser toute la théorie sous-jacente. Des bibliothèques très performantes sont disponibles pour les applications parallèles utilisant des threads sur les processeurs multi-coeurs. Il s'avère toutefois que les processeurs multi-coeurs sont excessivement onéreux dès lors que l'on souhaite en acquérir une grande quantité pour augmenter sa puissance de calcul. Les instituts de recherche et les universités ont donc l'habitude de regrouper leur moyens de calculs au sein de centres contentant un grand nombre de machines dédiées au calcul scientifique à haute performance. On désigne par le terme de supercalculateurs les machines regroupant un nombre considérable de cœurs de calcul. Ces machines surpuissantes ont vu leur consommation énergétique, et la facture électrique résultant, augmenter avec le nombre de processeurs. Dans ce contexte, les scientifiques ont cherché de nouvelles architectures, plus parallèles, moins couteuses, et consommant mois d'énergie. Dernièrement, une possibilité de réduire le temps d'exécution des simulations est apparue à travers les processeurs graphiques généralistes : les GP-GPU (General Purpose Graphics Processing Units), également appelé GPU pour des raisons de simplicité. Ces dispositifs ouvrent de nouvelles possibilités pour la parallélisation, mais elles introduisent également de nouvelles difficultés de programmation. 5 Les GPU et l'émergence de l'informatique hybride pour la simulation Un GPU n'est autre que la carte graphique que tout un chacun possède au coeur de son ordinateur pour supporter les jeux vidéos ou les films en haute définition. À la différence des processeurs classiques, les GPU ne sont pas génériques mais optimisés pour réaliser une tâche bien précise : le traitement d'images. En effet, que l'on profite d'un jeu vidéo ou que l'on visionne un film en haute définition, les actions réalisées par la machine sont relativement similaires. Il s'agit de traiter et d'afficher à l'écran une succession d'images le plus rapidement possible, de manière à ce que l'oeil humain les considère comme un flux continu, un film. Une image est composée d'éléments atomiques appelés pixels, qui portent les caractéristiques d'un point de l'image et apparaitront à l'écran. Appliquer une opération sur une image, consiste en réalité à appliquer cette opération sur chacun des pixels qui la forment. On peut dont facilement réaliser cette opération en parallèle et on se trouve alors dans le cadre d'un parallélisme de données. Les GPU sont donc des processeurs spécifiquement optimisés pour réaliser des traitements parallèles sur les données. Ils diffèrent des processeurs traditionnels (CPU pour Central Processing Unit, en anglais) du fait qu'ils possèdent 100 à 1000 fois plus de cœurs que les CPU. Cependant, la fréquence à laquelle chacun de ces cœurs fonctionne est bien plus faible que pour un processeur classique, mais celle-ci est compensée par le nombre de cœurs présents. En guise de comparaison, les cœurs d'un CPU sont cadencés aux alentours de 3GHz, tandis que ceux d'un GPU fonctionnent à 1GHz. Dans l'histoire des processeurs, on retrouve des processeurs fonctionnant à 1GHz au début des années Comme le dit si bien 7

8 l'adage : le nombre fait la force et les GPU sont capables de réaliser une même action en parallèle sur des données différentes, plus vite qu'un processeur multi-coeur et en consommant moins d'énergie. Ces caractéristiques ont donné l'idée à des scientifiques issus du domaine de la physique d'utiliser les GPU pour réaliser des opérations autres que le traitement d'images. En effet, de nombreux problèmes peuvent bénéficier d'un parallélisme de données et donc exploiter la puissance de calcul d'un GPU. La technique du General Purpose GPU (processeur graphique à usage générique) était née. Cette première initiative et celles qui ont suivies, étaient plus à ranger du côté des études de faisabilité, sans être réellement utilisables par la communauté scientifique. Les GPU ne sont pas parmi les processeurs les plus simples à programmer, qui plus est pour des applications pour lesquels ils n'ont pas été conçus. La plupart des développeurs ne sont pas familiers avec la façon dont ils fonctionnent. L'adoption de la programmation GPU au sein de la communauté des développeurs parallèle n'est due qu'à l'intervention du fabricant NVIDIA, qui a introduit un nouveau langage de programmation appelé CUDA (Compute Unified Device Architecture) [4]. CUDA réutilise la notion de threads familières aux utilisateurs de processeurs multi-coeurs au lieu des fonctions et structures de données issues du monde du traitement d'images. Grâce à cette initiative, la programmation parallèle GPU est devenue plus semblable à la programmation parallèle sur des CPU multi-coeurs. Bien que l'on dispose désormais d'un langage de programmation permettant de développer des applications comme sur un processeur classique, la nature même des GPU en fait des plateformes spécifiques pour lesquelles la conception d'applications fonctionnelles reste complexe. Tout d'abord, là où les applications ayant vocation à être exécutées sur CPU manipulent une seule zone mémoire pour stocker leurs données, les GPU doivent gérer pas moins de 6 zones aux propriétés différentes! Ces zones sont traditionnellement représentées sous la forme d'une hiérarchie pour évoquer leurs différences en terme de temps d'accès aux données et de contenance. En outre, pour être efficaces, les applications doivent être capable de répartir leurs tâches afin d'exploiter à la fois CPU et GPU. Les deux processeurs ont des caractéristiques différentes et certaines tâches sont donc plus adaptées à l'un qu'à l'autre. Ce paradigme est connu sous le nom d'informatique hybride, ou calcul hybride, et est partie prenante des applications de calcul à haute performance modernes. Tous ces paramètres font qu'il reste extrêmement difficile de tirer parti de la puissance de calcul des GPU. Dans le même temps, la course à la performance ne doit pas occulter la nécessité d'obtenir des résultats corrects. Ma thèse ciblait cette problématique et visait dans un premier temps à étudier des techniques pour gérer les nombres pseudosaléatoires dans une application exécutée sur GPU. Dans un second temps, nous nous sommes fixés pour objectif de fournir à la communauté un outil permettant de masquer cette même théorie aux utilisateurs finaux : les scientifiques concevant des modèles de simulation. Les propositions qui en résultent regroupent deux domaines de recherche en informatique, à savoir le génie logiciel et le calcul à haute performance, dans le but de les mettre au service de l'ensemble de la communauté scientifique. 6 De la nécessité des bonnes pratiques de génie logiciel Le génie logiciel est souvent assimilé à tort à la programmation d'applications, alors 8

9 qu'il regroupe au contraire les théories permettant aux programmeurs d'être efficaces et aux applications d'être de bonne qualité. Il offre également des outils de modélisation visant à proposer des solutions fiables en amont de la programmation d'une application. Comme nous l'avons vu précédemment, les simulations s'exécutant seulement sur CPU peuvent profiter d'une large gamme de générateurs de bonne qualité statistique regroupés dans des bibliothèques. Un tel outil faisait cependant défaut les GPU, que ce soit au niveau des générateurs disponibles ou des outils fournis pour les manipuler. De nombreuses tentatives ont été faites pour proposer des versions de générateurs pour GPU. Des études antérieures comme [1] ont défriché la génération de nombres pseudo-aléatoires sur GPU. De nombreuses stratégies ont été adoptées pour tirer au mieux parti des caractéristiques des GPU et en particulier de leur différentes zones de mémoire. Peu d'entre elles proposent des apports suffisants pour se distinguer. Ainsi la prise en compte des GPU nous a conduit ajouter un quatrième élément à l'ensemble des paramètres à prendre en compte pour caractériser une simulation de Monte Carlo sur GPU. À l'ensemble précédent, on ajoute la manière d'implanter le générateur sur le GPU (quelles zones mémoires sont utilisées,...), qui devient donc : { générateur ; application ; technique de distribution ; technique d'implantation}. Reste maintenant à traduire ce modèle théorique régissant la génération de nombres aléatoires en outil concret. Les récents langage de programmation tels que CUDA ont permis de produire des applications beaucoup plus ambitieuses sur GPU. Il est désormais possible de bénéficier de certaines techniques de génie logiciel, tels que la conception orientée objet ou la programmation générique dans les applications GPU. Grâce à ces développements, nous avons pu placer la source de hasard au premier plan de la simulation. Le générateur devient un objet à part entière de la simulation. Il est manipulable, paramétrable et interchangeable comme tous les autres éléments de l'environnement simulé. Au delà de la souplesse et de la simplicité offertes au développeur, cette apport est scientifiquement intéressant. Notre proposition permet en effet d'explorer plusieurs paramètres pour la génération de nombres pseudo-aléatoires et de vérifier par exemple qu'un algorithme de génération particulier ne biaise pas les résultats de la simulation. Notre contribution se nomme ShoveRand. Il s'agit d'une bibliothèque contenant des algorithmes de génération de nombre aléatoires, mais surtout les gardes-fous traduisant nos propositions théoriques pour aiguiller le scientifique concevant une simulation sur GPU. L'utilisateur a simplement a choisir l'algorithme de génération qu'il souhaite utiliser, et ShoveRand se charge d'appliquer toutes les consignes théoriques que nous avons recensées. Nous avons plus tard appliqué ces propositions théoriques aux CPU multi-coeurs au sein d'un second outil appelé TaskLocalRandom. Il couvre quant à lui les aspects de parallélisation de tâches plus propices aux CPU. 7 Conclusion Notre contribution principale, ShoveRand, a été mise en œuvre avec succès dans un modèle de repliement de chromosomes s'exécutant entièrement sur GPU. Des travaux dans un domaine totalement distinct, la Recherche Opérationnelle, pourraient de nouveau faire appel à ses services. Ces travaux valident nos modèles théoriques régulant la distribution de nombres pseudo-aléatoires au sein de processeurs parallèles, qu'ils 9

10 soient des CPU multi-coeurs ou des GPU. Les outils qui en découlent comme Shove- Rand et TaskLocalRandom peuvent profiter à toute la communauté scientifique utilisant des nombres pseudo-aléatoires en parallèle. Ces bibliothèques sont libres et leur code source est disponible sur Internet pour quiconque veut étudier leur fonctionnement, s'en inspirer ou les améliorer. Gérer de bout en bout la distribution des nombres pseudo-aléatoires sur un GPU reste une simple brique dans l'optique de perspectives de recherche plus ambitieuses. Dans l'idéal, la majeure partie du travail de parallélisation d'une application pourrait être faite automatiquement par un autre programme, soulageant le programmeur de ce fardeau. Pour ce faire, tous les outils utilisés par l'application, comme le générateur de nombre aléatoires dans la cas d'une simulation, doivent être capables de s'adapter automatiquement au nouvel environnement parallèle. Nous espérons à l'avenir pouvoir proposer des approches de parallélisation résultant d'une automatisation de plus en plus importante. Références [1] Thomas Bradley, Jacques du Toit, Robert Tong, Mike Giles, and Paul Woodhams. Parallelization techniques for random numbers generators. In Wen-mei W. Hwu, editor, GPU Computing Gems Emerald Edition, pages Elsevier, [2] L. Maigne, David R. C. Hill, P. Calvat, V. Breton, R. Reuillon, Y. Legre, and D. Donnarieix. Parallelization of monte carlo simulations and submission to a grid environment. Parallel processing letters, 14(2) : , [3] Gordon E Moore. Cramming more components onto integrated circuits. McGraw-Hill, [4] NVIDIA. NVIDIA CUDA Programming Guide [5] Jonathan Passerat-Palmbach, Jonathan Caux, Yannick Le Pennec, Romain Reuillon, Ivan Junier, François Kepes, and David R. C. Hill. Parallel stepwise stochastic simulation : Harnessing GPUs to explore possible futures states of a chromosome folding model thanks to the possible futures algorithm (PFA). In ACM SIGSIM Conference on Principles of Advanced Discrete Simulation (PADS), pages , Montreal, Canada, [6] Jonathan Passerat-Palmbach, Claude Mazel, Bruno Bachelet, and David R. C. Hill. ShoveRand : a model-driven framework to easily generate random numbers on GP- GPU. In IEEE International Conference on High Performance Computing & Simulation, pages IEEE, [7] Jonathan Passerat-Palmbach, Claude Mazel, and David R. C. Hill. Pseudo-random streams for distributed and parallel stochastic simulations on GP-GPU. Journal of Simulation, 6(3) : , June doi : /jos [8] Jonathan Passerat-Palmbach, Claude Mazel, and David R. C. Hill. TaskLocalRandom : a statistically sound substitute to pseudorandom number generation in parallel java tasks frameworks. Concurrency and Computation : Practice and Experience, under to be published. 10

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases 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

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

Licences Windows Server 2012 R2 dans le cadre de la virtualisation

Licences Windows Server 2012 R2 dans le cadre de la virtualisation Résumé des licences en volume Licences Windows Server 2012 R2 dans le cadre de la virtualisation Ce résumé s'applique à tous les programmes de licences en volume Microsoft. Sommaire Synthèse... 2 Nouveautés

Plus en détail

ORACLE TUNING PACK 11G

ORACLE TUNING PACK 11G ORACLE TUNING PACK 11G PRINCIPALES CARACTÉRISTIQUES : Conseiller d'optimisation SQL (SQL Tuning Advisor) Mode automatique du conseiller d'optimisation SQL Profils SQL Conseiller d'accès SQL (SQL Access

Plus en détail

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques livre blanc DÉVELOPPEMENT INFONUAGIQUE MEILLEURES PRATIQUES ET APPLICATIONS DE SOUTIEN DÉVELOPPEMENT INFONUAGIQUE - MEILLEURES PRATIQUES 1 Les solutions infonuagiques sont de plus en plus présentes sur

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

Leica Application Suite

Leica Application Suite Leica Application Suite Macro Editor et Macro Runner (Éditeur de macros et Exécuteur de macros) Personnalisées et automatisées 2 Les instructions peuvent être momentanément suspendues» de manière optionnelle

Plus en détail

Logiciel SCRATCH FICHE 02

Logiciel SCRATCH FICHE 02 1. Reprise de la fiche 1: 1.1. Programme Figure : Logiciel SCRATCH FICHE 02 SANS ORDINATEUR : Dessiner à droite le dessin que donnera l'exécution de ce programme : Unité : 50 pas : Remarque : vous devez

Plus en détail

Calculateur quantique: factorisation des entiers

Calculateur quantique: factorisation des entiers Calculateur quantique: factorisation des entiers Plan Introduction Difficulté de la factorisation des entiers Cryptographie et la factorisation Exemple RSA L'informatique quantique L'algorithme quantique

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

Livre blanc Mesure des performances sous Windows Embedded Standard 7

Livre blanc Mesure des performances sous Windows Embedded Standard 7 Livre blanc Mesure des performances sous Windows Embedded Standard 7 Table des matières Résumé... 1 Introduction... 1 Utilisation de la boîte à outils Windows Performance Analysis... 2 Fonctionnement...

Plus en détail

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

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments Recherche Opérationnelle Optimisation combinatoire : Applications et compléments Pierre Delisle Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique 17 février 2014 Plan de

Plus en détail

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

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit. Proposition de stage de BAC+4 ou BAC+5 Pro ou Recherche Etude comparative des outils de vérification d'algorithmes parallèles Logiciels (LSL), localisé à Palaiseau (Essonne), développe les outils d'aide

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

ACQUISITION ANALYSE PRÉSENTATION

ACQUISITION ANALYSE PRÉSENTATION INITIATION AU LOGICIEL D'INSTRUMENTATION LAB ABVIEW 1. INTRODUCTION Labview (Laboratery Virtual Instruments Engineering Workbench) est un environnement de développement d'applications fondé sur un langage

Plus en détail

Annexe : La Programmation Informatique

Annexe : La Programmation Informatique GLOSSAIRE Table des matières La Programmation...2 Les langages de programmation...2 Java...2 La programmation orientée objet...2 Classe et Objet...3 API et Bibliothèque Logicielle...3 Environnement de

Plus en détail

Retrospect 7.7 Addendum au Guide d'utilisation

Retrospect 7.7 Addendum au Guide d'utilisation Retrospect 7.7 Addendum au Guide d'utilisation 2011 Retrospect, Inc. Certaines parties 1989-2010 EMC Corporation. Tous droits réservés. Guide d utilisation d Retrospect 7.7, première édition. L utilisation

Plus en détail

2. Activités et Modèles de développement en Génie Logiciel

2. Activités et Modèles de développement en Génie Logiciel 2. Activités et Modèles de développement en Génie Logiciel Bernard ESPINASSE Professeur à l'université d'aix-marseille Plan Les Activités du GL Analyse des besoins Spécification globale Conceptions architecturale

Plus en détail

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova I. Introduction Dans une période où la plasticité peut aider à réduire les coûts de développement de projets comme des applications mobile,

Plus en détail

LE PROBLEME DU PLUS COURT CHEMIN

LE PROBLEME DU PLUS COURT CHEMIN LE PROBLEME DU PLUS COURT CHEMIN Dans cette leçon nous définissons le modèle de plus court chemin, présentons des exemples d'application et proposons un algorithme de résolution dans le cas où les longueurs

Plus en détail

Les clusters Linux. 4 août 2004 Benoît des Ligneris, Ph. D. benoit.des.ligneris@revolutionlinux.com. white-paper-cluster_fr.sxw, Version 74 Page 1

Les clusters Linux. 4 août 2004 Benoît des Ligneris, Ph. D. benoit.des.ligneris@revolutionlinux.com. white-paper-cluster_fr.sxw, Version 74 Page 1 Les clusters Linux 4 août 2004 Benoît des Ligneris, Ph. D. benoit.des.ligneris@revolutionlinux.com white-paper-cluster_fr.sxw, Version 74 Page 1 Table des matières Introduction....2 Haute performance (High

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

Projet de programme pour l enseignement d exploration de la classe de 2 nde : Informatique et création numérique

Projet de programme pour l enseignement d exploration de la classe de 2 nde : Informatique et création numérique Projet de programme pour l enseignement d exploration de la classe de 2 nde : Informatique et création numérique 19 mai 2015 Préambule L informatique est tout à la fois une science et une technologie qui

Plus en détail

Université Libre de Tunis

Université Libre de Tunis Ingénieur: Génie Informatique Code et Intitulé des Matières Enseignées Plan d'etudes : Semestre 1 S1-01 Algorithmique et Structures de Données 1 S1-02 Programmation C S1-03 Logiques Mathématiques S1-04

Plus en détail

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation

Plus en détail

COMMUNICATEUR BLISS COMMANDE PAR UN SENSEUR DE POSITION DE L'OEIL

COMMUNICATEUR BLISS COMMANDE PAR UN SENSEUR DE POSITION DE L'OEIL COMMUNICATEUR BLISS COMMANDE PAR UN SENSEUR DE POSITION DE L'OEIL J. TICHON(1) (2), J.-M. TOULOTTE(1), G. TREHOU (1), H. DE ROP (2) 1. INTRODUCTION Notre objectif est de réaliser des systèmes de communication

Plus en détail

Qu'est-ce que le BPM?

Qu'est-ce que le BPM? Qu'est-ce que le BPM? Le BPM (Business Process Management) n'est pas seulement une technologie mais, dans les grandes lignes, une discipline de gestion d'entreprise qui s'occupe des procédures contribuant

Plus en détail

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN Table des matières. Introduction....3 Mesures et incertitudes en sciences physiques

Plus en détail

RÉSOLUTION DE SYSTÈMES À DEUX INCONNUES

RÉSOLUTION DE SYSTÈMES À DEUX INCONNUES RÉSOLUTION DE SYSTÈMES À DEUX INCONNUES Sommaire 1 Méthodes de résolution... 3 1.1. Méthode de Substitution... 3 1.2. Méthode des combinaisons linéaires... 6 La rubrique d'aide qui suit s'attardera aux

Plus en détail

Microsoft Dynamics AX 2012 Une nouvelle génération de système ERP

Microsoft Dynamics AX 2012 Une nouvelle génération de système ERP Microsoft Dynamics AX 2012 Une nouvelle génération de système ERP Microsoft Dynamics AX 2012 n'est pas seulement la dernière version d'un excellent produit. Cette solution représente en fait un véritable

Plus en détail

La GEIDE. Dans une solution GEIDE, il est possible d'associer au sein même d'un dossier:

La GEIDE. Dans une solution GEIDE, il est possible d'associer au sein même d'un dossier: La GEIDE Historique de La GEIDE Anciennement "Archivage électronique", La Gestion électronique de Documents "GED" est apparu dans les années 80. Mais le terme GED paraissait restrictif par rapport à ses

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

Les formations en cycle ingénieur

Les formations en cycle ingénieur Les formations en cycle ingénieur Eau, environnement, aménagement Ce domaine forme des ingénieurs capables d'explorer et d'organiser l'espace (surface et sous-sol), d'exploiter durablement les ressources

Plus en détail

modélisation solide et dessin technique

modélisation solide et dessin technique CHAPITRE 1 modélisation solide et dessin technique Les sciences graphiques regroupent un ensemble de techniques graphiques utilisées quotidiennement par les ingénieurs pour exprimer des idées, concevoir

Plus en détail

High Performance by Exploiting Information Locality through Reverse Computing. Mouad Bahi

High Performance by Exploiting Information Locality through Reverse Computing. Mouad Bahi Thèse High Performance by Exploiting Information Locality through Reverse Computing Présentée et soutenue publiquement le 21 décembre 2011 par Mouad Bahi pour l obtention du Doctorat de l université Paris-Sud

Plus en détail

Accélérez le projet de Cloud privé de votre entreprise

Accélérez le projet de Cloud privé de votre entreprise Cisco Cloud Des services cloud complets aident votre entreprise à établir un environnement d'infrastructure as a Service (IaaS) sécurisé, souple et fortement automatisé, pour une prestation de services

Plus en détail

Économies d'échelle... 5. Aide à l'intégration... 6. Mises à niveau... 7. Infrastructure et sécurité de niveau international... 7

Économies d'échelle... 5. Aide à l'intégration... 6. Mises à niveau... 7. Infrastructure et sécurité de niveau international... 7 5 Contents Économies d'échelle... 5 Aide à l'intégration... 6 Mises à niveau... 7 Infrastructure et sécurité de niveau international... 7 Minimisation du risque... 8 Évolutivité... 8 Aptitude à l'emploi...

Plus en détail

Les avantages de la migration vers des services logiciels middleware modernes

Les avantages de la migration vers des services logiciels middleware modernes Les avantages de la migration vers des services logiciels middleware modernes Marcia Kaufman Directrice de l'exploitation et analyste principale Sponsorisé par Red Hat Les avantages de la migration vers

Plus en détail

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes. Introduction L'objectif de mon TIPE est la reconnaissance de sons ou de notes de musique à l'aide d'un réseau de neurones. Ce réseau doit être capable d'apprendre à distinguer les exemples présentés puis

Plus en détail

Rapidolect Les Productions de la Columelle (1998-2006) Page 1

Rapidolect Les Productions de la Columelle (1998-2006) Page 1 Page 1 Page 2 Logiciel Rapidolect RATIONNEL DU JEU Un bon lecteur possède dans sa tête des images précises des mots écrits qu'il connaît. Lorsqu'il parcourt un texte, ses yeux se déplacent par saccades

Plus en détail

CINEMATIQUE DE FICHIERS

CINEMATIQUE DE FICHIERS ANDRE ANTHONY BRUNEAU Vincent JOUANNIN ROMAIN MAZEAUD MARINE RIOCHET Tony Groupe 609 CINEMATIQUE DE FICHIERS Mini-projet: Gestion de Ventes d'articles Enseignant: MONCEAUX Laura Année 2011 / 2012 TABLE

Plus en détail

Virtualisation des postes de travail

Virtualisation des postes de travail Virtualisation des postes de travail Relever les défis de sécurité posés à votre infrastructure de postes de travail virtuels Un livre blanc de Trend Micro Trend Micro est distribué par: I. INTRODUCTION

Plus en détail

Le chiffre est le signe, le nombre est la valeur.

Le chiffre est le signe, le nombre est la valeur. Extrait de cours de maths de 6e Chapitre 1 : Les nombres et les opérations I) Chiffre et nombre 1.1 La numération décimale En mathématique, un chiffre est un signe utilisé pour l'écriture des nombres.

Plus en détail

Communiqué de Lancement

Communiqué de Lancement Direction du Marketing Produits Sage - Division Mid Market Communiqué de Lancement Rapprochement Bancaire 1000 Produit : Rapprochement Bancaire 1000 Bases de Données : Oracle - MS/SQL Server Microsoft

Plus en détail

Une version javascript sera disponible directement dans le cours prochainement.

Une version javascript sera disponible directement dans le cours prochainement. Author : Cédric Vanconingsloo Ce cours est principalement axé sur la compréhension du fonctionnement d'un ordinateur et l'étude du seul langage qu'il connaisse, le binaire. De ce fait, le cours est relativement

Plus en détail

UNION INTERNATIONALE DES TELECOMMUNICATIONS BUREAU DE DEVELOPPEMENT DES TELECOMMUNICATIONS

UNION INTERNATIONALE DES TELECOMMUNICATIONS BUREAU DE DEVELOPPEMENT DES TELECOMMUNICATIONS UNION INTERNATIONALE DES TELECOMMUNICATIONS BUREAU DE DEVELOPPEMENT DES TELECOMMUNICATIONS CONFÉRENCE MONDIALE DE DÉVELOPPEMENT DES TÉLÉCOMMUNICATIONS (CMDT-98) La Valette, Malte, 23 mars - 1 avril 1998

Plus en détail

CLAIRE, UN OUTIL DE SIMULATION ET DE TEST DE LOGICIELS CRITIQUES. Jean GASSINO, Jean-Yves HENRY. Rapport IPSN/Département d'évaluation de sûreté N 280

CLAIRE, UN OUTIL DE SIMULATION ET DE TEST DE LOGICIELS CRITIQUES. Jean GASSINO, Jean-Yves HENRY. Rapport IPSN/Département d'évaluation de sûreté N 280 FR9704668 PC CLAIRE, UN OUTIL DE SIMULATION ET DE TEST DE LOGICIELS CRITIQUES Jean GASSINO, Jean-Yves HENRY eci Rapport IPSN/Département d'évaluation de sûreté N 280 Octobre 1996 INSTITUT DE PROTECTION

Plus en détail

Didacticiel du service cartographique en cache

Didacticiel du service cartographique en cache Didacticiel du service cartographique en cache Copyright 1995-2012 Esri All rights reserved. Table of Contents Didacticiel : Création d'un service de carte mis en cache................... 3 Copyright 1995-2012

Plus en détail

Didacticiel de mise à jour Web

Didacticiel de mise à jour Web Didacticiel de mise à jour Web Copyright 1995-2012 Esri All rights reserved. Table of Contents Didacticiel : Création d'une application de mise à jour Web.................. 0 Copyright 1995-2012 Esri.

Plus en détail

Module 0 : Présentation de Windows 2000

Module 0 : Présentation de Windows 2000 Module 0 : Présentation de Table des matières Vue d'ensemble Systèmes d'exploitation Implémentation de la gestion de réseau dans 1 Vue d'ensemble Donner une vue d'ensemble des sujets et des objectifs de

Plus en détail

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Leçon 11 PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Dans cette leçon, nous retrouvons le problème d ordonnancement déjà vu mais en ajoutant la prise en compte de contraintes portant sur les ressources.

Plus en détail

!-.!#- $'( 1&) &) (,' &*- %,!

!-.!#- $'( 1&) &) (,' &*- %,! 0 $'( 1&) +&&/ ( &+&& &+&))&( -.#- 2& -.#- &) (,' %&,))& &)+&&) &- $ 3.#( %, (&&/ 0 ' Il existe plusieurs types de simulation de flux Statique ou dynamique Stochastique ou déterministe A événements discrets

Plus en détail

Questions et réponses

Questions et réponses Autodesk Simulation 360 11 septembre 2012 Questions et réponses Autodesk Simulation 360 propose un accès souple et puissant aux logiciels de simulation dans un cloud sécurisé. Sommaire 1. Informations

Plus en détail

Ce tutoriel ne fera pas de vous un expert sur le déploiement via WDS, mais il vous permettra de comprendre un peu les rouages de ce système.

Ce tutoriel ne fera pas de vous un expert sur le déploiement via WDS, mais il vous permettra de comprendre un peu les rouages de ce système. Ce tutoriel ne fera pas de vous un expert sur le déploiement via WDS, mais il vous permettra de comprendre un peu les rouages de ce système. L'objectif final de ce tutoriel est de pouvoir déployer une

Plus en détail

NC 06 Norme comptable relative aux Immobilisations incorporelles

NC 06 Norme comptable relative aux Immobilisations incorporelles NC 06 Norme comptable relative aux Immobilisations incorporelles Objectif 01. Une entreprise peut acquérir des éléments incorporels ou peut elle-même les développer. Ces éléments peuvent constituer des

Plus en détail

DUT. Informatique, orientation Imagerie Numérique. Domaine : Sciences, Technologies, Santé. Mention : Informatique

DUT. Informatique, orientation Imagerie Numérique. Domaine : Sciences, Technologies, Santé. Mention : Informatique DUT Informatique, orientation Imagerie Numérique Domaine : Sciences, Technologies, Santé Mention : Informatique Organisation : Institut Universitaire de Technologie Lieu de formation : Le Puy en Velay

Plus en détail

Une protection antivirus pour des applications destinées aux dispositifs médicaux

Une protection antivirus pour des applications destinées aux dispositifs médicaux Une protection antivirus pour des applications destinées aux dispositifs médicaux ID de nexus est idéale pour les environnements cliniques où la qualité et la sécurité des patients sont essentielles. Les

Plus en détail

1. Considérations sur le développement rapide d'application et les méthodes agiles

1. Considérations sur le développement rapide d'application et les méthodes agiles Chapitre 1 Introduction 1. Considérations sur le développement rapide d'application et les méthodes agiles 1.1 Rappel Longtemps les méthodes en cascade ou en V ont été opposées aux démarches empiriques

Plus en détail

Gestion de la mobilité en entreprise (EMM, enterprise mobility management)

Gestion de la mobilité en entreprise (EMM, enterprise mobility management) Tendances du marché Les appareils mobiles rencontrent toujours autant de succès. Selon IDC, d'ici 2015, les ventes de tablettes auront dépassé celles des PC. Gestion de la mobilité en entreprise (EMM,

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

Guide de configuration de SQL Server pour BusinessObjects Planning

Guide de configuration de SQL Server pour BusinessObjects Planning Guide de configuration de SQL Server pour BusinessObjects Planning BusinessObjects Planning XI Release 2 Copyright 2007 Business Objects. Tous droits réservés. Business Objects est propriétaire des brevets

Plus en détail

G. Méthodes de déploiement alternatives

G. Méthodes de déploiement alternatives Page 32 Chapitre 1 - Le fichier MigUser.xml permet de configurer le comportement d'usmt lors de la migration des comptes et profils utilisateurs (capture et restauration). - Le fichier config.xml permet

Plus en détail

Retour d expérience, portage de code Promes dans le cadre de l appel à projets CAPS-GENCI

Retour d expérience, portage de code Promes dans le cadre de l appel à projets CAPS-GENCI , portage de code Promes dans le cadre de l appel à projets CAPS-GENCI PROMES (UPR 8521 CNRS) Université de Perpignan France 29 juin 2011 1 Contexte 2 3 4 Sommaire Contexte 1 Contexte 2 3 4 Laboratoire

Plus en détail

Microsoft Application Center Test

Microsoft Application Center Test Microsoft Application Center Test L'outil de Test de performance des Sites Web Avec Visual Studio.NET, il est fourni une petite application qui permet de valider la performance de son site Internet ou

Plus en détail

Une réussite : Les prix de rachat garantis soutiennent les énergies renouvelables en Allemagne

Une réussite : Les prix de rachat garantis soutiennent les énergies renouvelables en Allemagne Une réussite : Les prix de rachat garantis soutiennent les énergies renouvelables en Allemagne Ce document illustrera comment cette réussite est arrivée, il est composé des parties suivantes : 1. Qu'est

Plus en détail

Algorithmique avec Algobox

Algorithmique avec Algobox Algorithmique avec Algobox 1. Algorithme: Un algorithme est une suite d instructions qui, une fois exécutée correctement, conduit à un résultat donné Un algorithme doit contenir uniquement des instructions

Plus en détail

ENSEIGNEMENT ASSISTÉ PAR ORDINATEUR ET E.A.O. ET LANGUES ÉTRANGÈRES À L'UNIVERSITÉ

ENSEIGNEMENT ASSISTÉ PAR ORDINATEUR ET E.A.O. ET LANGUES ÉTRANGÈRES À L'UNIVERSITÉ 192 ENSEIGNEMENT ASSISTÉ PAR ORDINATEUR ET LANGUES ÉTRANGÈRES À L'UNIVERSITÉ 1. APPLICATIONS PÉDAGOGIQUES DE L'INFORMATIQUE ET ENSEIGNEMENT ASSISTÉ PAR ORDINATEUR (EAOI. 1.1 Différents niveaux d'intervention

Plus en détail

A la conquête des marchés internationaux

A la conquête des marchés internationaux A la conquête des marchés internationaux Révéler le potentiel de marchés inexploités Traduisez vos documents, sites web et applications mobile rapidement et facilement Livre blanc L'âge du Web et la mondialisation

Plus en détail

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET 1 Tianxiao LIU Licence Professionnelle Réseaux & Sécurité Université de Cergy-Pontoise http://depinfo.u-cergy.fr/~tliu/lpg.php PLAN Objectif et

Plus en détail

Calculateur d'économies d'énergie des produits client Dell. Description générale de la consommation d'énergie des systèmes informatiques :

Calculateur d'économies d'énergie des produits client Dell. Description générale de la consommation d'énergie des systèmes informatiques : Calculateur d'économies d'énergie des produits client Dell Objectif : Le calculateur d'économies d'énergie des produits client Dell est un outil destiné aux clients qui leur permettra d'évaluer la quantité

Plus en détail

Siemens Grâce aux documents intelligents, un leader mondial de la haute technologie augmente l efficacité et la précision de ses employés.

Siemens Grâce aux documents intelligents, un leader mondial de la haute technologie augmente l efficacité et la précision de ses employés. Siemens Grâce aux documents intelligents, un leader mondial de la haute technologie augmente l efficacité et la précision de ses employés. Produit phare de l'étude de cas : Microsoft Office Édition Professionnelle

Plus en détail

Gestion du centre de données et virtualisation

Gestion du centre de données et virtualisation Gestion du centre de données et virtualisation Microsoft Corporation Juin 2010 Les informations contenues dans ce document représentent l'opinion actuelle de Microsoft Corporation sur les points cités

Plus en détail

Structure et fonctionnement d'un ordinateur : hardware

Structure et fonctionnement d'un ordinateur : hardware Structure et fonctionnement d'un ordinateur : hardware Introduction : De nos jours, l'ordinateur est considéré comme un outil indispensable à la profession de BDA, aussi bien dans les domaines de la recherche

Plus en détail

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer Le Processus RUP Database Administrator Project Leader H. Kadima Performance Engineer Release Engineer Analyst Designer / Developer Tester Table des matières 1. De l artisanat à l industrialisation de

Plus en détail

L'évolution de VISUAL MESSAGE CENTER Architecture et intégration

L'évolution de VISUAL MESSAGE CENTER Architecture et intégration L'évolution de VISUAL MESSAGE CENTER Architecture et intégration Sommaire Résumé exécutif Base technologique : VISUAL Message Center 2 3 VISUAL Message Center Core Engine VISUAL Message Center Extended

Plus en détail

Projet : PcAnywhere et Le contrôle à distance.

Projet : PcAnywhere et Le contrôle à distance. Projet : PcAnywhere et Le contrôle à distance. PAGE : 1 SOMMAIRE I)Introduction 3 II) Qu'est ce que le contrôle distant? 4 A.Définition... 4 B. Caractéristiques.4 III) A quoi sert le contrôle distant?.5

Plus en détail

Virtualisation, licences, multicoeurs,...

Virtualisation, licences, multicoeurs,... Virtualisation, licences, multicoeurs,... C'est devenu vraiment compliqué de s'y retrouver dans le licensing lorqu'on plonge dans les environnements virtuels... Voici un post qui vous permettra de vous

Plus en détail

Programmation parallèle et distribuée (Master 1 Info 2015-2016)

Programmation parallèle et distribuée (Master 1 Info 2015-2016) Programmation parallèle et distribuée (Master 1 Info 2015-2016) Hadoop MapReduce et HDFS Note bibliographique : ce cours est largement inspiré par le cours de Benjamin Renaut (Tokidev SAS) Introduction

Plus en détail

LES NOMBRES DECIMAUX. I. Les programmes

LES NOMBRES DECIMAUX. I. Les programmes LES NOMBRES DECIMAUX I. Les programmes Au cycle des approfondissements (Cours Moyen), une toute première approche des fractions est entreprise, dans le but d aider à la compréhension des nombres décimaux.

Plus en détail

Bases de Données. Plan

Bases de Données. Plan Université Mohammed V- Agdal Ecole Mohammadia d'ingénieurs Rabat Bases de Données Mr N.EL FADDOULI 2014-2015 Plan Généralités: Définition de Bases de Données Le modèle relationnel Algèbre relationnelle

Plus en détail

I. Introduction aux fonctions : les fonctions standards

I. Introduction aux fonctions : les fonctions standards Chapitre 3 : Les fonctions en C++ I. Introduction aux fonctions : les fonctions standards A. Notion de Fonction Imaginons que dans un programme, vous ayez besoin de calculer une racine carrée. Rappelons

Plus en détail

MS PROJECT 2000. Prise en main. Date: Mars 2003. Anère MSI. 12, rue Chabanais 75 002 PARIS E mail : jcrussier@anere.com Site : www.anere.

MS PROJECT 2000. Prise en main. Date: Mars 2003. Anère MSI. 12, rue Chabanais 75 002 PARIS E mail : jcrussier@anere.com Site : www.anere. DOCUMENTATION MS PROJECT 2000 Prise en main Date: Mars 2003 Anère MSI 12, rue Chabanais 75 002 PARIS E mail : jcrussier@anere.com Site : www.anere.com Le présent document est la propriété exclusive d'anère

Plus en détail

Configurer son courrier électrique avec votre compte Abicom

Configurer son courrier électrique avec votre compte Abicom Configurer son courrier électrique avec votre compte Abicom De tous les services Internet, l'échange de courrier électronique est probablement le plus populaire et plus vieil outil de communication encore

Plus en détail

Note technique. Formats de compression vidéo utilisés par CamTrace V11 avantages et inconvénients.

Note technique. Formats de compression vidéo utilisés par CamTrace V11 avantages et inconvénients. Note technique Formats de compression vidéo utilisés par CamTrace V11 avantages et inconvénients. 1) Formats d'acquisition et de stockage utilisées par CamTrace. CamTrace n'effectue aucune compression

Plus en détail

Développement d'un projet informatique

Développement d'un projet informatique Développement d'un projet informatique par Emmanuel Delahaye (Espace personnel d'emmanuel Delahaye) Date de publication : 27 janvier 2008 Dernière mise à jour : 25 avril 2009 Cet article présente un certain

Plus en détail

1. Introduction... 2. 2. Création d'une macro autonome... 2. 3. Exécuter la macro pas à pas... 5. 4. Modifier une macro... 5

1. Introduction... 2. 2. Création d'une macro autonome... 2. 3. Exécuter la macro pas à pas... 5. 4. Modifier une macro... 5 1. Introduction... 2 2. Création d'une macro autonome... 2 3. Exécuter la macro pas à pas... 5 4. Modifier une macro... 5 5. Création d'une macro associée à un formulaire... 6 6. Exécuter des actions en

Plus en détail

Démontage d'un ordinateur

Démontage d'un ordinateur Espaces multimédias Communauté de Communes Moyenne Vilaine et Semnon : Démontage d'un ordinateur 1- A quoi sert-il de démonter son ordinateur? A) Par simple curiosité B) Pour nettoyer C) Pour remplacer

Plus en détail

ACTIVITÉ DE PROGRAMMATION

ACTIVITÉ DE PROGRAMMATION ACTIVITÉ DE PROGRAMMATION The purpose of the Implementation Process is to realize a specified system element. ISO/IEC 12207 Sébastien Adam Une introduction 2 Introduction Ø Contenu Utilité de l ordinateur,

Plus en détail

L apprentissage automatique

L apprentissage automatique L apprentissage automatique L apprentissage automatique L'apprentissage automatique fait référence au développement, à l analyse et à l implémentation de méthodes qui permettent à une machine d évoluer

Plus en détail

Analyse,, Conception des Systèmes Informatiques

Analyse,, Conception des Systèmes Informatiques Analyse,, Conception des Systèmes Informatiques Méthode Analyse Conception Introduction à UML Génie logiciel Définition «Ensemble de méthodes, techniques et outils pour la production et la maintenance

Plus en détail

Le défi : L'avantage Videojet :

Le défi : L'avantage Videojet : Note d'application Impression-pose d'étiquettes Améliorez votre rendement : passez des applicateurs mécaniques à l'étiquetage Direct Apply TM Le défi : Au cours de ces 20 dernières années, les systèmes

Plus en détail

SIG ET ANALYSE EXPLORATOIRE

SIG ET ANALYSE EXPLORATOIRE SIG ET ANALYSE EXPLORATOIRE VERS DE NOUVELLES PRATIQUES EN GÉOGRAPHIE Jean-Marc ORHAN Equipe P.A.R.I.S., URA 1243 du CNRS Paris Résumé L'offre actuelle dans le domaine des logiciels de type Système d'information

Plus en détail

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» Du cours Modélisation Semi -Formelle de Système d Information Du Professeur Jean-Pierre GIRAUDIN Décembre. 2002 1 Table de matière Partie 1...2 1.1

Plus en détail

Traitement numérique de l'image. Raphaël Isdant - 2009

Traitement numérique de l'image. Raphaël Isdant - 2009 Traitement numérique de l'image 1/ L'IMAGE NUMÉRIQUE : COMPOSITION ET CARACTÉRISTIQUES 1.1 - Le pixel: Une image numérique est constituée d'un ensemble de points appelés pixels (abréviation de PICture

Plus en détail

Suite IBM Tivoli IT Service Management : comment gérer le système d information comme une véritable entreprise

Suite IBM Tivoli IT Service Management : comment gérer le système d information comme une véritable entreprise Suite IBM Tivoli IT Service Management : comment gérer le système d information comme une véritable entreprise Europe Lettre d'annonce du 27 juin 2006 ZP06-0279 En bref Introduction Description Accessibilité

Plus en détail

Les mains dans la bête

Les mains dans la bête Pourquoi démonter son ordinateur? La plupart du temps lorsque l'on ouvre son ordinateur, c'est pour changer ou ajouter un composant. Bien sur, il est possible de faire appel à un professionnel mais il

Plus en détail

Chapitre 7: Énergie et puissance électrique. Lequel de vous deux est le plus puissant? L'énergie dépensée par les deux est-elle différente?

Chapitre 7: Énergie et puissance électrique. Lequel de vous deux est le plus puissant? L'énergie dépensée par les deux est-elle différente? CHAPITRE 7 ÉNERGIE ET PUISSANCE ÉLECTRIQUE 2.4.0 Découvrir les grandeurs physiques qui influencent l'énergie et la puissance en électricité. Vous faites le grand ménage dans le sous-sol de la maison. Ton

Plus en détail