In many
modern applications that deal with massive data sets, communication between
internal and external memory, and not actual computation time, is the bottleneck
in the computation. This is due to the huge difference in access time of fast
internal memory and slower external memory such as disks. In order to amortize
this time over a large amount of data, disks typically read or write large
blocks of contiguous data at once. This means that it is important to design
algorithms with a high degree of locality in their disk access pattern, that
is, algorithms where data accessed close in time is also stored close on disk.
Such algorithms take advantage of block transfers by amortizing the large
access time over a large number of accesses. In the area of I/O-efficient
algorithms the main goal is to develop algorithms that minimize the number of
block transfers (I/Os) used to solve a given problem.
This class will cover I/O-efficient algorithms and data structures for
fundamental problems in e.g. graph theory and computational geometry, with
focus on the techniques used to design such algorithms. After the class the
participants should be well-equipped to conduct master or phd level research in
the area.
Office: Turing 224
Phone: 8942-9336
E-mail: large@daimi.au.dk
Third quarter:
and fourth quarter: Thursday 9:15-12:00 in IT-huset room 112
The class
will cover a subset of the following:
|
Lec. |
Date |
Topic |
|
Slides |
|
- |
Jan 31 |
Cancelled (Lars sick) |
- |
- |
|
1 |
Feb 7 |
Introduction: Hierarchical memory, I/O-model,
fundamental bounds |
Gerth (lectured because Lars sick): pc.ppt, hw.pdf, lb1.pdf, lb2.pdf |
|
|
2 |
Feb 14 |
Project
1: I/O-efficient merge-sort |
[Anote] sec 1-3 |
|
|
3 |
Feb 21 |
Searching:
Persistent
B-trees, buffer trees |
[Anote] sec 4-5 |
|
|
4 |
Feb 28 |
Geometric
data structures: Interval
trees, Priority search trees |
[Anote] sec 6-7 |
|
|
5 |
Mar 6 |
Geometric
data structures: Range
trees, kdB-trees, O-trees |
[Anote] sec 8-9 |
|
|
6 |
Mar 13 |
Project 2: I/O-efficient heap
and heap sort |
[FJKT] |
- |
|
- |
Mar 20 |
Skærtorsdag |
- |
- |
|
- |
Mar 27 |
Break |
- |
- |
|
- |
Apr 3 |
Break |
- |
- |
|
7 |
Apr 10 |
Geometric
data structures: R-trees,
PR-trees Batched
geometric problems: Distribution sweeping |
[AdBHY] sec 1-2 [GTVV] sec 2.0-2.1 |
|
|
8 |
Apr 17 |
Graph
algorithms: List
ranking, algorithms on trees |
[Z] sec 2-4, [CGGTVV],sec 3-6, [Abuffer] sec 4.1, [ABDHM] sec 3.1-3.2 |
|
|
9 |
Apr 24 |
Graph
algorithms:
Directed DFS and BFS, undirected BFS Projekt
3: Theoretical homework |
[Z] sec 6.1-6.2, [ABDHM] sec 3.3, [CGGTVV], sec 7, [BGVW], [MR] sec 5.1 |
- |
|
- |
May 1 |
Kr. Himmelfart |
- |
- |
|
10 |
May 8 |
Cancelled |
- |
- |
|
11 |
May 15 |
Graph
algorithms: Undirected
Minimal Spanning Tree |
- |
|
|
12 |
May 22 |
Graph
algorithms: Shortest
paths, lower bounds |
- |
|
|
13 |
May 29 |
Cache-oblivious
algorithms: |
[FLPR]
sec 1+5, [ABF] sec
38.1-38.2.1+38.3.2+38.4.2, [ABDHM] sec 2 |
- |
|
- |
June 18-19 |
Oral exam |
- |
- |
The course
will be based on original papers, survey papers and lecture notes (list below
will be extended as course progress):
dADS1+2,
dOpt+dKombSøg (can be followed in parallel), and an interest in algorithms.
Three projects and a 20
minute oral exam (June 18 and 19 in Turing-130) including evaluation (discussion of the reports
on the three projects and the material covered in class).
The final grade - on the 7-scale - will be based on the project reports and the
oral examination.
Examination list:
Wednesday June 18
1.
9:00 Mark Greve (5)
2.
9:20 Kristian Andersen (1)
3.
9:40 Krzysztof Piatkowski (1)
4.
10:00 Kasper Dalgaard Larsen (2)
5.
10:20 Kostantinos Tsakalidis (2)
6.
10:40 Jens Bjerre (4)
7.
11:00 Kristian Klüver (4)
8.
11:20 Søren Andersen (4)
9.
11:40 Peter Dueholm Justesen (4)
Thursday June 19
1.
9:00 Mads Baggesen (3)
2.
9:20 Per Lambæk (3)
3.
9:40 Rikke Bendlin (3)
4.
10:00 Jonas Kölker (5)
5.
10:20 Jakob Truelsen (5)
6.
10:40 Dung Vu (6)
7.
11:00 Kim Pilgaard (6)
8.
11:20 Peter Sebastian Nordholt (6)
10 ECTS
Lars
Arge
Tue June 17, 2008