Search result: Catalogue data in Autumn Semester 2017

Computer Science Master Information
Focus Courses
Focus Courses in Distributed Systems
Focus Core Courses Distributed Systems
NumberTitleTypeECTSHoursLecturers
263-3800-00LAdvanced Operating Systems Information W6 credits2V + 2U + 1AT. Roscoe
AbstractThis course is intended to give students a thorough understanding of design and implementation issues for modern operating systems, with a particular emphasis on the challenges of modern hardware features. We will cover key design issues in implementing an operating system, such as memory management, scheduling, protection, inter-process communication, device drivers, and file systems.
ObjectiveThe goals of the course are, firstly, to give students:

1. A broader perspective on OS design than that provided by knowledge of Unix or Windows, building on the material in a standard undergraduate operating systems class

2. Practical experience in dealing directly with the concurrency, resource management, and abstraction problems confronting OS designers and implementers

3. A glimpse into future directions for the evolution of OS and computer hardware design
ContentThe course is based on practical implementation work, in C and assembly language, and requires solid knowledge of both. The work is mostly carried out in teams of 3-4, using real hardware, and is a mixture of team milestones and individual projects which fit together into a complete system at the end. Emphasis is also placed on a final report which details the complete finished artifact, evaluates its performance, and discusses the choices the team made while building it.
Prerequisites / NoticeThe course is based around a milestone-oriented project, where students work in small groups to implement major components of a microkernel-based operating system. The final assessment will be a combination grades awarded for milestones during the course of the project, a final written report on the work, and a set of test cases run on the final code.
252-1414-00LSystem Security Information W5 credits2V + 2US. Capkun, A. Perrig
AbstractThe 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.
ObjectiveIn 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.
ContentThe 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.
Focus Elective Courses Distributed Systems
NumberTitleTypeECTSHoursLecturers
252-0437-00LDistributed Algorithms Information W4 credits3VF. Mattern
AbstractModels of distributed computations, time space diagrams, virtual time, logical clocks and causality, wave algorithms, parallel and distributed graph traversal, consistent snapshots, mutual exclusion, election and symmetry breaking, distributed termination detection, garbage collection in distributed systems, monitoring distributed systems, global predicates.
ObjectiveBecome acquainted with models and algorithms for distributed systems.
ContentVerteilte 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.
Literature- 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
252-0817-00LDistributed Systems Laboratory Information
In the Master Programme max.10 credits can be accounted by Labs on top of the Interfocus Courses. These Labs will only count towards the Master Programme. Additional Labs will be listed on the Addendum.
W10 credits9PG. Alonso, T. Hoefler, F. Mattern, T. Roscoe, A. Singla, R. Wattenhofer, C. Zhang
AbstractThis 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.
ObjectiveGain hands-on-experience with real products and the latest technology in distributed systems.
ContentThis 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 Link or contact Prof. Mattern, Prof. Wattenhofer, Prof. Roscoe or Prof. G. Alonso.
263-2210-00LComputer Architecture Information W8 credits6G + 1AO. Mutlu
AbstractComputer 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 hardware structure of a modern programmable computer, including the basic laws underlying performance evaluation.
ObjectiveWe will learn, for example, how to design the control and data path hardware for a MIPS-like processor, how to make machine instructions execute simultaneously through pipelining and simple superscalar execution, and how to design fast memory and storage systems.
ContentThe 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 this processor in C, and we will use this simulator to explore processor design options.
Prerequisites / NoticeDigital technology
Seminar Distributed Systems
NumberTitleTypeECTSHoursLecturers
263-3900-00LCommunication Networks Seminar Information Restricted registration - show details
Number of participants limited to 20.
W2 credits2SA. Singla
AbstractWe will study recent advances in computer networking by reading, presenting, and discussing research papers from recent iterations of the top conferences in the area, including NSDI, SIGCOMM, and CoNEXT.
ObjectiveThe 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.
263-3504-00LHardware Acceleration for Data Processing Information W2 credits2SG. Alonso, T. Hoefler, O. Mutlu, C. Zhang
AbstractThe seminar will cover topics related to data processing using new hardware in general and hardware accelerators (GPU, FPGA, specialized processors) in particular.
ObjectiveThe seminar will cover topics related to data processing using new hardware in general and hardware accelerators (GPU, FPGA, specialized processors) in particular.
ContentThe 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.
Prerequisites / NoticeStudents taking this seminar should have the necessary background in systems and low level programming.
  •  Page  1  of  1