227-0085-33L  Projekte & Seminare: Accelerating Genome Analysis with FPGAs, GPUs, and New Execution Paradigms

SemesterHerbstsemester 2020
DozierendeO. Mutlu
Periodizitätjedes Semester wiederkehrende Veranstaltung
LehrspracheEnglisch
KommentarNur für Elektrotechnik und Informationstechnologie BSc.

Die Lerneinheit kann nur einmal belegt werden. Eine wiederholte Belegung in einem späteren Semester ist nicht anrechenbar.


KurzbeschreibungDer Bereich Praktika, Projekte, Seminare umfasst Lehrveranstaltungen in unterschiedlichen Formaten zum Erwerb von praktischen Kenntnissen und Fertigkeiten. Ausserdem soll selbstständiges Experimentieren und Gestalten gefördert, exploratives Lernen ermöglicht und die Methodik von Projektarbeiten vermittelt werden.
LernzielA genome encodes a set of instructions for performing some functions within our cells. Analyzing our genomes helps, for example, to determine differences in these instructions (known as genetic variations) from human to human that may cause diseases or different traits. One benefit of knowing the genetic variations is better understanding and diagnosis of diseases and the development of efficient drugs.

Computers are widely used to perform genome analysis using dedicated algorithms and data structures. However, timely analysis of genomic data remains a daunting challenge, due to the complex algorithms and large datasets used for the analysis. Increasing the number of processing cores used for genome analysis decreases the overall analysis time, but significantly escalates the cost of building, maintaining, and cooling such a computing cluster, as well as the power/energy consumed by the cluster. This is a critical shortcoming with respect to both energy production and environmental friendliness. Cloud computing platforms can be used as an alternative to distribute the workload, but transferring the data between the clinic and the cloud poses new privacy and legal concerns.

In this course, we will cover the basics of genome analysis to understand the computational steps of the entire pipeline and find the computational bottlenecks. Students will learn about the existing efforts for accelerating one or more of these steps and will have the chance to carry out a hands-on project to improve these efforts.

Prerequisites of the course:
- No prior knowledge in bioinformatics or genome analysis is required.
- Digital Design and Computer Architecture (or equivalent course)
- A good knowledge in C programming language is required.
- Experience in at least one of the following is highly desirable:
FPGA implementation and GPU programming.
- Interest in making things efficient and solving problems

The course is conducted in English.

Course website: https://safari.ethz.ch/projects_and_seminars/doku.php?id=bioinformatics

Learning Materials
===============
1. A survey on accelerating genome analysis: https://arxiv.org/pdf/2008.00961
2. A detailed survey on the state-of-the-art algorithms for sequencing data: https://arxiv.org/pdf/2003.00110
3. An example of how to accelerate genomic sequence matching by two orders of magnitude with the help of FPGAs or GPUs: https://arxiv.org/abs/1910.09020
4. An example of how to accelerate read mapping step by an order of magnitude and without using hardware acceleration: https://arxiv.org/pdf/1912.08735
5. An example of using a different computing paradigm for accelerating read mapping step and improving its energy consumption: https://arxiv.org/pdf/1708.04329
6. Two examples on using software/hardware co-design to accelerate genomic sequence matching by two orders of magnitude: https://arxiv.org/abs/1604.01789 https://arxiv.org/abs/1809.07858