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 PDF

Info

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
Application number
NO19995774A
Other languages
English (en)
Other versions
NO995774L (no
NO995774D0 (no
Inventor
Petter Johnsen
Per Olav Kroka
Original Assignee
Ericsson Telefon Ab L M
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=19904021&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=NO311656(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Ericsson Telefon Ab L M filed Critical Ericsson Telefon Ab L M
Priority to NO19995774A priority Critical patent/NO311656B1/no
Publication of NO995774D0 publication Critical patent/NO995774D0/no
Priority to US09/714,956 priority patent/US7426531B1/en
Priority to MYPI20005454A priority patent/MY126754A/en
Priority to DE60044909T priority patent/DE60044909D1/de
Priority to EP00980123A priority patent/EP1242900B1/en
Priority to JP2001540592A priority patent/JP4689917B2/ja
Priority to PCT/NO2000/000397 priority patent/WO2001038998A1/en
Priority to AT00980123T priority patent/ATE479950T1/de
Priority to AU17422/01A priority patent/AU1742201A/en
Priority to CNB008162727A priority patent/CN1264102C/zh
Publication of NO995774L publication Critical patent/NO995774L/no
Publication of NO311656B1 publication Critical patent/NO311656B1/no

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram 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.
NO19995774A 1999-11-25 1999-11-25 Kommunikasjon mellom prosesser som kjörer på forskjellige prosessorer ved bruk av s¶rskilte kommunikasjonsprosesser NO311656B1 (no)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 三菱電機株式会社 パケットルーチング方法

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