Informatik II

Informatik II

Einführung in die Informatik
und die Imperative Programmierung

Intel i7 CPU

Seminar on Parallelism and Concurrency

Unleashing the multicores with
Parallel and Concurrent programming

Weitere Themen Print

Themenbeschreibung

Thema Bearbeitet durch
1.
Dynamic, multithreaded approach to nested data parallelism
(MSc Thesis)

Advisers: George Giorgidze and Jeroen Weijers

This thesis project involves development of a number of dynamic, multithreaded implementations of nested data parallelism in Haskell. The dynamic, multithreaded implementations should be compared to existing static compiler transformation based implementations both in performance and ease of implementation.

 

Alexandros Gremm

2.
GHC extensions for overloading list notation and rebinding of SQL-like monad comprehension notation
(Studienarbeit)

Advisers: George Giorgidze and Jeroen Weijers

This project involves implementation of GHC extensions for overloading the list notation and rebinding of the SQL-like monad comprehension notation.

 

Achim Krause

3.
Design und Population einer relationalen Datenbank zu Star Wars
(Bachelor-/Studienarbeit)

Ansprechpartner: Torsten Grust

Diese Arbeit konzipiert und implementiert eine relationale Datenbank zum STAR WARS Franchise von George Lucas/Lucasfilm. Primär soll diese Datenbank in der Lehre und für Demonstrationen eingesetzt werden und bisherige (teilweise oft langweilige) Standardbeispiele für Datenbanken ersetzen. Die Datenbank soll die Inhalte sämtlicher STAR WARS Filme repräsentieren (Charaktere und deren Beziehungen, Locations, Fahrzeuge, Dialoge, ...) und damit für Anfragen zugänglich machen. Die benötigten Daten stehen in verschiedensten Quellen und Formaten im Netz zur Verfügung, s. etwa die Wookiepedia, müssen aber auch teilweise manuell eingepflegt werden. Die Arbeit umfasst das konzeptuelle Design einer relationalen Datenbank, die Realisierung mittels IBM DB2 und/oder PostgreSQL, sowie die Population der Tabellen der Datenbank. Ein Besuch der Vorlesung Datenbanksysteme I (oder äquivalente Kenntnisse) ist Voraussetzung. Kenntnisse in einer Skriptsprache (Perl, Python, Ruby, ...) sind sicher hilfreich. STAR WARS Fans zu sein, kann ebenfalls nicht schaden ツ.

Matthias Kramer
4.
Design and implementation of a LLVM backend for a SASL compiler
(master/diploma thesis)

Contact: Alexander Ulrich

In one lab assignment used at the database systems chair, students implement a full-blown compiler for the programming language SASL. SASL is a simple functional programming language which has been developed by David Turner in 1973. One outstanding feature of SASL is its non-strict (lazy) evaluation, which can also be found in the better-known programming language Haskell. In the current version of the assignment, SASL programs are executed on a simple virtual machine via a translation into so-called SKI combinators. This strategy has the advantage of being conceptually simple and easy to implement, but results on the other hand in a markedly inefficient evaluation.

The goal of this proposed thesis is to replace the current backend of the SASL compiler with a new backend which generates code for the Low Level Virtual Machine (LLVM). LLVM is a state-of-the-art compiler infrastructure which translates an abstract high-level assembly language into optimized machine code for a specific architecture. Expected benefits are a more efficient evaluation of SASL programs and the availability of modern compiler technology for teaching. To achieve this, a new compilation scheme for the SASL compiler based on existing concepts and literature has to be developed and implemented. The new scheme will have to generate LLVM code via another virtual machine (the G-Machine).

As the outcomes of this proposed thesis will ideally be used in teaching, conceptual simplicity is as important as efficient evaluation.

For this thesis, skills in compiler construction and functional programming languages are helpful.

Paul Rosset