Programos, kaip ir gladiatoriai, ringe kaunasi iki galo - išlieka tik stipriausieji. Tik žūtbūtinė kova čia vyksta ne dėl gyvybės, bet dėl laisvų procesorių resursų. Paralelinio programavimo varžybų “Grid Wars” rengėjams gladiatorių kovos - efektyviausias kodo klaidų išrankiojimo būdas.
Du kartus per metus paralelinio programavimo taikymų, kurie naudojami daugiaprocesorinėse sistemose, kūrėjai gali išbandyti jėgas gladiatorių kautynėse. Tam tereikia užsiregistruoti mirtinas varžybas rengiančios kompanijos “Engineered Intelligence” svetainėje (http://www.engineeredintelligence.com/gridwars/index.cfm), parsisiųsti priemones “programiniam gladiatoriui” kurti, suprogramuoti jį “CxC” kalba ir nustatytu laiku išleisti į areną - 2500 procesorių “Linux” klasterį. Šiemet, pasak žurnalo “New Scientist”, Kalifornijoje vykusioje konferencijoje “ClusterWorld” surengtose antrosiose programų - gladiatorių varžybose rungėsi 236 skirtingai atrodantys kovotojai, kuriuos atsiuntė universitetai, mokslo tyrimo centrai, programinę įrangą kuriančios kompanijos iš viso pasaulio. Svarbiausias skaitmeninių gladiatorių tikslas - užvaldyti iš 2500 procesorių susidedančią sistemą. Kiekviena programa kautynėse gali užimti kitos programos naudojamą procesorių paleisdama į ją virtualias “kulkas”. Kai į procesorių “pataikoma” tris kartus, jį ginanti programa praranda kontrolę ir užleidžia vietą užpuolikei. Užėmusios procesorius programos - sąjungininkės derina tarpusavio veiksmus ir gali sutartinai pulti arba gintis. Iš pradžių į areną - “Linux” klasterį - išleidžiami visi varžybų dalyviai, kurie rungtyniauja nedidelėmis grupėmis. Kautynių eigoje silpniausieji iškrinta, o 32 stipriausi gladiatoriai tęsia kovą mirtinose dvikovose, kol belieka tik dviese. Finalinės kovos nugalėtojui atiteks visi klasterio procesoriai, o gladiatorių parengusiam programuotojui - pagrindinis varžybų prizas. Šį sykį tai buvo oficialaus “Grid Wars” rėmėjo “Hewlett-Packard” kišeninis kompiuteris “iPAQ H1910”.
Paskutinėje dvikovoje susirėmė NASA Goddardo kosminių skrydžių centro Grennbelte programuotojo Marko Wenigo programa “Rogue” ir Maskvos M. Lomonosovo universiteto studento Vasilijaus Gromovo “Kobra”. Pasak Wenigo, “Grid Wars” kautynės sudaro jam gerą progą išbandyti savo sukurtą algoritmą. Varžybos esančios ideali aplinka ištirti ir palyginti įvairius paralelinio programavimo sprendimus. Geriausias pavyzdys - abu finalą pasiekę gladiatoriai: Wenigas savąjį “Rogue” kūrė naudodamasis tam tikru programavimo procesu, kuris imituoja natūraliąją atranką ir pateikia geriausią kautynėms skirtą kodo variantą, o Gromovas nutarė “Kobrą” suprogramuoti “rankomis”, t.y. viską daryti pats.
Didžiuliame ekrane finalinę gladiatorių dvikovą galėjo stebėti visi konferencijos dalyviai. Klasterio procesoriai jame buvo pavaizduoti kaip nedideli kvadratai, o juos užimančios programos kiekvieną nuspalvindavo savo spalva. Iš pradžių “Rogue” didžiąją kovos dalį (400 programos ciklų iš 500) aiškiai pirmavo ir buvo užvaldžiusi 1500 iš 2500 procesorių. Tačiau pieš pat pabaigą “Kobra” atsitiesė ir užtikrintais smūgiais pribaigė “Rogue”. Likus paskutiniam šimtui ciklų rusų programuotojo gladiatorius netikėtai atgijo ir lėtai, bet užtikrintai įveikė amerikiečio “genetinį” algoritmą. Pasak Wenigo, visiems tai buvo staigmena. Savo varžovo pranašumą jis aiškina sugebėjimu efektyviai komunikuoti ir dėl to sparčiai plėstis.
Kitos programų - gladiatorių kautynės bus surengtos lapkričio mėnesį. Gal į jas įsitrauks ir skaitmeninio kraujo ištroškę lietuvių programuotojai?