![]() |
Universität Karlsruhe (TH)
– Fakultät für Informatik |
| ILKD – Algorithmentheorie, Algorithm-Engineering | |
|
|
| |
The goal of this project is to implement the cache-oblivious distribution sorting algorithm. In case of success your implementation should outperform the quicksort variant std::sort from the STL library. As a starting point you should take the implementation of Kumar [link]. |
| |
The goal of this project
is to tune the existing implementation of the Super Scalar Sample Sort
(see Sanders et al [postscript]).
You will concentrate on several optimizations that were not
investigated
in the paper. Your
implementation should have a speedup over std::sort
from the STL
library. You might test your code on different modern
processors we have: Opteron, Intel Prescott
Pentium 4, PowerPC G5. |
| |
In this project you will
reimplement the cache-efficient sequence heaps of Sanders [postscript]
making them space efficient. Space efficiency can be achieved by
implementing the sequence
data structure as singly linked list of memory pages. The second goal
of this project is to make your implementation compatible with std::priority_queue
from STL.
Finally you compare the performance of your tuned
implementation with the performance of the binary heaps. |
| |
The first goal of this project is to implement the cache-oblivious search tree according to Bender et al. (2002) and compare its performance to std::map. The basic implementation should be enhanced using indirection as described in Bender et al. (2000). Further improvements are possible if time permits. The delete operation can be omitted due to time constraints. |
| |
The goal of this project is to implement a cache-aware (a,b)-tree (see Mehlhorn et al.). When such a tree is traversed, we have to decide at each node which branch to take. This decision should be done using techniques adopted from Super Scalar Sample Sort (Sanders et al.). The performance should be compared to std::map. Furthermore, a comparison between Project 4 and 5 could be done. |
| 1. Woche 17.04 - 23.04 |
C++ Einführung |
Mi 20.04.2005 9:45 Raum 211 |
| 2. Woche 24.04 - 30.04 | C++ Einführung | Mi 27.04.2005 9:45 Raum 211 |
| 3. Woche 1.05 - 7.05 | C++ Einführung | Mi 4.05.2005 9:45 Raum 211 |
| 4. Woche 8.05 - 14.05 | Warm-up Übung:
Matrix-Transposition |
Deadline: 11.05.2005 13:00 |
| 5. Woche 15.05 - 21.05 | Projektpresentation |
|
| 7. Woche 22.05 - 28.05 | ||
| 8. Woche 29.05 - 4.06 | ||
| 9. Woche 5.06 - 11.06 | ||
| 10. Woche 12.06 - 18.06 | ||
| 11. Woche 19.06 - 25.06 | ||
| 12. Woche 26.06 - 2.07 | ||
| 13. Woche 3.07 - 9.07 | Abschlusspräsentation |