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: Nygaard-315
Phone: 87156284
E-mail: large@madalgo.au.dk
Third
quarter: and fourth quarter: Tuesday 9:15-12:00 in Nygaard-192
The class
will cover a subset of the following:
|
Lec. |
Date |
Topic |
|
Slides |
|
- |
Jan 24 |
Cancelled |
- |
- |
|
1 |
Jan 31 |
Introduction: Hierarchical memory, I/O-model,
fundamental bounds Project
1: I/O-efficient merge-sort |
[AV],
[AL] |
|
|
2 |
Feb 7 |
Sorting: Lower bounds Searching:
B-trees,
Weight-balanced B-trees |
[Alower] |
|
|
3 |
Feb 14 |
Searching:
Persistent
B-trees, buffer trees |
[Anote] sec 4-5 |
|
|
4 |
Feb 21 |
Geometric
data structures: Interval trees, Priority search trees |
[Anote] sec 6-7 |
|
|
- |
Feb 28 |
Cancelled |
|
- |
|
5 |
Mar 6 |
Geometric
data structures:
Range trees, kdB-trees, O-trees Project
2: I/O-efficient heap and heap sort |
[Anote] sec 8-9 [FJKT] |
|
|
- |
Mar 13 |
Break |
- |
- |
|
- |
Mar 20 |
Break |
- |
- |
|
- |
Mar 27 |
Break |
- |
- |
|
6 |
Apr 3 |
Geometric
data structures:
R-trees, PR-trees Batched geometric problems: Distribution sweeping |
[AdBHY] sec 1-2 [GTVV]
sec 2.0-2.1 |
|
|
- |
Apr 10 |
Easter break |
- |
- |
|
7 |
Apr 17 |
Graph
algorithms: List
ranking, algorithms on trees Project
3: Theoretical homework |
[Z] sec
2-4, [CGGTVV] sec 3-6, [ABDHM] sec 3.1-3.2 |
|
|
8 |
Apr 24 |
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 |
- |
|
9 |
May 1 |
Cancelled (Lars sick) |
- |
- |
|
10 |
May 8 |
Graph
algorithms:
Undirected Minimal Spanning Tree and shortest paths |
[Z] sec 5+7, [ABT] sec 2, [ABDHM]
sec 3.4, [KS] sec 2.2+3.3 |
- |
|
11 |
May 15 |
Models,
Matrix-Multiplication, Search trees, Sorting.
(Lecturer: Gerth Brodal) |
[FLPR99] Sec 1,2,4,6, [BF02] Sec 1-2 |
|
|
12 |
May 22 |
Cancelled |
- |
- |
|
- |
Jun 7 |
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 (on June 7 in Nygaard-298) 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 Thor Prentow
(1)
2. 9:20 Jana Kunert
(1)
3. 9:40 Jacob Grydholt
Jensen (1)
4. 10:00 Steffen Olesen
(2)
5. 10:20 Rune Laursen
(2)
6. 10:40 Daniel Petersen (2)
7. 11:00 Jakob
Friis (2)
8. 11:20 Mathias Millet (3)
9. 11:40 Olivier Ruas
(3)
10 ECTS
Lars Arge
Wed May 23, 2012