Im Jahre 2010 sind Bäume ausserordentlich selten geworden. Druck auf Papier wird nur noch für offizielle Dokumente verwendet. Zeitungen werden per Funk auf elektronisches Papier übermittelt.

http://www.idsa.org/whatis/seewhat/idea99/winners/epaper.htm
http://www.abcnews.go.com/sections/tech/dailynews/eink980715.html
http://www.howstuffworks.com/e-ink.htm

Laptops laufen inzwischen mit 20 GHz Nonium Prozessoren, haben mindestens 20 GB RAM und 1 TB Disk. Doch die Software wird längst nicht mehr programmiert, sondern mittels Auswahl aus der Weltkomponenten Bibliothek zusammengestellt und so füllt ein einfaches Textdarstellungsprogram nach wie vor den ganzen verfügbaren Speicher und benötigt immer noch einen 2kg schweren Akku um den Prozessor über der 10 GHz Marke zu halten.

Das viel leichtere und handliche elektronische Papier bezieht seine Energie aus hauchdünnen Solarzellen. Mit Nonium und GigaRAM ist hier nichts ausrichten und ein ultra-low-power Entwurf ist oberstes Gebot. Das elektronische Papier verwendet zur Darstellung Elektronic Ink, eine neuartige LCD-Technologie, welche eine hohe Auflösung und hohen Kontrast aber leider nur schwarz, weiss und zwei Graustufen bietet. Um dieses stromsparende Display sauber anzusteuern ist eine einfachste Architektur und grösste Handwerkskunst bei der Programmierung gefordert. Dazu findet sich folgender Artikel in der täglichen e-papier Hauszeitung:

Wettbewerbsaufgabe: 2 Bit Copy-Block

Um die Daten effizient und flexibel scrollen zu können, ist ein schneller Copy-Block im Framebuffer wichtig. Für den Wettbewerb soll daher ein Copy-Block Algorithmus analog zur Übung 7 implementiert werden, der allerdings 2 Bit pro Pixel transferiert. Ziel des Wettbewerbs ist die Optimierung dieser Copy-Block Implementation auf Geschwindigkeit. Es gewinnt die schnellste, fehlerfreie (!) Implementation.

Eine genaue Aufgabenstellung mit weiteren Hinweisen ist als PDF hier erhaeltlich: Wettbewerb-Aufgabenstellung

Termine:

Abgabetermin: 22.01.01 24:00 CET
Contest: 29.01.01

Hinweise, Material und Test-Code

Im Verzeichnis /afs/ethz.ch/users/g/geus/sysprog/wettbewerb/setup/ findest Du ein modifiziertes Copy-Block-Environment (bestehend aus den Dateien copyblock_env2.c, cpy_blk2_ref.o und Makefile) zum Testen Deiner Implementation.

Die 2-bit Copyblock Testumgebung cbe2 kann in zwei Arten betrieben werden:

Die 2-bit Copyblock Testumgebung kann auf allen rif/raf-Rechnern übersetzt werden. Der Profiling Modus (-p Option) funktioniert nur auf den Rechnern raf1 - raf24 und rif23 - rif38. Der grafischen OpenGL Modus läuft auf allen rif/raf-Rechnern.

Abgabe

Die Abgabe erfolgt, wie oben beschrieben, durch Kopieren der optimierten Datei cpy_blk2.s in das vom setup-Skript angegebene AFS-Verzeichnis. In regelmässigen Zeitabständen wird cpy_blk2.s von unserem Testprogramm auf Fehler überprüft und die Geschwindigkeit gemessen. Die Testresultate werden an die Datei grade.log, welche sich im selben Verzeichnis wie cpy_blk2.s befindet, angehängt. Falls unser Testprogramm keine Fehler in cpy_blk2.s erkennt, wird die Lösung in die Rangliste aufgenommen. Die Punktzahl wird anhand der Anzahl Taktzyklen bestimmt, die cpy_blk2.s für verschiedene Testfälle benötigt. Dazu wird das geometrische Mittel über alle Testfälle genommen.

Aktuelle Rangliste

Die definitive Rangliste ist abrufbar. Sie enthält die beste erzielte Punktzahl aller Gruppen.

Fragen

Fragen bzgl. Aufgabenstellung können an Martin Naef, Fragen bzgl. Abgabe und Bewertung der Lösung an Roman Geus gesandt werden.


Last update: Jan 2001

Author/Hrsg: Thomas M. Stricker, <tomstr@inf.ethz.ch>