Prosessoverføring - Process migration
I databehandling er prosessmigrasjon en spesialisert form for prosessledelse der prosesser flyttes fra et databehandlingsmiljø til et annet. Dette stammer fra distribuert databehandling , men brukes nå mer. På flerkjerners maskiner (flere kjerner på en prosessor eller flere prosessorer) skjer prosessmigrasjon som en standard del av prosessplanlegging , og det er ganske enkelt å migrere en prosess innenfor en gitt maskin, siden de fleste ressurser (minne, filer, sockets) ikke gjør det må endres, bare utførelseskonteksten (først og fremst programteller og registre).
Den tradisjonelle formen for prosessmigrasjon er i dataklynger der prosesser flyttes fra maskin til maskin, noe som er betydelig vanskeligere, ettersom det krever serialisering av prosessbildet og migrering eller gjenanskaffelse av ressurser på den nye maskinen. Den første implementeringen av prosessmigrasjon var i driftsprosjektet DEMOS/MP ved University of California, Berkeley og ble beskrevet i et papir fra 1983 av Barton Miller og Michael Powell. Prosessmigrasjon er implementert i blant andre OpenMosix og Sprite OS fra University of California, Berkeley .
Varianter
Prosessmigrasjon i databehandling kommer i to varianter:
- Ikke-forebyggende prosessmigrasjon
- Prosessmigrasjon som finner sted før utførelsen av prosessen starter (dvs. migrering der en prosess ikke trenger å bli forhåndsutført ). Denne typen prosessmigrasjon er relativt billig, siden det er relativt lite administrasjonskostnader involvert.
- Forebyggende prosessmigrasjon
- Prosessmigrasjon der en prosess blir forhåndsinnstilt, migrert og fortsetter behandlingen i et annet utførelsesmiljø. Denne typen prosessmigrasjon er relativt dyr, siden den innebærer registrering, migrering og gjenskapning av prosesstilstanden samt rekonstruksjon av eventuelle kommunikasjonskanaler mellom prosesser som migreringsprosessen er koblet til.
Problemer
Flere problemer oppstår når en kjørende prosess flytter til en annen maskin. Noen av disse problemene er:
I/O -omdirigering: Hvis en prosess gjør I/O til filer eller enheter som er bundet til en bestemt maskin, må det være en måte å omdirigere tilgang til disse ressursene selv etter at prosessen er migrert. Dette innebærer omdirigering av I/O -datastrømmen over nettverket og har ulemper angående sikkerhet, ytelse og pålitelighet.
Mellomprosesskommunikasjon: meldinger som sendes til en prosess med prosess-ID P på en maskin M, må omdirigeres til den nye maskinen N og den nye prosess-IDen Q. Maskinen som prosessen migrerte vekk fra, trenger å holde oversikt over migrerte prosesser. Hvis det skjer flere migrasjoner, øker overheadkostnaden.
Delt minne : Hvis en av en gruppe samarbeidende prosesser migrerer bort og alle disse prosessene bruker et delt minnesegment, må nettverket brukes til å etterligne delt minnetilgang. Dette øker kompleksiteten og reduserer tilgangen til det delte minnet dramatisk for prosesser som vandret bort fra maskinen som holder det delte minnet. Fenomenene som en vertsmaskin må levere tjenester til en prosess som migrerte bort, kalles Residual Dependency.
I tillegg til problemene nevnt ovenfor, holder prosessbaserte operativsystemer vanligvis en rekke tabeller og tilstander for kjørende prosesser. Det er ingen enkel måte å hente all administrativ informasjon om en prosess i en enkel sekvens av kopieringsoperasjoner. Avhengig av utførelsen av prosessen må tabeller søkes, kopieres, endres og reetableres på destinasjonssystemet. Dermed er replikering av prosessstater ingen enkel oppgave.
Referanse http://www.klammeraffe.org/~fritsch/uni-sb/fsinfo/Papers/migrate/node4.html
Integrert kretsdesign
En alternativ definisjon av prosessmigrasjon brukes i integrert kretsdesign og prosjektering . Prosessmigrasjon eller layoutmigrasjon i denne sammenhengen er en designflyt for å endre og krympe en eksisterende IC -layout til en ny prosessteknologienode. Implementeringen av en prosessmigrasjon kan gjøres manuelt ved å tegne layoutfunksjonen etter funksjon eller ved hjelp av automatiske EDA/CAD -verktøy. I lastdelingssystemer migreres en prosess fra en node til en annen ved hjelp av en mekanisme som kalles prosessmigrasjon.
Konseptet med en prosess er ikke introdusert i denne rapporten ettersom prosesser er en velkjent design i operativsystemer. Process Migration refererer til mobiliteten til å utføre (eller suspendert) prosesser i et distribuert datamiljø. Vanligvis indikerer dette begrepet at en prosess bruker et nettverk til å migrere til en annen maskin for å fortsette utførelsen der. Noen ganger brukes begrepet for å beskrive endringen i utførelsen fra en prosessor til en annen prosessor i samme maskin.