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 5523.131 (Incuba science park)
The class
will cover a subset of the following:
|
Lec. |
Date |
Topic |
|
Slides |
|
- |
Jan 25 |
Cancelled |
- |
- |
|
1 |
Feb 1 |
Introduction: Hierarchical memory, I/O-model,
fundamental bounds Project
1: I/O-efficient merge-sort |
[AV],
[AL] |
|
|
- |
Feb 8 |
Cancelled |
- |
- |
|
2 |
Feb 15 |
Cancelled (Lars sick) |
- |
- |
|
3 |
Feb 22 |
Sorting: Lower bounds Searching:
B-trees,
Weight-balanced B-trees |
[Alower] [Anote] sec 1-3 |
|
|
4 |
Mar 1 |
Guest
lecture by Nodari Sitchinava Batched
geometric problems: Distribution sweeping Parallel private-cache algorithms: Model, parallel distribution
sweeping |
[AGNS], [ASZ] |
pdf (slide 1-79 in detail and
80-109 overviewed) |
|
5 |
Mar 8 |
Searching:
Persistent B-trees,
buffer trees Project:
I/O-efficient heap and heap sort |
[Anote]
sec 4-5 |
|
|
- |
Mar 15 |
Break |
- |
- |
|
- |
Mar 22 |
Break |
- |
- |
|
- |
Mar 29 |
Break |
- |
- |
|
6 |
Apr 5 |
Geometric
data structures: Interval trees, Priority search trees |
[Anote] sec 6-7 |
|
|
7 |
Apr 12 |
Geometric
data structures:
Range trees, kdB-trees, O-trees |
[Anote] sec 8-9 |
|
|
8 |
Apr 19 |
Geometric
data structures:
R-trees, PR-trees (+review of distribution sweeping) Projekt 3: Theoretical homework |
[AdBHY] sec 1-2 |
|
|
Apr 26 |
Easter break |
- |
- |
|
|
9 |
May 3 |
Graph
algorithms: List
ranking, algorithms on trees |
[Z] sec
2-4, [CGGTVV] sec 3-6, [ABDHM] sec 3.1-3.2 |
|
|
10 |
May 10 |
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 |
- |
|
11 |
May 17 |
Graph
algorithms:
Undirected Minimal Spanning Tree (Lecturer: Gerth
Brodal) |
[Z] sec
5, [ABDHM] sec 3.4, [ABT] sec 2, [ABW] sec 5.1 |
- |
|
12 |
May 24 |
Cache oblivious algorithms: Models, Matrix-Multiplication,
Search trees, Sorting. (Lecturer: Gerth Brodal) |
[FLPR99] Sec 1,2,4,6, [BF02] Sec 1-2 |
|
|
- |
June 22-23 |
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 22-23 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:
June 22:
1. 9:00 Tore Frederiksen (1)
2. 9:20 Søren Frederiksen (1)
3. 9:40 Vaida Ceikute (1)
4. 10:00Carsten Sørensen (1)
5. 10:20 Jørgen Fogh (2)
6. 10:40 Jesper A. S. Nielsen (2)
7. 11:00 Andreas Koefoed-Hansen (2)
8. 11:20 Jeppe Schou (3)
9. 11:40 Anders Egerup Halager (3)
10. 12:00 Troels Toftebjerg Hansen (3)
11. 12:20
Mikkel Hougaard (3)
June 23:
1. 9:00 Esben Rasmussen (4)
2. 9:20 Kasper Kristensen (4)
3. 9:40 Asger Eriksen (4)
4. 10:00 Thibaut Goetghebuer-Planchon (5)
5. 10:20 Søren Chrestensen (5)
6. 10:40 Eivind Ortind Simonsen (5)
7. 11:00 Stefan Ravnholt Nielsen (5)
8. 11:20 Thomas Sylvest
(5)
9. 12:40 Mads
Sandberg Brun (6)
10. 12:00 Peter Sandberg Brun (6)
10 ECTS
Lars
Arge
Tue June 21, 2011