Vom Würfeln zur Multithread-Prozessteuerung
Der Würfelwettbewerb aus dem Linux-Magazin 09/2010 hält eine ganze Reihe von Überraschungen in petto: Gegenwärtig würfeln die mehr als 100 Teilnehmer für die Endrunde gegeneinander. Dabei gibt's eine Reihe von Hürden zu überwinden.
Die erste Herausforderung bestand darin, schlicht alle Quelltexte aus der Mail zu extrahieren und zu erfassen. Die meisten hatten zwar in einem Begleitschreiben Botname und Teilnehmernamen hinterlegt, bei einem guten Dutzend hat diese Information jedoch erst eine intensive Quelltextanalyse ans Tageslicht gebracht. Zweiter Schritt war das Übersetzen und Vereinheitlichen der Aufrufschnittstelle. Da gab es allerhand Module, Compiler, Interpreter und Bibliotheken nachzuladen. Die Beschränkung auf fertige Debian-Pakete hat dabei erheblich geholfen, aber auch hierbei waren es dann 10 Prozent der Bots, die 90 Prozent der Arbeit dieses Schrittes verursacht haben.
Um die Bots lauffähig zu bekommen, war auch zu prüfen, wie sie starten: Einige erfordern Aufrufparameter, andere Konfigurationsdateien oder gar Änderungen im Code. Um das alles zu vereinheitlichen, hat jetzt jeder Bot ein Makefile, dass ihn mit "make build" aus seinen Quellen baut und mit "make game" ein einzelnes Spiel startet. Einige Teilnehmer hatten ihre Bots so geschrieben, dass sie in Endlosschleifen oder eine definierte Anzahl von Matches absolvierten.
Etwas Zeit und Überlegung hat die Verbindung zum Server gekostet. Da die meisten Bots mit "wettbewerb.linux-magazin.de" als Adresse des Gameservers vorkonfiguriert waren wie in der Trainingsrunde, habe ich mir mit einen Trick beholfen: In der "/etc/hosts" des Turnierserver habe ich einfach diese Adresse auf 127.0.0.1 gesetzt, also auf Localhost. Das klappt, solange niemand "linuxmagazin" ohne Bindestrich oder ".com" als TLD verwendet.
Gegenwärtig sind 106 Bots geprüft und bereit, ein knappes Dutzend Nachmeldungen warten noch auf ihre finale Freigabe. Morgen schreibe ich, welche Herausforderungen beim Paralleliersieren udn beim Turniermodus zu lösen waren.
Alle Rezensionen aus dem Linux-Magazin
- Buecher/07 Bücher über 3-D-Programmierung sowie die Sprache Dart
- Buecher/06 Bücher über Map-Reduce und über die Sprache Erlang
- Buecher/05 Bücher über Scala und über Suchmaschinen-Optimierung
- Buecher/04 Bücher über Metasploit sowie über Erlang/OTP
- Buecher/03 Bücher über die LPI-Level-2-Zertifizierung
- Buecher/02 Bücher über Node.js und über nebenläufige Programmierung
- Buecher/01 Bücher über Linux-HA sowie über PHP-Webprogrammierung
- Buecher/12 Bücher über HTML-5-Apps sowie Computer Vision mit Python
- Buecher/11 Bücher über Statistik sowie über C++-Metaprogrammierung
- Buecher/10 Bücher zu PHP-Webbots sowie zur Emacs-Programmierung
Insecurity Bulletin
Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...


