Suchergebnis: Katalogdaten im Herbstsemester 2019
Informatik Master ![]() | ||||||
![]() | ||||||
![]() ![]() | ||||||
![]() ![]() ![]() | ||||||
Nummer | Titel | Typ | ECTS | Umfang | Dozierende | |
---|---|---|---|---|---|---|
252-1414-00L | System Security ![]() | W | 7 KP | 2V + 2U + 2A | S. Capkun, A. Perrig | |
Kurzbeschreibung | The first part of the lecture covers individual system aspects starting with tamperproof or tamper-resistant hardware in general over operating system related security mechanisms to application software systems, such as host based intrusion detection systems. In the second part, the focus is on system design and methodologies for building secure systems. | |||||
Lernziel | In this lecture, students learn about the security requirements and capabilities that are expected from modern hardware, operating systems, and other software environments. An overview of available technologies, algorithms and standards is given, with which these requirements can be met. | |||||
Inhalt | The first part of the lecture covers individual system's aspects starting with tamperproof or tamperresistant hardware in general over operating system related security mechanisms to application software systems such as host based intrusion detetction systems. The main topics covered are: tamper resistant hardware, CPU support for security, protection mechanisms in the kernel, file system security (permissions / ACLs / network filesystem issues), IPC Security, mechanisms in more modern OS, such as Capabilities and Zones, Libraries and Software tools for security assurance, etc. In the second part, the focus is on system design and methodologies for building secure systems. Topics include: patch management, common software faults (buffer overflows, etc.), writing secure software (design, architecture, QA, testing), compiler-supported security, language-supported security, logging and auditing (BSM audit, dtrace, ...), cryptographic support, and trustworthy computing (TCG, SGX). Along the lectures, model cases will be elaborated and evaluated in the exercises. | |||||
![]() ![]() ![]() | ||||||
Nummer | Titel | Typ | ECTS | Umfang | Dozierende | |
252-0817-00L | Distributed Systems Laboratory Im Masterstudium können zusätzlich zu den Vertiefungsübergreifenden Fächern nur max. 10 Kreditpunkte über Laboratorien erarbeitet werden. Diese Labs gelten nur für das Masterstudium. Weitere Laboratorien werden auf dem Beiblatt aufgeführt. | W | 10 KP | 9P | G. Alonso, F. Mattern, T. Roscoe, A. Singla, R. Wattenhofer, C. Zhang | |
Kurzbeschreibung | This course involves the participation in a substantial development and/or evaluation project involving distributed systems technology. There are projects available in a wide range of areas: from web services to ubiquitous computing including wireless networks, ad-hoc networks, RFID, and distributed applications on smartphones. | |||||
Lernziel | Gain hands-on-experience with real products and the latest technology in distributed systems. | |||||
Inhalt | This course involves the participation in a substantial development and/or evaluation project involving distributed systems technology. There are projects available in a wide range of areas: from web services to ubiquitous computing including as well wireless networks, ad-hoc networks, and distributed application on smartphones. The goal of the project is for the students to gain hands-on-experience with real products and the latest technology in distributed systems. There is no lecture associated to the course. For information of the course or projects available, see https://www.dsl.inf.ethz.ch/ or contact Prof. Mattern, Prof. Wattenhofer, Prof. Roscoe or Prof. G. Alonso. | |||||
263-2210-00L | Computer Architecture ![]() | W | 8 KP | 6G + 1A | O. Mutlu | |
Kurzbeschreibung | Computer architecture is the science and art of selecting and interconnecting hardware components to create a computer that meets functional, performance and cost goals. This course introduces the basic components of a modern computing system (processors, memory, interconnects, storage). The course takes a hardware/software cooperative approach to understanding and evaluating computing systems. | |||||
Lernziel | We will learn the fundamental concepts of the different parts of modern computing systems, as well as the latest trends by exploring the recent research in Industry and Academia. We will extensively cover memory technologies (including DRAM and new Non-Volatile Memory technologies), memory scheduling, parallel computing systems (including multicore processors and GPUs), heterogeneous computing, processing-in-memory, interconnection networks, specialized systems for major data-intensive workloads (e.g. graph processing, bioinformatics, machine learning), etc. | |||||
Inhalt | The principles presented in the lecture are reinforced in the laboratory through the design and simulation of a register transfer (RT) implementation of a MIPS-like pipelined processor in System Verilog. In addition, we will develop a cycle-accurate simulator of a similar processor in C, and we will use this simulator to explore different design options. | |||||
Skript | All the materials (including lecture slides) will be provided on the course website: https://safari.ethz.ch/architecture/ The video recordings of the lectures are expected to be made available after lectures. | |||||
Literatur | We will provide required and recommended readings in every lecture. They will mainly consist of research papers presented in major Computer Architecture and related conferences and journals. | |||||
Voraussetzungen / Besonderes | Design of Digital Circuits | |||||
263-3850-00L | Informal Methods ![]() | W | 4 KP | 2G + 1A | D. Cock | |
Kurzbeschreibung | Formal methods are increasingly a key part of the methodological toolkit of systems programmers - those writing operating systems, databases, and distributed systems. This course is about how to apply concepts, techniques, and principles from formal methods to such software systems, and how to get into the habit of thinking formally about systems design even when writing low-level C code. | |||||
Lernziel | This course is about equipping students whose focus is systems with the insights and conceptual tools provided by formal methods, and therby enabling them to become better systems programmers. By the end of the course, students should be able to seamlessly integrate basic concepts form formal methods into how they conceive, design, implement, reason about, and debug computer systems. The goal is not to provide a comprehensive introduction to formal methods - this is well covered by other courses in the department. Instead, it is intended to provide students in computer systems (who may or may not have existing background knowledge of formal methods) with a basis for applying formal methods in their work. | |||||
Inhalt | This course does not assume prior knowledge of formal methods, and will start with a quick review of topics such static vs. dynamic reasoning, variants and invariants, program algebra and refinement, etc. However, it is strongly recommended that students have already taken one of the introductory formal methods course at ETH (or equivalents elsewhere) before taking this course - the emphasis is on reinforcing these concepts by applying them, not to teach them from scratch. Instead, the majority of the course will be about how to apply these techniques to actual, practical code in real systems. We will work from real systems code written both by students taking the course, and practical systems developed using formal techniques, in particular the verified seL4 microkernel will be a key case study. We will also focus on informal, pen-and-paper arguments for correctness of programs and systems rather than using theorem provers or automated verification tools; again these latter techniques are well covered in other courses (and recommended as a complement to this one). | |||||
252-0437-00L | Verteilte Algorithmen ![]() Findet dieses Semester nicht statt. | W | 5 KP | 3V + 1A | F. Mattern | |
Kurzbeschreibung | Modelle verteilter Berechnungen; Raum-Zeit Diagramme; Virtuelle Zeit; Logische Uhren und Kausalität; Wellenalgorithmen; Verteilte und parallele Graphtraversierung; Berechnung konsistenter Schnappschüsse; Wechselseitiger Ausschluss; Election und Symmetriebrechung; Verteilte Terminierung; Garbage-Collection in verteilten Systemen; Beobachten verteilter Systeme; Berechnung globaler Prädikate. | |||||
Lernziel | Kennenlernen von Modellen und Algorithmen verteilter Systeme. | |||||
Inhalt | Verteilte Algorithmen sind Verfahren, die dadurch charakterisiert sind, dass mehrere autonome Prozesse gleichzeitig Teile eines gemeinsamen Problems in kooperativer Weise bearbeiten und der dabei erforderliche Informationsaustausch ausschliesslich über Nachrichten erfolgt. Derartige Algorithmen kommen im Rahmen verteilter Systeme zum Einsatz, bei denen kein gemeinsamer Speicher existiert und die Übertragungszeit von Nachrichten i.a. nicht vernachlässigt werden kann. Da dabei kein Prozess eine aktuelle konsistente Sicht des globalen Zustands besitzt, führt dies zu interessanten Problemen. Im einzelnen werden u.a. folgende Themen behandelt: Modelle verteilter Berechnungen; Raum-Zeit Diagramme; Virtuelle Zeit; Logische Uhren und Kausalität; Wellenalgorithmen; Verteilte und parallele Graphtraversierung; Berechnung konsistenter Schnappschüsse; Wechselseitiger Ausschluss; Election und Symmetriebrechung; Verteilte Terminierung; Garbage-Collection in verteilten Systemen; Beobachten verteilter Systeme; Berechnung globaler Prädikate. | |||||
Literatur | - F. Mattern: Verteilte Basisalgorithmen, Springer-Verlag - G. Tel: Topics in Distributed Algorithms, Cambridge University Press - G. Tel: Introduction to Distributed Algorithms, Cambridge University Press, 2nd edition - A.D. Kshemkalyani, M. Singhal: Distributed Computing, Cambridge University Press - N. Lynch: Distributed Algorithms, Morgan Kaufmann Publ | |||||
![]() ![]() ![]() | ||||||
Nummer | Titel | Typ | ECTS | Umfang | Dozierende | |
263-3504-00L | Hardware Acceleration for Data Processing ![]() The deadline for deregistering expires at the end of the second week of the semester. Students who are still registered after that date, but do not attend the seminar, will officially fail the seminar. | W | 2 KP | 2S | G. Alonso, C. Zhang | |
Kurzbeschreibung | The seminar will cover topics related to data processing using new hardware in general and hardware accelerators (GPU, FPGA, specialized processors) in particular. | |||||
Lernziel | The seminar will cover topics related to data processing using new hardware in general and hardware accelerators (GPU, FPGA, specialized processors) in particular. | |||||
Inhalt | The general application areas are big data and machine learning. The systems covered will include systems from computer architecture, high performance computing, data appliances, and data centers. | |||||
Voraussetzungen / Besonderes | Students taking this seminar should have the necessary background in systems and low level programming. | |||||
263-3900-01L | Communication Networks Seminar ![]() ![]() Number of participants limited to 20. The deadline for deregistering expires at the end of the second week of the semester. Students who are still registered after that date, but do not attend the seminar, will officially fail the seminar. | W | 2 KP | 2S | A. Singla | |
Kurzbeschreibung | We explore recent advances in networking by reading high quality research papers, and discussing open research opportunities, most of which are suitable for students to later take up as thesis or semester projects. | |||||
Lernziel | The objectives are (a) to understand the state-of-the-art in the field; (b) to learn to read, present and critique papers; (c) to engage in discussion and debate about research questions; and (d) to identify opportunities for new research. Students are expected to attend the entire seminar, choose a topic for presentation from a given list, make a presentation on that topic, and lead the discussion. Further, for each reading, every student needs to submit a review before the in-class discussion. Students are evaluated on their submitted reviews, their presentation and discussion leadership, and participation in seminar discussions. | |||||
Literatur | A program will be posted here: https://ndal.ethz.ch/courses/networks-seminar.html, comprising of a list of papers the seminar group will cover. | |||||
Voraussetzungen / Besonderes | An undergraduate-level understanding of networking, such that the student is familiar with concepts like reliable transport protocols (like TCP) and basics of Internet routing. ETH courses that fulfill this requirement: Computer Networks (252-0064-00L) and its predecessor (Operating Systems and Networks -- 252-0062-00L). Similar courses at other universities are also sufficient. |
Seite 1 von 1