NL8501143A - Kommunikatiesysteem voorzien van een eerst-in-eerst-uit-buffer. - Google Patents

Kommunikatiesysteem voorzien van een eerst-in-eerst-uit-buffer. Download PDF

Info

Publication number
NL8501143A
NL8501143A NL8501143A NL8501143A NL8501143A NL 8501143 A NL8501143 A NL 8501143A NL 8501143 A NL8501143 A NL 8501143A NL 8501143 A NL8501143 A NL 8501143A NL 8501143 A NL8501143 A NL 8501143A
Authority
NL
Netherlands
Prior art keywords
empty
section
busy
indicator
message
Prior art date
Application number
NL8501143A
Other languages
English (en)
Original Assignee
Philips Nv
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Philips Nv filed Critical Philips Nv
Priority to NL8501143A priority Critical patent/NL8501143A/nl
Priority to DE8686200629T priority patent/DE3672309D1/de
Priority to EP86200629A priority patent/EP0198559B1/en
Priority to AT86200629T priority patent/ATE54211T1/de
Priority to JP61087226A priority patent/JPS61243554A/ja
Priority to US06/854,259 priority patent/US4769769A/en
Publication of NL8501143A publication Critical patent/NL8501143A/nl

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • G06F5/12Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
    • G06F5/14Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations for overflow or underflow handling, e.g. full or empty flags
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • G06F5/12Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/12Indexing scheme relating to groups G06F5/12 - G06F5/14
    • G06F2205/123Contention resolution, i.e. resolving conflicts between simultaneous read and write operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Systems (AREA)
  • Memory System (AREA)
  • Multi Processors (AREA)
  • Small-Scale Networks (AREA)

Description

4.
* 4 « x PHN 11.348 1 N.V. Philips' Gloeilampenfabrieken te Eindhoven.
Kcmmunikatiesysteem voorzien van een eerst-in-eerst-uit-buffer.
De uitvinding betreft een komrunikatiesysteem met een bron-inrichting voor het af geven van een volgorde van berichten, een bestemr-mingsinrichting voor het opnemen van de berichten in dezelfde volgorde, en een tussen broninrichting en bestemmingsinrichting geschakelde 5 eerst-in-eerst-uit-buffer voer het voorbijgaand opslaan van de berichten, welke buffer voorzien is van een "bezig"-indikatar met een stand "vrij" cm een toegangsverzoek tot de buffer te honoreren, en een stand "bezig" cm tijdens het uitvoeren van een aanspreekaktie een verder toegangsverzoek af te wijzen, en verder voorzien is van opslag-10 middelen voor een leesaanwijzer en een schrijfaanwijzer.
Eerst-in-eerst-uit-buffers bestaan in twee kategorieën, zulke met schuivende informatie en zulke met stilstaande informatie. Hier wordt alleen de tweede kategorie beschouwd. Bij inf ormatietoevoer, respektieve-lijk -afvoer, moeten de schrijf-, respektievelijke leesaanwijzers worden 15 bijg©rerkt. Zulke buffers werden gebruikt cm een tijdelijk overschot van toegevoerde berichten boven het aantal afgevoerde berichten te kunnen opvangen. Onder omstandigheden lijkt het voor de broninrichting of de opslagkapaciteit oneindig groot is. Zo een buffer is bekend uit het Amerikaanse octrooischrift nummer 4 374 428. In het algemeen kunnen er 20 konflikten ontstaan tussen toegangsverzoeken die van de broninrichting, respectievelijk de besterrmingsinrichting arigineren. Het is een doelstelling van de uitvinding cm middels een eenvoudige organisatie een konfliktvrije besturing van de buffer te bekomen, waar berichten door beide inrichtingen in dezelfde volgorde warden verwerkt, terwijl noch 25 een zogenoemde dodelijke omarming (deadlock), noch een zogenoemde versterving (starvation) kan optreden terwijl alle berichten uiteindelijk worden verwerkt, en waarbij de hoeveelheid bewerkingen tot een laag maximum begrensd is. De uitvinding realiseert de doelstelling, doordat hij het kenmerk heeft, dat de buffer deel uitmaakt van een geheugen 30 met willekeurige toegankelijkheid voor algemeen gebruik in het konrami-katiesysteem, dat een opslagbesturingsmschanisme is voorzien met een rondgekoppelde reeks van n^2 opslagbesturingssecties, aan elk waarvan een onvertakte reeks van berichten in respektievelijke opslagruimtes 4 Λ ' 1 ί 1 W V V - - - w ΡΗΝ 11.348 2 κ i koppelbaar is door verwij zings informaties tussen genoemde opslagruimtes, dat de "bezig"-indikator een aantal van n "bezig"-standen heeft die elk aangeven dat de broninrichting een aanspreekaktie uitvoert met betrekking tot een onvertakte reeks die bij een respektievelijke 5 opslagbesturingssektie behoort, dat alle opslagbesturingssekties voorzien zijn van een tweewaardige "leeg"- "niet leeg"-indikatar, dat een notifikatie-element aanwezig is cm een "signaal" van de broninrichting aan de bestemmingsinrichting op te slaan, alsmede onthoudmiddelen voor broninrichting respektievelijk bestemmings inrichting aangevende een 10 voor de respektievelijke inrichtingen aktuele opslagbesturingssektie, dat de broninrichting voorzien is van middelen on bij een aanspreekaktie de "bezig"-indikator op de stand "bezig" te zetten, indien de door de onthoudmiddelen voor de broninrichting als aktueel aangegeven opslagbesturingssektie leeg is deze te vullen met een aanwijsinformatie 15 naar het alsdan mede aangeleverde bericht, te samen met het stellen van de leeg-niet-leeg-indikator voor de opslagbesturingssektie op de stand "niet leeg" en het inkrementeren van de onthoudmiddelen om voor de broninrichting de volgende opslagbesturingssektie van de rondgekoppelde reeks als aktueel aan te wijzen, doch indien de door de ont-20 houdmiddelen voor de broninrichting als aktueel aangegeven opslagbesturingssektie niet leeg is het aan te leveren bericht te koppelen aan de onvertakte reeks die uitgaat van de naastvorige opslagbesturingssektie van de rondgekoppelde reeks, en in alle gevallen na het aanleveren van het bericht de "bezig"-indikator op de stand "niet bezig" te zetten 25 en genoemd "signaal" af te geven; en dat de bestemmings inrichting voorzien is van middelen om bij een aanspreekaktie het notifikatie-element terug te stellen om genoemd "signaal" onwerkzaam te maken, om indien de "bezig"-indikatar op de stand "bezig" staat de aanspreekaktie te beëindigen, om indien de "leeg"- "niet leeg"- indikator voor de voor de 30 bestemmings inrichting aktuele opslagbesturingssektie op de stand "leeg" staat de aanspreekaktie te beëindigen, doch indien de aanspreekaktie niet aldus beëindigd wordt berichten uit de door de betreffende opslagbesturingssektie aangewezen onvertakte reeks berichten op te halen voor zover als deze laatste reeks strekt, bij het volledig ophalen van de 35 berichten van deze reeks de "leeg-niet-leeg"-1indikator van de betreffende opslagbesturingssektie op de stand "leeg" te stellen, en de onthoudmiddelen op de· eerstvolgende opslagbesturingssektie van de rondgekoppelde reeks te stellen, en een verdere aanspreekaktie uit te voeren van af
5 '"t · . >J
« i PHN 11.348 3 het terugstellen van genoemd notif ikatie-element. In een eenvoudig geval is n=2 waardoor allerlei signaleringen elementair gerealiseerd kunnen worden.
De verdere conclusies geven voordelige uitvoeringsvarmen.
5
Korte beschrijven van de figuren:
De uitvinding wordt nader uitgelegd aan de hand van enkele figuren.
Figuur 1 geeft een koranunikatiesysteem volgens de uitvinding; 10 Figuur 2 geeft een momentopname van enkele onvertakte reeksen.
Beschrijving van een uitvoeringsvoorheeld: 1. Inleiding: 15 Het kommunikatiesysteem bevat een kommunikatieprocedure tussen twee autonome dataverwerkende eenheden (200, 202) zoals deze in figuur 1 getoond zijn. Die eenheden zijn door een nader te definiëren infarmatiepad met elkaar verbonden. De eenheden zijn autonoom, dat wil zeggen dat zij geheel onafhankelijk van elkaar aktiviteiten kunnen ont-20 wikkelen. Die aktiviteiten zijn in de tijd gezien ook niet aan elkaar gerelateerd. Met andere woorden de eenheden weten beslist niet wanneer de ander een bepaalde aktie onderneemt.
De eenheden willen informatie uitwisselen. Daarvoor maken zij gebruik van het al eerder genoemde informatiepad. In dit voorbeeld is 25 dat een willekeurig toegankelijk (RAM) geheugen (204). Beide eenheden kunnen daar onafhankelijk van elkaar in accessen (schrijven en lezen).
Er is een op zichzelf bekende scheidsrechterinrichting bij het geheugen voorzien die zorgt dat de aanvragen in volgorde van aanvraag warden afgehandeld en die zonodig arbitreert (zie figuur 1).
30 In eerste instantie verzorgt het karmunikatiesysteem een korrraunikatie in één richting, dus van eenheid 200 naar eenheid 202 of omgekeerd. Maar het karmunikatiesysteem. kan meerdere, afzonderlijke, kcranunikaties tegelijk realiseren, die elk apart aan het nader te bespreken protokol gehoorzamen, dus bijvoorbeeld van 200 naar 202 en óók 35 van 202 naar 200. Het is ook mogelijk dat er meerdere onafhankelijke informatiestromen van A naar B bestaand die ieder bestuurd worden volgens de principes van het protokol.
Eenvoudshalve wordt dus slechts één enkele kcmmunikatie van -¾ * * ·» / *.
PHN 11.348 4 eenheid A naar eenheid B beschreven.
Eenheid A heeft de behoefte regelmatig eenheid B informatie toe te sturen. We zullen deze informatie-eenheden berichten noemen.
Het doet er niet toe wat de funktionele inhoud van deze berichten is: 5 het mogen kommando's zijn, vragen of puur data etcetera. Zo'n bericht wordt door de eenheid A in het geheugen 204 geplaatst. Hoe weet nu eenheid B dat er een bericht voor het klaar staat in het geheugen? Dat meldt A door hem een signaal te geven. Er bestaat daarvoor een of andere voorziening tussen beide eenheden. Het is verder voor het protokol niet 10 van belang hoe zo'n signaalmogelijkheid er precies uitziet. Eenheid B zal vroeg of laat (het is immers een autonome eenheid) op het signaal reageren en het bericht gaan ophalen en verwerken.
Het kommunikatiesysteem biedt nu de mogelijkheid dat eenheid A meerdere berichten gaat versturen onafhankelijk hoever eenheid B met de 15 afhandeling van de berichten is. A behoeft dus voor de aflevering van nieuwe berichten nooit te wachten op handelingen van B met betrekking to het halen van al aangeleverde berichten. Ter toelichting worden enkele methoden om een rij berichten klaar te zetten, uitgelegd.
In het geheugen zou een rij vaste plaatsen kunnen worden ge-20 definieerd waarin A in volgorde berichten kan plaatsen en B in dezelfde volgorde kan uithalen. Er zijn minstens twee problemen. Het aantal vrije plaatsen is natuurlijk beperkt: wat gebeurt er als B weinig aktief is terwijl A zeer aktief berichten aan blijft leveren? A zal dan op een gegeven moment moeten stoppen met berichtenaanvoer en wachten 25 op een seintje van B dat hij weer wat plaatsen heeft vrijgemaakt. Maar dat is in tegenspraak met het uitgangspunt zoals boven geformuleerd. Maar, en dat is het tweede probleem, hoe weet B dat A staat te wachten op een seintje van hem? Ook die konditie is niet eenduidig te bepalen.
Om het veilig te maken zou B zodra het maar weer een bericht heeft 30 gehaald een seintje kunnen geven aan A zodat als hij stond te wachten op een vrije plaats weer aan het werk kan. Maar ook deze gang van zaken is in tegenspraak met het uitgangspunt en geeft aanleiding to onnodige belasting van A.
We kunnen nog een variatie aanbrengen in de hiervoor besproken 35 en afgewezen methode van berichtenoverdracht. We nemen een "oneindige" rij van vrije plaatsen. Dat is gemakkelijker te realiseren dan op het eerste gezicht lijkt. Immers als we af spreken dat in ieder bericht een plaats is gereserveerd voor een wijzer naar een volgend bericht hebben Λ ·? ~ ·.' .1 » -7
S3 w : i * O
PHU 11.348 5 • ; we ons doel al bereikt. Zolang A in staat is een bericht aan te leveren is hij ook in staat dat te koppelen aan de rij al klaar staande berichten: de laatste daarvan heeft immers een plaats voor een wijzer naar het zojuist aangeleverde bericht. Het probleem ligt nu in het aan-5 koppelen van het nieuwe bericht. Hoe weet A op het moment van aankoppelen dat het vorige bericht al dan niet nog aanwezig is? Testen van een eventuele indikator in het bericht, gezet door B, helpt niet: het bericht kan immers zelf al door B zijn weggehaald. Nog afgezien daarvan, ook al blijkt uit de test dat het bericht op dat moment nog aanwezig is, 10 een fraktie van een (mikro) sekonde later dan de situatie al zijn veranderd. De oplossing wordt hierna beschreven.
2. Structuurelementen: tfe gaan nu eerst de elementen die een rol spelen bij de 15 karmunikatie achtereenvolgens beschrijven. De precieze procedure die de elementen gebruikt en bestuurt, wordt beschreven in het volgende hoofdstuk.
2.1. Eenheden: 20 De komnunikatie speelt zich af tussen twee autonome eenheden, dit kunnen bijvoorbeeld twee CPU's zijn of een Control Unit voor eenrand-apparaat en een CPU. Het zijn autonome eenheden in die zin dat zij hun aktivitei-ten onafhankelijk van elkaar uitvoeren. Meestal zal elk een eenheid zijn waarin de besturing plaats vindt door een microprocessor met lo-25 kaal geheugen.
2.2. Het geheugen:
Er bestaat een geheugen, voor beide eenheden te accesses.
In dat geheugen kunnen berichten worden geplaatst en eruit verwijderd.
30 Het geheugen biedt ook plaats aan nog te noemen andere elementen.
Beide eenheden kunnen het geheugen autonoom en (¾) elk moment accessen.
In principe verleent het geheugen toegang op basis van volgorde van aanvraag. Bij gelijktijdige aanvraag van beide eenheden is er een arbitrage: de aanvragen worden dan achtereenvolgens af gehandeld. De 35 daarbij gevolgde methode is geen onderwerp van de uitvinding. Het is niet essentieel dat er slechts twee eenheden het geheugen kunnen accessen. Het mogen er meer zijn. Het is belangrijk dat een lees- of schrijfaccess een ondeelbare aktie is: als een eenheid toegang heeft ge- Λ · ^ „ ί i-> t , PHN 11.348 6 kregen tot het geheugen kan hij daarin niet worden onderbroken door een andere eenheid.
2.3. Signalering: 5 Tussen beide eenheden bestaat een signaleringsinrichting. De signalering werkt in een richting namelijk van A (de berichtgever) naar B (de berichtenontvanger) en dient om B ervan de verwittigen dat A (weer) (minstens) een bericht heeft klaar gezet. Geeft A een signaal dan levert die gebeurtenis een signaalindikatie in B op. B kan daarop 10 reageren op een tijdstip dat hij het wenst. B kan die signaalindikatie ook weer af zetten. Het is toegestaan dat beide eenheden tegelijk pp dit punt aktief zijn: A geeft een signaal terwijl B tracht de signaalindikatie te resetten. Het resultaat van deze al dan niet geheel samenvallende aktiviteiten is onbelangrijk: de signaalindikatie mag blijven 15 staan of wegvallen.
2.4. Berichten:
Berichten mogen van elke aard en van elk formaat zijn: dat is een kwestie die de eenheden geheel naar eigen behoefte mogen defi-20 nieren en afstemmen. Er is echter een eis: in elk bericht dient op een vaste plaats een ruimte te zijn gereserveerd voor een wijzer naar een eventueel volgend bericht.
2.5. Protokolgeheugenelementen: 25 Het protokol heeft een aantal geheugenplaatsen nodig voor de kammunikatie tussen de eenheden. De volgende elementen kunnen worden onderscheiden.
- Sekties
Voor de uitwisseling van de berichten wordt gebruik gemaakt van twee 30 of meer (bij voorkeur twee) zogenaamde sekties. Een sektie is dan een ruimte waarin een wijzer naar een bericht kan worden geplaatst. Initieel zullen de sekties leeg zijn. We nummeren de sekties als volgt: sektie 0 sektie 1 35 sektie n-1; in deze nummering volgt op sektie k: sektie (k+1) en op sektie (n-1): sektie 0.
C· v 1 i 1 ü EHN 11.348 7 - Leeg-indikatoren
Bij een sektie behoort ook een leeg-indikator: de indikator geeft aan of er werkelijk naar een bericht wordt verwezen of niet. Als de indikator, die hoort bij de door de aanwijzer aangewezen sektie (zie hierna), s aangeeft dat de betreffende sektie leeg is, mag de berichtengever er een bericht in plaatsen waarna hij de indikator op niet-leeg zal zetten. Omgekeerd mag de berichtenontvanger in principe een bericht uit een door de aanwijzer aangewezen sektie halen als de bijbehorende indikator op niet-leeg staat.
10 De waarden van de leeg-indikatoren zijn dus:
Indikator van sektie 0 - leeg - sektie 0 niet-leeg 15 Indikator van sektie 1 - leeg - sektie 1 niet-leeg, etcetera.
Initieel staan de indikatoren op "leeg".
20 “ Sektie-aanwij zers
Er zijn twee sektie-aanwij zers: één voor de berichtengever en één voor de berichtenontvanger. Met'deze aanwijzers houden de eenheden bij, welke sektie zij een volgende keer zullen accessen: de berichtengever om een bericht in te plaatsen, de berichtenontvanger om een bericht te 25 halen.
De voorziening is noodzakelijk omdat de aanwijzers genoemd worden bij de leeg-indikatoren.
De aanwijzers kunnen ieder naar één van de sekties wijzen. Ze hebben dus n waarden. Initieel zullen beide aanwijzers naar dezelfde 30 sektie bijvoorbeeld naar sektie 0 wijzen. Tijdens het uitvoeren van de koirmunikatie-operaties doorlopen de heide aanwijzers voor berichtengever en voor berichtenontvanger de reeks sekties op gelijke en vaste wijze.
- Bezig-indikator 35 Indien de berichtengever een nieuw bericht wil aanleveren, dient hij vooraf deze indikator heen te stellen. Hij zet hem weer terug zodra hij de protokolaktiviteiten die behoren bij dat aanleveren geheel heeft voltooid.
~ ? -* z' S C V : PHN 11.348 8
De bezig-indicator geeft aan met welke sektie de berichtengever precies bezig is. De berichtenontvanger'kent deze indikator en vraagt hem af wanneer hij een of meerdere berichten uit een sektie wil halen. Als de indikator aangeeft dat de berichtengever in de sektie bezig is, die de 5 berichtenontvanger wil aanspreken, moet de laatste zijn poging opgeven. Deze kan dan gaan wachten tot de indikator "niet-bezig" aangeeft, of tot de indikator aangeeft "niet-bezig met een bericht voor de desbetreffende sektie" of wachten op een volgend "signaal". Dit is volledig overgelaten aan de wensen van de berichtenontvanger.
10 De bezig-indikator kent dus in principe n+1 standen: - niet-bezig - berichtengever bezig met bericht voor sektie 0 - berichtengever bezig met bericht voor sektie 1 - berichtengever bezig met bericht voor sektie n-1 15 Cp al deze struktuurelementen nu is een protokol gebouwd dat voldoet aan de uitgangspunten als besproken.
3. Het protokol:
Het protokol bestaat uit een deel dat speelt in de berichten-20 gever (aangeduid met A) en een deel dat speelt in de berichtenontvanger (aangeduid met B). Voor het begrip wordt eerst het protocol beschreven met een tweewaardige bezig-indikator. Standen: berichtengever bezig/ berichtengever niet-bezig. De uitvoering van het protokol bestaat uit een aantal programmatische stappen die door de respektievelijke eenheden 25 worden uitgevoerd. Een meer formele beschrijving wordt later gegeven.
3.1. Protokol in A:
Aktie A1: zet de bezig-indikator op bezig.
Aktie A2: indien de sektie aangewezen door de aanwijzer van A volgens 30 de leeg-indikator van die sektie leeg is dan moet aktie A3a worden uitgevoerd; indien de sektie aangewezen door de aanwijzer van A volgens de leeg-indikator van die sektie niet-leeg is dan moet aktie A3bworden uitgevoerd.
35 Aktie A3a: zet in de aangewezen sektie een wijzer naar het bericht; zet de leeg-indikator op niet-leeg; laat de sektie-aanwijzer van A naar de volgende sektie wijzen.
γλ r? Λ -1 ή l W, <* . 3 1 -j V *** ** - J · PHN 11.348 9
Aktie A3b: koppel het bericht aan het laatste bericht in de rij van berichten die hangen aan de vorige sektie.
Aktie A4 : zet de bez ig-indikator op niet-bezig.
Aktie A5 : geef "signaal” aan B.
5 3.2. Protokol in B:
Aktie B1: zet "signaal"-indikatQr af.
Aktie B2: beëindig het protokol indien de bezig-indikator op "bezig" staat.
10 Aktie B3: beëindig het protokol jndien de leeg-indikatar van de sektie waar de sektie-aanwijzer van B naar wijst op leeg staat.
Aktie B4: haal berichten uit de sektie waar de sektie-aanwij zer van B naar wijst;
Aktie B5: laat de sektie-aanwij zer van B naar de volgende sektie wijzen. 15 Aktie B6: ga verder net aktie B1.
3.3. Toelichting; A kan een bericht altijd kwijt: er is geen konditie: "verlaat protokol omdat B bezig is". Dat was ook het uitgangspunt. De progressie 20 die B maakt met het verwerken van de berichten bepaalt waar A het aktuele bericht laat, namelijk in de sektie die door zijn eigen aanwijzer wordt aangewezen of de vorige in de reeks. Er zijn twee principiële mogelijkheden: 1) A vindt de sektie waar zijn aanwijzer naar wijst altijd in de leeg 25 situatie. Met andere woorden B is zo snel dat hij nooit de situatie laat ontstaan dat beide sekties een bericht (of een ketting van berichten) bevatten terwijl A al weer met een volgend bericht komt. m dit geval treden geen synchronisatieproblemen op en zou het protokol in feite sterk vereenvoudigd kunnen worden.
30 2) A wordt gekonfronteerd met het feit dat hij een bericht zou moeten plaatsen in een sektie (aangewezen door de stand van zijn sektie-aanwij zer) die niet leeg is. Met andere woorden B loopt achter met het leeg halen van de secties. A haalt hem als het ware in. Het is onjuist als A nu toch zijn bericht aan het vorige bericht in de 35 aangewezen sektie zou koppelen. Immers op hetzelfde ogenblik zou B
bezig kunnen zijn (kunnen gaan) met het leeg halen van de betreffende sektie (A en B zijn autonome eenheden!). Dat geeft een synchroni-satie-konflikt.
^ Si ./ ï ;> - - ? -· PHN 11.348 ' 10
De oplossing van dit probleem is gevonden in het volgende. En dat is in wezen de fundamentele vinding. Als A op een bepaald tijdstip konstateert dat B de sektie waaraan hij een bericht zou willen koppelen nog niet heeft geleegd dan is ook de volgende sektie nog niet door B 5 geleegd: B loopt als het ware sekties achter. A gaat nu in plaats van aan de sektie waaraan hij had willen koppelen, koppelen aan de vorige sektie. De tegenwerping zou kunnen worden gemaakt dat hoewel B op het moment dat A testte de sektie aangewezen door A's sektie-aanwijzer nog niet had geleegd, hij dat onmiddellijk na de test wel eens zou kunnen 10 gaan doen. Erger nog, dat hij ook onmiddellijk doorgaat met het legen van de volgende sektie of sekties, hoogstens tot aan de sektie waaraan A gaat koppelen.
Echter vergelijking van het A- en het B-protokol leert dat B in deze situatie niet van het legen van een sektie naar de volgende 15 kan overgaan omdat hij daarin verhinderd wordt door de bezig-indikator. Immers A begint altijd met het zetten van de bezig-indikator voordat hij maar iets gaat doen terwijl B voordat hij een (volgende) sektie gaat benaderen eerst kijkt of de bez ig-indikator op bezig staat i En dat is dus het geval in de beschouwde situatie.
20 Het zou ook denkbaar zijn dat er een synchronisacieprobleem in B zou ontstaan. Namelijk als volgt. B wil (veelal door een ontvangen "signaal"-indikatie) gaan kijken of er een bericht voor hem is. Het is mogelijk dat vlak nadat hij heeft gevonden dat de sektie waar zijn sektie-wijzer naar toe wijst leeg is, A er een bericht in plaatst. Er 25 dreigt dus het gevaar dat B zo berichten gaat "vergeten". Dat is evenwel onmogelijk gemaakt doordat A altijd als laatste aktie een signaal geeft terwijl B in zijn protokoldeel altijd als eerste de signaal-indikatie af zet. Het is wel mogelijk dat B eens voor niks reageert op een signaal: hij gaat het protokol uitvoeren terwijl er 30 geen enkel bericht (meer) is. Maar daar kan het protokol tegen: het wordt verlaten op de indikatie dat de aangewezen sektie geen berichten bevat.
3.4. Een verdere vervolmaking: 35 Stel de volgende situatie doet zich voor. B was traag, meerde re, mogelijk alle, sekties bevatten na verloop van tijd één bericht (of een ketting van berichten). Stel verder dat beide sektie-aanwijzers naar sektie 0 wijzen. A gaat nu door met in hoog tempo nieuwe berichten ‘9 - ' ' \v L/ 'v-/ i J w PEN 11.348 11 aan te leveren. Die berichten zullen volgens het A-protokol dus aangekoppeld worden aan de rij berichten in sektie n-1. A doet dat net de bezig-indikator in de stand bezig. Het gevaar dat nu dreigt is dat B alsmaar de bezig-indikator op bezig ziet staan en er zo nooit aan toe 5 kont een bericht uit sektie 0 té halen! Terwijl er geen enkel bezwaar is dat B die berichten haalt uit sektie 0 tot en met sektie n-2 ook als is A ondertussen bezig met het aankoppelen van berichten in sektie n-1.
Cm dat mogelijk te maken is enige nuancering aangebracht in 10 de mogelijke standen van de bezig-indikator (zoals vermeld in hoofdstuk 2). De standen zijn als volgt: 1 A is niet bezig 2 A is bezig met koppelen aan sektie 0 3 A is bezig met koppelen aan sektie 1 ,5 : n+1 A is bezig met koppelen aan sektie n-1.
In bovengenoemd voorbeeld zal de bez ig-indikator dan ook staan in de stand n+1. Op grond van dit feit zal B rustig sektie 0 tot en met n-2 gaan legen als hij daaraan toe is. De tegenwerping zou kunnen 20 worden gesmaakt dat er in feite niets is opgelost aangezien B nu vast loopt op sektie n-1: na het legen van sektie n-2 blijft hij vervolgens wachten op A die druk bezig is met de (aan) vullen van sektie n-1. Dat is echter niet waar. Want zodra B sektie 0 heeft geleegd zal A een volgend bericht weer in de (inmiddels lege) sektie 0 plaatsen waarbij de 25 bezig-indikator op stand 0 zal zijn gezet! B kan dan dus rustig sektie n-1 gaan legen. Zo kunnen beide eenheden parallel een berichtenstroom verwerken zonder dat daarbij de berichtenontvanger geblokkeerd wordt door het aankoppelingsprotokol van de berichtengever. Het gemodificeerde protokol gaat er nu dus als volgt uitzien (wijzigingen kapitaal).
30
Protokol in A
Aktie A1 : ZET DE BEZIG-INDIKATOR ALS VOLGT:
"NIET-BEZIG" INDIEN DOOR DE TEN OPZICHTE VAN DE AANWIJZER, VORIGE SEKTIE LEEG IS
35 "BEZIG MET DE TEN OPZICHTE VAN DE AANWIJZER VORIGE SEKTIE"
INDIEN DE DOOR DE TEN OPZICHTE VAN DE AANWIJZER, VORIGE SEKTIE NIET LEEG IS
Aktie A2 : indien de sektie aangewezen door de aanwijzer van A volgens * ·~· < j +'? / J 1 1 j PHN 11.348 12 de leeg-indikator van die sektie leeg is dan moet actie A3a worden uitgevoerd; indien de sektie aangewezen door de aanwijzer van A volgens de leeg-indikator van die sektie niet leeg is dan moet 5 actie A3b worden uitgevoerd.
Aktie A3a ; zet in de aangewezen sektie een wijzer naar het bericht; zet de leeg-indikator op niet-leeg; laat de sektie-aanwij zer van A naar de volgende sektie wijzen.
10 Aktie A3b : koppel het bericht aan het laatste bericht in de rij van berichten die hangen aan de vorige sektie.
Aktie A4 : zet de bezig-indikator op niet-bezig.
Aktie A5 : geef "signaal" aan B.
15 Protokol in B
Aktie B1 ; zet "signaaT'-indikator af.
Aktie B2 : beëindig het protokol indien de bezig-indikator aangeeft DAT. A BEZIG IS MET DE SEKTIE WAAR B VOLGENS ZIJN AANWIJZER BERICHTEN UIT WIL HALEN.
20 Aktie B3 : beëindig het protokol indien de leeg-indikator van de sektie waar de sektie-aanwij zer van B naar wijst op leeg staat.
Aktie B4 ; haal berichten uit de sektie waar de sektie-aanwij zer van B naar wijst; zet de de bijbehorende leeg-indikator op leeg.
25 Aktie B5 : laat de sektie-aanwijzer van B naar de volgende sektie wijzen. Aktie B6 : ga verder met aktie B1.
3.5. Het formele protokol:
In deze paragraaf wordt een wat meer formele beschrijving 30 gegeven van het protokol in een ALGOL-achtige notatie.
Variabelen: BUSY = -1: B mag vrij berichten uit de sekties halen = 0: A is bezig met aankoppelen van een bericht in sektie 0: B 35 mag alle sekties accessen behalve sektie 0 = 1: A is bezig met aankoppelen van een bericht in sektie 1: B mag alle sekties accessen behalve sektie 1 4 $ * ^ . * * ‘ » '· Ί J , } ‘V xj' » * ^ PHN 11.348 13 = n-1: A Is bezig met aankoppelen van een bericht in sektie n-1: B mag alle sekties accessen behalve sektie n-1
Initieel: -1 5 EMPTY [ïc] - -1 : sektie k is leeg (initieel) EMPTY[k] = (k+1) mod n : sektie k is niet leeg k£ (0/ n-1) 10 Initieel: -1 I = k: A sektie-aanwijzer wijst naar sektie k
Initieel: 0 15 J = k: B sektie-aanwijzer wijst naar sektie k
Initieel: 0 20 = sektie 0 MQ] = sektie 1 M[n-f]= sektie n-1
Protokol in A (berichtengever) 25 BUSY := EMPTY [ij ;
If EMPTY= -1 then do chain into M/lJ; EMPTY[YJ := (1 + 1) ired n; I := (1 + 1) mod n; end 30 else chain into mQi -1) mod nj; BUSY := -1;
Signal B;
Exit; 35 Protokol in B (berichtenontvanger) P:
Reset signal indication;
If (BUSY = J or EMPTy[j] = -1) then exit; A * *> ?**<.* - * ’-'O' * PHN 11.348 14
Unchain mQl! ; EMPTï(j] := -1; J = (J + 1) mod n;
Goto P; 5 /¾ mod = = modulo #/ 4. Enige aspekten:
Het beschreven kommunikatiesysteem bedient zich van een slechts gering aantal en eenvoudig te implementeren primitieven. Met 10 name bezit het de volgende voordelige eigenschappen: 1. Er mag geen dodelijke omarming (dead-lock) optreden.
Dat zou het geval kunnen zijn als de eenheden op elkaar zouden gaan wachten.
2. Er treedt geen versterving (starvation) op.
15 Versterving treedt op wanneer de ene eenheid alsmaar bezig blijft berichten aan te leveren terwijl de ontvanger daardoor niet de kans krijgt berichten te gaan processen.
In het vorige hoofdstuk is al uiteengezet hoet het protokol dat fundamenteel oplost.
2o 3. De aktiviteiten van berichten aanleveren en af halen is konflikt-vrij gesynchroniseerd (mutual exclusion bij het accessen van de sekties).
4. De volgorde in de berichtenstroom wordt gehandhaaft (FIFO).
5. Er gaat geen bericht verloren.
6. Alle berichten worden uiteindelijk verwerkt.
25 Het is nooit zo dat terwijl de berichtengever met iets anders bezig is dan berichten aanleveren en er nog wel een of meerdere berichten aan de sekties zouden hangen, dat dan de berichtenontvanger noch een "signaaT'-indikatie meer heeft staan noch bezig is met het accessen ervan.
20 7. De tijd dat de eenheden volgens het protokol aktiviteiten ontwikkelen is eindig en heeft een maximum. Dit maximum is laag door het zeer beperkte aantal akties dat moet worden uitgevoerd.
De besturing van de eerst-in-eerst-uit-buffer: 35 Figuur 2 geeft een voorbeeld van de organisatie van een eerst-in-eerst-uit-buffer voor n=2. De verschillende s ignaleringsbits zijn gelegen in een voor dit doel afgescheiden deel van het geheugen dat voor het desbetreffende transport is gereserveerd. In het geval dat >3 r, v ;· i 4 3 PHN 11.348 15 meerdere transportoperaties te samen worden uitgevoerd, bezit elk transport zo een afgescheiden deel. Door bekende middelen is gewaarborgd dat alleen de twee eenheden in kwestie dit deel kunnen accessen.
De arbitrage wordt niet besproken, want ook deze kan konventioneel 5 zijn. De toedeling van de fysieke bits aan de respektievelijke grootheden is willekeurig. In de figuur is verondersteld dat de sekties ook een bericht kunnen opnemen, en kunnen er elf berichten warden opgeslagen. De figuur laat een momentopname zien in het uitvoeren van de transpart-operatie. De (initiële) sekties zijn 50 en 52. De verdere opslagruimte 10 voer berichten is aangegeven door 54 ... 70. De besturing is niet getekend, Initiële sektie 50 is de eerste van een keten met verdere opslagruimtes 64, 66, 68. Nadat de broninrichting sektie 68 had gevuld, leegde de besterrmingsinrichting initiële sektie 52. Initiële sektie 52 werd volgeschreven en is de eerste van een tweede keten met verdere 15 opslagruimtes 54, 56. Opslagruimte 54 is de laatste die werd gevuld. De schrijfaanwijzer WR wijst dus, eventueel indirekt, als eerstvolgende te vullen opslagruimte-buiten-de-initiële-sekties de opslagruimte 56 aan. Per opslagruimte/sektie is een twsewaardige leeg/niet-leeg-indika-tor aangegeven. Een kruisje geeft "niet-leeg" aan.
20 Eventueel kan de aktivering van het aanwijzen pas gebeuren op het moment waarop het aanbieden van de nieuwe informatie plaatsvindt. Tijdens de laatste leesoperatie in initiële sektie 52 was deze de eerste van een keten die tenminste de verdere opslagruimtes 58, 60, 62 omvatte. Daarvan wordt opslagruimte 60, eventueel indirekt, door een 25 leesaanwijzer PP aangewezen als eerstvolgend uit te lezen opslagruimte. Als te zijnder tijd opslagruimte 62 is uitgelezen, zal de leesaanwijzer RP dan de initiële sektie 50 aanwijzen. Als deze ook gelezen is, wordt de schrijf aanwijzer WP weliswaar niet overschreven maar hij wordt inherent inaktief doordat bij schrijfoperaties altijd eerst een bestu-30 ringswoord wordt aangesproken.
De opslagruimtes zijn aaneengesloten getekend, maar mogen willekeurige lokaties in het geheugen bezetten. De organisatie kan gebeuren op dezelfde manier waarop geheugenpagina' s dynamisch aan een bepaald verwerkingsprograitma worden geassigneerd. De opslagruimtes kunnen 35 dezelfde of onder elkaar verschillende opslagkapaciteit bezitten. Alle adressen kunnen voorts fysiek, logisch, indirekt of volgens een andere, toepasselijke adresseringstechniek zijn geformuleerd. Eén opslagruimte kan in delen zijn verdeeld die op verschillende fysieke lokaties aan-
-=-> ' · Ji , -T
n
W „ V
t PHN 11.348 16 wezig zijn. De buffer als beschreven kan deel uitmaken van een groter geheugen. In dit geheugen kan een tweede bufferorganisatie of zelfs meerdere aanwezig zijn. De fysiek aanwezige opslagruimtes kunnen zelfs gemeenschappelijk voor beide bufferorganisaties beschikbaar zijn; alleen 5 zijn de initiële sekties dan permanent aan eenzelfde bufferorganisatie geallokeerd. De bron- en bestenmingsinrichting kunnen in twee richtingen werkzaam zijn: voor elk transporttrajekt kan er dan een respektievelijke buffer aanwezig zijn, bijvoorbeeld één van A naar B, één van A naar C en één van B naar A.
10 15 20 25 30 35 >, ··“ . ' v ’ v-g 1 -j Öüi I i -} o

Claims (3)

1. Kanmunikatiesysteeiri met een broninrichting voor het afgeven van een volgorde van berichten, een festemmingsinrichting voor het opnemen van de berichten in dezelfde volgorde, en een tussen bronin-richting en festemmingsinrichting geschakelde eerst-in-eerst-uit-buffer g voor het voorbijgaand opslaan van de berichten, welke buffer voorzien is van een "fezig"-indikator met een stand "vrij" om een toegangsver-zoek tot de buffer te honoreren, en een stand "bezig" om tijdens het uitvoeren van een aanspreekaktie een verder toegangsverzoek af te wijzen, en verder voorzien is van opslagmiddelen voor een leesaanwijzer 10 en een schrijfaanwijzer, met het kenmerk, dat de buffer deel uitmaakt van een geheugen met willekeurige toegankelijkheid voor algemeen gebruik in het kammunikatiesysteem, dat een opslagtesturingsirechanisme is voorzien met een rondgekoppelde reeks van n^2 cpslagfesturings-sekties, aan elk waarvan een onvertakte reeks van berichten in respek-15 tievelijke opslagruimtes kcppelbaar is door verwij zings informaties tussen genoemde opslagruimten, dat de "fezig"-indikator een aantal van n "fezig"-standen heeft die elk aangeven dat de hroninrichting een aanspreekaktie uitvoert met betrekking tot een onvertakte reeks die bij een respektievelijke opslagfesturingssektie behoort, dat alle 20 opslagbesturingssekties voorzien zijn van een tweewaardige "leeg"-"niet leeg"-indikator, dat een notifikatie-element aanwezig is cm een "signaal" van de hroninrichting aan de festemmingsinrichting op te slaan, alsmede onthoudmiddelen voor broninrichting respéktievelijk festeitmingsinrichting aangevende een voor de respektievelijke inrich-25 tingen aktuele opslagfesturingssektie, dat de hroninrichting voorzien is van middelen cm bij een aanspreekaktie de "bezig"-indikator op de stand "bezig" te zetten, indien de door de onthoudmiddelen voor de hroninrichting als aktueel aangegeven opslagbesturingssektie leeg is deze te vullen met een aanwijs informatie naar het alsdan mede aangeleverde 30 bericht, te samen met het stellen van de leeg-niet-leeg-indikator voer die opslagfesturingssektie op de stand "niet leeg" en het inkrementeren van de onthoudmiddelen om voor de broninrichting de volgende qpslag-festuringssektie van de rondgekoppelde reeks als aktueel aan te wijzen, doch indien de dcor de onthoudmiddelen voor de broninrichting als 35 aktueel aangegeven opslagfesturingssektie niet leeg is het aan te leveren bericht te koppelen aan de onvertakte reeks die uitgaat van de naastvorige opslagbesturingssektie van de rondgekqppelde reeks, en in alle gevallen na het aanleveren van het bericht de "fezig"-indikatar op ? li V - * J PHN 11.348 18 de stand "niet bezig" te zetten en genoemd "signaal" af te geven; en dat de besteramingsinrichting voorzien is van middelen om bij een aan-spreekaktie het notifikatie-element terug te stellen om genoemd "signaal" onwerkzaam te maken, om indien de "bezig"-indikator pp de stand "bezig" 5 staat de aanspreekaktie te beëindigen, cm indien de "leeg"- "niet leeg"-indikator voor de voor de bestemmings inrichting aktuele opslagbesturings-sektie op de stand "leeg" staat de aanspreekaktie te beëindigen, doch indien de aanspreekaktie niet aldus beëindigd wordt berichten uit de door de betreffende opslagbesturingssektie aangemeten onvertakte reeks 10 berichten op te halen voor zover als deze laatste reeks strekt, bij het volledig ophalen van de berichten van deze reeks de "leeg-niet-leeg"-indikator van de betreffende opslagbesturingssektie op de stand "leeg" te stellen, en de onthoudmiddelen pp de eerstvolgende opslagbesturingssektie van de rondgekoppelde reeks te stellen, en een verdere aanspreek-15 aktie uit te voeren van af het terugstellen van genoemd notif ikat ie-element.
2. Kommunikatiesysteem volgens conclusie 1, met het kenmerk, dat n=2 zodat de naastvorige en de naastvolgende opslagbesturingssektie beide de andere opslagbesturingssektie representeren. 20 3. Kommunikatiesysteem volgens conclusie 1 of 2, met het kenmerk, dat de broninrichting voorzien is van middelen om bij een aanspreekaktie de "bezig"-indikator op de stand "niet bezig" te stellen als de ten opzichte van de aanwijzer van de broninrichting vorige opslagbesturingssektie van de rondgekoppelde reeks leeg is, doch op de stand "bezig 25 met de ten opzichte van de aktueel aangewezen opslagbesturingssektie vorige opslagbesturingssektie van de rondgekoppelde reeks" als laatstgenoemde initiële besturingssektie niet leeg is, en dat de bestemmings-inrichting voorzien is van middelen om de aanspreekaktie onder besturing van de "bezig"-indikator te beëindigen uitsluitend als deze in de stand 30 "bezig met de door de onthoudmiddelen als aktueel voor de bestemmings-inrichting aangewezen opslagbesturingssektie staat, doch niet als deze in de stand bezig met een andere opslagbesturingssektie" staat. 35
3. C 1 j Λ 1
NL8501143A 1985-04-19 1985-04-19 Kommunikatiesysteem voorzien van een eerst-in-eerst-uit-buffer. NL8501143A (nl)

Priority Applications (6)

Application Number Priority Date Filing Date Title
NL8501143A NL8501143A (nl) 1985-04-19 1985-04-19 Kommunikatiesysteem voorzien van een eerst-in-eerst-uit-buffer.
DE8686200629T DE3672309D1 (de) 1985-04-19 1986-04-15 Uebertragungssystem mit fifo-puffer.
EP86200629A EP0198559B1 (en) 1985-04-19 1986-04-15 Communication system including a first-in-first-out buffer
AT86200629T ATE54211T1 (de) 1985-04-19 1986-04-15 Uebertragungssystem mit fifo-puffer.
JP61087226A JPS61243554A (ja) 1985-04-19 1986-04-17 通信系
US06/854,259 US4769769A (en) 1985-04-19 1986-04-21 Communication system including a first-in-first-out buffer

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NL8501143 1985-04-19
NL8501143A NL8501143A (nl) 1985-04-19 1985-04-19 Kommunikatiesysteem voorzien van een eerst-in-eerst-uit-buffer.

Publications (1)

Publication Number Publication Date
NL8501143A true NL8501143A (nl) 1986-11-17

Family

ID=19845860

Family Applications (1)

Application Number Title Priority Date Filing Date
NL8501143A NL8501143A (nl) 1985-04-19 1985-04-19 Kommunikatiesysteem voorzien van een eerst-in-eerst-uit-buffer.

Country Status (6)

Country Link
US (1) US4769769A (nl)
EP (1) EP0198559B1 (nl)
JP (1) JPS61243554A (nl)
AT (1) ATE54211T1 (nl)
DE (1) DE3672309D1 (nl)
NL (1) NL8501143A (nl)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3689151D1 (de) * 1986-12-30 1993-11-11 Ibm Nicht-sperrender Warteschlangenmechanismus.
US4984235A (en) * 1987-04-27 1991-01-08 Thinking Machines Corporation Method and apparatus for routing message packets and recording the roofing sequence
US4878197A (en) * 1987-08-17 1989-10-31 Control Data Corporation Data communication apparatus
US5133074A (en) * 1989-02-08 1992-07-21 Acer Incorporated Deadlock resolution with cache snooping
JPH03138751A (ja) * 1989-10-23 1991-06-13 Internatl Business Mach Corp <Ibm> 資源管理方法
GB9008366D0 (en) * 1990-04-12 1990-06-13 British Aerospace Data interaction architecture(dia)for real time embedded multi processor systems
US5315707A (en) * 1992-01-10 1994-05-24 Digital Equipment Corporation Multiprocessor buffer system
CA2134061A1 (en) * 1993-10-28 1995-04-29 Aaron William Ogus Frame buffering of network packets
NL9401142A (nl) * 1994-07-11 1996-02-01 Nederland Ptt Overdracht van berichten via verschillende subnetwerken.
US6349350B1 (en) * 1999-05-04 2002-02-19 International Business Machines Corporation System, method, and program for handling failed connections in an input/output (I/O) system
DE19957594B4 (de) * 1999-11-30 2004-08-26 OCé PRINTING SYSTEMS GMBH Verfahren zum Synchronisieren von threads eines Computerprogramms
US7191162B2 (en) * 2003-10-21 2007-03-13 Texas Instruments Incorporated FIFO interface for flag-initiated DMA frame synchro-burst operation
US7813366B2 (en) 2006-12-19 2010-10-12 International Business Machines Corporation Migration of a virtual endpoint from one virtual plane to another
US7836129B2 (en) * 2006-12-19 2010-11-16 International Business Machines Corporation Communication between host systems using a queuing system and shared memories
US8271604B2 (en) 2006-12-19 2012-09-18 International Business Machines Corporation Initializing shared memories for sharing endpoints across a plurality of root complexes
US7991839B2 (en) * 2006-12-19 2011-08-02 International Business Machines Corporation Communication between host systems using a socket connection and shared memories
US7836238B2 (en) * 2006-12-19 2010-11-16 International Business Machines Corporation Hot-plug/remove of a new component in a running PCIe fabric
US7860930B2 (en) * 2006-12-19 2010-12-28 International Business Machines Corporation Communication between host systems using a transaction protocol and shared memories
US7984454B2 (en) * 2006-12-19 2011-07-19 International Business Machines Corporation Migration of single root stateless virtual functions
WO2009083027A1 (en) * 2007-12-27 2009-07-09 Nokia Corporation Method and system for managing data in a memory

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4159532A (en) * 1977-08-04 1979-06-26 Honeywell Information Systems Inc. FIFO look-ahead system
US4374428A (en) * 1979-11-05 1983-02-15 Rca Corporation Expandable FIFO system

Also Published As

Publication number Publication date
EP0198559B1 (en) 1990-06-27
EP0198559A1 (en) 1986-10-22
DE3672309D1 (de) 1990-08-02
US4769769A (en) 1988-09-06
JPS61243554A (ja) 1986-10-29
ATE54211T1 (de) 1990-07-15

Similar Documents

Publication Publication Date Title
NL8501143A (nl) Kommunikatiesysteem voorzien van een eerst-in-eerst-uit-buffer.
US10740006B2 (en) System and method for enabling high read rates to data element lists
EP0432800A2 (en) High-speed asynchronous transfer mode packet switching network system having time slot scheduling unit
EP0622922A1 (en) Method and device of multicasting data in a communications system
TW201145023A (en) Access scheduler
US10055153B2 (en) Implementing hierarchical distributed-linked lists for network devices
US9785367B2 (en) System and method for enabling high read rates to data element lists
US20140379999A1 (en) Data queue having an unlimited depth
JP3905221B2 (ja) バイナリツリーデータ要素ソーティング装置およびatmスペーサ
US8170041B1 (en) Message passing with parallel queue traversal
JPS5938620B2 (ja) メモリ−コントロ−ラ用優先順位指定装置
US6996737B2 (en) System and method for delayed increment of a counter
JP4489116B2 (ja) リングインターコネクト上のパケットの同期的非バッファフロー制御のための方法及び装置
US8356119B2 (en) Performance by reducing transaction request ordering requirements
US6895481B1 (en) System and method for decrementing a reference count in a multicast environment
CN108139767B (zh) 针对网络装置实施分布式链接列表的系统及方法
US6658584B1 (en) Method and structure for managing large counter arrays
JP2003015968A (ja) バスシミュレータ
US6832308B1 (en) Apparatus and method for instruction fetch unit
JPH06224933A (ja) バッファメモリ装置
Cypher et al. Bounds on the E ciency of Message-Passing Protocols for Parallel Computers

Legal Events

Date Code Title Description
A1B A search report has been drawn up
BV The patent application has lapsed