From 2 November 2020, the autumn semester 2020 will take place online. Exceptions: Courses that can only be carried out with on-site presence. Please note the information provided by the lecturers via e-mail.

Torsten Hoefler: Catalogue data in Spring Semester 2017

Name Prof. Dr. Torsten Hoefler
FieldScalable Parallel Computing
Inst. f. Hochleistungsrechnersyst.
ETH Zürich, CAB F 75
Universitätstrasse 6
8092 Zürich
Telephone+41 44 632 63 44
DepartmentComputer Science
RelationshipFull Professor

252-0029-00LParallel Programming Information 7 credits4V + 2UT. Hoefler, M. Vechev
AbstractIntroduction to parallel programming: deterministic and non-deterministic programs, models for parallel computation, synchronization, communication, and fairness.
ObjectiveThe student should learn how to write a correct parallel program, how to measure its efficiency, and how to reason about a parallel program. Student should become familiar with issues, problems, pitfalls, and solutions related to the construction of parallel programs. Labs provide an opportunity to gain experience with threads, libraries for thread management in modern programming lanugages (e.g., Java, C#) and with the execution of parallel programs on multi-processor/multi-core computers.
252-0062-00LOperating Systems and Networks Information 8 credits4V + 3UT. Hoefler, A. Perrig
AbstractThis is an introductory course on computer networks and operating
systems, with a particular focus on networking in the Internet and
monolithic operating systems like Linux and Windows. Network and OS
programming at different levels is an integral part of the course.
ObjectiveThis course is intended as an introduction to both computer networking
and operating systems for computer scientists. Students will get a
comprehensive overview of the key protocols and the general
architecture of the Internet, as one example of more general principles in
network design, and acquire hands-on experience in programming
different aspects of a computer network. In addition, the course
provides a full introduction to modern operating system design, including
memory management, scheduling, I/O, protection, and so on. The
architecture of Unix-like operating systems (such as Linux) is used as
an example of more general principles in OS design.
Lecture notesThe slides for each lecture will be made available in the web pages of the course, along with additional reference material.
LiteratureThe networking material will be based on the following text book:

Computer Networks (5th Edition)
Andrew S. Tanenbaum, David J. Wetherall
Prentice Hall; 5 edition (October 7, 2010)

In addition, the following textbook provides useful background for the operating systems material in the course:

Modern Operating Systems (3rd Edition)
Andrew S. Tanenbaum
Prentice-Hall, 2007
263-3840-00LHardware Architectures for Machine Learning Information 2 credits2SG. Alonso, T. Hoefler, O. Mutlu, C. Zhang
AbstractThe seminar covers recent results in the increasingly important field of hardware acceleration for data science and machine learning, both in dedicated machines or in data centers.
ObjectiveThe seminar aims at students interested in the system aspects of machine learning, who are willing to bridge the gap across traditional disciplines: machine learning, databases, systems, and computer architecture.
ContentThe seminar is intended to cover recent results in the increasingly important field of hardware acceleration for data science and machine learning, both in dedicated machines or in data centers.
Prerequisites / NoticeThe seminar should be of special interest to students intending to complete a master's thesis or a doctoral dissertation in related topics.