Parallelle informatieverwerking met Metapatroon

Pieter Wisse

Het ligt voor de hand dat Metapatroon dankzij consistente, stelselmatige verbijzondering volgens context en tijd talloze toepassingen kent. Zo kan ook het besturingssysteem van een computer resp. netwerk van computers er verdergaand modulair mee opgezet worden. Dat omvat zgn parallelle informatieverwerking. Omgekeerd kan een besturingssysteem  enz. zelfs in z’n geheel worden opgevat als vraagstuk met een zeker parallellisme als optimaal antwoord. Hier volgt zeer beknopt een algemene aanzet.

Het startpunt is de aanname dat een variabele x karakteristiek gedrag vertoont volgens een functie (lees tegenwoordig ook: dienst). Functionele verwerking van waarde(n) gebeurt door een (programmatuur)module m. Voor diverse functies zijn er dienovereenkomstige modulen: mi.
Stel dat er n functies/modulen zijn, waarbij achtereenvolgens de ene uitkomst ‘inkomst’ is voor de andere verwerking. Zo’n voorwaardelijke reeks valt met Metapatroon eenvoudig te schetsen; zie figuur 1.

figuur 1: reeks uitkomsten annex inkomsten.

 

De afhankelijkheid van x-in-mi van x-in-mi+1 sluit parallellisme uit. Volgens figuur 2 gelden echter andere verhoudingen.

figuur 2: (mogelijkheid van) twee sporen.

 

Stel dat x-in-mi en x-in-mn allebei ¾ waarden voor ¾ variabelen opleveren voor mn+1, dan lukt dat niet met één en dezelfde x. Kortom, één van beide moet voorafgaand als andere variabele verondersteld zijn. Dat is in figuur 3 pas bij de laatste gelegenheid gebeurd. Daarvoor moeten beide sporen uiteraard beschikken over een ‘eigen’ geheugen voor x. Als dat (nog) niet zo is, moet de extra variabele onmiddellijk gevormd zijn, zoals figuur 4 aangeeft.

figuur 3: sporen met elk eigen geheugen.

 

figuur 4: sporen met gedeeld geheugen.

 

Een functie resp. module correspondeert met situationeel gedrag van variabelen. Zo rijst per variabele de vraag, of het eigenlijk dezèlfde is die in verschillende functies/modules ‘verschijnt.’ Behalve verschillend gedrag per situatie, is daarvoor tevens samenhang nodig. Volgens verwerkingsperspectief bestaat zulke samenhang, indien de ene uitkomstwaarde geldt als de andere beginwaarde. Daaraan ontleende variabelen dragen door contextuele verbijzonderingen bij aan inzicht in serialiteit en van dus van weeromstuit in ¾ optimalisering van ¾ eventuele parallelle verwerkingssporen.

Van een ¾ complexe ¾ verwerkingsopgave kan aldus met Metapatroon aldus een model worden opgesteld. De heuristiek van contextuele verbijzondering faciliteert ontwerp van de verzamelingen nodige en voldoende variabelen resp. modulen.

Een voorwaarde is disjunct gedrag per functie/module. Indien daaraan niet voldaan is, moet het bereik van een functie/module zolang worden uitgebreid, totdat situationele eenduidigheid geldt. In òmgekeerde richting kan bereik juist worden beperkt, mits disjunctie geborgd blijft. Dat loont. Specifiekere functies/modulen met dienovereenkomstig minder variabelen vergroten uiteraard mogelijkheid van parallellisme sterk.

Het beginsel van contextuele verbijzondering dat kenmerkend is voor Metapatroon, borgt hoe dan ook dat verwerking apàrt kan, zelfs moet gebeuren. Apart is uiteraard een nodige, maar nog geen voldoende voorwaarde voor parallellisme. Nogmaals, wat nodig èn voldoende is, vergt ontwerp volgens de verwerkingsopgave in kwestie. In het algemeen helpt Metapatroon om samenhangende verschillende te ordenen. Dat helpt dus óók voor parallelle informatieverwerking. Want verwerkingssporen zijn niet louter parallel gedacht. Op z’n laatst voor een eindresultaat moeten ze convergeren, met andere woorden óók samenhangen.

 

 

december 2010, webeditie 2010 © Pieter Wisse

 

 

Voor meer informatie, zie o.a. Metapatroon, handboek stelselmatig informatieverkeer.