NL8400186A - Processorsysteem bevattende een aantal stations verbonden door een kommunikatienetwerk, alsmede station voor gebruik in zo een processorsysteem. - Google Patents
Processorsysteem bevattende een aantal stations verbonden door een kommunikatienetwerk, alsmede station voor gebruik in zo een processorsysteem. Download PDFInfo
- Publication number
- NL8400186A NL8400186A NL8400186A NL8400186A NL8400186A NL 8400186 A NL8400186 A NL 8400186A NL 8400186 A NL8400186 A NL 8400186A NL 8400186 A NL8400186 A NL 8400186A NL 8400186 A NL8400186 A NL 8400186A
- Authority
- NL
- Netherlands
- Prior art keywords
- station
- stations
- processes
- superprocess
- processor system
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
1 ·β * FUN 10.916 1 N.V. Philips* Gloeilampenfabrieken te Eindhoven.
Processor systeem bevattende een aantal stations verbonden door een ________ konrounikatienetwerk, alsmede station voer gébruik in zo een processor** systeem.
Beschrijving: AOïIEBGKCND VAN DE UITVINDING.
De uitvinding betreft een processcarsysteem, bevattende een eerste verzameling van dataverwerkende processors die door 5 een koiirunikatienetwerk onderling verbanden zijn voor het uitwisselen van informatiegegevens, welk processarsysteem voorts bevat een systeemgeheugen en een aansluiting cp de buitenwereld cm in de respektievelijke processaren respektievelijfce processen uit te voeren onder implementatie 10 van een kcraiunikatiemechanisme tussen verschillende processen. Zo een multiprocessor systeem is bekend uit het Amerikaanse Octrooischrift 4,387,427 op naam van G.W. Cαχ et al, en geassigneerd aan INÏEL CDRPORATICN. Dit betreft een strak gekoppeld systeem met een geheugen dat aan alle 15 prooessoren gemeenschapenjk is en waarbij oplossingen gekozen zijn zodat het naar buiten voorkomt af slechts 1 enkele processor (maar dan met een zeer hoge verwerkingssnelheid) is voorzien.
Bij een dergelijke opzet is de totale ctnvang van het systeem 20 echter Inherent aan een stringente bovengrens onderworpen, met name doordat het maximaal aantal processors! begrensd is, bij voorbeeld tot steeds minder dan een tiental.
De onderhavige uitvinding streeft een grotere flexibiliteit na, waarbij meerdere als naar buiten separaat blijkende 25 stations aanwezig zijn» zodat ook van de voerdelen van losser 8400 1 8 6 ...________ __________________________ 30 ί 'β ΕΗΝ 10.916 2 gekoppelde stations naar buiten blijkt. Een station is een zogenoemde "hardware machine (HAMA)", dat is dus de ter plaatse aanwezige hoeveelheid voor de dataverwerking bestemde onderdelen, inclusief de zogenoemde systeemsoftware voor het 5 besturen van deze onderdelen welke voor elke dataverwerking onontbeerlijk is. Elk station bevat ten minste een processor als deel van de genoemde onderdelen, om respéktievelijke processen uit te voeren. Deze processen maken met name deel uit van de dataverwerking onder besturing van 10 applikatiesoftware, om de door de gebruiker van het processorsysteem beoogde informatiebehandeling te realiseren. Het is daarmee een doelstelling van de uitvinding om een processorsysteem te verschaffen, waarbij het laden van deze applikatieprograinnas kan gebeuren zonder dat de 15 gebruiker van het systeem rekening behoeft te houden met de architektuur van de stations, doordat de stations zich ten opzichte van elkaar en ten opzichte van de buitenwereld als het ware verschuilen achter brievenbusruimtes die elk exclusief aan een respektievelijk superproces zijn 20 toegedeeld, zodat ook de superprocessen zich als het ware verschuilen achter deze brievenbusruiintes ten opzichte van elkaar en van de buitenwereld, en binnen een superproces 1 of meer processen uitvoerbaar zijn die buiten het brievenhusmechanisme, bijvoorbeeld woordsgewijs kunnen 25 konrnmiceren en coöpereren, waarbij dus gebruikersprograircnas zowel op een. uniprocessorsysteem als op een multiprocessorsysteem uitvoerbaar zijn, en een systeem operationeel kan blijven bij uitval van een of meer stations, althans voor zover de voor een applikatie noodzakelijke 30 bouwdelen in voldoende mate operationeel blijven ten dienste van resterend (e) station (s), respektievelijk de betreffende partitie van het processorsysteem. Onder bouwdelen kunnen zovel apparaten (zoals randapparaten) worden verstaan als programmatische hulpmiddelen (zoals bijvoorbeeld een 35 conversieprogranma tussen twee datastrukturen). Een partitie van het systeem wordt gevarnd door 1 statical, respektievelijk 84 0 0 1 8 5 ...........
\ 1 * ma 10.916 3 docr een aantal stations, mits deze alle met elkaar kunnen kaïmmiceren.
SAME2JVKETING VMf DE ÜITVINDINS
' * Dé uitvinding realiseert de doelstelling middels een processorsysteem, bevattende een eerste verzameling van dataverwerkende processors die door een konnunikatienetwerk onderling verbonden zijn voor het 10 uitwisselen van informatiegegevens, welk processor systeem voorts bevat een systeemgeheugen en een aansluiting op de buitenwereld om in de respektievelijke processor en respéktieveligce processen uit te voeren onder implementatie van een kcnrnunlkatiemechanisme tussen 15 verschillende processen, met het kenmerk, dat het processorsysteem bevat een eerste verzameling van stations (HftMA), welke stations alle onderling verbonden zijn door een globaal koomunikatienetwerk, waarin elk station bevat een respektievelijke tweede verzameling van processoren en 20 een geheugen met een eerste, de tweede verzameling van het desbetreffende station onderverdeeld en met uitsluiting van leesakties door andere processoren toegewezen adresruimte, voer bet per station uitvoeren van een aan dat station met uitsluiting van verdere stations toegewezen derde 25 verzameling van superprocessen (SCMA), waarbij elk soperproces bevat een vierde verzameling van daarin met uitsluiting van verdere superprocessen bevatte processen, en tenminste 1 superproces tenminste twee processen bevat, waarbij alle processen van eenzelfde superproces een 30 verzameling variabele informatie, tenminste de lokaal operationele data omvattende, gemeenschappelijk hebben doordat deze variabele informatie in een tweede adresruiiBbe binnen de eerste adresruimte door alle processen van dat superproces gemeenschappelijk wordt 35 aangewezen, en dat elk proces zijn stapelgeheugenruimte geprivatiseerd bezit, waarbij de respektievelijke \ 8400186 é t i PHN 10.916 4 \ presessen van een superproces selektief uitvoerbaar zijn binnen de processoren van het desbetreffende station, waarbij elk superproces binnen genoemde tweede adresruimte een brievenbusruimte bezit als exclusieve 5 leeskommimikatieruimte om door enig superproces daarin geschreven informatie binnen genoemde eerste verzameling te ontvangen, welke brievenbusruimte als enige opslagruimte van het betreffende superproces voor een ander superproces in een schrijfoperatie toegankelijk is, 10 waarbij elk superproces voorzien is van een stuurelement om naar een selektieve brievenbusruimte van enig superproces bloksgewijs. georganiseerde informatie toe te schrijven, waarbij elke brievenbusruimte voorzien is van een vullingsstandindikator om bij een ondernomen leesaktie 15 door een superproces in een lege brievenbusruimte een wachtsignaal af te geven, bij een ondernomen schrijfaktie door een superproces in een geheel gevulde brievenbusruirate een foutsignaal af te geven, en voor het overige een leesaktie, dan wel schrijfaktie toe te staan, 20 onder bloksgewijs bijwerken van de vullingsstandindikator van de betreffende brievenbusruimte, en dat een taakstukbesturingssysteem aanwezig is om bij presentatie ‘ van een taakstuk aan het processarsysteem dit als een derde verzameling van superprocessen selektief ter 25 uitvoering toe te delen aan een vijfde verzameling van tenminste 1 station.
30 35 8400186 % * .......* b PHN 10.916 5 *
Zo kan het kexanunikatienetwerk geoptimaliseerd warden voor hloksgewijze georganiseerd transport, waarbij de afmeting van een blok aanzienlijk kan zijn: bij een kantoer systeem kan een blek alle informatie van een t pagina tekst cum figuren zijn, bijvoorbeeld 4 Mbyte. Een blok kan ook korter zijn, en bet is nogelijk dat blokken van onderling van elkaar verschillende lengtes door elkaar over het kanamikatienetwerk verkeren. De gedachte achter het bovenstaande is dat verschillende superprocessen beter kunnen 10 kcnnuniceren op het niveau van het blok, terwijl de kcrarunikatie tussen processen van een enkel superproces gewoonlijk gebeurt qp het niveau van een geheugentoegang, dus bijvoorbeeld op woordbasis. De realisatie van het bovenstaande is juist bijzonder voordelig als 1 of meerdere IS superprocessen juist meer dan 1 proces bevatten.
Onder een proces wordt verstaan een door een volgcrdebesturingsinrichting (sequencer) verketende hoeveelheid elementaire handelingen ten aanzien van 20 informatie: die in het aan het betreffende proces toegewezen geheugen opgeslagen is. De toestand van een proces kan dus ' worden aangegeven net een toestandsdiagram.
Onder een superproces wordt verstaan een verzameling van processen. Als een superproces meerdere processen telt de 2S verschillende stadia der respektievelijke volgarde-besbaringsinrichtingen niet volgens een vaste relatie 30 38 # , 8400186 PHN 10.916 6 « % *
V
behoeven samen te hangen. Het toestandsdiagram van een superproces is opgebouwd uit de parallelle, en onderling onafhankelijke toestandsdiagrairmen der samenstellende processen. Zoals gesteld is bepaalde informatie onder de 5 processen van een superproces gemeenschappelijk, met name datainf ormatie.
Andere informatie, net name de (register)stapel, is voor elk proces privaat, terwijl voor weer andere informatie, bijvoorbeeld kode (=prograirmainformatie) de keuze per 10 processarsysteem, of zelfs per applikatie, verschillend zal kunnen uitvallen. Er wardt nog opgemerkt dat in deze tekst verondersteld wordt dat elke verzameling tenminste 1 element bezit.
15 Met name is hèt als "operating system" aangeduide deel van de systeemsoftware gedecentraliseerd. Dit bestuurt met name: job control, dat is het op basis van selektieve aktivering dynamisch toedelen van uitvoeringselementen van het 20 gebruikersprogranma (applicatie) aan de verschillende stations; network control, dat is de dynamische toedeling van de transportfaciliteiten over het kamrunikatienetwerk aan de 25 respektievëlijke hierom verzoekende superprocessen; file control, dat is de dynamische toedeling van de toegang tot 1 of meer gegevensbestanden aan superprocessen die cm deze toegang verzoeken. Daarbij kan’ een randapparaat, dat wil 30 zeggen de hoeveelheid informatie die de operationele toestand van dat randapparaat betreft, ook als een bestand warden behandeld. Als het randapparaat dan bijvoorbeeld een schijf geheugen betreft, kan de op de schijf opgeslagen informatie ook zelf als bestand worden behandeld.
35
De consequenties van deze decentralisatie zijn onder meer dat 8400186 \ mi 10.916 7 « '* · bij uitval van een station of een verbinding een resterende partitie operationeel kan blijven.
Ben partitie is dos een deel van het systeem dat niet of niet meer in verbinding staat met (eventuele) verdere delen van s het systeem.
Bepaalde delen van het "operating system" dienen dan in meerdere of zelfs in alle stations aanwezig te zijn. Aan de andere kant kan een bepaalde taak van het "operating system” die in een bepaald station verzocht wordt, bij verwijzing 10 in een ander station worden uitgevoerd. Dit betekent, dat niet alle deelfuncties van het "operating system" ode op allp stations aanwezig dienen te zijn. De keuze over de mate van duplicering wordt bepaald door de mate van uitval van delen van het systeem die nog niet tot uitval van het gehele 15 systeem mag leiden. Zo zal uitval van, bijvoorbeeld een centraal archief station net een silo selektief oproepbare optisch uitleesbare geheugenschijven dikwijls toch tot onoverkomelijke problemen leiden, zodat dit juist niet wordt gedupliceerd. Faciliteiten die voor elkaar als het ware 20 kunnen "inspringen" worden juist wel gedupliceerd: dit zou bijvoorbeeld gelden voer een regeldrukker, een videemoniter, of een veel gebruikte programmatische module.
VERDERE ASPERIEN VSN EE UITVINDING 25
Bet is gunstig als tenminste 1 station meerdere processcren bevat, en dat in elk meerprocesscrstaticn de respeJctievelijke processcren van onderling gelijke architektuur zijn. Onder architektuur wordt hier verstaan de verzameling kanventies en 30 eigenschappen, waarmee de processor zich aan een gebruiker manifesteert, met name het zogenoemde "hardware-software" interface.
Door de beschreven voorziening behoeft ér binnen 1 enkel station geen infoooatievertaling plaats te vinden tussen de 35 processcren. Daarmee kunnen de processcren binnen 1 station 8400186 « ' i \ PHN 10.916 8 nog wel van een verschillend type zijn, als ze maar voldoen aan de eis van gelijke architektuur; zo worden bijvoorbeeld processorfamilies aangeboden, die zich van elkaar kunnen onderscheiden in werksnelheid, instruktieverzameling, 5 toelaatbare adresruimte, maar die voor* het overige naar tuiten aan elkaar gelijksoortig zijn.
Het is gunstig als alle processoren van gelijke architektuur zijn en dat elk station een ingangselement en een 10 uitgangselement bezit om een bericht over het globaal korcnunikatienetwerk te komrruniceren in de zelfde infcrmatiekonfiguratie als het binnen de respektievelijke stations verkeert. Dit betékent dat er geen omzetting behoeft plaats te vinden voor transport over het netwerk, en dat 15 vergroot de responsiesnelheid. In het algemeen is de optimalisering van het onderhavige systeem geschied in de richting van een kleine responsietijd, en elke daardoor vervallende operatie heeft zo een verbetering tengevolge.
20 Het is gunstig als in elk station slechts 1 enkele processorarchitéktuur voorhanden is, doch binnen het processarsysteem tenminste twee verschillende processorarchitekturen voorhanden zijn, met het kenmerk, dat elk station een uitgangselement bezit on een bericht over het .
25 globaal kcamunikatienetwerk te kamuniceren in dezelfde informatiekonfiguratie als het binnen het zendend station korrmoniceerde en dat elk station een ingangselement bezit om een ontvangen bericht zo nodig om te zetten in een voor een processor van het desbetreffende station toelaatbare 30 informatiekonf iguratie. Voor elk transport behoeft* er dan slechts hoogstens 1 omzetting plaats te vinden, namelijk bij de ontvanger.
Als het netwerk een eigen konversie door de verzender zou vereisen, zou dit meer tijd kosten. En met name als het 35 84 0 0 1 8 6.............. . ........... . ......... :::::: \ " · V .
PHN 10.916 9 aantal verschillende architekturen klein is, bijvoorbeeld slechts gelijk aan twee, behoeft er voor elk station maar 1 kcnversieprcgrarana te werden opgeslagen, hetgeen ook geheugenruimte spaart.
6
Het Is gunstig als een taakverdelingssubsysteem aanwezig is om bij aktivering van een taakstuk hetzelve als superproces aan een respektievelijk station statisch toe te delen tot aan de beëindiging van het 10 desbetreffende taakstuk. Door zo'n statische verdeling wordt de voorspelbaarheid van de werking van het systeem vergroot. Op zichzelf woedt ook de snelheid groter; als bijvoorbeeld een transport over een langzame verbinding zal moeten lopen (dit is van te voren békend), kan het zendende station een 15 andere deeltaak starten en toch zeker zijn dat het antwoord voldoende lang wegblijven zal. Bij een dynamische allckatie kan zowel een zeer snelle alsook een zeer langzame verbinding in het geding zijn: dan moet het zendend station dus blijven wachten, hetgeen soms een leegloop vertegenwoordigt.
20
Het is gunstig als elk superproces voorzien is van aanroepniddelen voor het aanroepen van in het processorsysteem voorziene klckmiddelen voor het signaleren van een absolute en van een relatieve tijd. Het aanroepen van 25 zo'n hardware klok maakt vele soorten van tijdbewaking mogelijk, zodat een dergelijk processorsysteem met voordeel in allerlei procesbewakingsomstandigheden gebruikt kan worden.
30 De uitvinding betreft mede een station voer gebruik in eei^ processorsysteem met meerdere stations volgens het voorgaande waarbij het voorzien is van tenminste 1 processor , aansluitmiddelen ten aansluiting aan een koranmikatienetaierk, geheugenruimte voor het 35 8400186 PHN 10.916 10
V
implementeren van hrievenbosruimte en verder voor .........
datainfcrmatie en kodeinfoonatie van enig lokaal geassigneerd superproces alsmede van aanroepmiddelen voor het aanroepen van in het processorsysteem te voorziene klokmiddelen voor 5 het signaleren van een absolute en van een relatieve tijd, en van een programmatische modale als. lokaal kerndeel van het globale werksysteem (operating system). Zo'n station blijkt dan een aantrekkelijke bouwsteen om modulair het processorsysteem uit te breiden, dan wel cm ondanks 10 stuksgewijze verwijdering van zo'n station een werkend systeem te houden.
KORTE BESCHRIJVING VM DE FIGUREN
15 De uitvinding wordt hierna nader uitgelegd aan de hand van enkele figuren. Eerst warden de ideologische achtergronden gegeven. Dan wordt een globale beschrijving van het systeem gegeven. Daarna worden aspekten van de furiktionele specifikatie uitgelegd. Vervolgens wordt het netwerk 20 besproken. Vervolgens worden bepaalde delen van het "operating system" uitgelegd. Tenslotte wordt het eigenlijke kommunlkatiemechanisme tussen die superprocessen besproken.
Fig. 1 geeft een globaal blokschema van een 25 irultiprocessorsysteem;
Fig. 2 geeft een voorbeeld van een globaal kommunikatienetwerk;
Fig. 3 geeft een blokschema van een enkel station;
Fig. 4 illustreert het job control aspekt van het 30 processorsysteem;
DE FILOSOFIE VM DE UITVINDING
Hierna warden enkele elementen van de filosofie van de 35 uitvinding besproken. De organisatie van het 8400186 ΙΓΤ \ PHN 10.916 11 maltiprocessarsysteem is harizcntaal, dat wil zeggen dat er geen gespecialiseerd meesterstatim is. Dit heeft als voerdelen dat het systeem flexibel is in twee richtingen: er kunnen zowel stations worden toegevoegd, als ervan af genoten. 5 Dit laatste zal kunnen gebeuren als er ofwel een station buiten werking raakt/ bijvoorbeeld door een defekt, ofwel als er een lijnverbinding niet langer te gebruiken is, ode door een defekt, of doordat deze langdurig voor een ander station gereserveerd is. In dit geval kunnen er partities ontstaan 10 aan weerszijden van de niet meer te gebruiken verbinding, welke onder bepaalde voarwaarden ongehinderd door kunnen werken (er moeten bijvoorbeeld wel voldoende hardware en software elementen in de betreffende partitie aanwezig zijn). Een verder voordeel is dat in een systeem zonder 15 gespecialiseerd meesterstation een dynamische verdeling gerealiseerd kan werden van de uit te voeren taken: dat wil zeggen dat een taakstuk (job) al naar gelang van de bezettingsgraad op het ene of op het andere station kan worden uitgevoerd. Ms echter de asslgnering eenmaal is 20 geregeld, dan blijft deze ongewijzigd zolang als de uitvoering van het betreffende taakstuk duurt.
Een nadeel van zo'n systeem is dat de kcxmunikatie enige extra maatregelen vergt die een "overhead" representeren, omdat voer het assigneren van een taakstuk er veelal een 25 afvraagprocedure tussen de verschillende stations moet warden uitgevoerd cm de vrije faciliteiten te zoeken. Ms de assignatie eenmaal is uitgevoerd kunnen de stations veelal zelfstandig werken en is daardoor de werksnelheld groter. Bij het ontwerpen is gestreefd naar een kleine respcnsletijd, 30 enigszins ten koste van de te bereiken gegevenstranspcrtsnelheid (throughput), en ook door enigszins het geheugenbeslag te vergroten: bepaalde softwarenodules kunnen nu meervoudig aanwezig zijn, waardoor de geheugenkosten groter zijn. Dit is geheel acceptabel als de 35 lijnen, bijvoorbeeld door bun relatief lage prijs, geen beperkende faktor worden voor bet gehele systeem (daarmee is 8400186 \ PHN 10.916 12 4 * v het betreffende systeem net name geschikt voor toepassingen in een geografisch beperkt gebied), en verder omdat de extra geheugenkosten bescheiden zijn.
5 Een centraal element van het systeem is het zogenoemde superproces, dat nader gedefinieerd zal worden. Deze superprocessen kommuniceren onder elkaar middels zogenoemde brievenbussen. Het voordeel van gebruik van deze superprocessen is dat hun struktuur onafhankelijk is van de 10 gebruikte hardware. Het gebruik van meerdere processen per superproces blijkt voor vele parallel-verlopende processen een voordelige konstruktie zijn, zo bijvoorbeeld voor het verwerken van grafische beelden, waarbij verschillende bewerkingen achtereen worden uitgevoerd op een sekwentie van 15 beelden. In dat geval is elke bewerkingsslag een enkel proces, terwijl al deze processen tesamen in een superproces georganiseerd zijn.'
Verder vindt geen conversie van informatieberichten plaats als dat niet strikt noodzakelijk is. Dat betekent dat er in 20 een zendend station in het geheel geen konversie plaats Vindt, onafhankelijk van de aard, bijvoorbeeld als gerepresenteerd in de architektuur, van het ontvangende station. In het ontvangende station vindt er ook geen konversie plaats als het zendend station en het ontvangende 25 station compatibel zijn, dus bijvoorbeeld van hetzelfde type of van verschillende types van 1 produktenreeks. Alleen als de stations niet kampatibel zijn, dus bijvoorbeeld van verschillende architekturen, dan vindt in het ontvangende station een konversie plaats. Dit heeft als voordeel dat een 30 bericht slechts hoogstens 1 maal gèkonverteerd wordt bij een transport tussen twee stations; dit in tegenstelling tot het systeem waar steeds konversie en rékonversie plaats vindt tussen de voor een bepaald station geldende konventies en aparte/ alleen voor het verbindingsnetwerk geldende.
35 konventies. Het onderhavige systeem is vooral voordelig bij weinig typen stations: 84 0 0 1 8 6 __--- --------- Λ H®ï 10.916 13 bij n stations van p verschillende types zijn er n(pH) konversiepxDgraninas nodig in de respektievelijke stations, en wel van p verschillende types.
In bet systeem met eigen netwerkkcnventie zijn dat er B (slechts) n, ode van p verschillende types. Voor p=1, 2 is het onderhavige systeem duidelijk in het voordeel. Bovendien werkt deze aanpak snelheidsverhogend omdat elke kanversie tijd kost. In elk geval merkt de gebruiker niets van de architektunr van het station dat zijn opdrachten verwerkt.
10 Een nadeel kan zijn dat de formattering van te transporteren informatie niet optimaal is voor het transport, zodat dit iets groter beslag legt op de transportcapaciteit van de lijn; in de context van de onderhavige omgeving is dat veelal acceptabel.
15
GDCEALE BESCHRIJVING VAN EEN VOORKEÜFSÜITVCERING
Fig. 1 geeft een globaal hlakschema van een multiprocessorsysteem volgens de uitvinding. Er zijn drie 20 stations 22, 24, 26 die verbonden zijn door een kemmunikatienetwerk 20, in dit uitvoer ingsvoarbeeld is dat een bus. Alleen het station 26 is nader gedetailleerd.! In dit geval is het station 26 een bi-processcr systeem met processcren 34, 36. Vierder bevat het station een hoeveelheid 2s geheugenruimte die schematisch aangegeven is als drie blokken 38, 40, 42,en een aanpassingsschakeling 30 naar bet kaïminikatlenetwerk 20. De elementen 30, 34 , 36, 38, 40, 42 zijn onderling verbondmi door een statiexiskonmunikatienetwerk 32, in dit voorbeeld is dat een interne bus. Eet gebruik van 3Q bussen is geen beperking, zo kan het globale konnunikatienetwerk ook bestaan uit een aantal station-naar^tatien-^verbindingen; in dat geval zijn sommige of alle stations aangesloten op meer dan een zo'n verbinding.
Dit laatste kan ook het geval zijn bij een 31 konrnunikatienetMerk dat op een bussysteem is gebaseerd: er kunnen dan meerdere bussen zijn, die eventueel in een 8400186 « w PHN 10.916 14 hierarchische struktuur zijn opgenomen. De fysieke realisatie van het kcmmunikatienetwerk kan konventioneel zijn.
Ook de fysieke realisatie van de stationsbus kan konventioneel zijn, bijvoorbeeld met parallelle adres-, 5 data-, en besturIngslijnen. De aanpassingsschakeling 30 is dan bijvoorbeeld een buffer om over de bus 20 een woordsgewijze boffering te effektueren voer een betere synchronisatie. Het geheugenblok 38 is toegewezen aan superproces 74, hetwelk twee processen 80, 82 bevat. Zo een 10 (super) proces bestaat instantaan uit een hoeveelheid informatie die in de toegedeelde hoeveelheid geheugen is opgeslagen, en waarbij bepaalde geheugenlokaties specifieke funkties hebben gekregen. Cm dit te symboliseren zijn de (super)processen ', in onderbroken lijnen getekend: ze 15 vertegenwoordigen dus geen additionele hardware. Het geheugenblok 38 heeft een aanpassingsschakeling 44 naar de lokale stationsbus 32. Binnen de rest van geheugenblok 38 is een funktionele verdeling aangegeven. Blok 62 bevat code (d.i. prograrmna-informatie) exclusief voor proces 80, blok 64 20 bevat code exclusief voor proces 82, blok 56 bevat data (d.i. variabele informatie) gemeenschappelijk voor de processen 80 en 82. Blok 50 symboliseert een brievenbusfunktie, die voor het betreffende superproces is gereserveerd.
25 Zo een brievenbusstruktuur bestaat uit 1 of meer brievenbussen, van 1 of meer verschillende types. Elke brievenbus bestaat uit 1 of meer brievenbuslokaties.
Het verschil tussen brievenbussen wordt gedefinieerd aan de hand van de erin passende -berichten, met name dus de 30 hoeveelheid informatie in een bericht.
Elke brievenbus bezit slechts lokaties van 1 enkel type.
Als ten behoeve van- een (super)proces een geheugenoperatie wordt uitgevoerd, dan wordt deze gedaan door de processor die op dat moment bezig is met het voortzetten- van dat 35 (super)proces, en deze processor verzorgt dan ook de uitvoering van de instruktie, het eventueel modificeren van 84 0 0 1 8 6 ......-..................................-__________________-______________ -\ ï i PHN 10.916 15 de data, en het her-opslaan van de data in een geheugenlokatie. De geheugenblokken 62, 64 zijn alleen toegankelijk voer leesoperaties doer het geassocieerde proces. Het geheugenblok 56 is toegankelijk voer lees- ai 8 voer schrijf-cperaties door beide processen 80, 82. Deze processen kunnen dus met elkaar korramiceren via een komhinatie van schrijf-operatie door het ene proces, gevolgd door een leesoperatie door het andere proces in dezelfde geheugenlokatie van blek 56.
10 Deze kamunikatie kan dus gebeuren via de in het betreffende systeem kleinste koraraunikatie-eenheid, bijvoorbeeld een «oord. Het geheugenbiok 50 is toegankelijk voor lees- en schrijfcperaties door beide processen 80, 82, en bovendien (als enig deel dit geheugen) door schrijfcperaties vanuit de 15 bus 32 die door een ander superparoces dan 74 «orden geïnitieerd. Dit kunnen dus in hetzelfde station gelokaliseerde (super)processen zijn, maar ook zulke die in een ander .station zijn gelokaliseerd. De geheugenattributie kan anders zijn, zo kan kode zowel separaat als 20 gemeenschappelijk zijn; in elk geval zijn de stapelregisters voor elk proces afzonderlijk gedefinieerd.
«
De geheugenblokken 40, 42 zijn op overeenkomstige manier georganiseerd om telkens een superproces dat uit twee 25 processen is cpgebouwd, te akkomoderen.
Het bovenstaande is als voorbeeld gegeven. Superprocessen kunnen steeds uit 1 af uit meer processen zijn cpgebouwd; de bovengrens aan dit aantal wordt niet door principiële, naar hoogstens door praktische overwegingen gegeven.
30 Een station kan 1 of meer processoren bevatten. Eén station kan 1 of meer superprocessen akkomoderen. Het is niet nodig dat de processen van een superproces aan dezelfde processor zijn toebedeeld: de conceptie van het superproces staat juist met name toe dat twee processen van hetzelfde superproces 35 simultaan op verschillende processoren van hetzelfde station worden uitgeveerd. Bovendien is het duidelijk dat dé situatie 8400186 , , * PHN 10.916 16
V
van Fig. 1 een Instantaan beeld geeft: als bijvoorbeeld een proces of superproces is voltooid kan de desbetreffende informatie (code plus data) in een achtergrondgeheugen worden gearchiveerd.
5
In dit systeem kunnen de stations van onderling verschillende architektuur zijn. Het verschil in architektuur kan zowel de bouwelementen in de stations betreffen als de erin gebruikte (hogere) rekenmachinetaal. De stations kunnen ook 10 verschillende taken hebben, en dus met name ook gespecialiseerde stations zijn. Zo kan een bepaald station een randapparaat, bijvoorbeeld een schijfgeheugen, besturen. Ook kan een bepaald station toegewezen zijn aan een zogenoemd "werkstation", dat is het geheel van lokaal en ten gerieve 15 van enkele operateur aanwezige faciliteiten. Ook binnen een station kan er een taakverdeling tussen de respektievelijke processoren zijn. Ook behoeven deze processoren dan niet gelijkwaardige prestaties te bezitten. Voorbeelden van toepasbare processoren 20 zijn de 68000 microprocessor van Motorola Corporation, Phoenix, Arizona, of de microcomputer LSI 11 van Digital Equipment Corporation, Marlborough, Massachusetts. Binnen 1 station behoeft geen conversie in berichtenformattering . plaats te vinden.
25
BESCHRIJVING VAN DE FUNKTIONELE SPECIFIKATIE
De voordelen van het gedistribueerde systeem zijn onder meer betrouwbaarheid, omdat het systeem wsrkend kan blijven 30 ondanks het falen van bepaalde onderdelen, capaciteitsvergroting omdat voor bepaalde gespecialiseerde taken ook bepaalde gespecialiseerde onderdelen (bv. stations of softwaremodules) kunnen warden voorzien, uitbreidbaarheid omdat ter capaciteitsvergroting additionele onderdelen kunnen 35 warden voorzien, en snelheid omdat verschillende taken . tegelijk kunnen warden uitgevoerd.
84 0 0 1 8 6.....L
PHN 10.916 17
Het "operating system" van het processcrsysteem bevat boven de "operating systems" van de verschillende stations apart -voor zover dit aanwezig is- net name het zg. kern (el)gedeelte en het decentralisatie-gedeelte. Met name S realiseert het kem-gedeelte de superprocessen.
Het kem-gedeelte realiseert: a. de vertaling van een logische 3xievenbus-naam, zoals deze door enig super proces wordt aangeroepen, in een fysiek 10 adres. Dit gebeurt telkenmale hij het starten van een taakstuk(job), omdat op dat ogenblik de situatie veranderd kan zijn. Als deze vertaling is gerealiseerd, blijven de fysieke adressen gelijk afgezien van het opheffen van enige andere brievenbus, wanneer het bij laatstgenoemde 15 behorende taakstuk en daarmee ook het superproces wordt gedesaktiveerd. Met name blijft dit fysiek adres onveranderd als een taakstuk noch gestart, noch gestopt wordt.
b. het implementeren van senafocar-grootheden tussen 20 onderscheidene processen voor het beveiligen van de kcranunikatie tussen de processen. Het bewerken van semafocr-bits is bekend uit het Amerikaanse Ccrtrooischrift 3,997,875, verleend 14 December 1976 op naam van dezelfde assignee. Op zichzelf zijn meerwaardige semaforen bekend: 2S ae hebben het waardebereik van de niet-negatieve gehele getallen, waarop de bekende p-en-v-operaties worden uitgevoerd. De p-operaties proberen de waarde te verlagen, de ir-operatles proberen de waarde te verhogen. De waarde geeft bijvoorbeeld aan het aantal processen dat zich 3D (tegelijk) bevindt in de zogenoemde "kritische sektie"; het waardebereik is de toelaatbare bovengrens voor dit aantal. Voer elke semafoorgrootheid geldt een bijbehorende maximumwaarde. Ook kunnen zulke semafoorgrootheden gebruikt werden om een vullingsstand van een brievenbus 35 aan te geven, alsmede voor andere doeleinden. Het is duidelijk dat de p-en-v operaties dus onder omstandigheden op elkaar zullen moeten wachten.
840018$ ΕΉΝ 10.916 18 Λ * S" c. het implementeren van een aanroepmechanisme voor een hardware klok. Deze klok kan in elk station (hama) voorzien zijn, maar dat is niet nodig: hij kan ook aanwezig zijn in slechts een deelverzameling van alle 5 stations. In het laatste geval vindt het aanroepen plaats via het kommunikatienetwerk; het klokmechanisme zelf bevat een register dat voldoende vaak wordt geinkrementeerd, bijvoorbeeld met een frequentie van 10 kHz. Zo kan middels het klokmechanisme een absolute tijd (time of day) worden 10 geïmplementeerd. Als aan het klokmechanisme verdere terugstelbare, registers zijn toegevoegd kunnen met de laatste ook relatieve tijdsintervallen worden afgemeten. Zulke absolute en relatieve tijdsintervallen kunnen gebruikt worden voor het bepalen van uitsteltijden voor 15 procesaktivering, en andere "real-time"-funkties.
d. eventueel het behandelen van externe onderbreeksignalen zoals deze gegenereerd worden door externe funkties bij het besturen van randapparaten; zulke funkties zijn bijzondere gevallen van procesgeneratoren. De onderbreek- 20 signalen kunnen ondermeer in de randapparaten zelf worden gegenereerd.
Er zijn alzo drie soorten proces in een station: - lopende, die aktief zijn en met uitsluiting van andere 25 worden uitgevoerd: elke processor heeft in het algemeen ten hoogste 1 lopend proces; - parate, die ook aktief zijn, maar in een wachtrij voor uitvoering zijn opgenomen; - wachtende, die niet aktief zijn, maar wachten op 30 vervulling van een externe conditie, bijvoorbeeld een noodzakelijk gegevene of een tijdsverloop.
35 8400186 EHN 10.916 19
In de wachtrij geldt een vaste prioriteitsvolgarde, terwijl er geen paraat proces mag zijn dat een hogere prioriteit heeft dan het op dat moment lopende proces. Ms er meerdere parate processen met hetzelfde pricriteitsniveau zijn komt 5 het proces met de langste wachttijd eerder aan bod. De wachttijd wordt bepaald met aanroepen van het eerder gemelde klokmechanisne.
Ben deel van het "operating system" is de behandelaar 10 (prcgraramamodule) voor uitzonderingstoestanden/ zoals het ten gevolge van een progrcmneringsfout verschijnen van een schrijfoperatie voor een geheel gevulde brievenbusruimte. Een standaard-behandelaar signaleert en archiveert de situatie die de uitzonderingstoestand ten gevolge had, en beëindigt IS het desbetreffende taakstuk (job). In een ander uitvoeringsvocrbeeld (niet-^tandaardbehandelaar) staat deze vervolgens het voartgaan van het programma toe: dat wil zeggen dat indien mogelijk een ander proces wordt geaktiveerd.
20 25 30 35 8400186 ΡΗΝ 10.916 - 20 Λ \ *t
De uitzonderingstoestand kan zowel door software als door hardware warden geaktiveerd.
BESPREKING VAN DE TAAKSTÜKBESTURING 5
Het processorsysteem wsrkt voor een gebruiker middels applikatieprograjtroas.
De interaktie tussen de informatiestromen in het multiprocessorsysteem en de operaties buiten het systeem 10 warden niet besproken. Deze laatste kannen het aandrijven van mechanische elementen betreffen, zoals een robot, het omzetten naar/van analoge grootheden, het af leveren van gedrukte informatie, en andere. Elk applikatieprograirma kan 1 of meer malen in het systeem in uitvoering zijn, elke (geladen) versie heeft een taakstuk (job).
Een taakstuk bestaat uit 1 of meer superprocessen. Bij het genereren van een applikatieprograirma maakt een gebruiker ook een beschrijving die aangeeft welke hulpmiddelen gedefinieerd moeten worden. Daardoor is bekend op welke soorten stations 20 de respéktievelijke superprocessen van dat applikatieprograirma mogen· worden gelèden. Daaruit wordt een distributiebestand gevormd; dit geeft een lijst van voor de • gebruiker acceptabele verdelingen voor de superprocessen van een taakstuk: elk element van dat bestand geeft 1 a priori 25 toelaatbare situatie, bijvoorbeeld als een lijst van stationsnamen. De feitelijke toelaatbaarheid wordt dan bepaald door al of niet aanwezig zijn van de desbetreffende stations, respektievelijk voldoende geheugenruimte in aldus gedesigneerde stations. Als tot uitvoering moet warden 30 overgegaan wordt eerst het distributiebestand aangeroepen en de elementen daarvan aan de feitelijke beschikbaarheid getest. Als een toelaatbare distributie wordt gevonden wordt middels het bestandsbesturingssyteem in elk te gébruiken station het bestand van het betreffende applikatieprograirma 35 aangesproken, en daarna het laden middels informatietransporten naartoe de desbetreffende stations 8400186 FUN 10.916 21 geaktiveerd. Daarbij wordt elk zo geladen taakstuk voorzien van een unieke en enveranderlijke identifikatie.
In het uitvoeringsvocrbeeld bevat deze: S a. identifikatie van een station, waarop tenminste 1 superproces van het betreffende taakstuk wordt geladen, waardoor het betreffende taakstuk altijd is terug te vinden; b. een tijdsmoment, bijvoorbeeld een deel van de absolute 10 tijdsaangave.
Zo is de identifikatie van elk taakstuk een uniek gegeven en kunnen de respektievelijke taakstukken altijd bij hun identifikatie werden aangeroepen, zonder dat verwarring op IS kan treden. Het laden van een applikatie wordt bestuurd middels aanroepen van het applikatielaadbestand, dit is een centraal gedeelte van de systeegprogracnatuur.
Een taakstuk kan een ander taakstuk starten (start job), met 20 als parameters het applikatielaadbestand, dat aangeeft wat er gedaan moet werden, alsmede het distributiebestand, dat aangeeft waar dit gedaan moet worden. Een taakstuk kan dezelfde applikatie aanroepen waarvan het zelf een geladen versie is.
25
Een taakstuk kan zijn eigen identifikatie opvragen.
Een taakstuk kan verder opvragen de informatie die aangeeft.: welke taakstukken (middels hun identifikatie) op een bepaald 30 station tenminste 1 superproces in uitvoering hebben, en ook voor een geïdentificeerd taakstuk op welke stations tenminste 1 superproces van dat taakstuk in uitvoering is. Dit is voordelig voor de interaktie tussen verschillende taakstukken.
35
Een taakstuk kan verder een taakstuk beëindigen (stop job).
8400186 i * *i PHN 10.916 22
Dit kan het betreffende taakstuk zelf zijn, hetgeen kan gebeuren als er, bijvoorbeeld een programmeerfout is gemaakt, bijvoorbeeld als er een scbrijfaktie wordt geentameerd naar een brievenbusruimte die geheel gevuld is.
5 Een ander voorbeeld van zelfbeeindiging is als het betreffende taakstuk uiteindelijk is uitgevoerd, zodat het zijn funktie verloren heeft. Een taakstuk kan verder een ander taakstuk. beëindigen dat het zelf eerder had gestart. Een taakstuk kan verder bij initiëren een privilegesignaal 10 meegegeven krijgen, middels een aktie van de programmeur. Als een taakstuk van zo een privilegesignaal is, voorzien kan het een willekeurig taakstuk beëindigen. Dit laatste kan bijvoorbeeld nuttig zijn bij het besturen van een robot: als verschillende taakstukken verschillende bewegingen besturen 15 en 1 van de bewegingen moet worden gestopt is het noodzakelijk dat ook alle andere bewegingen worden gestopt. Het stoppen kan selektief gebeuren, telkens door het aanroepen van een taakstuk middels deszelfs identifikatie. Verder bevat het taakstukbesturingssysteem een 20 programmamodule voor het afhandelen van diskonnektiviteiten, die door het netwerkbesturingssysteem warden gedetékteerd.
Als een partitie ontstaat, wordt dit door het later te bespreken netwerksysteem gedetekteerd, bijvoorbeeld doordat een in elke kamunikatieprocedure voorziene "akkoard"melding 25 niet op het juiste moment wordt ontvangen, of dat een -bloksgewijs informatie-transport waarvan de lengte van te voren bekend is, niet konform teneinde wordt gebracht. Dit kan veroorzaakt warden doordat een station of een verbinding in het ongerede raakt of bijvoorbeeld door een gebruiker 30 fysiek uit het systeem wordt verwijderd. Door het’ ’ taakstukbesturingssysteem worden dan in de desbetreffende partitie (daarbuiten is geen betrouwbare interaktie -ireer-mogelijk) alle superprocessen van het desbetreffende taakstuk gestopt, in bijzondere gevallen onder intermediaire 35 uitvoering van een noodstopoperatie. Eventueel wordt bij eerder genoemde robot een taakstuk dat een bewegingsbesturing 8400180 « FHN 10.916 23 τ ~ .
uitvoert zo gestapt, dat de beweging eerst wordt gestopt.
Onder omstandigheden kan dus in een taakstuk een verzameling superprocessen die geen fcoranunikatie buiten zijn eigen partitie nodig hebben een aanzienlijke tijd door blijven 8 werken, maar dat is geen bezwaar omdat daardoor geen extra fouten optreden.
m dit verband geeft Fig. 4 een vereenvoudigd beeld van het starten van een taakstuk. In blok 300 wordt de opdracht tot 10 creatie van het taakstuk ontvangen.
In hlok 302 wcrdt het bestand van de applikatie gelezen. In blak 304 volgt het aanroepen van het verdelingsbestand. Als alle elementen van dit bestand afgezocht zijn volgt in blok 308 een weigering. In blok 310 wordt cp basis van de aktuele 18 informatie van het verdelingsbestand een verzoek gericht tot de in die informatie genoemde stations. Als het verzoek wcrdt afgewezen gaat het systeem naar blok 304. Als alle verzoeken toelaatbaar zijn warden in blok 314 de betreffende stations gereserveerd, ten aanzien van de Ideaal aanwezige 20 faciliteiten, de identifikatie van het taakstuk wcrdt gevormd en de noodzakelijke informatietransporten worden geeffektueerd, bijvoorbeeld de te verwerken data. Als alle informatie ter plekke is gearriveerd, gaat het systeem naar blok 318, anders wordt gekonkludeerd dat het netwerk een fout 25 bevat en gaat het systeem terug naar blok 304. In. blók;-318 wcrdt de uitvoering van het taakstuk gestart. Het stoppen van het taakstuk wcrdt hier niet meer gegeven.
BESPREKING VSN HET NETWERK 30
Er wordt nog op gewezen dat de fysieke eigenschappen van het karmunikatienetwerk door de aanpessingseenheden zoals element 30 in Fig. 1 van de stations worden afgeschermd. Zo behoeft binnen de stations alleen de logische verhindingsstatus 35 beschouwd te worden. Eerst wordt het hlcksgewijze transport over het kemmunikatienetwerk beschouwd. Het netwerksysteem 8400186
V
4 V ~ * PHN 10.916 24 bestuurt het routeren en het dóórstromen van de transportblokken of transportberichten van oorsprongsstation naar bestemmingsstation, alsmede het herstel van fouten veroorzaakt door of in het netwerk. Onder omstandigheden kan 5 de uiteindelijke oorzaak 'een ingreep door een operateur zijn. Het herstel gebeurt door in eerste instantie de fout mee te delen aan alle stations die bij een betreffend transport waren betrokken. Daarna wordt zo mogelijk een nieuwe poging gedaan, bijvoorbeeld door gebruik te maken van een 10 substituaire verbinding, indien aanwezig.
Op het niveau van het gebruikersprogramma is er geen verschil tussen transport binnen en transport buiten het betreffende station. Alle elementaire signaalgrootheden (primitieven) -.van 15 het transport werken met de kern (kernei) samen. Het besturingssysteem bestaat uit een aantal modules; deze zijn in de verschillende stations gelokaliseerd al naar: gelang de , ontwerper van het systeem de mogelijkheden voor een bepaald station bij het konfigureren heeft gedefinieerd. Deze 20 definitie geschiedt onder de globale systeemkoncepten zoals hier uiteengezet.
Elk station en elke verbinding hebben een eigen naam (niet te verwarren met de namen der brievenbussen, die immers bij 25 laden telkens kunnen veranderen- de onderhavige namen zijn kanstantes):. Fig. 2 geeft een systeem met zes stations 100-110 en vier verbindingen .112-118. Van deze verbindingen is no. 112 . en ook 116 een bus met telkens vier aangesloten stations, no. 114 is een punt-punt unidirektionele verbinding en no. 118 30 een punt-punt bidirektionele verbinding. De groepen stations 100/102, 100-106, 104-110 ei 108/110 zijn telkens groepen van buren. Twee stations die niet samen deel uitmaken van -tenminste 1 groep zijn geen buren.
35 Het lokale netwerkbesturingssysteem in een station voorziet zich van informatie betreffende alle verbindingen, waarop het 8400186 ****** ^ ΓΗΝ 10.916 25 betreffende station direkt is aangesloten. Zo bezit station 100 de informatie betreffende verbindingen 112 en 114. Voorts zijn bepaalde stations gedefinieerd als tussenstations voor berichtuitwisseling (switching stations), bijvoorbeeld door 5 een specifiek deel van hun identifikatie. Van de verbindingen kunnen er een aantal gedefinieerd zijn als "ruggegraatsverbinding", ook bijvoorbeeld door een specifiek deel van hun identifikatie. Er geldt dat ruggegraats-verbindingen altijd lopen tussen tussenstations. Een 10 tussenstation behoeft niet middels een ruggegraatsverbinding verbonden te zijn net enig ander tussenstation. Alleen over ruggegraatsverbindingen mogen pakketten getransporteerd tussen stations die niet eikaars buren zijn. Zo kan de gebruiker de generale belasting (overhead) ten gevolge van 15 kcnnunikatie tussen niefc-naburige stations beperken tot bepaalde verbindingen. De specifikatie of een station een tussenstation is of niet, wordt door de gebruiker gedaan hij het Jconfigureren van het systeem.
Ook dit is gedaan om de overhead t.g.v. NNC te beperken tot 20 bepaalde stations/ geheel naar de wensen van de gebruiker.
De gebruiker specificeert eveneens bij de konfiguratie van het systeem een aantal (} 0) paren van stations die alleen mogen konouniceren via nabuur kcmnunikatie (NC).
25 Dit is gedaan met het oogmerk cm te bereiken dat tussen deze stations feomninlkatie plaatsvindt/ alleen indien dit mogelijkst snel en efficiënt gaat.
Als dan station 104 als tussenstation mag fungeren en verbinding 116 is een ruggegraatsverbinding, dan bezit 30 station 104 ook indlrékt de informatie over verbinding 118.
De organisatie van het doorgeven van de lijst van bereikbare stations gebeurt met twee signaalgrootheden "sh (o) wc (o) nf figuration)" en sh(o)wnet*. Dit zijn de roepnamen van twee in elk station aanroepbare procedures, het 35 resultaat daarvan representeert de situatie vanuit de optiek van het desbetreffende station en wordt in een bestand 8400186
V
ir k Sf PHN 10.916 26 opgeslagen voor desgewenste latere, inspektie. De tweede presenteert bij aanroepen een lijst met verbindingen (links): elke verbinding biedt een sublijst van via die verbinding bereikbare stations. Het aanroepen van de eerste roepnaam 5 presenteert een lijst van alle stations die vanuit het betreffende station bereikbaar zijn, dat is dus de vereniging van de sublijsten die bij aanroepen van de eerstgenoemde procedure warden gepresenteerd. Het doorgeven van het verbindingspatroon gebeurt echter alleen door stations die 10 als tussenstations zijn gedefinieerd. De administratie van genoemde bereikbaarheid vindt in elk station plaats middels een hoeveelheid in Pig. 1 eenvoudshalve niet aangegeven geheugenruimte.
15 Een bericht wordt door het komrunikatiesysteem verstuurd als een reeks (van 1 of meer) paketten. Het pakket wordt aangegeven door een kop en een dataveld? per verbinding is een grens voor de lengte van het dataveld gegeven. Een vanuit een station te verzenden pakket krijgt aldaar een uniek 20 volgnuintier toegedeeld. Als een pakket over meerdere verbindingen achtereenvolgens wordt getransporteerd heeft dat tot resultaat dat een serie pakketten invvolgorde kan arriveren, ook als enkele stations moeten worden gepasseerd, omdat steeds gewerkt wordt volgens een volgorde, bijvoorbeeld 25 de volgorde van genereren. Dit resultaat wordt alleen niet noodzakelijkerwijze bereikt als verschillende pakketten langs tenminste,gedeeltelijk parallelle verbindingen worden verzonden. Per volgnummer wordt in het oorsprongsstation geadministreerd of het bijbehorende pakket is "afgehandeld".
30 Afgehandeld wil zeggen dat het pakket verzonden is en dat het zenderproces in verwittigd van het feit dat of: - het pakket goed is aangekomen; - er iets mis gegaan kan zijn.
in beide gevallen wordt het volgnummer van dat pakket 35 geretourneerd aan het netwerkbesturingssysteem van het oorsprongsstation.
8400188 FHN 10.916 27
Het aantal pakketten dat tegelijkertijd onderweg is van ocrsprcngs- naar bestenrningsstation, is gebonden aan een door de gebruiker op te geven maxirrum cm de anvang van de volgnuitPEradminsitratie aan een maxinum te binden en cm B geretourneerde volgnunmers opnieuw te kunnen gebruiken. Deze techniek is algemeen bekend onder de naam "sliding-window protokDllen".
NADERE BESCHRIJVING VAN EEN STATION
10
Fig. 3 geeft een nader blakscheraa van een station. Dit bevat een eventueel op zichzelf bekende processor, waarvan schematisch alleen zijn weergegeven de ALU-eenheid 178, een interne register baric 180, een terugkoppelverbinding, en een 15 adresregister 172, onderling door een informatiepad verbonden.
Het station bevat een superproces met twee processen en twee brievenbussen.
20 Brievenbus 150 kan 8 items bevatten, bijvoorbeeld bestaande uit 1 of enkele woerden. Brievenbus 152 kan 1 item bevatten met vele woorden, bijvoorbeeld een pagina van een dokunent vertegenwoordigende. De brievenbussen hebben een logische naam en in dit geval een fysiek adres, bijvoorbeeld bestaande 25 uit een concafcenatie van het stationsadres en de relatieve adressen der eerste geheugenwoerden van het deel waarin de brievenbussen zijn gelokaliseerd. Voorts is er in het geval van brievenbus 150 een leesaanwijzer (pointer) en een schrijfaanwijzer, waarmee deze brievenbus op bekende manier 30 als FXFO-geheugen is georganiseerd. Een adresherkenelement, dat op het koamunikatienetwerk is aangesloten, herkent van ontvangen adressen af ze inderdaad voor 1 van de brievenbussen bestemd zijn en zo ja, dan wordt het blok ingeschreven, onder voorwaarde dat de brievenbus nog niet vol 35 is. Voor brievenbus 152 woedt dan op bekende manier een DMA.
0400186 < « PHN 10.916 28 mechanisme geïmplementeerd. Voor het eerste proces is er een lokatie 154 die als programnateller werkt, een lokatie 156 voor het opslaan van kommunikatieprimitieven, een registerstapel 158 met vier lokaties, en een 5 niet-geprivatiseerd code-geheugen 160. Voor het tweede proces is de konfiguratie in de lokaties 162-168 overeenkomstig, het kode-geheugen is in dit geval wel geprivatiseerd voor dit proces. Voorts is er een voor de twee processen niet geprivatiseerd data-geheugen 170. Privatisering wordt 10 aangegeven door een privatiseringsbit en een lijst van toegangsgerechtigde processen.
Voor een toegang moeten deze dus worden geverifieerd. Dit kan gebeuren öp de manier die voor een gesegmenteerde géheugenorganisatie bekend is, waar namelijk een bovengrens 15 voor de adresverplaatsing niet overschreden mag worden. De programmatische modale T74 bevat de komriimikatiepriinitieven voor het netwerkverkeer met andere stations, progammatische module 176 bevat een programma voor het herkennen van aankomende blokken die in een andere architektuuromgeving dan 20 het betreffende station zijn gegenereerd. Progamratische module 184 bevat een prograitma voor het in het betreffende station laden van een van buiten aankanend proces, progammatische module 186 bevat een programma voor het behandelen van een uitzonderingssituatie, en.programmatische 25 module 188 bevat een programma voor' het uitroeren van de noodzakelijke delen van. taakstukbesturing en bestandsbeheersing.
De klok wordt aangeroepen middels een "klein" (d.i. in brievenbus 150 passend) blok.
30
BESCHRIJVING VMi HET KEKN-SYSTEEM
Hierna wordt dat gedeelte van het "operating system" beschreven dat nodig is voor het als multi-station-systeem 35 funktioneren en in elk sation aanwezig is.
Deze kern-delen kunnen warden aangeroepen/.door 8400186 EBN 10.916 29 gebruikersprccessen in het betreffende station zelf en verder oak door "operating system"-processen uit andere stations. Middels de kern warden de superprocessen geïmplementeerd.
De kern bestuurt voorts de interaktie tussen de 5 respectievelijke processen en bet systeem.
De kern verschaft de volgende protekties tegen ontoelaatbare toegang tussen verschillende geprogrammeerde aktiviteiten in het systeem: 10 een proces mag niet de stapel van een ander proces aanroepen; een superprcces mag niet de lokale datagegevens van een ander superproces aanroepen; een taakstuk (jób) mag geen berichten sturen naar brievenbussen van superprocessen die tot taakstukken van een 15 ander gebruiker sprograKcna behoren.
Elke brievenbus heeft een identifikator "boxid", ai is voorzienbaar van een type-identifikatcr die het type berichten dat ontvangbaar is exclusief identificeert. Elke 20 brievenbus bevat een voer afbepaald aantal vakken die elk 1 bericht kunnen bevatten. De situatie in een brievenbus wordt gekarakteriseerd docr drie variabelen, namelijk de "gezonden volgorde", de "ontvangen verzameling" en de "ongeldige(deleted) verzameling”. De eerste variabele A 25 enumereert alle berichten die naar de betreffende brievenbus zijn gezonden, en wal vanuit êen ander station. De tweede variabele B enumereert alle berichten die in het bijbehorende station vanuit de betreffende brievenbus zijn ontvangen. De derde variabele C enumereert alle berichten die 30 in de betreffende brievenbus ongeldig zijn gemaakt. Er geldt dus dat (A-C) te hoogste gelijk is aan het aantal vakken van de brievenbus. Bij gelijkheid is de brievenbus vol.
Als er een bericht wordt verzonden over het 35 kempounikatienetwerk dan moeten gespecificeerd worden de procssscrarchitektuur en de rékenmachinetaal van het 8400186
«* V
v PHN 10.916 30 zendende superproces. Als 1 van beide verschilt van de karakterisering van het station van het ontvangende superproces, dan wordt aan het einde van de ontvangst een amzetprocedure opgeroepen. Deze wordt uitgevoerd binnen het 5 aanroepende (bestemmings-j proces, met als uitgangsmateriaal de informatie die in de desbetreffende brievenbus ontvangen werd.
De status van de processen in een station kan veranderen bij 10 een onderbreeksignaal, of bij een synchronisatie-funktie. Een wachtend proces kan aktief worden als een voorwaarde is vervuld; een lopend proces kan wachtend worden als voor verder lopen een voorwaarde vervuld moet worden, of een lopend proces wordt af gelost, maar blijft gereed cm weer te 15 gaan lopen. De volgende regels worden geïmplementeerd; - er is geen gereed proces met een hogere prioriteit dan het lopend proces; 20 - als er tussen twee gereedstaande processen moet warden gekozen heeft het proces dat de langste wachttijd heeft voorrang; dit vergroot de voorspelbaarheid voor een gebruiker; 25 - het aantal wisselingen tussen processen wordt zo klein mogelijk gehouden.
Binnen een superproces worden de processen gesynchroniseerd middels gemeenschappelijke variabelen, bijvoorbeeld 30 semafoorbits. Op semaforen worden de békende P- en V-operaties uitgevoerd, die de vakman overbekend zijn.
Fig. 5 illustreert het netwerk besturingssysteem van het multiprocessorsysteem, middels een beeld van een 35 netwerkconfiguratie. De stations zijn verdeeld in twee kategorieen. In de eerste plaats zijn er de tussenstations 8400 1 8 6 PHN 10.916 31 200, 202, 204, Voorts zijn er verdere stations 206 tot en net 218. De tussenstations vaneen net de verbindingen tussen hen de kern van het systeem. Deze stations hebben de faciliteit cm karnunikatie negelijk te maken tussen stations die niet 5 direkt verbonden zijn, zoals bijvoorbeeld de stations 208 en 218. Zoals aangegeven zijn tussenstations veelal meervoudige verbindingen voorzien, zoals de verbindingen 220 en 222. De overige stations kunnen slechts kcmouniceren met enerzijds de stations waarmee ze direkt als buurstations zijn verbonden, 10 en anderzijds met 1 of meer tussenstations (en zo via een tussenstation eventueel een niet-tussenstatian bereiken).
Bij het initiëren van het systeem wordt eerst de struktuur gedefinieerd; elk station slaat op een lijst van alle direkte IS verbindingen en tevens de middels deze direkte verbindingen onmiddellijk bereikbare andere stations. Dit gebeurt met een vraag en antwoord procedure waarin de verbindingen achtereenvolgens warden afgevraagd en bij het ontvangen van een identificerend antwoord een presentieridentifikatie voor 20 verbinding cura stationsidentifikatie wordt opgeslagen. Bij het werken van het systeem kan een verbinding uitvallen, zo bijvoorbeeld de direkte verbinding 220 tussen stations 200 en 204. Hierdoor verandert de netwerktcpologie echter niet en * dit behoeft dus niet bekend gemaakt te warden aan de overige 25 stations. Het is duidelijk dat het irplementeren van een netwerksverandering zo eenvoudig en snel kan gebeuren.
Met name weet ook de gebruiker de interne struktuur van het netwerk niet behalve voor zover dat zijn direkte aanpassing *- — i----S» 30
Alle niet-tussenstations zijn direkt aangesloten cp 1 der tussenstations. Twee naburige stations, respëktievelijk de respectievelijke superprocessen in twee naburige stations kunnen als gesteld kcranuniceren met de eerder beschreven 35 IzriEvsrhusnechanismen· Twee nietmaburige stations kunnen alleen kcranuniceren met gebruik van tenminste een 8400186 f ' *· PHN 10.916 32 tussenstation. De kcnnunikatie gebeurt in informatiepakketten. Elk zo'n pakket is voorzien van een besturingskop (header). Deze besturingskop bevat informatie over de te volgen weg.
5 Het transport wordt als volgt geeffektueerd. Elk niet-tussenstation buiten de ruggegraatstruktuur bezit binnen elk tussenstation waar het direkt mee verbonden is, een eigen zogenoemde expeditie(forwarding) buffer, die niet voor andere niet-tussenstations toegankelijk is. De kapaciteit van de 10 buffer is 1 of meer paketten als door de systeemkonfigurator te kiezen. Het zenden van informatie naar zo'n expeditiebuffer gebeurt dus op pakketbasis tot de buffer vol is als bepaald door een vullingsstandaanwij zer, die door het betreffende station aan te roepen is. Elk tussenstation bezit 15 in elk ander tussenstation waar het mee verbonden is een zogenoemde verwijderde (remote) buffer. Ook deze verwijderde buffers zijn statisch geallokeerd aan een bijbehorend tussenstation, zolang als de verbinding fysiek bestaat. Ze worden bestuurd door het station waaraan ze zijn geallokeerd, 20 en hebben een kapaciteit als gedefinieerd door de systeemr-konf igurator en voorzien van een aanroepbare vullingsstandindikator. Elke verwijderde buffer is aangesloten op een hoeveelheid detektielogika om de in de besturingskop vervatte besturingsinformatie te dèkoderen.
25 Deze laatste bevats een identifikator betreffende het oorsprongs station; een identifikator betreffende het besterrmingsstation; een aangave van de te volgen weg, die in eerste instantie geldt (als deze weg is verbroken, maar een andere beschikbaar 30 is wordt deze laatste subsidiair ingeroepen), een identifikator betreffende de inhoud van het pakket, zoals een naam, een volgordenunmer; een prioriteitsindikatie, en eventueel andere.
In een tussenstation wordt voor pakket zowel in een 35 expeditiebuffer als in een verwijderde buffer de te volgen weg gedetekteerd en in acht genomen. Voor een verwijderde 8400186 EHN 10.916 33 buffer woedt een uitgefcreidere detektiestrategie geinplementeerd: de prioriteit tussen verschillende oersprongsstations wordt In acht genomen, en voor eenzelfde oorsprengsstation woeden de paketten verzonden in de rangorde s van hun volgardernamier, zodat in verreweg de meeste gevallen de volgorde tussen pakketten bij het bestaimingsstation daselfde is als waarmee ze door het oorsprengsstation waren verzonden. Door het aldus statisch iicplementeren van onderscheidene bufferkategarieen wordt de reaktie van het 10 netwerk op een verzoek versneld, uiteraard ten koste van extra geheugenruimte, die anderzijds gebruikt had kunnen worden als bufferruimte voer massale (bulk) informatietransporten die een grotere doorstroomsnelheid hadden kunnen krijgen juist door zulke uitgebreide buffers IS (bijvoorbeeld als FIFO georganiseerd).
Een verder detail van het netwerkbesturingssysteem is het zogenoemde "timeout* mechanisme, dit is de wachttijd die geïmplementeerd wordt voordat een verwachte gebeurtenis als 20 falend wordt beschouwd, veelal is namelijk niet exakt te vóórspellen op welk ogenblik een tweede station het antwoord zal geven op een verzoek van een eerste station. Bovendien is gebleken dat de statistische verdeling van de antwocrdogenblikken een zeer scheve (bv. Poisson) verdeling 25 is.
Het is de bedoeling dat dit wachten zo kort mogelijk dure, zonder dat een groot aantal antwoorden ten onrechte als "te laat" wordt geklassificeerd. Daarom wordt het timeout 30 mechanisme uitsluitend lokaal geiiplementeerd, dat wil zeggen, er wordt alleen gewacht op antwoorden die door een direkt naburig station te genereren zijn. Dat wil zeggen dat een overdracht eventueel in een later stadium kan mislukken, zonder dat dit direkt in het in een eerder stadium als vrager 35 optredend station wordt gedetekteerd. Hierdoor wordt het wachten verminderd, en dus de reaktie op een volgend 8400186 ΡΗΝ 10.916 34
V
” Ί ** verzoeksignaal versneld, bijvoorbeeld als een reeks van paketten wordt uitgezonden.
Kenmerkende elementen van het netwerkbesturingssysteem zijn 5 dus: a. alle buffers worden statisch gepreallokeerd aan een bijbehorend station; b. de paketten bevatten een ingebouwde routeringsindikatie ? 10 c. het timeout mechanisme betreft alleen lokale karmunikatie tussen 2 stations.
BESCHRIJVING VAN HET BESTANDS (FILE) BESTURINGSSYSTEEM VOOR RANDAPPARATEN 15
In het algemeen zal een systeem als beschreven in het voorgaande mede 1 of meer randapparaten omvatten. Voorbeelden zijn een achtergrondgeheugen, een toetsenbord, een regeldrukker, een afbeeldingselement (bijv. op basis van een 20 CRT), een aansluiting aan een extern processorsysteem of bijvoorbeeld een robot, alle gerepresenteerd door respektievelijke besturingseenheden. Al deze randapparaten worden behandeld als "bestanden" of "files". In dit aspekt is het systeem een uitbreiding van het UNIX-systeem dat algemeen 25 békend is en daarom niet nader wordt uitgelegd. De uitbreiding betreft onder meer het gebruik van meerdere processoren. Elk station bezit een in het lokale geheugen opgeslagen randapparatentabel, die dus aangeeft welke randapparaten, met naam en nummer, voor het betreffende 30 station toegankelijk zijn. Dit kunnen zowel lokale' randapparaten zijn als randapparaten die fysiek aan een ander station gelieerd zijn. De randapparaten in de verschillende stations behoeven dus niet onderling identieke verzamelingen van randapparaten aan te geven. Het kommmiceren met de 35 verschillende randapparaten gebeurt met de reeds eerder uitgelegde brievenhusorganisatie: elk randapparaat is 8400186 PUN 10.916 35 gekarakteriseerd als een proces, dan «el, onder omstandigheden, als een superprooes. De bestanden kunnen zeer verschillende afmeting en organisatie hebben. Voer een matrixdrukker is de bestandsgrootte bijvoorbeeld gelijk aan 8 de inhoud van de voorziene regelbuffer voor 1 of meer af te drukken regels, en zijn alleen schrijfoperaties relevant.
Voor een schijfgeheugen is het bestand veelal georganiseerd als een inhoudsopgave of tabel. De elementen van de tabel zijn ofwel de eigenlijke gegevensbestanden waarin in principe 10 schrijven of lezen toelaatbaar is, ofwel 1 of meer subalterne inhoudsopgaven. Bij het openen van een bestand wordt een zogenoemde bestandsdescriptor gegenereerd. Schrijven naar en lezen uit het bestand vindt plaats via de bestandsdescriptor, in plaats van middels de bestandsnaam. Dit levert de uit het IS gereleveerde ONXX-systeem reeds bekende snelheidswinst. De bestandsdescriptor bestaat uit een keten (string) van identifiJcatie-eleraenten waardoor de weg in de hiërarchie is gegeven. De volgende bijzonderheden zijn voorzien in verband met de bestanden zoals hier gedefinieerd: 20 a. m verband met het aanspreken en beschermen van de bestanden is er in de eerst» plaats de "slot" (lock)-optie. Deze kan ingeroepen worden bij het openen van een reeds bestaand bestand. Daarna is het betreffende bestand 2S geprivilegieerd voor het proces dat het "open"-bevel had geïnitieerd.
Daarna kan het betreffende proces met uitsluiting van enig ander proces beschikken over de informatie, respektievelijk de opslagkapaciteit van het betreffende 30 bestand. Als dit beschikken is afgelopen kan hét betreffende proces het geopende bestand weer sluiten, waarmee ook het slot vervalt. Bij sluiten van een bestand wordt de idEsxtifikatie hiervan niet meer gebruikt door het betreffende proces. Ben bestand kan ook geopend worden 38 zonder de Nsiot”-cptie en dan is het bestand voor alle andere processen toegankelijk, althans voor zover de 8400188 * k ' EHN TQ.916 36 betreffende processen alevel toegang hebben tot het bestand, hetgeen als bekend door de bestandsbesturing wordt beslist.
5 b. Een minder exclusieve privilegiering wordt bereikt middels het ppeisings (claim) mechanisme. Eerst wordt dan het bestand geopend, waarna de toegang tot het bestand via de bestandsdescriptor wordt opgeëist. Dit is in het bijzonder geschikt voor samenwerkende processen. Ms twee processen 10 hetzelfde bestand aanspreken is het eerst opeisende succesvol, een later opeisend proces wordt echter opgehouden. Ms het eerste proces gereed is wordt het later opeisende proces in de aktieve toestand gebracht en kan dan de toegangsaktie alsnog opnemen. Daarbij wordt als 15 bijzonderheid: elke invoer/uitvoeroperatie door een ander station dan het opeisende verhinderd.
Voorts bevat het bestandsbesturingssysteem nog middelen om een extern rekenmachinesysteem aan te spreken. Dit kan pp 20 overeenkomstige manier als in het gereleveerde UNIX-systeem en bovendien volgens het eveneens bekende VMS-systeem. Het aansturen van een extern rekenmachinesysteem vertoont als enig verschil de soort bestandsraam. De bestandsraam heeft een prefix die 25 aangeeft welk onderdeel (device) het betreft, dus bijvoorbeeld een extern rekenmachinesysteem. Verder worden alle systeemprimitieven afgebeeld op die van het externe rekenmachinesysteem; ze komen overeen met die van het UNIX-systeem. Bij het opbergen van een door het extern 30 rekenmachinesysteem gegenereerd * bericht (dat dóór bepaalde reeks bytes wordt voorafgegaan, worden deze niet door het lokale bestandsbesturingssysteem geïnterpreteerd: zo'n toegang van buitenaf wordt naar een betreffend., randapparaat (device) doorgegeven).
35
Tenslotte is er nog een mechanisme voorzien om tussen 8400186 4 * s PHN 10.916 37 verschillends taakstukken te kcmnuniceren, de zogenoemde pijptranspcrten (pipes). Zo’n pijptranspcrt werkt als een virtueel bestand dat toegankelijk is voor lezen en voor schrijven. Het functioneert bij wijze van buffer. Als een 5 eerste taakstuk wil schrijven naar een tweede taakstuk woedt eer de "pijp" geopend. Als het tweede taakstuk ook deze "pijp" aanspreekt is het transport verder mogelijk.
De lokalisering van de buffer vindt plaats in een geeigende hoeveelheid geheugen.
10 15 20 25 30 35 6400 1 8 6
Claims (8)
1. Processorsysteem, bevattende een eerste verzameling van dataverwerkende processors die door een kcranunikatienetwerk onderling verbonden zijn voor het uitwisselen van informatiegegevens, welk processorsysteem 5 voorts bevat een systeemgeheugen en een aansluiting op de buitenwereld cm in de respektievelijke processoren respektievelijke processen uit te voeren onder implementatie van een komiunikatiemechanisme tussen verschillende processen, met het kenmerk, dat tót 10 processorsysteem bevat pen eerste verzameling van stations (HAMA), welke stations alle onderling verbonden zijn door een globaal kcstrounikatienetwerk, waarin elk station bevat een respektievelijke tweede verzameling van processoren en een geheugen met een eerste, de tweede verzameling van het 15 desbetreffende station onverdeeld en met uitsluiting van leesakties door andere processoren toegewezen adresruimte, voor het per station uitvoeren van een aan dat station met uitsluiting van verdere stations toegewezen derde verzameling van superprocessen (SQMA), waarbij elk 20 superproces bevat een vierde verzameling van daarin met uitsluiting van verdere superprocessen bevatte processen, en tenminste 1 superproces tenminste twee processen bevat, waarbij alle processen van eenzelfde superproces een verzameling variabele informatie, tenminste de lokaal 25 . operationele data omvattende, gemeenschappelijk hebben doordat deze variabele informatie in een 'tweede adresruimte binnen de eerste adresruimte door alle processen van dat superproces gemeenschappelijk wordt aangewezen, en dat elk proces zijn stapelgeheugenruimte 30 geprivatiseerd bezit, waarbij de respektievelijke processen van een superproces selektief uitvoerbaar zijn binnen de processoren van het desbetreffende station, waarbij elk superproces binnen genoemde tweede adresruimte een brievenbusruimte bezit als exclusieve 35 8400185 i HiN 10*916 39 fc leeskonmmlkatieruiinfce an doer enig superproces daarin geschreven informatie kinnen genoemde eerste verzameling te ontvangen/ welke brievenbusruimte als enige opslagruimte van het betreffende superproces voor een 5 ander superproces in een schrijfoperatie toegankelijk is# waarbij elk superproces voorzien is van een stuurelement cm naar een selektieve brievenbusruimte van enig superproces btLaksgewijs georganiseerde informatie toe te schrijven/ waarbij elke brievenbusruimte voorzien is van ie een vullingsstandindikator om bij een ondernomen leesaktie door een superproces in een lege brievenbusruimte een wachtsignaal af te geven, bij een ondernomen schrijfaktie door een superproces in een geheel gevulde brievenbusruimte een foutsignaal af te geven, en voor het 15 overige een leesaktie, dan wel schrijfaktie toe te staan, onder broksgewijs bijwerken van de vullingsstandindikator van de betreffende brievenbusruimte, en dat een taakstukbesturingssysteera aanwezig is om bij presentatie van een taakstuk aan het processorsysteem dit als een 20 derde verzameling van superprocessen selèktief ter uitvoering toe te delen aan een vijfde verzameling van * tenminste 1 station. *
2. Processorsysteem volgens conclusie 1, met bet kenmerk dat 25 tenminste 1 station meerdere processoren bevat, en dat in elk meerprocesscsrstaticn de respéktievelijke processoren van onderling gelijke architektuur zijn.
3. Processorsysteem volgens conclusie 1 of 2, met het kenmerk 30 dat alle processoren van gelijke architektuur zijn en dat elk station een ingangselement en een uitgangselement bezit om een bericht over het globaal karraonikatienetwerk te kcnmuniceren in de zelfde infcrmatiekonfiguratle als het binnen de respéktievelijke stations verkeert. 35
4. Processorsysteem volgens conclusie 1, 2 of 3, waarbij in 8400185 PHN 10.916 40 elk station slechts 1 enkele processorarchitektuur voorhanden is, doch binnen het processorsysteem tenminste twee verschillende processorarchitékturen voorhanden zijn, met het kenmerk, dat elk station een uitgangselement bezit 5 cm een bericht over het globaal katramikatienetwerk te kammuniceren in dezelfde informatiekanfiguratie als het binnen het zendend station komnuniceerde en dat elk station een ingangselement bezit cm een ontvangen bericht zo nodig cm te zetten in een voor een processor van het 10 desbetreffende station toelaatbare informatiekonfiguratie.
5. Processorsysteem volgens 1 der conclusies 1 tot en met 4, met het kenmerk dat een taakverdelingssubsysteem aanwezig is cm bij aktivering van een taakstuk hetzelve als 15 superproces aan een respektievelijk station statisch toe te delen tot aan de beëindiging van het desbetreffende taakstuk.
6. Processorsysteem volgens 1 der conclusies 1 tot en met 5, 20 met het kenmerk dat elk superproces voorzien is van aanroepmiddelen voor het aanroepen van in het processorsysteem voorziene klokmiddelen voor het signaleren van een absolute en van een relatieve tijd.
7. Station voor gebruik in een processorsysteem met meerdere stations volgens 1 der conclusies 1 tot en met 6, met het kenmerk dat het voorzien is van tenminste 1 processor, aansluitmiddelen ten aansluiting aai een komnunikatienetwerk, geheugenruimte voor het implementeren 30 van brievenbusruimte en verder voor datainformatie en kodeinformatie van enig lokaal geassigneerd superproces , alsmede van aanroepmiddelen voor het ‘aanroepen van in het processorsysteem te voorziene klokmiddelen voor het signaleren van een absolute en van een relatieve tijd, en 35 van een programmatische module als lokaal kerndeel van het globale werksysteem (operating system). 8400186 * m * * * ΕΉΝ 10.916 41
8. Station volgens conclusie 7, met het kenmerk, dat genoemde pcogranmatische module een partieel taakstuktoedelingssysteem bevat, ter vorming van een deel van het globale taakstuktoedelingssysteem. 5 w 15 20 25 30 35 0400186
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
NL8400186A NL8400186A (nl) | 1984-01-20 | 1984-01-20 | Processorsysteem bevattende een aantal stations verbonden door een kommunikatienetwerk, alsmede station voor gebruik in zo een processorsysteem. |
DE19853500452 DE3500452A1 (de) | 1984-01-20 | 1985-01-09 | Prozessoranlage mit einigen stationen, die durch ein kommunikationsnetz mineinander verbunden sind, und station fuer verwendung in einer derartigen prozessoranlage |
US06/691,316 US4769771A (en) | 1984-01-20 | 1985-01-14 | Multiprocessor system comprising a plurality of data processors which are interconnected by a communication network |
GB08501072A GB2153118B (en) | 1984-01-20 | 1985-01-16 | System comprising a plurality of data processors interconnected by a communication network |
CA000472268A CA1226955A (en) | 1984-01-20 | 1985-01-17 | Multiprocessor system comprising a plurality of data processors which are interconnected by a communication network |
FR8500687A FR2558617B1 (fr) | 1984-01-20 | 1985-01-18 | Systeme processeur comportant un certain nombre de postes interconnectes par un reseau de communication et poste a utiliser dans un tel systeme processeur |
JP60008955A JPH07120337B2 (ja) | 1984-01-20 | 1985-01-21 | プロセツサシステム |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
NL8400186A NL8400186A (nl) | 1984-01-20 | 1984-01-20 | Processorsysteem bevattende een aantal stations verbonden door een kommunikatienetwerk, alsmede station voor gebruik in zo een processorsysteem. |
NL8400186 | 1984-01-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
NL8400186A true NL8400186A (nl) | 1985-08-16 |
Family
ID=19843359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
NL8400186A NL8400186A (nl) | 1984-01-20 | 1984-01-20 | Processorsysteem bevattende een aantal stations verbonden door een kommunikatienetwerk, alsmede station voor gebruik in zo een processorsysteem. |
Country Status (7)
Country | Link |
---|---|
US (1) | US4769771A (nl) |
JP (1) | JPH07120337B2 (nl) |
CA (1) | CA1226955A (nl) |
DE (1) | DE3500452A1 (nl) |
FR (1) | FR2558617B1 (nl) |
GB (1) | GB2153118B (nl) |
NL (1) | NL8400186A (nl) |
Families Citing this family (74)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5581732A (en) * | 1984-03-10 | 1996-12-03 | Encore Computer, U.S., Inc. | Multiprocessor system with reflective memory data transfer device |
US4851988A (en) * | 1986-03-31 | 1989-07-25 | Wang Laboratories, Inc. | Loosely-coupled computer system using global identifiers to identify mailboxes and volumes |
JP2585535B2 (ja) * | 1986-06-02 | 1997-02-26 | 株式会社日立製作所 | 複合計算機システムにおけるプロセス結合方法 |
US5142683A (en) * | 1987-03-09 | 1992-08-25 | Unisys Corporation | Intercomputer communication control apparatus and method |
US5179715A (en) * | 1987-03-11 | 1993-01-12 | Toyo Communication Co., Ltd. | Multiprocessor computer system with process execution allocated by process managers in a ring configuration |
US5187799A (en) * | 1988-05-17 | 1993-02-16 | Calif. Institute Of Technology | Arithmetic-stack processor which precalculates external stack address before needed by CPU for building high level language executing computers |
WO1989012861A1 (en) * | 1988-06-20 | 1989-12-28 | United States Department Of Energy | Interconnection networks |
US5056006A (en) * | 1988-09-12 | 1991-10-08 | General Electric Company | Parallel processor with single program storage and sequencer and simultaneous instruction processing |
US5065314A (en) * | 1988-09-23 | 1991-11-12 | Allen-Bradley Company, Inc. | Method and circuit for automatically communicating in two modes through a backplane |
US5481698A (en) * | 1988-09-28 | 1996-01-02 | Hitachi Ltd. | Computer system and job executing method |
DE68924040T2 (de) * | 1988-10-24 | 1996-04-18 | Ibm | Verfahren zum Austauschen von Daten zwischen Programmen in einem Datenverarbeitungssystem. |
US5093918A (en) * | 1988-12-22 | 1992-03-03 | International Business Machines Corporation | System using independent attribute lists to show status of shared mail object among respective users |
US5210828A (en) * | 1988-12-29 | 1993-05-11 | International Business Machines Corporation | Multiprocessing system with interprocessor communications facility |
US5023832A (en) * | 1989-01-12 | 1991-06-11 | Honeywell Inc. | Method of maintaining asynchronous real-time data |
DE69027788D1 (de) * | 1989-01-17 | 1996-08-22 | Landmark Graphics Corp | Verfahren zur Übertragung von Daten zwischen gleichzeitig ablaufenden Rechnerprogrammen |
DE3917715A1 (de) * | 1989-05-31 | 1990-12-06 | Teldix Gmbh | Rechnersystem |
US5339418A (en) * | 1989-06-29 | 1994-08-16 | Digital Equipment Corporation | Message passing method |
AU6520090A (en) * | 1989-09-11 | 1991-04-18 | Poqet Computer Corporation | Virtual network architecture and loader |
US5392426A (en) * | 1989-12-15 | 1995-02-21 | Nynex Corporation, Inc. | Method and apparatus for use in program operation, control and control block management and storage |
US5524255A (en) * | 1989-12-29 | 1996-06-04 | Cray Research, Inc. | Method and apparatus for accessing global registers in a multiprocessor system |
EP0444376B1 (en) * | 1990-02-27 | 1996-11-06 | International Business Machines Corporation | Mechanism for passing messages between several processors coupled through a shared intelligent memory |
EP0463207B1 (de) * | 1990-06-26 | 1995-03-08 | Siemens Aktiengesellschaft | Programmgesteuerte Kommunikationsanlage |
US5226176A (en) * | 1990-08-20 | 1993-07-06 | Microsystems, Inc. | System for selectively aborting operation or waiting to load required data based upon user response to non-availability of network load device |
US5329626A (en) * | 1990-10-23 | 1994-07-12 | Digital Equipment Corporation | System for distributed computation processing includes dynamic assignment of predicates to define interdependencies |
US5448731A (en) * | 1990-11-20 | 1995-09-05 | International Business Machines Corporation | Method and apparatus for controlling the deferred execution of user requests in a data processing system |
US5603018A (en) * | 1991-07-15 | 1997-02-11 | Mitsubishi Denki Kabushiki Kaisha | Program developing system allowing a specification definition to be represented by a plurality of different graphical, non-procedural representation formats |
DE69230093T2 (de) * | 1991-11-19 | 2000-04-13 | International Business Machines Corp., Armonk | Multiprozessorsystem |
EP0549104B1 (en) * | 1991-12-20 | 1998-05-06 | International Computers Limited | Program attribute control in a computer system |
US5408613A (en) * | 1991-12-24 | 1995-04-18 | Matsushita Electric Industrial Co., Ltd. | Data transfer apparatus |
US5349682A (en) * | 1992-01-31 | 1994-09-20 | Parallel Pcs, Inc. | Dynamic fault-tolerant parallel processing system for performing an application function with increased efficiency using heterogeneous processors |
AU3936693A (en) * | 1992-03-25 | 1993-10-21 | Encore Computer U.S., Inc. | Fiber optic memory coupling system |
JPH05324589A (ja) * | 1992-03-25 | 1993-12-07 | Nippon Sheet Glass Co Ltd | 並列コンピュータ装置および光結合装置 |
US5490279A (en) * | 1993-05-21 | 1996-02-06 | Intel Corporation | Method and apparatus for operating a single CPU computer system as a multiprocessor system |
US5499364A (en) * | 1993-10-14 | 1996-03-12 | Digital Equipment Corporation | System and method for optimizing message flows between agents in distributed computations |
AU2821395A (en) * | 1994-06-29 | 1996-01-25 | Intel Corporation | Processor that indicates system bus ownership in an upgradable multiprocessor computer system |
US5577261A (en) * | 1995-01-23 | 1996-11-19 | Tandem Computers Incorporated | Ordered and reliable maintenance of inter-process relationships in a distributed multiprocessor |
US7024666B1 (en) | 2002-01-28 | 2006-04-04 | Roy-G-Biv Corporation | Motion control systems and methods |
US6859671B1 (en) | 1995-05-30 | 2005-02-22 | Roy-G-Biv Corporation | Application programs for motion control devices including access limitations |
US6941543B1 (en) | 1995-05-30 | 2005-09-06 | Roy-G-Biv Corporation | Motion control system and method |
US7139843B1 (en) | 1995-05-30 | 2006-11-21 | Roy-G-Biv Corporation | System and methods for generating and communicating motion data through a distributed network |
US20100131081A1 (en) * | 1995-05-30 | 2010-05-27 | Brown David W | Systems and methods for motion control |
US7137107B1 (en) | 2003-04-29 | 2006-11-14 | Roy-G-Biv Corporation | Motion control systems and methods |
US20060206219A1 (en) | 1995-05-30 | 2006-09-14 | Brown David W | Motion control systems and methods |
US5691897A (en) * | 1995-05-30 | 1997-11-25 | Roy-G-Biv Corporation | Motion control systems |
US5619649A (en) * | 1995-06-12 | 1997-04-08 | Xerox Corporation | Network printing system for programming a print job by selecting a job ticket identifier associated with remotely stored predefined document processing control instructions |
JPH103421A (ja) * | 1995-11-20 | 1998-01-06 | Matsushita Electric Ind Co Ltd | 仮想ファイル管理システム |
KR19990029027A (ko) * | 1996-05-17 | 1999-04-15 | 엠. 제이. 엠. 반캄 | 표시장치 |
US6175854B1 (en) | 1996-06-11 | 2001-01-16 | Ameritech Services, Inc. | Computer system architecture and method for multi-user, real-time applications |
US5889989A (en) * | 1996-09-16 | 1999-03-30 | The Research Foundation Of State University Of New York | Load sharing controller for optimizing monetary cost |
US20010032278A1 (en) * | 1997-10-07 | 2001-10-18 | Brown Stephen J. | Remote generation and distribution of command programs for programmable devices |
US6738814B1 (en) * | 1998-03-18 | 2004-05-18 | Cisco Technology, Inc. | Method for blocking denial of service and address spoofing attacks on a private network |
US6954775B1 (en) | 1999-01-15 | 2005-10-11 | Cisco Technology, Inc. | Parallel intrusion detection sensors with load balancing for high speed networks |
JP3780732B2 (ja) * | 1999-03-10 | 2006-05-31 | 株式会社日立製作所 | 分散制御システム |
US6879862B2 (en) * | 2000-02-28 | 2005-04-12 | Roy-G-Biv Corporation | Selection and control of motion data |
US8032605B2 (en) | 1999-10-27 | 2011-10-04 | Roy-G-Biv Corporation | Generation and distribution of motion commands over a distributed network |
US6885898B1 (en) * | 2001-05-18 | 2005-04-26 | Roy-G-Biv Corporation | Event driven motion systems |
US20100131078A1 (en) * | 1999-10-27 | 2010-05-27 | Brown David W | Event driven motion systems |
US7904194B2 (en) | 2001-02-09 | 2011-03-08 | Roy-G-Biv Corporation | Event management systems and methods for motion control systems |
WO2002071241A1 (en) | 2001-02-09 | 2002-09-12 | Roy-G-Biv Corporation | Event management systems and methods for the distribution of motion control commands |
US7082606B2 (en) * | 2001-05-01 | 2006-07-25 | The Regents Of The University Of California | Dedicated heterogeneous node scheduling including backfill scheduling |
DE10122422A1 (de) | 2001-05-09 | 2002-11-21 | Siemens Ag | Verfahren und Vorrichtung zum Einstellen der Bandbreite einer Verbindung zwischen mindestens zwei Kommunikationsendpunkten in einem Datennetz |
US20030212761A1 (en) * | 2002-05-10 | 2003-11-13 | Microsoft Corporation | Process kernel |
US8239942B2 (en) | 2002-12-30 | 2012-08-07 | Cisco Technology, Inc. | Parallel intrusion detection sensors with load balancing for high speed networks |
US8027349B2 (en) * | 2003-09-25 | 2011-09-27 | Roy-G-Biv Corporation | Database event driven motion systems |
US20060064503A1 (en) | 2003-09-25 | 2006-03-23 | Brown David W | Data routing systems and methods |
US20050125486A1 (en) * | 2003-11-20 | 2005-06-09 | Microsoft Corporation | Decentralized operating system |
US20100131077A1 (en) * | 2004-02-25 | 2010-05-27 | Brown David W | Data Collection Systems and Methods for Motion Control |
US7734471B2 (en) * | 2005-03-08 | 2010-06-08 | Microsoft Corporation | Online learning for dialog systems |
US7707131B2 (en) * | 2005-03-08 | 2010-04-27 | Microsoft Corporation | Thompson strategy based online reinforcement learning system for action selection |
US7885817B2 (en) * | 2005-03-08 | 2011-02-08 | Microsoft Corporation | Easy generation and automatic training of spoken dialog systems using text-to-speech |
US7957413B2 (en) * | 2005-04-07 | 2011-06-07 | International Business Machines Corporation | Method, system and program product for outsourcing resources in a grid computing environment |
FR2920556B1 (fr) * | 2007-08-31 | 2009-11-13 | Bull Sas | Gestionnaire de processus ameliore |
US10467151B2 (en) * | 2017-09-05 | 2019-11-05 | NGINX, Inc. | Using shared memory to transport data between server processes |
US11042424B1 (en) | 2018-04-24 | 2021-06-22 | F5 Networks, Inc. | Pipelined request processing using shared memory |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3483520A (en) * | 1966-04-20 | 1969-12-09 | Gen Electric | Apparatus providing inter-processor communication in a multicomputer system |
US3715729A (en) * | 1971-03-10 | 1973-02-06 | Ibm | Timing control for a multiprocessor system |
US4228496A (en) * | 1976-09-07 | 1980-10-14 | Tandem Computers Incorporated | Multiprocessor system |
US4223380A (en) * | 1978-04-06 | 1980-09-16 | Ncr Corporation | Distributed multiprocessor communication system |
US4387427A (en) * | 1978-12-21 | 1983-06-07 | Intel Corporation | Hardware scheduler/dispatcher for data processing system |
US4325120A (en) * | 1978-12-21 | 1982-04-13 | Intel Corporation | Data processing system |
FR2476349A1 (fr) * | 1980-02-15 | 1981-08-21 | Philips Ind Commerciale | Systeme de traitement de donnees reparti |
US4412286A (en) * | 1980-09-25 | 1983-10-25 | Dowd Brendan O | Tightly coupled multiple instruction multiple data computer system |
US4445171A (en) * | 1981-04-01 | 1984-04-24 | Teradata Corporation | Data processing systems and methods |
US4493021A (en) * | 1981-04-03 | 1985-01-08 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Multicomputer communication system |
US4503499A (en) * | 1982-09-14 | 1985-03-05 | Eaton Corporation | Controlled work flow system |
US4669043A (en) * | 1984-02-17 | 1987-05-26 | Signetics Corporation | Memory access controller |
-
1984
- 1984-01-20 NL NL8400186A patent/NL8400186A/nl not_active Application Discontinuation
-
1985
- 1985-01-09 DE DE19853500452 patent/DE3500452A1/de not_active Withdrawn
- 1985-01-14 US US06/691,316 patent/US4769771A/en not_active Expired - Fee Related
- 1985-01-16 GB GB08501072A patent/GB2153118B/en not_active Expired
- 1985-01-17 CA CA000472268A patent/CA1226955A/en not_active Expired
- 1985-01-18 FR FR8500687A patent/FR2558617B1/fr not_active Expired
- 1985-01-21 JP JP60008955A patent/JPH07120337B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH07120337B2 (ja) | 1995-12-20 |
US4769771A (en) | 1988-09-06 |
CA1226955A (en) | 1987-09-15 |
FR2558617B1 (fr) | 1987-04-17 |
DE3500452A1 (de) | 1985-07-25 |
GB2153118A (en) | 1985-08-14 |
GB2153118B (en) | 1987-09-23 |
FR2558617A1 (fr) | 1985-07-26 |
GB8501072D0 (en) | 1985-02-20 |
JPS60160463A (ja) | 1985-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
NL8400186A (nl) | Processorsysteem bevattende een aantal stations verbonden door een kommunikatienetwerk, alsmede station voor gebruik in zo een processorsysteem. | |
US5566321A (en) | Method of managing distributed memory within a massively parallel processing system | |
US4685125A (en) | Computer system with tasking | |
US5060150A (en) | Process creation and termination monitors for use in a distributed message-based operating system | |
EP0449500B1 (en) | Apparatus and methods for performing an application-defined operation on data as part of a system-defined operation on the data | |
EP0274406A2 (en) | Self-configuration of nodes in a distributed message-based operating system | |
US20050102671A1 (en) | Efficient virtual machine communication via virtual machine queues | |
EP1042715B1 (en) | Call mechanism for statically and dynamically linked functions within an object-oriented controller using heterogeneous development tool sets | |
JP2016509700A (ja) | クラスタ化されたコンピュータ・システムで通信チャネルのフェイルオーバを実行する方法、装置、およびプログラム製品(ハイ・パフォーマンス・コンピューティング(hpc)ネットワークにおける通信チャネルのフェイルオーバ) | |
JPH1011372A (ja) | Cpu及びi/oデバイス間のリファレンスによるコンピュータシステムデータi/o | |
US6832378B1 (en) | Parallel software processing system | |
JPH09325944A (ja) | I/oデバイス及び多重メモリ装置間のリファレンスによるコンピュータシステムデータi/o | |
KR100719872B1 (ko) | 병렬 컴퓨터 및 이를 이용한 정보처리유닛 | |
JPH07117934B2 (ja) | データ処理システムおよび方法 | |
US20060031839A1 (en) | Data processing apparatus and method of synchronizing at least two processing means in a data processing apparatus | |
EP0077619A1 (en) | Data-packet driven digital computer | |
EP1020801A2 (en) | Dynamic slot allocation and tracking of multiple memory requests | |
JPH02118756A (ja) | マルチプロセッサ・システムにおけるメッセージ通信制御システム | |
Tanenbaum | A comparison of three microkernels | |
EP0274413B1 (en) | Process traps in a distributed message-based system | |
EP0249345B1 (en) | Data packet shortening method and device | |
JPH09288653A (ja) | Cpu間のリファレンスによるコンピュータシステムデータi/o | |
Maaskant | DRM system-a distributed real-time multiprocessor system | |
GB2107497A (en) | Digital computers | |
Waldrop | On-line modification of long-lived distributed programs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A1B | A search report has been drawn up | ||
BV | The patent application has lapsed |