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@madalgo.au.dk
Third
quarter: and fourth quarter: Tuesday 9:15-12:00 in Shannon-157
The class
will cover a subset of the following:
|
Lec. |
Date |
Topic |
|
Slides |
|
1 |
Jan 27 |
Introduction: Hierarchical memory, I/O-model,
fundamental bounds Project
1: I/O-efficient merge-sort |
[AV],
[AL] |
|
|
2 |
Feb 3 |
Sorting: Lower bounds Searching:
B-trees,
Weight-balanced B-trees |
[Alower] [Anote]
sec 1-3 |
|
|
3 |
Feb 10 |
Searching:
Persistent
B-trees, buffer trees |
[Anote] sec 4-5 |
|
|
4 |
Feb 17 |
Geometric
data structures: Interval
trees, Priority search trees |
[Anote]
sec 6-7 |
|
|
5 |
Feb 24 |
Cancelled |
- |
- |
|
6 |
Mar 3 |
Project 2: I/O-efficient heap and heap sort Geometric
data structures: Range
trees, kdB-trees, O-trees |
||
|
7 |
Mar 10 |
Geometric
data structures: 3D range search and lower bounds (guest lecturer: Kasper Dalgaard Larsen) |
|
|
|
- |
Mar 17 |
Break |
- |
- |
|
- |
Mar 24 |
Break |
- |
- |
|
- |
Mar 31 |
Break |
- |
- |
|
8 |
Apr 7 |
Cancelled (Lars sick) |
- |
- |
|
- |
Apr 14 |
Easter break |
- |
- |
|
9 |
Apr 21 |
Flash
memory: Models and algorithms |
|
|
|
10 |
Apr 28 |
Geometric
data structures: R-trees,
PR-trees Batched
geometric problems:
Distribution sweeping Projekt
3: Theoretical homework |
[AdBHY] sec 1-2 |
|
|
11 |
May 5 |
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 |
|
|
12 |
May 12 |
Graph
algorithms: Directed
DFS and BFS, undirected BFS |
[Z] sec
6.1-6.2, [ABDHM] sec 3.3, [CGGTVV], sec 7, [BGVW], [MR] sec 5.1 |
- |
|
13 |
May 19 |
Graph
algorithms:
Undirected Minimal Spanning Tree |
[Z] sec 5, [ABT] sec 2, [ABDHM] sec 3.4 |
- |
|
14 |
May 26 |
Graph algorithms: Shortest paths, lower
bounds |
[Z] sec 7+11, [KS] sec 2.2+3.3, [Aobdd] sec 2.3 - lemma 2, [CGGTVV] sec 2 |
|
|
- |
June 18 |
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 in Turing-014) including evaluation (discussion of
the reports on the three projects and the material covered in class).
The final grade will be based on the project reports and the oral examination.
Examination list:
1.
9.00 Martin Simonsen (1)
2.
9:20 Dung My Hoa (1)
3.
9:40 Allan Rasmusson (1)
4.
10:00
5.
10:20 Finn Jepsen Schmidt (2)
6.
10:40 Rasmus Ibsen-Jensen (2)
7.
12:00 Pooya Davoodi (3)
8.
12:20 Haluk Dogan (3)
9.
12:40 Freek van Walderveen (3)
10.
13:00 Kasper Borup (4)
11.
13:20 David Kjær (4)
12.
13:40 Michael Kølbæk Madsen (4)
10 ECTS
Lars
Arge
Mon June 15, 2009