NO311656B1 - Kommunikasjon mellom prosesser som kjörer på forskjellige prosessorer ved bruk av s¶rskilte kommunikasjonsprosesser - Google Patents
Kommunikasjon mellom prosesser som kjörer på forskjellige prosessorer ved bruk av s¶rskilte kommunikasjonsprosesser Download PDFInfo
- Publication number
- NO311656B1 NO311656B1 NO19995774A NO995774A NO311656B1 NO 311656 B1 NO311656 B1 NO 311656B1 NO 19995774 A NO19995774 A NO 19995774A NO 995774 A NO995774 A NO 995774A NO 311656 B1 NO311656 B1 NO 311656B1
- Authority
- NO
- Norway
- Prior art keywords
- computer
- cpu
- signal
- arrangement
- cpus
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 161
- 230000008569 process Effects 0.000 title claims abstract description 148
- 230000006854 communication Effects 0.000 title claims description 35
- 238000004891 communication Methods 0.000 title claims description 34
- 238000012546 transfer Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 4
- 230000003068 static effect Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 9
- 238000001824 photoionisation detection Methods 0.000 description 3
- 108010076504 Protein Sorting Signals Proteins 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000008054 signal transmission Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Hardware Redundancy (AREA)
- Computer And Data Communications (AREA)
Description
Oppfinnelsen angår et datamaskinsystem innbefattende to eller flere prosesseringsenheter (CPU), og spesielt mellomprosesskornmunikasjon i slike systemer hvor deling av arbeidslasten oppnås ved å allokere forskjellige prosesser på et statisk vis til forskjellige CPU'er som arbeider autonomt og med operativsystemer (OS) som ikke innbefatter kjente tradisjonelle nettverksmuligheter for slik mellomprosesskornmunikasjon i systemet.
I datamaskinsystemer kan det å møte kravene for effektivitet og hastighet være et problem fordi en enkelt CPU i et typisk datamaskinsystem kun er i stand til å utføre en enkelt instruksjon av gangen. En vanlig benyttet løsning på dette problemet er å inkludere to eller flere fysiske CPU'er (eller datamaskiner) for å øke datamaskinsystemets kapasitet. Med mer enn en CPU i slike systemer kan de forskjellige oppgavene, vanligvis henvist til som prosesser som hver vil bli tildelt en unik symbolsk prosessidentifikator (PID), som hovedsakelig innbefatter datamaskinprogrammer som opereres ved hjelp av CPU'er, bli distribuert mellom CPU'ene for å dele arbeidsbelastningen og for å muliggjøre at mer enn en instruksjon kan utføres samtidig. Vanligvis vil i de fleste systemer de forskjellige prosessene ha behov for å kommunisere for forskjellige formål, slik som for eksempel informasjonsutveksling eller mottak og sending av signaler, og når forskjellige prosesser har tilhold på forskjellige CPU'er må slike systemer også innbefatte midler ved hvilke de forskjellige prosessene settes i stand til å kommunisere med hverandre uten å begrense mellomprosesskommunikasjonen til prosesser med den samme CPU-allokeringen. Merk at det i slike systemer er antatt at OS'et eller avbruddsrutiner også kan sende signaler, men at kun prosesser kan motta signaler. Når CPU'ene eller datamaskinene i slike systemer arbeider autonomt og deres OS'er ikke innbefatter nettverksmuligheter for "transparent" mellomprosessignalkommunikasjon i systemet, må det tilveiebringes andre midler for å oppnå mellomprosesskornmunikasjon mellom prosesser på forskjellige CPU'er eller datamaskiner.
Flere løsninger for å muliggjøre mellomprosesskommuniksjon i flerprosessor- eller flerdatamaskinsystemer av det slag som er nevnt over er kjent. Noen løsninger foreslår bruk av felles minne for slik kommunikasjon, mens andre foreslår andre slag av koblinger mellom prosessorene i systemet.
Publikasjonen med tittelen "Modern operating systems", 1992, forfattet av Andrew S. Tannenbaum, og utgitt på Prentice Hall International, beskriver på sidene 418-426 kommunikasjon i distribuerte systemer med henvisning til det såkalte "Remote Procedure Cali" (RPC). En prosess (Pl) på en prosessor (PP1) som skal kommunisere med en prosess (P2) på en prosessor (PP2) sender et kall til en stub (Sl), som tilhører prosess Pl, på prosessor PP1. Stub Sl pakker inn kallet og sender det videre, via operativsystemkjernen, til en stub (S2) på den andre prosessoren (PP2). Stub S2 pakker ut kallet og sender det til prosess P2. RPC er transparent, slik at prosessene opplever det som om sending og mottak av kall skjer til og fra prosesser på samme prosessor.
US-patent nr. 5 062 040 beskriver et multiprosesseringsarrangement for å sikre at signaler ikke tapes og at duplikatsignaler ikke prosesseres, og et multiprosessorsystem som er transparent for eksisterende programmer. Et signalhåndteringskodefragment utføres alltid på prosessoren som er lokal for brukerdelen av en utvidet prosess. Brukerens kjerne må sende det gjeldende signalresultatet (dvs., hvorvidt et signal har blitt mottatt som ikke er blitt ignorert) til en stub-prosess med en stubpakke, og et oppdatert signalresultat må bli sendt til en aktiv stub-prosess hvis noen ikke-ignorerte signaler deretter blir mottatt av brukerens prosess før stub-prosessen svarer. Dette defineres som pseudo-signaltilstanden. Hver kjerne er anordnet til å opprettholde en koblet liste over tabellposteringer som har signaler som skal sendes eller formidles, og en systemprosess som kjører på et basisnivå som fjerner signaler fra listen og formidler dem til det korrekte bestemmelsesstedet via en kommunikasjonskanal til hver prosessor.
Det er således en hensikt ved den foreliggende oppfinnelse å tilveiebringe et arrangement for mellomprosesskornmunikasjon gjennom et multiprosessorsystem med distribuert prosessering, hvor prosessor- og OS-autonomi opprettholdes og hvor det ikke er behov for OS'ets felles styringselementer eller -informasjon.
Oppfinnelsens hensikt oppnås ved at det ved oppfinnelsen tilveiebringes et arrangement for mellomprosessor (CPU)- eller mellomdatamaskinprosessignalkommunikasjon i et system innbefattende to eller flere CPU'er eller datamaskiner, med de trekk som fremgår av det vedfølgende selvstendige patentkrav 1.
Oppfinnelsens hensikt oppnås videre ved at det ved oppfinnelsen tilveiebringes en fremgangsmåte for mellomprosessor (CPU)- eller mellomdatamaskinprosessignalkommunikasjon i et system innbefattende to eller flere CPU'er eller datamaskiner, med de trekk som fremgår av det vedfølgende selvstendige patentkrav 13.
Ytterligere fordelaktige trekk ved oppfinnelsens arrangement fremgår av de vedfølgende uselvstendige patentkravene 2-12.
Ved et aspekt oppnås foreliggende oppfinnelses hensikt ved tilveiebringelse av en ny virtuellkoblingshåndterer (VLH) innbefattende skyggeprosesser (SP) for faktiske prosesser som kommuniserer gjennom systemet og drivertilpassere (DA) for kommuniserende CPU'er. I et arrangement i henhold til oppfinnelsen defineres de symbolske PID'ene til faktiske lagringsfaste prosesser på en CPU eller datamaskin som har behov for kommunikasjon med andre lagringsfaste prosesser og andre CPU'er eller datamaskiner i systemet også på slike andre kommuniserende henholdsvis CPU'er eller datamaskiner. Følgelig vil en lagringsfast prosess på en bestemt CPU, som er identifisert ved hjelp av sin PID og som ønsker å kommunisere et signal til en annen "fjerntliggende" lagringsfast prosess på en annen "fjerntliggende" CPU med en annen PID, finne på CPU'en på hvilken den er lagringsfast en "lokal" SP med den samme symbolske PID'en som den symbolske PID'en til den "fjerntliggende" målprosessen. For utveksling av signaler fremstår den lokale SP'ens grensesnitt mot en "lokal" kommuniserende faktisk prosess som identisk med grensesnittet mot den faktiske "fjerntliggende" målprosessen. Imidlertid tar den lokale "SP" ingen beslutninger på grunnlag av signalet, men bevirker videreformidling av det mottatte signalet til den andre CPU'en hvortil "den fjerntliggende" målprosessen er allokert og på hvilken den arbeider. På den mottakende CPU'en mottas signalmeldingen av en tilsvarende SP, som i sin tur videreformidler signalet til den faktiske målprosessen. Følgelig muliggjøres kommunikasjon av signaler mellom CPU'er eller datamaskiner i systemer i samsvar med oppfinnelsen ved hjelp av den nye VLH uten at det stilles krav om at de faktiske prosessene må ha kunnskap om VLH'ens tilstedeværelse. Som man kan se av det som er sagt over kan SP'en tjene til å motta fra en prosess et signal for videreformidling til en annen CPU eller datamaskin så vel som å levere til en prosess et signal som har blitt videreformidlet fra en annen CPU eller datamaskin. For å kommunisere signaler mellom CPU'ene har skyggeprosessene på hver CPU grensesnitt mot drivertilpassere som i sin tur har grensesnitt mot drivere for overføringsanordningene som tilveiebringer systemets kanaler som blir anvendt for å transportere meldinger fra en CPU eller datamaskin til en annen.
Fig. 1 er en skjemategning som illustrerer et eksempel på et problemscenario med et system av to CPU'er eller datamaskiner, hver med en lagringsfast forskjellig prosess som har behov for å kommunisere med den annen. Fig. 2 er en skjemategning som illustrerer et eksempel på en VLH-løsning i samsvar med foreliggende oppfinnelse for å løse problemet som er illustrert i figur 1. Fig. 3 er en skjematisk representasjon av et eksempel på en legemliggjøring av en DA-prosess i samsvar med oppfinnelsen. Fig. 4 er en skjematisk representasjon av et eksempel på en legemliggjøring av en
drivertilpassers prosedyre i samsvar med oppfinnelsen.
Fig. 5 er en skjematisk representasjon av et eksempel på en legemliggjøring av en
annen drivertilpassers prosedyre i samsvar med oppfinnelsen.
Fig. 6 er en skjematisk representasjon av et eksempel på en legemliggjøring av en
skyggeprosess i henhold til oppfinnelsen.
Fig. 7 er et skjemadiagram som illustrerer et systemeksempel med en VLH-løsning i
samsvar med foreliggende oppfinnelse.
Fig. 8 illustrerer skjematisk for systemeksempelet i figur 7 sammenhengen mellom henholdsvis PID.'ene til faktiske prosesser, PID'ene til respektive prosessorers skyggeprosesser og deres lokaliseringer. Fig. 9 a-c illustrerer skjematisk for systemeksempelet i figur 7 utviklingen av
oppslagstabeller.
Fig. 10 illustrerer en overføring av en signal i en retning i systemeksempelet i figur 7. Fig.l 1 illustrerer en overføring av et signal i en annen retning i systemeksempelet i
figur 7.
I det følgende, ved hjelp av eksempler og med henvisning til de vedfølgende tegninger, vil foreliggende oppfinnelse bli forklart i nærmere detalj.
I figur 1 vises et eksempel på et typisk problemscenario i et system med to prosessorer og med prosessene Pl og P2 lagringsfaste og arbeidende på prosessorene henholdsvis A og B, hvor prosessene ønsker å kommunisere. Hver prosessors operativsystem (OS) muliggjør kommunikasjon mellom prosesser som er lagringsfaste og som arbeider på den samme prosessor, men muliggjør ikke kommunikasjon med prosesser som er lagringsfaste og som arbeider på andre prosessorer. Følgelig, i den typiske situasjonen som er vist i figur 1, er prosessene Pl og P2 ikke i stand til å kommunisere signaler til hverandre, selv om prosessorene enda er forsynt med fysisk sammenkobling for å overføre signaler.
I figur 2 vises en skjematisk tegning av et scenario som tilsvarer scenariet vist i figur 1, men er nå forsynt med to nye prosesser henholdsvis Pl' og P2', og drivertilpassere i samsvar med foreliggende oppfinnelse, for å muliggjøre signalkommunikasjon mellom prosessene. I systemer hvor foreliggende oppfinnelse er implementert og hvor forskjellige prosessortyper benyttes, må systemkonstruktøren ta hensyn til de forskjellige prosessorenes bruk av formater, slik som ordordning og fylling.
Med henvisning til figur 3 vises en symbolsk representasjon av et implementasjons-eksempel av en DA-prosess i samsvar med oppfinnelsen. Etter start og initialisering befinner prosessen seg i en tomgangstilstand inntil en signalhendelse forekommer. Ved signalhendelsen, hvis signalet kommer fra en driver, angis prosessforløpet som angitt ved grenen merket (1) under, eller, hvis signalet skal overføres til en driver er prosessforløpet som angitt ved grenen merket (2).
Med henvisning til figur 4 vises en symbolsk representasjon av et prosedyreeksempel i en implementasjon av DA'en i samsvar med oppfinnelsen. Prosedyren anvendes for å videreformidle et signal til en DA.
Med henvisning til figur 5 vises en symbolsk representasjon av et prosedyreeksempel i en implementasjon av DA'en i samsvar med oppfinnelsen. Prosedyren anvendes for å videreformidle et signal fra DA til SPA'en som korresponderer med signalets opprinnelsesprosess. Skygge-PID'en (SPID) til denne prosessen ekstraheres fra parameteren prm.sender og omformes til lokal-PID'en ved bruk av HentPID()-funksjonen. SKYGGE_SIGNAL'en bør være i en unik signal-ID som kun sendes fra DA'en til en SP.
Med henvisning til figur 6 vises en symbolsk representasjon av en implementasjon av en (generisk) SP i samsvar med oppfinnelsen. Etter start og initialisering befinner prosessen seg i tomgangstilstanden inntil en signalhendelse forekommer. Ved signalhendelsen, hvis signalet kommer fra en DA, er prosessforløpet som beskrevet i avsnittet merket (1) under, mens for alle andre signaler er prosessforløpet som beskrevet i avsnittet under merket (2): (1) Når en skyggeprosess mottar SKYGGE_SIGNAL, ekstraheres signal-ID'en og det opprinnelige signalet fra det mottatte signal. Så ekstraheres den tiltenkte mottaker-SPID'en fra signalet og omformes til lokal-PID'en ved bruk av HentPID()-funksjonen, og signalet sendes til den tiltenkte prosessen. Deretter går SP'en tilbake til TOMGANG-tilstanden; (2) Når et annet signal mottas modifiseres signalet: SP'en legger både mottakerens SPID og senderens SPID til signalet. Signalmottakerens prosessoradresse finnes også for å vite hvilken prosessor signalet skal sendes til. Signalet sendes så til drivertilpasseren. SP'en går tilbake til TOMGANG-tilstanden.
For prosessen som er beskrevet i de foregående to avsnitt gjelder følgende:
HentPID ()-funksjonen finner en PID på den lokale prosessoren på grunnlag av SPID'en.
HentSPID ()-funksjonen finner en SPID på grunnlag av PID'en på den lokale prosessoren.
HentAdresse ()-funksjonen finner prosessoradressen på grunnlag av SPID'en. Prosessoradresse identifiserer de forskjellige prosessorene.
For å unngå flertydighet eller usikkerhet, er, i en foretrukken legemliggjøring av foreliggende oppfinnelse, SPID'en unik gjennom hele systemet. En alternativ løsning er å bruke SPID'en sammen med CPU'ens eller datamaskinens adresse som en unik identifikator for prosessen. Mottaker ()-funksjonen og Sender ()-funksjonen er OS-funksjoner og returnerer henholdsvis mottakerens og senderens PID.
Et annet systemeksempel er vist i figur 7. Det antas at systemkravene er gjort slik at den ønskede ytelse for eksempel ikke lenger kan oppnås ved et system som innbefatter en tigjengelig enkelt prosessor. Følgelig, for å innpasse systemet til tilgjengelig rom og prosesseirngskraft, har, i det viste systemeksempelet som i alt innbefatter 7 faktiske prosesser, de faktiske prosessene blitt delt i to grupper (en for hver prosessor). En første gruppe innbefattende prosessene Pl, P2, P3 og en andre gruppe innbefattende prosessene P4, P5, P6 og P7, er lagringsfaste og arbeider på henholdsvis prosessor A og prosessor B. Nå, da de to gruppene har blitt separert til å være på to forskjellige prosessorer, er det nødvendig å gjenetablere kommunikasjonen som en gang var mellom prosessene. Dette gjøres, som vist i figur 8, ved å introdusere og å anbringe "skyggeprosesser" på hver prosessor, en for hver manglende "faktisk" prosess. Skyggeprosessene er komponenter av den nye VLH som muliggjør prosessignalkommunikasjon gjennom systemet. I det viste eksempelet er kommunikasjon nødvendig mellom prosessene Pl, P2, P3 i den første gruppen og henholdsvis prosessene P4, P5, P6. Prosessen P7 i den andre gruppen krever imidlertid ingen signalkommunikasjon med noen av prosessene i den første gruppen. Følgelig er det ikke behov for en skyggeprosess for P7.
Etter introduksjon av skyggeprosessene etableres korresponderende systemer på prosessorene. Med dette arrangementet kan en faktisk prosess i den første gruppen finne en adressat for signalkommunikasjon ved hjelp av en skyggeprosess som korresponderer med en faktisk prosess i den andre gruppen, og omvendt.
For å muliggjøre meldingskommunikasjon mellom de forskjellige CPU'ene, er anordning for kommunikasjon mellom prosessorene nødvendig. En slik kommunikasjonsanordning kan bestå av drivere og assosierte fysiske forbindelser. For at skyggeprosessene skal kunne anvende en slik kommunikasjonsanordning, er det også behov for drivertilpassere. Disse kan være forsynt som vist i figur 7.
Dessuten er det nødvendig med en måte for å identifisere prosessene mellom prosessorene. I det viste systemet antas det at prosessorene ikke har felles minne. I henhold til oppfinnelsen vises måten for å identifisere prosessorene med henvisning til tabelleksemplet i figur 8, som korresponderer med systemeksemplet i figur 7.
Med henvisning til figur 8 kan man se at prosessen P7 i eksemplet ikke har en skygge-PID eller en korresponderende PID på prosessor A, ettersom prosess P7 ikke har behov for signalkommunikasjon med noen av prosessene som er lagringsfaste på prosessor A.
Utvikling av tabellene er forklart i figurene 9a-9c. Det antas at systemet ikke har felles minne, og, som vist i figur 9, at referansetabellen i figur 8 deles i to tabeller og anbringes på de respektive prosessorene. Fra figur 9b kan man se at prosessen P7 er fjernet fra tabellen fordi det ikke er kommunikasjon mellom prosessene på prosessor A og prosessen P7. Vi har nå en referansetabell som gjør det mulig å si hvilken prosess et signal sendes fra og hvilken prosess et signal sendes til.
Systemeksemplet i figur 7 er et system med kun to CPU'er eller datamaskiner. Følgelig kan, i slike systemer i henhold til oppfinnelsen med kun to CPU'er eller datamaskiner, adressefeltet utelates, og tabellen kan utvikles videre til tabellen som er vist for dette eksemplet i figur 9c. Årsaken til dette er at signal som sendes fra en faktisk prosess til en SP alltid skal videreformidles til den andre "fjerntliggende" CPU'en eller datamaskinen, og et signal sendt fra DA'en til en SP skal alltid videreformidles til en faktisk "lokal" prosess.
Med henvisning til figur 10 vises et eksempel på et signal som er kommunisert fra en prosess på prosessor A til en prosess på prosessor B. Anta at et signal, Sl, skal sendes fra den faktiske prosessen Pl til den faktiske prosessen P5. Fordi skyggeprosessen P5' har den samme symbolske PID som den faktiske prosessen P5 vil den første mottaker av signalet være skyggeprosessen som korresponderer med P5, nemlig P5'. P5' vil slå opp senderens lokale PID og, om nødvendig, også sin egen PID. Skyggeprosessen bruker disse data til å slå opp den korresponderende prosessoruavhengige PID, kalt skygge-PID'en. Alle disse data sendes gjennom de lavere nivåene, slik som drivertilpasseren og driveren. På drivernivået sendes det til den andre prosessoren som er merket med en ID som forteller driveren på den andre prosessoren at dette er et "skyggeprosess"-signal. For dataoverføringen kan gjentransmisjon og/eller rammenummerering utnyttes, uavhengig av oppfinnelsens løsning. Når signalet når den andre prosessorens drivertilpasser gjøres et oppslag i tabellen for å finne den skyggeprosessen som korresponderer med signalets avsender. Signalet S3 (som stadig bærer informasjon om avsender og mottaker) sendes til den prosessen. Den prosessen er i dette tilfelle Pl'. Når signalet når Pl' fjernes informasjonen om avsender og mottaker, og det opprinnelige signalet sendes til prosessen P5 som er den tiltenkte mottaker.
I det forutgående er et signal sendt fra Pl til P5 forklart. Som vist i figur 11 kan prosessen P5 i eksempelet svare på signalet fra prosessen Pl, eller et nytt signal kan bli sendt fra P5 til Pl. I begge tilfeller vil prosedyren tilsvare prosedyren som blir forklart i de foregående avsnitt, men signalene flyter i motsatt retning av eksempelet.
Merk at signalene S2 og S5 også kan være et funksjonskall til DA'en, men betraktes som et signal for å vise informasjonsflyten.
Merk også at svaret på en sendt signal, som beskrevet over, ikke er obligatorisk i en løsning i henhold til foreliggende oppfinnelse. De to signalsekvensene som er beskrevet i det forutgående (Pl til P5, og P5 til Pl) kan derfor bli betraktet som to separate signalsekvenser.
Et signal (enkelte ganger betegnet som en melding) anvendes av prosessene for å fortelle noe til andre prosesser. OS'et eller avbruddsrutiner (som ikke er forklart) kan også sende signaler, men kun prosesser kan motta dem. Dette kan oppnås i distribuerte flerprosessorsystemer hvor hver prosessors OS ikke kan levere kommunikasjon mellom forskjellige prosesser som på et statisk vis er lagringsfaste og arbeider på forskjellige prosessorer. Deling av arbeidslasten oppnås ved å allokere flere forskjellige prosesser på et statisk vis til forskjellige CPU'er som arbeider autonomt og med operativsystemer (OS) som ikke innbefatter tradisjonelle nettverksmuligheter og assosiert administrasjon.
Foreliggende oppfinnelses VLH muliggjør signalutveksling mellom prosesser som er lagringsfaste og som arbeider på forskjellige prosessorer uten modifikasjoner av et prosessordedikert operativsystem og uten admimstrasjonstillegg og kompleksistetstillegg til systemet.
Enkelhet opprettholdes også ved å implementere oppfinnelsen gjennom utnyttelse av identiske skyggeprosesser. Skyggeprosessidentiteter er imidlertid forskjellige.
Claims (13)
1.
Arrangement for mellomprosessor (CPU)- eller mellomdatamaskinprosessignalkommunikasjon i et system innbefattende to eller flere CPU'er eller datamaskiner, hvor CPU'ene eller datamaskinene innbefatter uavhengige operativsystemer (OS), mellom-CPU- eller mellom-datamaskinkommunikasjonsdrivere og driverassosierte sammenkoblinger mellom CPU'ene eller datamaskinene, karakterisert ved en virtuellforbindelseshåndterer (VLH) innbefattende minst en skyggeprosess (SP) for hver faktisk prosess som kommuniserer med minst en faktisk prosess lagringsfast på en annen CPU eller datamaskin og en flerhet drivertilpassere (DA) som hver kommuniserer med minst en SP og/eller et OS.
2.
Arrangement som angitt i krav 1, karakterisert ved at en skyggeprosess assosiert med en CPU eller datamaskin i systemet er identifisert ved en prosessidentifikator (PID) som er identisk med PID'en til den faktiske prosessen som er assosiert med en annen CPU eller datamaskin i systemet.
3.
Arrangement som angitt i krav 1 eller 2, karakterisert ved at en skyggeprosessidentifikator (SPID) er tildelt til hver prosess.
4.
Arrangement som angitt i krav 3, karakterisert ved at SPID'en er en unik prosessidentifikator gjennom hele systemet.
5.
Arrangement som angitt i krav 3, karakterisert ved at SPID'en i forbindelse med prosessorens eller datamaskinens adresse er en unik prosessidentifikator gjennom hele systemet.
6.
Arrangement som angitt i et hvilket som helst av de foregående krav, karakterisert ved at faktiske prosesser er statisk assosiert med, eller lagringsfaste til, bestemte CPU'er eller datamaskiner i systemet.
7.
Arrangement som angitt i et hvilket som helst av de foregående krav, karakterisert ved at VLH'en vedlikeholder en referanseliste med de faktiske prosessenes assosiasjoner med de respektive CPU'ene eller datamaskinene i systemet.
8.
Arrangement som angitt i krav 7, karakterisert ved at adressetabeller som befinner seg ved hver kommuniserende CPU eller datamaskin i systemet er utviklet fra referanselisten.
9.
Arrangement som angitt i et hvilket som helst av de foregående krav, karakterisert ved at et signal kommunisert fra en prosess på en CPU eller datamaskin til en annen prosess på en annen CPU eller datamaskin midlertidig blir modifisert til å innbefatte i det minste PID'en til den mottakende SP'en.
10.
Arrangement som angitt i krav 9, karakterisert ved at et signal kommunisert fra en prosess på en CPU eller datamaskin til en annen prosess på en annen CPU eller datamaskin midlertidig blir modifisert til å innbefatte PID'en til den sendende SP'en.
11.
Arrangement som angitt i krav 1, karakterisert ved at DA'en til en CPU eller datamaskin er forsynt med et grensesnitt til SP'ene og/eller OS'en assosiert med den samme CPU'en eller datamaskinen.
12.
Arrangement som angitt i krav 1 eller 11, karakterisert v e d at DA'en til en CPU eller datamaskin er forsynt med et grensesnitt mot driverne for CPU eller datamaskinforbindelser assosiert med den samme CPU'en eller datamaskinen.
13.
Fremgangsmåte for mellomprosessor (CPU)- eller mellom-datamaskinprosessignal-kommumkasjon i et system innbefattende to eller flere CPU'er eller datamaskiner, hvor CPU'er eller datamaskiner innbefatter uavhengige operativsystemer (OS), mellom-CPU- eller mellom-datamaskinkornmunikasjonsdrivere og driverassosierte sammenkoblinger mellom CPU'ene eller datamaskinene, karakterisert ved trinnene: Å overføre på en CPU eller datamaskin et signal ment for en annen prosess på en annen CPU eller datamaskin fra en kildeprosess til en skyggeprosess som representerer den andre prosessen, å endre parametrene til signalet ved hjelp av skyggeprosessen og en tabell som innbefatter systemadressen til den andre prosessen, å overføre det endrede signalet til den andre CPU'en eller datamaskinen ved hjelp av drivertilpassere, drivere og driverassosierte forbindelser, å motta det endrede signalet på den andre CPU'en eller datamaskinen av en skyggeprosess som representerer signalets kildeprosess, å endre det mottatte signalet ved den mottakende skyggeprosessen ved hjelp av parametere båret av det mottatte signalet, og å overføre det endrede mottatte signalet til den andre prosessen som signalet var ment for.
Priority Applications (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
NO19995774A NO311656B1 (no) | 1999-11-25 | 1999-11-25 | Kommunikasjon mellom prosesser som kjörer på forskjellige prosessorer ved bruk av s¶rskilte kommunikasjonsprosesser |
US09/714,956 US7426531B1 (en) | 1999-11-25 | 2000-11-20 | Distributed electronic data processing |
MYPI20005454A MY126754A (en) | 1999-11-25 | 2000-11-21 | Distributed electronic data processing |
CNB008162727A CN1264102C (zh) | 1999-11-25 | 2000-11-24 | 分布式处理系统中的进程间通信 |
AU17422/01A AU1742201A (en) | 1999-11-25 | 2000-11-24 | Inter process communication in a distributed processing system |
DE60044909T DE60044909D1 (de) | 1999-11-25 | 2000-11-24 | Interprozesskommunikation in einem verteilten verarbeitungssystem |
EP00980123A EP1242900B1 (en) | 1999-11-25 | 2000-11-24 | Inter process communication in a distributed processing system |
JP2001540592A JP4689917B2 (ja) | 1999-11-25 | 2000-11-24 | 分散処理システムにおける相互プロセス通信 |
PCT/NO2000/000397 WO2001038998A1 (en) | 1999-11-25 | 2000-11-24 | Inter process communication in a distributed processing system |
AT00980123T ATE479950T1 (de) | 1999-11-25 | 2000-11-24 | Interprozesskommunikation in einem verteilten verarbeitungssystem |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
NO19995774A NO311656B1 (no) | 1999-11-25 | 1999-11-25 | Kommunikasjon mellom prosesser som kjörer på forskjellige prosessorer ved bruk av s¶rskilte kommunikasjonsprosesser |
Publications (3)
Publication Number | Publication Date |
---|---|
NO995774D0 NO995774D0 (no) | 1999-11-25 |
NO995774L NO995774L (no) | 2001-05-28 |
NO311656B1 true NO311656B1 (no) | 2001-12-27 |
Family
ID=19904021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
NO19995774A NO311656B1 (no) | 1999-11-25 | 1999-11-25 | Kommunikasjon mellom prosesser som kjörer på forskjellige prosessorer ved bruk av s¶rskilte kommunikasjonsprosesser |
Country Status (10)
Country | Link |
---|---|
US (1) | US7426531B1 (no) |
EP (1) | EP1242900B1 (no) |
JP (1) | JP4689917B2 (no) |
CN (1) | CN1264102C (no) |
AT (1) | ATE479950T1 (no) |
AU (1) | AU1742201A (no) |
DE (1) | DE60044909D1 (no) |
MY (1) | MY126754A (no) |
NO (1) | NO311656B1 (no) |
WO (1) | WO2001038998A1 (no) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005165813A (ja) * | 2003-12-04 | 2005-06-23 | Matsushita Electric Ind Co Ltd | 分散計算機システム管理方法 |
CN102375763B (zh) * | 2010-08-20 | 2013-06-19 | 中国移动通信集团公司 | 一种用于实现进程间通信的系统和方法 |
CN103748858B (zh) * | 2011-06-30 | 2018-10-26 | 瑞典爱立信有限公司 | 灵活的数据通信 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4530051A (en) * | 1982-09-10 | 1985-07-16 | At&T Bell Laboratories | Program process execution in a distributed multiprocessor system |
US5062040A (en) * | 1986-12-22 | 1991-10-29 | At&T Bell Laboratories | Handling of notification of asynchronous events by user and stub processes of a distributed process executing on a plurality of processors of a multi-processor system |
EP0592080A2 (en) * | 1992-09-24 | 1994-04-13 | International Business Machines Corporation | Method and apparatus for interprocess communication in a multicomputer system |
US6226690B1 (en) * | 1993-06-14 | 2001-05-01 | International Business Machines Corporation | Method and apparatus for utilizing proxy objects to communicate with target objects |
JPH07134657A (ja) * | 1993-11-09 | 1995-05-23 | Advantest Corp | プロセス間通信方式 |
US5606666A (en) * | 1994-07-19 | 1997-02-25 | International Business Machines Corporation | Method and apparatus for distributing control messages between interconnected processing elements by mapping control messages of a shared memory addressable by the receiving processing element |
JPH08161186A (ja) * | 1994-12-09 | 1996-06-21 | Nec Corp | タスク間通信方式 |
JPH08212180A (ja) * | 1995-02-08 | 1996-08-20 | Oki Electric Ind Co Ltd | プロセス間通信処理装置 |
JPH103392A (ja) * | 1996-06-14 | 1998-01-06 | Fujitsu Ltd | マルチプロセス実行システム |
JP3293761B2 (ja) * | 1997-08-21 | 2002-06-17 | 三菱電機株式会社 | パケットルーチング方法 |
-
1999
- 1999-11-25 NO NO19995774A patent/NO311656B1/no unknown
-
2000
- 2000-11-20 US US09/714,956 patent/US7426531B1/en not_active Expired - Fee Related
- 2000-11-21 MY MYPI20005454A patent/MY126754A/en unknown
- 2000-11-24 JP JP2001540592A patent/JP4689917B2/ja not_active Expired - Fee Related
- 2000-11-24 EP EP00980123A patent/EP1242900B1/en not_active Expired - Lifetime
- 2000-11-24 DE DE60044909T patent/DE60044909D1/de not_active Expired - Lifetime
- 2000-11-24 AU AU17422/01A patent/AU1742201A/en not_active Abandoned
- 2000-11-24 CN CNB008162727A patent/CN1264102C/zh not_active Expired - Fee Related
- 2000-11-24 AT AT00980123T patent/ATE479950T1/de not_active IP Right Cessation
- 2000-11-24 WO PCT/NO2000/000397 patent/WO2001038998A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
JP4689917B2 (ja) | 2011-06-01 |
US7426531B1 (en) | 2008-09-16 |
EP1242900A1 (en) | 2002-09-25 |
ATE479950T1 (de) | 2010-09-15 |
MY126754A (en) | 2006-10-31 |
NO995774L (no) | 2001-05-28 |
DE60044909D1 (de) | 2010-10-14 |
CN1264102C (zh) | 2006-07-12 |
JP2003515814A (ja) | 2003-05-07 |
CN1399741A (zh) | 2003-02-26 |
EP1242900B1 (en) | 2010-09-01 |
AU1742201A (en) | 2001-06-04 |
WO2001038998A1 (en) | 2001-05-31 |
NO995774D0 (no) | 1999-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240168823A1 (en) | Computer cluster arrangement for processing a computation task and method for operation thereof | |
Hwang et al. | A Unix-Based local computer network with load balancing | |
US5659701A (en) | Apparatus and method for distributed program stack | |
US5253342A (en) | Intermachine communication services | |
US5414851A (en) | Method and means for sharing I/O resources by a plurality of operating systems | |
EP0709779A2 (en) | Virtual shared disks with application-transparent recovery | |
CN103368848A (zh) | 信息处理设备、算术装置和信息传递方法 | |
CN115203142A (zh) | 一种多核核间实时通信系统及方法 | |
CN100424675C (zh) | 多处理器系统的消息通信方法及装置 | |
US10353857B2 (en) | Parallel processing apparatus and method for controlling communication | |
JPS6115263A (ja) | 処理装置間指令転送制御方式 | |
NO311656B1 (no) | Kommunikasjon mellom prosesser som kjörer på forskjellige prosessorer ved bruk av s¶rskilte kommunikasjonsprosesser | |
US20230041130A1 (en) | Overlay layer for network of processor cores | |
JPH06348512A (ja) | 資源管理コンピュータ・システム | |
CN110134491B (zh) | 信息处理传输装置 | |
US4649534A (en) | Telecomputer package switching system | |
EP0509946A2 (en) | Apparatus and method for implementing a distributed program stack | |
EP0318270B1 (en) | A multiprocessor system and corresponding method | |
JPH05324574A (ja) | プロセッサ間通信方式 | |
JP2005122229A (ja) | 計算機システム | |
KR940023093A (ko) | 운용/대기 모드를 이용한 멀티프로세서 시스팀에서의 프로세서간 통신방법 | |
KR950008838B1 (ko) | 멀티미디어 지식처리를 위한 병렬처리 컴퓨터의 노드 컴퓨터 구조 | |
Kalinowski et al. | Multi-transputer systems with dynamic reconfiguration control based on the serial bus | |
Alves et al. | Scalable multithreading in a low latency Myrinet cluster | |
Kawabata et al. | Concept and Examples of a Distributed Computer System with a High-Speed Ring Data Bus |