397001 Software Engineering: Making Programs Fast (S) (SoSe 2004)

Kurzkommentar

Teilnehmerzahl auf 20 begrenzt! Bitte in die Liste am schwarzen Brett im Flur neben M3-106 eintragen!
Limited number of participants! Please put your name on the list in M3 (next to M3-106)!

Inhalt, Kommentar

Der doppeldeutige Titel des Kurses wurde absichtlich gewählt: (a) 'schnelle
Entwicklungsmethoden für die Programmierung' und (b) 'Entwicklung effizienter
Programme'. Dieser Kurs ist der Anfang einer Serie angewandter Seminare zum
Thema 'Software Engineering'. Das Seminar und das dazugehörige Tutorium
werden im GZI (Computer Pool) in direkter zeitlicher Abfolge gehalten. Auf
diese Weise können alle vorgestellten Techniken unmittelbar in der Praxis
ausprobiert werden. Wir wollen, dass Ihr 'hands on' Erfahrungen sammelt!

Der Kurs dieses Semesters hat Programmoptimierung unter Nutzung von C Compiler
und Profiling Werkzeugen eines Unix Systems (in unserem Fall: Solaris) zum
Ziel. Dazu gehören Werkzeuge wie: standard C Compiler Optimierungsoptionen,
automatische Optimierung durch Profilauswertung, Performance Analyzer, Kernel
Cache Statistiken, I/O Statistiken. Aber auch Optimierungstechniken wie:
memory mapped file I/O, optimized libraries, compiler pragmas, loop unrolling,
branch avoidance, aliasing avoidance, memory alignment probleme, cache-aware
array access.

Wir werden Euch zeigen wie man:

  • Die geeignete Hardware-Plattform auswählt fuer die man optimiert
  • Ein Programm durch Unit-Tests validiert
  • Ein Programm-Benchmark schreibt
  • Die Basis-Laufzeit eines unoptimierten Programms misst
  • Einfache Optimierung mit dem Compiler durchführt
  • Automatisch die Laufzeit und Validierung wiederholt
  • Aggressive Optimierung mit dem Compiler durchführt
  • Bottlenecks mit verschiedenen Profiling-Werkzeugen identifiziert
  • Programmcode zur Verbesserung der Laufzeit umschreibt

Software Engineering: Making Programs Fast

The title of this course was intentionaly chosen to have a double meaning: (a)
'fast design of programs' and (b) 'design of fast programs'. It is intended as
the start of a series of applied seminars on software engineering. The seminar
and its accompanying tutorial will be held in a computer pool in direct
succession. That way everything that is presented can be applied in practice
immediately. We want you to get 'hands on' experience in software engineering!

This semesters' course will focus on optimizing programs utilizing C compiler
features and profiling tools of a Unix OS (Solaris) such as: standard compiler
optimization switches, advanced compiler optimization via profiles,
Performance Analyser, kernel cache statistics, I/O statistics; as well as code
optimization techniques such as: memory mapped file I/O, optimized libraries,
compiler pragmas, loop unrolling, branch avoidance, aliasing avoidance, memory
alignment issues, cache-aware array access.

We will show you how to:

  • make an informed choice of which hardware platform to optimize for
  • validate a program: write unit tests
  • benchmark a program: write timing tests
  • measure the baseline performance of unoptimized code
  • perform simple compiler optimization
  • automatically retest and measure performance
  • perform aggressive compiler optimization
  • identify performance bottlenecks with various profiling tools
  • refactor and rewrite code to improve performance

Teilnahmevoraussetzungen, notwendige Vorkenntnisse

Der Kurs ist auf 20 Teilnehmer begrenzt. Ihr solltet die Programmiersprache C
in ihren Grundzügen beherrschen.

The course is limited to 20 participants. You should have a basic
understanding of the programming language C.

Externe Kommentarseite

http://www.cebitec.uni-bielefeld.de/groups/gs/CURRICULUM

Lehrende

Termine ( Kalendersicht )

Rhythmus Tag Uhrzeit Format / Ort Zeitraum  

Zeige vergangene Termine >>

Fachzuordnungen

Studiengang/-angebot Gültigkeit Variante Untergliederung Status Sem. LP  
Graduate School in Bioinformatics and Genome Research / Promotion    
Naturwissenschaftliche Informatik / Diplom (Einschreibung bis SoSe 2004) SE   HS

Keine Konkretisierungen vorhanden
Kein E-Learningangebot vorhanden
Adresse:
SS2004_397001@ekvv.uni-bielefeld.de
Lehrende, ihre Sekretariate sowie für die Pflege der Veranstaltungsdaten zuständige Personen können über diese Adresse E-Mails an die Veranstaltungsteilnehmer*innen verschicken. WICHTIG: Sie müssen verschickte E-Mails jeweils freischalten. Warten Sie die Freischaltungs-E-Mail ab und folgen Sie den darin enthaltenen Hinweisen.
Falls die Belegnummer mehrfach im Semester verwendet wird können Sie die folgende alternative Verteileradresse nutzen, um die Teilnehmer*innen genau dieser Veranstaltung zu erreichen: VST_1087668@ekvv.uni-bielefeld.de
Hinweise:
Weitere Hinweise zu den E-Mailverteilern
Letzte Änderung Grunddaten/Lehrende:
Freitag, 11. Dezember 2015 
Letzte Änderung Zeiten:
Montag, 2. Februar 2004 
Letzte Änderung Räume:
Montag, 2. Februar 2004 
Art(en) / SWS
Seminar (S) / 1
Fragen oder Korrekturen?
Fragen oder Korrekturwünsche zu dieser Veranstaltung?
Planungshilfen
Terminüberschneidungen für diese Veranstaltung
Link auf diese Veranstaltung
Wenn Sie diese Veranstaltungsseite verlinken wollen, so können Sie einen der folgenden Links verwenden. Verwenden Sie nicht den Link, der Ihnen in Ihrem Webbrowser angezeigt wird!
Der folgende Link verwendet die Veranstaltungs-ID und ist immer eindeutig:
https://ekvv.uni-bielefeld.de/kvv_publ/publ/vd?id=1087668
Seite zum Handy schicken
Klicken Sie hier, um den QR Code zu zeigen
Scannen Sie den QR-Code: QR-Code vergrößern
ID
1087668