Le site de l'Université Paris-Saclay est actuellement en cours de mise à jour suite à sa restauration, après la cyberattaque subie en août. Certaines informations peuvent ne pas être encore actualisées. Nous travaillons à les remettre à jour au plus vite. Dans l'intervalle, nous vous remerçions de votre compréhension.
Le parcours type Computer & Network Systems vise à former les étudiants aux métiers d'architecte système au sens large.
Le parcours-types propose deux voies différentes et complémentaires :
- une voie Systèmes en réseau
- une voie Systèmes autonomiques
La formation a pour objectif de donner aux étudiants toutes les bases scientifiques nécessaires pour la conception de ces systèmes.
Concernant la voie Systèmes en réseau, l'accent est mis sur le déploiement, la gestion, le contrôle et l'optimisation d'infrastructures
informatiques à large échelle et à haute performance.
Concernant la voie Systèmes autonomiques, l'accent est mis sur la conception de systèmes dont les propriétés d'autonomie sont intrinsèques,
c'est-à-dire des systèmes capables de s'auto-gérer, s'auto-organiser, s'auto-protéger et s'auto-optimiser.
Sur un plan scientifique, l'objectif est de présenter les connaissances nécessaires concernant les modèles de performances (automates, réseaux
de Petri, files d'attentes, ...); les méthodes d'optimisation (théorie des jeux, optimisation multicritères dont l'énergie, ...); les méthodes
formelles pour la conception, la vérification, le test; l'intelligence artificielle (machine learning, apprentissage par renforcement, systèmes
multi-agents, ...); etc.
Lieu(x) d'enseignement
EVRY
Pré-requis, profil d’entrée permettant d'intégrer la formation
Le Master 2 est accessible aux étudiants titulaires du M1 "Computer & Network Systems" et, sur examen de leur dossier, aux étudiants titulaires d'un M1 en informatique, d'un Bachelor (en 4 ans) ou Master in Computer Science, d'un M2 en informatique étranger, ou d'un diplôme d'ingénieur à forte composante informatique. Toutes les candidatures sont étudiées par le jury d'admission.
Compétences
Mémoriser les concepts de base des systèmes informatiques.
Décrire les besoins fonctionnelles de systèmes informatiques dans des cahiers de charge.
Appliquer les concepts de base pour proposer des solutions architecturales et techniques.
Analyser le fonctionnement des systèmes informatiques complexes.
Proposer des solutions innovantes.
Justifier les choix techniques et technologiques.
Profil de sortie des étudiants ayant suivi la formation
ingénieur de conception informatique de systèmes en réseaux
ingénieur de conception informatique de systèmes intelligents distribués
Débouchés de la formation
Voie Systèmes en réseau :
●architecte système
●architecture infrastructure sécurisée
●architecte de réseaux
●chef de projet
●ingénieur intégration
●ingénieur de développement
●ingénieur support technique
●ingénieur validation
●ingénieur d'études
●consultant télécoms
●audit sécurité
●administrateur de réseau
●designer plateforme de services
●gestionnaire cloud
●gestionnaire de datacenter
●gestionnaire des systèmes de sauvegarde
●AMOA
Voie Systèmes autonomiques :
● ingénieur conception informatique de systèmes intelligents pour applications distribuées, infrastructures réseaux d'entreprises, réseaux de capteurs, équipements électroniques en réseaux, entrepôt et traitement massif de données, distribution d'énergie
● architecte de solutions logicielles
● ingénieur conception/opération de centres de traitement de données (data centers)
● ingénieur conseil en systèmes informatiques complexes
● ingénieur conseil en informatique écologique
● responsable service informatique de centre de calcul
● responsable infogérance production et cloud
● directeur technique informatique d'entreprise
● ingénieur R&D
et, après un doctorat :
● ingénieur R&D au sein d'entreprises telles que Orange, Intel, Microsoft, IBM, ou Google
● chercheur en informatique en milieu académique
Responsable du sous-parcours "Systèmes autonomiques", équipe enseignante du sous-parcours "Systèmes autonomiques".
Déroulement et organisation pratique :
Un projet de conception d'un système complexe est décomposé en une demi-douzaine de sous-projets pour des équipes de trois étudiants encadrés par des enseignants de différentes UE. Des réunions sont organisées très régulièrement, entre les équipes et leurs encadrants, et pour la coordination entre équipes. Les projets font l'objet de soutenances.
Objectifs pédagogiques visés :
Contenu :
Réalisation d'un projet par équipes permettant d'intégrer les connaissances présentées dans les différents cours du semestre.
L'objectif est ainsi de développer la capacité de modéliser et résoudre un problème appliqué en utilisant des méthodes vues en cours, de travailler en équipe et de présenter un travail d'équipe.
Période(s) et lieu(x) d’enseignement :
Période(s) :
Septembre - Octobre - Novembre - Décembre - Janvier.
Intitulé de l’UE en anglais :
Methodological tools
ECTS :
2.5
Détail du volume horaire :
Cours :18
Modalités d'organisation et de suivi :
Coordinateur :
Equipe pédagogique :
Responsable du sous-parcours "Systèmes autonomiques".
Déroulement et organisation pratique :
Travail régulier en séances et à la maison.
Objectifs pédagogiques visés :
Contenu :
L'objectif de cet enseignement est d'habituer les étudiants à utiliser certains outils méthodologiques puissants pour, entre autres, trouver un stage adapté à ses intérêts et ses capacités, développer une problématique pour le mémoire dans le cadre d'un stage en entreprise, et faire un état de l'art des travaux accessibles répondant à une problématique.
Période(s) et lieu(x) d’enseignement :
Période(s) :
Septembre - Octobre - Novembre - Décembre - Janvier.
Administration et développement de systèmes pour les centres de calcul et de données
Langues d’enseignement :
FR
ECTS :
2.5
Détail du volume horaire :
Cours :18
Modalités d'organisation et de suivi :
Coordinateur :
Equipe pédagogique :
Patrice Lucas.
Objectifs pédagogiques visés :
Contenu :
Voir la description de l'UE « Administration et développement système pour les centres de calcul et de données » dans le sous-parcours "Systèmes en réseau".
Prérequis :
Voir la description de l'UE « Administration et développement système pour les centres de calcul et de données » dans le sous-parcours "Systèmes en réseau".
Période(s) et lieu(x) d’enseignement :
Période(s) :
Septembre - Octobre - Novembre - Décembre - Janvier.
L'apprentissage profond (en anglais deep learning) est un ensemble de méthodes d'apprentissage automatique tentant de modéliser avec un haut niveau d’abstraction des données grâce à des réseaux de neurones artificiel. Ces techniques ont permis des progrès importants et rapides dans les domaines de l'analyse du signal sonore ou visuel et notamment de la reconnaissance faciale, de la reconnaissance vocale, de la vision par ordinateur, du traitement automatisé du langage.
Programme :
• Réseaux de neurones
• Réseaux de convolution
• Réseaux récurrents
• Réseaux génératif
• Interprétation de modèles
• Framework deep learning.
The objective of this course is to present the key concepts and techniques for the design and engineering of autonomic systems and more particularly the autonomic networks (SON: Self-Organizing Networks).
This course addresses the different techniques for monitoring, analyzing and controlling complex systems such as network infrastructures. The aim is to design future large scale IT infrastructures with a high level of resilience and quality of service despite their complexity and heterogeneity.
Prérequis :
Internet network architecture and TCP/IP protocols.
Période(s) et lieu(x) d’enseignement :
Période(s) :
Septembre - Octobre - Novembre - Décembre - Janvier.
The objectives of the cloud computing course are to enable the students to gain a deep understanding of the software implementation concepts of a cloud so that they can be users - expert developers but also administrators or contributors for such infrastructures. Accordingly the course will address the major features of current cloud systems, namely virtualization (at the storage, computing and networking levels), storage (file system level but also data management system), security, elasticity, programming models, optimal allocation of resources. The concepts are presented based on the state of the art of the domain and on what is used in the cloud computing market (like AWS, Google app engine or MS Azure).
Course chapters:
- General Introduction
- Virtualization and cloud
- Cloud storage at the file-level
- Cloud storage at the database level
- Security in the cloud
- Programming models for the cloud
- Optimal allocation of resources in the cloud.
Prérequis :
- practice of a programming language like Java or C ++
- basic knowledge of operating systems
- basic knowledge of computer networks
- basic knowledge of relational database management systems.
Période(s) et lieu(x) d’enseignement :
Période(s) :
Septembre - Octobre - Novembre - Décembre - Janvier.
Les différentes manières d'aborder un problème d'optimisation multicritère (agrégation des objectifs, optimisation sous contraintes, l'approche point idéal, l'ensemble de Pareto, etc.).
Obtention de courbes de Pareto approchées avec garantie de performance pour plusieurs problèmes d'optimisation combinatoire (plus cours chemins notamment, et problèmes d'ordonnancement avec minimisation d'énergie).
Programmation dynamique multiobjectif.
Méthodes de descente de gradient multiobjectif pour l'optimisation continue.
Optimisation en apprentissage et optimisation en-ligne (minimisation du regret, méthode de 1er ordre: descente de gradient, stratégies de descente miroir, mise à jour des poids multiplicatifs …).
Prérequis :
Notions standards en algorithmique.
Bibliographie :
Multicriteria Optimization, M. Ehrgott, Springer 2005.
Période(s) et lieu(x) d’enseignement :
Période(s) :
Septembre - Octobre - Novembre - Décembre - Janvier.
Approches formelles pour la vérification de programmes
Langues d’enseignement :
FR
ECTS :
2.5
Détail du volume horaire :
Cours :18
Modalités d'organisation et de suivi :
Coordinateur :
Equipe pédagogique :
Catherine Dubois, Guillaume Burel (ENSIIE).
Déroulement et organisation pratique :
Le cours se décompose en trois parties :
1. Introduction à la nécessité des approches formelle. Rappel logique du premier ordre. Spécification de programmes impératifs. Vérification à run-time. Vérification à run-time sur machine à l'aide du plugin E-ACSL de Frama-C.
2. Preuve automatique : SMT et résolution. Déduction naturelle. Assistant à la démonstration. Illustration avec Coq. Utilisation sur machine des outils de preuve mécanisée.
3. Logique de Hoare. Calcul de plus faible précondition. Modèle mémoire. Preuve de programme sur machine à l'aide du plugin WP de Frama-C.
Objectifs pédagogiques visés :
Contenu :
Les méthodes formelles permettent de garantir la sûreté d'un système par rapport à une spécification donnée. Dans ce cours, on étudiera principalement les approches basées sur la preuve, qui requièrent des spécifications très expressives. Après un rappel sur la logique du premier ordre, seront présentées les principales méthodes pour faire des preuves assistées par ordinateur : d'une part des outils complétement automatiques comme les solveurs
Satisfiabilité Modulo Théorie et les prouveurs automatiques pour la logique du premier ordre ; d'autre part les assistants à la démonstration qui sont plus puissants mais nécessitent l'interventionde l'utilisateur. Il sera également étudié comment ajouter des spécifications à un programme, sous la forme d'annotations et/ou de contrats. Pour vérifier ces annotations, deux approches orthogonales peuvent être utilisées : d'une part, la vérification dynamique, qui a lieu lors de l'exécution du programme ; d'autre part, par le biais de la logique de
Hoare, la transformation des annotations en obligations de preuve dont la démonstration garantit le respect de la spécification avant mêmetoute exécution. Le cours abordera ces deux approches. Le cours comporte également une inititaion à la manipulation des plugins EACSL et WP de la plateforme d'analyse des programmes C appelée Frama-C.
Prérequis :
Cours de logique de base : logique propositionnelle, logique du
premier ordre, sémantique. Pratique d'un langage de programmation.
The objectives of the course are to understand the fundamentals of concurrent systems, to be able to model and rigorously compare these systems, to be able to check functional correction properties of these systems.
Contents:
Two families of models will be discussed:
- Discrete models (finite automata, Petri nets), inter-leaving vs. "true concurrence", validation of mutual ex-clusion properties, absence of deadlock, equity, bounded-ness ...
- Their timed extensions (timed automata, timed Petri nets), model-checking, symbolic approaches, limitations, tools (UPPAAL, TINA).
Prérequis :
Basic knowledge of formal languages and automata theory.
Période(s) et lieu(x) d’enseignement :
Période(s) :
Septembre - Octobre - Novembre - Décembre - Janvier.
The six lectures are accompanied by homework assignments related to the references and other papers.
Objectifs pédagogiques visés :
Contenu :
To optimize their performance, complex computer and network systems (CNSs) must react quickly to changes in their environment. For that purpose, autonomic computing proposes to automate the administration of these systems via a general structure of feedback loops. The course presents a unified view of a variety of approaches for the design of safe and efficient feedback control loops for CNSs.
Course chapters :
- Discrete event and discrete time dynamical modeling of CNSs.
- The Markov decision approach to the control of queueing systems and its limitations. Solutions based on game theory.
- Regulator design for a web server using a linear model. Solution based on non-linear modeling.
- Operating regions. Multi-model switching control. Stability.
- Self-tuning regulator. Model predictive control. Adaptive control using multiple models.
- Reinforcement learning of performance models. Hierarchical control.
Prérequis :
A course on automata ; basic linear algebra ; introduction to continuous optimization.
Bibliographie :
Feedback Control as MAPE-K loop in Autonomic Computing. E. Rutten, N. Marchand, D. Simon. Software Engineering for Self-Adaptive Systems III. Assurances, LNCS 9640, pp. 349-373. Springer, 2018.
Introduction to Discrete Event Systems. C. Cassandras, S. Lafortune. Springer, 2009.
Feedback Control of Computing Systems. J. Hellerstein, Y. Diao, S. Parekh, D.M. Tilbury. Wiley-Interscience, 2004.
Modeling and Analyzing MAPE-K Feedback Loops for Self-adaptation. P. Arcaini, E. Riccobene, P. Scandurra. Proc. 10th Int. Symp. on Software Engineering for Adaptive and Self-Managing systems, pp. 13-23
Période(s) et lieu(x) d’enseignement :
Période(s) :
Septembre - Octobre - Novembre - Décembre - Janvier.
Game theory is used to investigate the fundamental mechanism underpinning the decision making. This theoretical framework is used in computer science to study the complexity of self-star systems. The objective of this course is to introduce the techniques and concepts from non-cooperative and cooperative games to provide algorithms for entities to cooperate, self-organize and respond to changes in their environment while optimizing a certain objective function. At the end of the UE, the student will be able to solve algorithmic and specification problems based on game theory. The main parts of this course addresses:
a.Introduction to game theory
b.Strategic game theory
c.Algorithmic based game theory
d.Nash equilibria computation
e.Parity game theory
f.Price of anarchy and price of stability
g.Mechanism design (VCG mechanism) and truthful algorithms.
h.Application to concrete cases including scheduling, routing and decision-making problems.
Prérequis :
Standard knowledge in algorithmics.
Bibliographie :
Algorithmic Game Theory, N. Nissam, T. Roughgarden, E. Tardos, V. Vazirani, Cambridge University Press, 2007.
Période(s) et lieu(x) d’enseignement :
Période(s) :
Septembre - Octobre - Novembre - Décembre - Janvier.
Les systèmes complexes sont aujourd'hui cruciaux pour de nombreux domaines et de nombreuses applications. Aussi le test de leur fonctionnalité, de leur intégration et de l'interopérabilité avec d'autres systèmes est primordial. Bien que de nombreuses méthodes soient appliquées pour le test des systèmes communicants, les systèmes complexes apportent de nouvelles contraintes (entités distribuées, observabilité, contrôlabilité, etc.) qu’il est aujourd’hui nécessaire de considérer.
Plusieurs facettes seront abordées dans ce cours.
Les méthodes formelles standardisées pour la spécification de ces systèmes complexes, L'étude des standards permettant de générer des suites de test (PUIO, HSI, etc.), Les notations standardisées TTCN et ETSI pour l'exécution des scripts de test et des outils industriels.
Prérequis :
Bases sur les systèmes communicants.
Période(s) et lieu(x) d’enseignement :
Période(s) :
Septembre - Octobre - Novembre - Décembre - Janvier.
Modélisation formelle à base d'algèbres de réseaux de Petri
Langues d’enseignement :
FR
ECTS :
2.5
Détail du volume horaire :
Cours :18
Modalités d'organisation et de suivi :
Coordinateur :
Equipe pédagogique :
Franck Pommereau.
Déroulement et organisation pratique :
L’enseignement se déroule en une succession de cours et de travaux dirigés. Les concepts sont présentés en cours, puis appliqués dans des séquences plus interactives.
Objectifs pédagogiques visés :
Contenu :
Ce cours présente la famille de formalismes des algèbres de réseaux de Petri. Il s’agit de réseaux de Petri qui peuvent être composés à la manière des termes dans les algèbres de processus, ce qui permet de construire de grands systèmes par assemblage de plus petits composants. On présente successivement les réseaux de Petri colorés et diverses extensions pour en faire des algèbres offrant différentes opérations : synchronisation de transitions, contrôle de flot, exceptions, threads et préemption. Ces formalismes sont ensuite appliqués à différents domaines pour modéliser des problèmes de domaines variés : systèmes critiques, systèmes temps-réel, protocoles de sécurité, régulation biologique multicellulaire, écosystèmes. Enfin, des techniques de vérification et d’analyse spécifiques à ces formalismes sont présentées, montrant comment tirer parti de leurs spécificités pour obtenir une efficacité inatteignable dans le cas général.
Prérequis :
Connaissances générales en informatique de niveau master.
Specifications of open systems and self-managed systems
Langues d’enseignement :
AN
ECTS :
2.5
Détail du volume horaire :
Cours :18
Modalités d'organisation et de suivi :
Coordinateur :
Equipe pédagogique :
Serena Cerrito, Catherine Dubois (ENSIIE).
Déroulement et organisation pratique :
Lectures, exercice sessions and lab sessions (using the Rodin framework).
Objectifs pédagogiques visés :
Contenu :
The objective of this course is twofold, as it offers formal tools to specifying and verify two kinds of systems:
a)“Open systems”, which interact with an environment whose behavior is unknown or only partially known;
b)Self-managed systems which modify their functional behavior in order to adapt to changes within the system or its environment.
With respect to (a), the course presents ATL (Alternating-time Temporal Logic), a multi-agent extension of CTL (Computational Tree Logic). This logic allows to represent an open system as a game between the systems components and the environment: in ATL scenarios agents play synchronously, can form coalitions, and can develop strategies to assure a temporal property of the system, no matter how the opponents act. Besides presenting the syntax and the semantics of ATL, the course describes a model-checking algorithm for the automatic verification of formulae expressing desired features of the system.
With respect to (b), students are introduced to the design and development of correct-by-construction safety-critical systems through formal reasoning, proof-based development and refinement. The course emphasizes the notions of global properties and stepwise development from an abstract model to more concrete ones. The Event-B modeling language and associated Rodin tools are presented to check and verify the correctness of required system. A case study of dynamic reconfigurable system is used as an illustration.
Prérequis :
With respect to (a), a good knowledge of basic classical logic is strictly necessary. An additional previous knowledge of temporal logics like LTL (Linear Temporal Logic) or CTL might help, but the course will be self-contained and will not presuppose it.
With respect to (b), good skills in logics are required.
Bibliographie :
For (a), some chapters of the book:
Stéphane Demri, Valentin Goranko , Martin Lange,
Temporal Logics in Computer Science: Finite-State Systems, Cambridge Tracts in Theoretical Computer Science.
With respect to (b)
J. Abrial, Modeling in Event-B - System and Software Engineering. Cambridge University Press, 2010.
Période(s) et lieu(x) d’enseignement :
Période(s) :
Septembre - Octobre - Novembre - Décembre - Janvier.
L'objectif du cours est d'aborder les outils fondamentaux d'analyse et de modélisation des systèmes complexes et d'en étudier l'application sur des problématiques de systèmes informatiques autogérés. Les outils transversaux de la complexité trouvent dans cette perspective un nouveau champ applicatif à explorer.
Contenu :
Introduction aux outils théoriques relatifs à la dynamique des systèmes complexes résultant de l'interaction de multiples agents concurrents, souvent configurés en réseau.
Présentation de différents modèles permettant la conception et la régulation dynamique de systèmes décentralisés fondés sur les principes d'auto-organisation et d'émergence, et, dans ce cadre,
présentation des mécanismes principaux de l'intelligence collective et d'un ensemble d'exemples d'application (auto-assemblage, routage adaptatif, optimisation, etc.).
Période(s) et lieu(x) d’enseignement :
Période(s) :
Septembre - Octobre - Novembre - Décembre - Janvier.
Cours, Travaux dirigés et Travaux pratiques
Contrôle continu, Examen.
Objectifs pédagogiques visés :
Contenu :
Le cours comporte deux volets :
Dans un premier temps, un panorama de la problématique de la Sécurité des réseaux : définitions, menaces, attaques, classifications, éléments de sécurité, sensibilité des données, D.I.C.T. et sinistralité
Dans un deuxième temps, les modèles et méthodes de Sécurité : protocoles et méthodes de cryptage, Kerberos, PKI, Méthode ISO, Méthode Ebios, Méhari, Analyse de risques, PCI-DSS, Architectures de Sécurité, Plan de Continuité, Politique de Sécurité, parcours d’audit, les organismes référencés.
Prérequis :
Aucun.
Période(s) et lieu(x) d’enseignement :
Période(s) :
Septembre - Octobre - Novembre - Décembre - Janvier.
Le cours est structuré en trois parties :
- analyse de la norme ISO 27000 et en particulier des mesures ISO 27002 de sécurisation des systèmes informatiques.
- étude des méthodes d'analyses de risques des systèmes informatiques et réseaux illustrée via les méthodes MEHARI du CLUSIF et EBIOS de l'ANSSI.
- analyse approfondie des problématiques d'authentification, d'autorisation et de la gestion d'identité dans des contextes applicatifs, systèmes et réseaux.
Objectifs pédagogiques visés :
Contenu :
Connaître et comprendre les enjeux liés à la sécurité des systèmes d'informations, mettre en oeuvre des analyses de risques et des dispositifs de sécurisations. Seront étudiés les méthodologies de gestion et d'analyses de risques de sécurité ainsi que les solutions de sécurisation des autorisations, des identifications et des authentifications dans des contextes intranet, internet et mobile.
Prérequis :
Aucun.
Période(s) et lieu(x) d’enseignement :
Période(s) :
Septembre - Octobre - Novembre - Décembre - Janvier.
Intitulé de l’UE en anglais :
Internship, Employment and Communication
ECTS :
2.5
Détail du volume horaire :
Cours :18
Modalités d'organisation et de suivi :
Coordinateur :
Equipe pédagogique :
POMMEREAU Franck
AGOULMINE Nazim.
Déroulement et organisation pratique :
Ce cours comporte trois parties :
une préparation à la rédaction du mémoire de fin d'études ;
une préparation à la recherche de stage et d'emploi.
une préparation à la communication
Alternance de présentation de concepts, de discussions, et d'exercices pratiques.
Exposés en groupe, travaux écrits.
Objectifs pédagogiques visés :
Contenu :
L'objectif est de donner des élément concrets pour péparer les étudiants à la réalisation du mémoire de fin d'étude qui se déroule hors de l'université (entreprise ou laboratoire de recherche) et qui sera soutenu à l'issu du stage de M2.
On y présente des conseils pour trouver un stage ou un emploi, comment candidater, comment organiser Egalement des conseils méthodologiques pour explorer un sujet de mémoire et le traiter, l'écriture du mémoire pendant le stage, comment élaborer la problématique , comment lier le mémoire au sujet de stage, etc.communiquer, les critères d'évaluation d'un mémoire, d'une présentation, etc.
Des exercices pratiques permettent complètent l'enseignement.
Ce cours prépare à la réalisation du mémoire de fin d'étude qui est soutenu à l'issu du stage de M2.
Prérequis :
Aucun.
Bibliographie :
Aucun.
Période(s) et lieu(x) d’enseignement :
Période(s) :
Septembre - Octobre - Novembre - Décembre - Janvier.
Administration et développement de systèmes pour les centres de calcul et de données
Langues d’enseignement :
FR
ECTS :
2.5
Détail du volume horaire :
Cours :18
Modalités d'organisation et de suivi :
Coordinateur :
Equipe pédagogique :
Patrice Lucas.
Déroulement et organisation pratique :
Pour chacune des thématiques, à partir des principales solutions open-source disponibles que nous déployerons pour les prendre en main, nous mettrons en évidence les problématiques théoriques, algorithmes et structures de données clés. Nous ré-implémenterons par nous même des exemples de ces différentes solutions par du développement de maquettes, essentiellement en C et Python, que les étudiants pourront approfondir sous la forme de mini-projets.
Objectifs pédagogiques visés :
Contenu :
Afin de garantir des niveaux élevés de fiabilité et de performance, les systèmes informatiques déployés au sein des centres de calcul, de stockage et de traitement des données, sont massivement distribués. Nous étudierons au sein de ce cours les principaux défis techniques relevés par ces solutions communément utilisées au sein des datacenters d'aujourd'hui et de demain :
-shell distribué (ClusterShell API) : programmation événementielle,
-gestion de configuration (Puppet) : ressource abstraction layer,
-gestion de message (Kafka, Protobuf) : sérialisation,
-gestion et distribution de services virtuels ou en conteneur (Kubernetes, Openstack) : élection, consensus, migration,
-systèmes de fichiers parallèles et hiérarchiques (Lustre) : pool, tier, policy engine,
-systèmes clé-valeurs et NoSQL (Redis, MongoDB) : sharding, réplication, persistence,
-stockage objet (S3, Swift, Scality, OpenIO, Phobos) : consistent hashing, multi-level distributed tree.
Prérequis :
- première expérience d'administration système sous environnement UNIX/Linux
- première expérience de programmation C et Python.
Le cours est décomposé en six séances de 3 heures. Durant chaque séance, nous alternons théorie et pratique dans l’optique de maitriser à la fois les concepts des applications Web RESTful mais aussi de savoir les mettre en œuvre en pratique. Ceci est primordial pour bien comprendre les écueils techniques usuels rencontrés dans le développement de ces applications. Après avoir abordé les principes REST et mis en place un premier service Web rudimentaire durant les 2 premières séances, nous suivons les différents niveaux du modèle de maturité de Richardson pour comprendre et développer une application Web RESTful de niveau 3 (HATEOAS).
Objectifs pédagogiques visés :
Contenu :
L’architecture orientée service (ou AOS) permet de concevoir et déployer des applications sous forme de composants logiciels (les services) interopérable communiquant de manière faible ou « lâche ». L’objectif du cours est de comprendre et mettre en œuvre ce type d’architecture dans le contexte des applications Web prédominantes aujourd’hui et plus particulièrement les applications REST, pour Representational State Transfer. Ce style d’architecture permet de développer des services web tirant pleinement parti des capacités du système massivement distribué qu’est le World Wide Web. Pour cela, nous allons étudier et utiliser les principes REST pour construire des services Web. Ceci inclut de :
- Utiliser les technologies de base du Web : le protocole http, le standard de nommage URI et les formats XML etJSON
- Introduire les architectures orientées services et ressource
- Montrer le bénéfice des architectures REST sur les architectures basées RPC (pour Remote Procedure Calls)
- Etudier des exemples réels de service Web RESTful (services Amazon, Google, Facebook,…)
- Apprendre à développer une application respectant le modèle de maturité de Richardson.
Prérequis :
- Connaissance d’au moins un langage de programmation parmi Java, Javascript et Python.
- Connaissance des principes de conception et programmation orientée objet
- Notions de conception et programmation parallèles (distribuée et concurrente).
Bibliographie :
RESTful Web Services, Leonard Richardson, Sam Ruby, O'Reilly Media, 2008.
Période(s) et lieu(x) d’enseignement :
Période(s) :
Septembre - Octobre - Novembre - Décembre - Janvier.
L'indexation recouvre un ensemble de techniques visant à transformer les documents pour préparer l'accès à l'information textuelle. Ce cours présente conjointement les techniques d'indexation permettant d'extraire des descripteurs simplifiés de documents textuels et les principaux paradigmes développés dans les moteurs de recherche.
Le cas de la recherche sur Internet, des systèmes de question réponse et de résumé automatique sont plus détaillés car ils constituent des enjeux importants pour les développements industriels futurs dans ce domaine.
Différents modes de visualisation de documents sont finalement présentés qui s'appuient sur des techniques d'indexation, de classification et d'accès aux informations textuelles.
Prérequis :
Aucun.
Période(s) et lieu(x) d’enseignement :
Période(s) :
Septembre - Octobre - Novembre - Décembre - Janvier.
Programmation parallèle pour le calcul à haute performance
Langues d’enseignement :
FR
ECTS :
2.5
Détail du volume horaire :
Cours :18
Modalités d'organisation et de suivi :
Coordinateur :
Déroulement et organisation pratique :
Nous explorerons en détails chacun des paradigmes de programmation proposés en les appliquant à des exemples précis pour lesquels nous developperons des codes de calculs parallèles. Ces exemples pourront être approfondis par les étudiants sous la forme de mini-projets.
Objectifs pédagogiques visés :
Contenu :
Tirer profit des architectures de calcul hautes-performances nécessitent la maîtrise d'API de programmation dédiées.
Intitulé de l’UE en anglais :
Quality of Service in Networks
ECTS :
2.5
Détail du volume horaire :
Cours :18
Modalités d'organisation et de suivi :
Coordinateur :
Déroulement et organisation pratique :
Cours, Travaux dirigés et articles de recherche /Tutorials, practical examples, research papers
Examen Final / Final Exam.
Objectifs pédagogiques visés :
Contenu :
Le but de ce cours est d'introduire tout d’abord les différents concepts liés aux performances des systèmes et réseaux en réseau. En particulier, la définition de la qualité de service (QoS), du SLA (accord de niveau de service) et du SLS (spécification du niveau de service) et leur relation avec le fonctionnement des services fournis. Le deuxième objectif est d'introduire les différentes méthodes analytiques permettant de modéliser ces réseaux et systèmes et d'évaluer la qualité de service attendue sous différentes hypothèses.
The goal of this course is to first introduce the different concept related to the performance of networked systems and networks. In particular, the definition of Quality of Service (QoS), SLA (Service Level Agreement) and SLS (Service Level Specification) and how they related to the functioning of the delivered services. The second objective is to introduce the different analytical methods to model these networks and systems and evaluate the expected Quality of Service under different hypothesis.
Prérequis :
Bases des réseaux informatiques
Basis of Computer Networks.
Bibliographie :
1.Qualité de Service dans les Réseaux Hauts Débits Prof. Tülin ATMACA, Institut Mines Télécom/Télécom SudParis
2.Performance Evaluation of Computer and Communication Systems 1st Edition by Jean-Yves Le Boudec(Author)
3.Bruno Baynat et all, Théorie des files d’attente «des chaînes de Markov aux réseaux à formes produit», Hermès, Juin 2000.
Période(s) et lieu(x) d’enseignement :
Période(s) :
Septembre - Octobre - Novembre - Décembre - Janvier.
The goal of this course is to present the recent advances in the architectures of computers network from high performance hardware-based functions to commodity programmable hardware and software functions that are executed in back end datacenters.
After presenting traditional IP network architectures, this course highlights the needs for a better control of existing IP based networks. In particular, the benefit of transforming hardware function into software that can be programmability instrumented (NFV: Network Function Virtualization). The SDN architecture and the associated protocols called OpenFlow and Netconf/Yang are detailed. The different implementations are presented. Specific optimizations of SDN and NFV are discussed. Finally, a more general picture of SDN in the context of Cloud Computing, Edge Computing, Mobile Cloud and Fog Cloud is presented.
Prérequis :
Internet network architecture and TCP/IP protocols, QoS.
Bibliographie :
1. Network Programmability and Automation: Skills for the Next-Generation Network Engineer Paperback – Mar 3 2018 by Jason Edelman (Author), Scott S. Lowe (Author), Matt Oswalt (Author).
Période(s) et lieu(x) d’enseignement :
Période(s) :
Septembre - Octobre - Novembre - Décembre - Janvier.
Projet R&D : Analyse, Modélisation et spécification
Langues d’enseignement :
FR/AN
Intitulé de l’UE en anglais :
R&D Projects
ECTS :
5
Détail du volume horaire :
Travaux dirigés :26
Modalités d'organisation et de suivi :
Coordinateur :
Equipe pédagogique :
Tous les enseignants qui interviennent dans le Master.
Déroulement et organisation pratique :
Les équipes projet seront composés de 3 ou 4 étudiants.
Les sujets sont proposés par des enseignants et ces derniers encadrent les équipes tout le long du projet.
Des réunions régulières d'avancement de projets seront organisées sous la responsabilité des enseignants.
Les projets font l'objet de soutenances.
Objectifs pédagogiques visés :
Contenu :
Réalisation d'un projet sur une thématique définie par un groupe d'étudiants constituant une équipe. Le projet vise à mettre en situation les étudiants dans un contexte de gestion du cycle de vie d'un projet R&D de l'expression des besoins jusqu'à la résolution des problèmes associés, la réalisation d'un prototype et la fourniture d'un document de synthèse. Le projet doit intégrer les connaissances acquises dans la formation.
Prérequis :
Aucun.
Période(s) et lieu(x) d’enseignement :
Période(s) :
Septembre - Octobre - Novembre - Décembre - Janvier.
Tous les enseignants qui interviennent dans le Master.
Déroulement et organisation pratique :
Les équipes projet seront composés de 3 ou 4 étudiants.
Les sujets sont proposés par des enseignants et ces derniers encadrent les équipes tout le long du projet.
Des réunions régulières d'avancement de projets seront organisées sous la responsabilité des enseignants.
Les projets font l'objet de soutenances.
Objectifs pédagogiques visés :
Contenu :
Réalisation d'un projet sur une thématique définie par un groupe d'étudiants constituant une équipe. Le projet vise à mettre en situation les étudiants dans un contexte de gestion du cycle de vie d'un projet R&D de l'expression des besoins jusqu'à la résolution des problèmes associés, la réalisation d'un prototype et la fourniture d'un document de synthèse. Le projet doit intégrer les connaissances acquises dans la formation.
Prérequis :
Aucun.
Période(s) et lieu(x) d’enseignement :
Période(s) :
Septembre - Octobre - Novembre - Décembre - Janvier.
Fiche de choix de M2 (obligatoire pour les candidats inscrits en M1 à l'Université Paris-Saclay) à télécharger sur https://urlz.fr/i3Lo.
Document justificatif des candidats exilés ayant un statut de réfugié, protection subsidiaire ou protection temporaire en France ou à l’étranger (facultatif mais recommandé, un seul document à fournir) :
- Carte de séjour mention réfugié du pays du premier asile
- OU récépissé mention réfugié du pays du premier asile
- OU document du Haut Commissariat des Nations unies pour les réfugiés reconnaissant le statut de réfugié
- OU récépissé mention réfugié délivré en France
- OU carte de séjour avec mention réfugié délivré en France
- OU document faisant état du statut de bénéficiaire de la protection subsidiaire en France ou à l’étranger.