Ma Xiu Jia

Hoofdstuk 1. Inleiding

De doelstelling van onderhavig afstudeerwerk is, en ik citeer met graagte uit de opgegeven omschrijving van de scriptie, "het ontwerpen van een website die enerzijds algemene informatie over de CAM-Brain bundelt en beschikbaar stelt en die het anderzijds mogelijk maakt dat ook anderen met onze machine kunnen experimenteren."

Een niet onaardig gedeelte van de wereldbevolking zou zich bij lezing van bovenstaand alineaatje al meteen grondig verslikken op de term CAM-Brain (CAM: Cellular Automata Machine). Het was bij mezelf niet anders, maar nieuwsgierigheid en fascinatie, en natuurlijk de naar hybris neigende drang om persoonlijke ignorantie en beperkingen met beide handen de nek om te wringen, dat allemaal zorgde ervoor dat ik die doelstelling tot de mijne maakte.

Hoe nobel mijn beweegredenen echter ook mogen zijn, ze vertellen hoegenaamd niets over de aard van de CAM-Brain machine. Voor ik aan dit afstudeerwerk begon wist ik over de machine niet veel meer dan dat slechts vier exemplaren de wereld sieren, en dat de machine conceptueel een bijzonder groot potentieel heeft. In het korte jaar als student in de Aanvullende Studies Informatica is, bij mij althans, meer dan eens de vraag gerezen naar de grens van de computerindustrie. De Wet van Moore, niet toevallig genoemd naar de topman van Intel, zegt dat de snelheid van processoren per 18 maanden verdubbelt. Het wordt echter algemeen aangenomen dat op deze wereld niets oneindig is. Ook de ontwikkeling en productie van steeds snellere, op silicium gebaseerde processoren lijken onderworpen aan die algemene wijsheid. Om dat in te zien hoeft men zich zelfs niet te buigen over gespecialiseerde elektronische ontwerpproblematiek. Processoren bevatten almaar meer transistoren (tegenwoordig meerdere miljoenen), en daar zijn consequenties aan verbonden.

Een voorbeeld is de communicatie met het moederbord. Hoe uitgebreider de processor wordt, hoe meer pins moeten zorgen voor de communicatie met de buitenwereld. Hoe meer pins een processor heeft, hoe meer kracht nodig is om de processor in de socket te duwen. Die krachten dreigen echter zo groot te worden dat gevreesd kan worden voor de integriteit van zowel processor als socket. Tegelijk wordt het steeds moeilijker machines te ontwerpen die dergelijke grote krachten op een zulke kleine oppervlaktes kunnen uitoefenen.

Een ander voorbeeld betreft het stroomverbruik. Elk nanotechnologisch transistortje in een processor verbruikt een zekere minieme hoeveelheid Watt. Wanneer men nu een paar miljoen fracties van een Watt bij elkaar optelt krijgen we plots een volledig ander beeld: processoren blijken geweldig gulzige elektriciteitsvreters, en vragen bijzonder veel inspanning van de ontwerper(s) die dat elektriciteitsverbruik willen beperken. Alles wat stroom verbruikt, produceert bovendien hitte, en daarmee raken we meteen nog één van de pijnpunten van de computerindustrie. Processoren worden steeds heter, en het wordt steeds moeilijker de hitte op een aanvaardbare manier af te voeren, vóór de processor en de omringende componenten aan het smelten slaan.

Technologie is één van de kennisgebieden bij uitstek waar men met volle overgave trouw blijft aan het klassiek adagium "altior, fortior, melior". Om de beschreven beperkingen van de huidige computertechnologie het hoofd te bieden, en toch die technologie te verbeteren, lijkt een zoektocht naar alternatieven aangewezen. Apple biedt sinds enige tijd betaalbare computers met twee processoren aan, en stapt zo in de boot van het parallel "computen". IBM verblijdde de wereld onlangs met het bericht dat zij hun op koolstof gebaseerde processoren over een half decennium productieklaar achten. Hier en daar wordt ook al zacht gefluisterd over quantum-processoren, gebaseerd op inzichten uit de quantum-mechanica.

Met dit alles is mijn fascinatie voor "andere" computerarchitecturen beter verwoord. De vraag naar wat de CAM-Brain machine eigenlijk is blijft echter onbeantwoord. Indien men het sloganeske niet schuwt kan men stellen dat de CAM-Brain een hardware implementatie is van een groot digitaal neuraal netwerk. De uitspraak is vrij letterlijk te nemen. Men spreekt van een neuraal netwerk aangezien de CAM-Brain steunt op inzichten en verworvenheden uit de neurologie: de architectuur van de CAM-Brain is uitgebreid schatplichtig aan de structuur van (menselijke) hersenen. Men maakt bijvoorbeeld een onderscheid tussen axonen, dendrieten en neuronen, die alle in verbinding staan met elkaar. Een sleutelwoord in dat verband is evolvable hardware. Het is immers de bedoeling dat de CAM-Brain, net als hersenen, in staat is zich te ontwikkelen om een bepaalde taak beter en sneller uit te voeren. In het geval van de CAM-Brain gebeurt dat door circuits, of verbindingen van neuronen, axonen en dendrieten te vormen en te hervormen.

Figuur 1: De CAM-Brain

Het sleutelwoord digitaal wijst natuurlijk op het feit dat communicatie doorheen de machine gebeurt op basis van bits. De omschrijving "hardware implementatie" tenslotte wijst op het feit dat het netwerk daadwerkelijk fysisch bestaat, en dat is een grote vooruitgang tegenover de vroegere (en vaak nog huidige) situatie waarbij de netwerken in software gesimuleerd moesten worden. Het is echter zo dat de CAM-Brain in wezen een massief parallelle computer is, wat een software simulatie ervan op een niet-parallelle computer bijzonder inefficiënt maakt.

De CAM-Brain werd gecreëerd onder impuls van Hugo De Garis, een charismatisch en licht polemisch Australisch wetenschapper, die tegenwoordig in Utah toeft. De machine werd gebouwd door Genobyte Inc. uit Colorado. Oorspronkelijk bevond de machine zich in Ieper, bij het spraaktechnologiebedrijf Lernaut & Hauspie. De CAM-Brain werd er gebruikt door de onderzoeksgroep S.AI.L (Speech, Artificial Intelligence & language). Na het op de klippen lopen van Lernaut & Hauspie verhuisde de CAM-Brain mee met S.AI.L naar het Mechels farmaceutisch bedrijf Tibotec, dat zich toespitst op het zoeken naar en ontwikkelen van anti-virale geneesmiddelen en farmaceutische antwoorden op HIV en Hepatitis C. De machine werd eind 2001, gespeend van enig direct nut in de nieuwe situatie van S.AI.L, in bruikleen gegeven aan de vakgroep ELIS van de RUG.

De taak die ik kreeg toegewezen in dit alles, het ontwerpen van een web-omgeving, valt uiteen in twee deeltaken. Aan de ene kant moest een robuuste en sobere, en toch niet gortdroge website ontworpen worden, waarlangs de buitenwereld informatie en kennis zou kunnen verzamelen omtrent de CAM-Brain aan de Gentse Universiteit. Aan de andere kant was het de bedoeling ervoor te zorgen dat de buitenwereld in beperkte mate zou kunnen experimenteren met de CAM-Brain.

Zonder in te gaan op de specifieke details omtrent de implementatie kan ik vermelden dat het webgedeelte opgetrokken werd met behulp van HTML met een extern style sheet, geschreven in CSS2. Voor die delen van de site die een zekere mate van interactiviteit met de gebruiker aanbieden, werd gebruik gemaakt van de server-side scripting taal PHP. Daarnaast zorgt een applicatie, geschreven in Java, ervoor dat de buitenwereld taken kan laten uitvoeren door de CAM-Brain. De verbinding tussen de website en de achterliggende applicatie wordt belichaamd door een MySQL databank.

De structuur van deze schriftelijke neerslag weerspiegelt de tweedeling die binnen de.doelstelling van het afstudeerwerk op te merken valt. Na deze inleiding worden in twee afzonderlijke hoofdstukken de beide luiken van de taak behandeld. Eerst wordt de strikte web-omgeving behandeld, waarbij aan HTML, CSS en PHP elk een hoofdstukje wordt gewijd. In een volgend hoofdstuk wordt uit de doeken gedaan hoe de experimenteermogelijkheid werd geïmplementeerd. Daarbij wordt eerst gesproken over de verschillende PHP-scripts die zorgen voor interactie met de gebruiker. Daarna wordt een boompje opgezet over het Java-programma, om tenslotte af te ronden met een korte uitwijding over de opzet en structuur van de MySQL databank. In een besluitend hoofdstuk worden enkele mogelijke verbeteringen voor de toekomst voorgesteld.