Experten-Tipps

Dominic Battre dominic at battre.de
Fri Mar 1 20:54:05 CET 2002


Hi.

Ich bin neu hier... Ich studiere seit Kurzem in Paderborn Informatik und 
habe mal ein paar Fragen an euch.

Im Sommer nächsten Jahres wird in Deutschland die zentraleuropäische 
Informatik-Olympiade ausgerichtet und ich werde wohl für die Auswertung 
der Programme der Teilnehmer verantwortlich sein.

Zur kurzen Erläuterung: 40 Teilnehmer werden an zwei Tagen jeweils 5 
Stunden lang versuchen Informatik-Probleme zu lösen. Die Aufgaben sind 
so konstruiert, dass es darum geht Algorithmen für bestimmte Probleme zu 
finden und sie korrekt zu implementieren.

Bei jedem Problem müssen Eingabe-Daten aus einer Datei gelesen und die 
Ausgabe in eine Datei geschrieben werden. Zu jeder Aufgabe gibt es 10 
Testfälle, welche die Programme selbstständig lösen können sollen (dafür 
gibts dann Punkte). Ich denke, das reicht fürs erste an Erläuterung 
(näheres bei Interesse unter http://olympiads.win.tue.nl/ioi/ - Aufgaben 
findet man z.B. unter 
http://olympiads.win.tue.nl/ioi/ioi2001/contest/index.html)

Wie gesagt, ich werde wohl für die Auswertung verantwortlich sein. Die 
Auswertung soll vollständig automatisch und parallel auf mehreren 
Computern stattfinden. Abgesehen von der Parallelität läuft es schon 
ganz gut, aber ich suche noch Experten-Rat auf einigen anderen Gebieten:

1) Die Teilnehmer programmieren wahlweise unter Linux oder unter 
Windows. Wie sammelt man am geschicktesten (und natürlich voll 
automatisch) die Dateien ein? Ich habe an ssh bzw. scp gedacht, habe da 
aber mit Windows bedenken... Außerdem scheint scp kein Passwort als 
Parameter zu wollen, sodass man seinen Public-Key auf alle Rechner 
bringen muss. Das ist nicht ganz einfach.
Weiterhin soll es für die Auswertungssoftware einfach sein, die Daten 
von einem Rechner zum anderen zu kopieren, für die Teilnehmer aber 
unmöglich.

2) Die Rechner müssen nach dem ersten Wettbewerbs-Tag komplett wieder in 
ihren Ursprungszustand versetzt werden. Hat einer Erfahrungen mit 
Klon-Software? Was würdet ihr empfehlen? Evtl. was kostenloses? Es wäre 
gut, wenn die Software sowohl Linux- als auch Windows-Partitionen 
unterstützt und den Bootmanager installieren kann. Wie macht man die 
Nacharbeiten (IP-Adresse, Hostname, User anlegen, ...) am 
geschicktesten? Perl-Skript? Alternativ könnte man bestimmt vieles davon 
zentral erledigen (DHCP, Domäne, ...) aber davon habe ich noch wenig wissen.

3) Wie stellt man sicher, dass die Teilnehmer während des Wettbewerbes 
nicht miteinander kommunizieren können? Um drucken zu können, sind wir 
durchgängig auf das Netzwerk angewiesen, d.h. wir können nicht die 
Switches ausschalten. Gibt es da Hardwarelösungen? 
IP-Tables/Gateway-Konfigurationen auf Clientseite können wir wegen 
Windows-Clients wohl nicht nutzen. Ich habe an das loggen des Traffics 
mit tcpdump gedacht, aber das finde ich nicht so 100%ig...

4) Wir verhindern mit einem Kernel-Modul, dass die Programme der 
Teilnehmer bei der Auswertung über das Netz kommunizieren können oder 
nicht erlaubte Dateien öffnen. Zusätzlich laufen die Programme in einem 
chroot-jail. Es wäre wünschenswert, wenn die Programme was den 
Speicherkonsum betrifft, beschränkt werden könnten. Hat da einer 
Erfahrungen mit? Was mit Kernel 2.2.x ganz gut funktioniert, hat unter 
Kernel 2.4.x anscheinend keine Wirkung. (setrlimit(2))

5) Was würdet ihr für eine Distribution empfehlen? Es ist wichtig, dass 
sie gute Internationalisierung enthält und nicht allzuschwer zu 
administrieren ist...

So, das waren jetzt eine Menge Fragen. Viele der Fragen lassen sich auf 
die Frage nach gescheiter Netzwerkadministration zurück führen. Hat 
einer interessante Literatur-Tipps / Links diesbezüglich?

Ich werde auf jeden Fall mal zum nächsten Treffen in Paderborn kommen 
und freue mich, euch kennen zu lernen. Habt ihr einen bestimmten Platz 
im Pub, wo ihr immer sitzt? Oder erkenne ich euch an den 
thinkgeek.com-T-Shirts?

Dominic




More information about the Linux mailing list