Bild: Thord Nilson

Hela internet är fullt av bilder på mandelbrotmängder och andra fraktaler. De är vackra och titta på och ett antal programutvecklare har satt sig in i matematiken och utvecklat fantastiskt vackra bilder som vi andra kan njuta av. Vill man skapa de verkligt effektfulla bilderna behövs massor av datakraft. Vi ska prata med en som satt det hela i system och i stort sett värmer sin villa med servrar, som alla strävar mot samma mål: ännu djupare djupdykningar i det komplexa talplanet.

We shall have to evolve problem solvers galore
Since each problem we solve creates ten problems more.

- Piet Hein

Alla fraktalforskare dras med ett och samma problem: Mandelbrotfiguren har oändlig komplexitet och kan utforskas oändligt djupt. Hur utvecklar man effektivare programvara för denna utforskning och hur håller man utvärderingstiderna på rimlig nivå? Kan man utveckla särskilda datorsystem för utvärdering av fraktaler?

Den polske matematikern Benoit B. Mandelbrot (1924 - 2010) ställde en gång frågan: Hur lång är Englands kust? och svaret var: Det beror på hur kort linjal man har. Ju kortare linjal man har, desto bättre passar den in i vikar, klippskrevor, sprickor, veck och kristallstrukturer. En kustlinje är en typisk fraktal struktur. Sanningen är naturligtvis att kusten är oändligt lång, eftersom den är oändligt komplex.

Vissa fenomen i naturen är fraktala, som olika sorters kål, löv och fräkenväxter. Urvalet är enormt. Rent matematiska fraktaler påvisades så tidigt som på 1600-talet av tysken Gottfried Leibniz som visade på rekursivt självliknande funktioner. Han kallade dem för del-exponenter (fractional exponents). Utvecklingen var inte direkt raketartad, förrän stockholmaren Helge von Koch introducerade Koch-kurvan 1904, där en linje delas upp i segment, som i sin tur delas upp i delsegment. Mest känd är förmodligen hans snöflinga.

Kochs snöflinga är en fraktal som börjar med en liksidig triangel. Man ersätter den mittersta tredjedelen av varje linjesegment med ett par linjesegment som bildar ett liksidigt ”gupp” om och om igen. På detta sätt kan man skapa ett mycket komplext föremål med en väldigt enkel metod.

Nästa framsteg kom tio år senare när polacken Wacław Sierpiński visade sin tvådimensionella figur, numera kallad Sierpinskis triangel.

Sierpinskis triangel skapas genom att man börjar med en triangel och skriver in en tredjedelen så stor triangel i denna, upp och ned. Sedan fortsätter man så, rekursivt.

De två franska matematikerna Pierre Fatou och Gaston Julia blev 1918 de två första att tillämpa komplexa tal på fraktaler.

Med komplexa tal börjar fraktalerna bli riktigt komplexa (ha!).

Vägen låg nu öppen för Benoit B. Mandelbrots stora upptäckt, den synnerligen enkla, men samtidigt synnerligen komplexa talmängden Mandelbrots mängd.

Mandelbrot-forskning


Trodde du att du var datorentusiast? En av de större? Tänk igen. Har du tretton servrar i garderoben? Har du en 10-terabyte hårddisk? Har du en PDP-11 i garaget? Har du skrivit ett eget nätverksprotokoll? Har du skrivit ett eget operativsystem? Har du en fru som förstår och dessutom är teoretisk fysiker? Thord Nilson har. Han har mera utrustning hemma än de flesta mindre företag.


Datorhallen i garaget. Skräpigt? Nej, "kreativ miljö" kallas det. Här bedrivs den mesta av maskinvaruutvecklingen. Två öppna maskiner för snabba fysiska ingrepp och en isärplockad PDP-11 på arbetsbänken, ett långtidsprojekt down memory lane.

Thord är mannen som förverkligat datorägarens allra våtaste drömmar. Vi kommer ”in” i en Linux-miljö, ja faktum är att Slackware Linux, från version 3.5 till version 13.37 körs både högt och lågt på maskiner så gamla som 386SX fram till moderna monster som sexprocessors Athlon och tvåprocessors Celeron. Totalt står det 18 PC-kompatibler, en Alpha, en PDP-11 och en Sun-station i lokalerna och en bildskärm i bastun.


Supernova. Bild: Thord Nilson.

När den flerfaldigt prisbelönte, IBM-anställde Benoit B. Mandelbrot 1975 visade sin formel för världen vaknade intresset för fraktaler och vad de kan åstadkomma, särskilt i form av vackra bilder och filmer. Inom ramen för algoritmsamarbetet i Svenska Arbetsgruppen För Algoritmforskning (SAFA) har Thord forskat vidare och kört långt förbi professor Mandelbrots resultat. För Thord är det här mer än forskning, det är en hänsynslös drift att pressa ut sista MIPSen ur allt kisel. Han ödslar ingen processorkraft på grafik i sina bearbetningsmaskiner, han har visserligen grafikkort men kör dem i textläge.


Thord på sin favoritplats. Han skriver het kod. De hårda grabbarna debuggar med varmluftspistol.

Han började med egen Mandelbrot-programvara i slutet av 80-talet på en Victor 8086-PC, men nådde snabbt den gräns när matematikprocessorn 8087 inte hade fler decimaler. För att få upp farten kom han på att man kunde exekvera en del av koden direkt i 8087:ans interna register, utan att behöva flytta den till processorn.

I och med Linux och fjärrbearbetning kunde han skapa en client/server-lösning där en klient lämnar ut en begäran om delberäkningar av mandelbrot-mängden till de servermaskiner som finns med på nätet, samlar in data och sammanställer detta, till exempel till en film.

Denna dual-Athlonmaskin är konfigurerad för maximal fysisk tillgänglighet vid utvecklingsarbete. Dessutom räknar den Mandelbrot. Notera de dubbla kylfläktarna på processorerna.

Att beräkna en djupt inzoomad figur kunde på 80-talet ta flera månader. Idag går det på ett par minuter. Thord uppskattar att hans maskinpark idag är drygt 150.000 gånger snabbare än den maskin han började på. Fast när man börjar närma sig extrema djup tar det fortfarande lång tid. Han har nu nått den gräns när det tar mer än en minut att beräkna en bildpunkt, och han kommer att få modifiera sitt egenhändigt skrivna överföringsprotokoll så att det väntar längre innan det dömer ut beräkningsnoden som kraschad.

Beräkningarna sker på fler än dussinet processorer och kraften stiger med antalet anslutna maskiner. Maskinerna kan tas ur och sättas in i konfigurationen utan att arbetet behöver avbrytas, alltså en parallelldator av Beowulf-typ. Det fina är att det inte finns några krav på maskinvarutyp, allt som rör sig går att använda.


Beräkningarna av Mandelbrots mängd sker i ett client-server-system och här ser du en klientskärm som visar den pågående beräkningsprocessen (vissa delar av bilden är som synes inte färdigräknade) och fem xterm-fönster som visar teckenströmmen från några servrar.

Thord har bidragit med den mesta Mandelbrot-konsten i denna artikel, såväl som filmerna. Han har också slagit världsrekordet i zoomdjup.


PDP-11:an med festliga dekorationer inför Halloween. Den är ett hopplock av lite av varje i ett icke-standard rackskåp.

Sida 1 / 5

Innehållsförteckning