Processmigrering

Inom databehandling är processmigrering en specialiserad form av processhantering där processer flyttas från en datormiljö till en annan. Detta har sitt ursprung i distribuerad datoranvändning , men används nu mer allmänt. På flerkärniga maskiner (flera kärnor på en processor eller flera processorer) sker processmigrering som en standarddel av processschemaläggning, och det är ganska enkelt att migrera en process inom en given maskin, eftersom de flesta resurser (minne, filer, sockets) inte gör det behöver ändras, endast exekveringskontexten (främst programräknare och register).

Den traditionella formen av processmigrering är i datorkluster där processer flyttas från maskin till maskin, vilket är betydligt svårare, eftersom det kräver serialisering av processbilden och migrering eller återanskaffning av resurser på den nya maskinen. Den första implementeringen av processmigrering var i DEMOS/MP-operativprojektet vid University of California, Berkeley och beskrevs i en artikel från 1983 av Barton Miller och Michael Powell. Processmigrering är implementerad i bland annat OpenMosix och Sprite OS från University of California, Berkeley .

Olika sorter

Processmigrering inom datorer finns i två varianter:

Icke-förebyggande processmigrering
Processmigrering som äger rum innan exekveringen av processen startar (dvs migrering där en process inte behöver förebyggas ). Denna typ av processmigrering är relativt billig, eftersom relativt lite administrativa omkostnader är involverade.
Förebyggande processmigrering
Processmigrering där en process förebyggs, migreras och fortsätter bearbetningen i en annan exekveringsmiljö. Denna typ av processmigrering är relativt dyr, eftersom den involverar registrering, migrering och återskapande av processtillståndet såväl som rekonstruktion av eventuella kommunikationskanaler mellan processer som migreringsprocessen är ansluten till.

Problem

Flera problem uppstår när en pågående process flyttas till en annan maskin. Några av dessa problem är:

I/O-omdirigering: om en process gör I/O till filer eller enheter som är bundna till en viss dator måste det finnas ett sätt att omdirigera åtkomst till dessa resurser även efter att processen migrerats. Detta innebär omdirigering av I/O-dataströmmen över nätverket och har nackdelar vad gäller säkerhet, prestanda och tillförlitlighet.

Kommunikation mellan processer: meddelanden som skickas till en process med process-ID P på en maskin M måste omdirigeras till den nya maskinen N och den nya process-ID Q . Maskinen som processen migrerade bort från måste hålla register över migrerade processer. Om multipel migrering sker, ökar omkostnaderna.

Delat minne : om en av en grupp av samarbetande processer migrerar bort och alla dessa processer använder ett delat minnessegment, måste nätverket användas för att emulera åtkomst till delat minne. Detta ökar komplexiteten och saktar ner åtkomsten till det delade minnet dramatiskt för processer som har migrerat bort från maskinen som håller det delade minnet. Fenomenet att en värddator måste tillhandahålla tjänster till en process som migrerat bort kallas Residual Dependency.

Utöver problemen som nämns ovan upprätthåller processbaserade operativsystem vanligtvis en mängd olika tabeller och tillstånd för att köra processer. Det finns inget enkelt sätt att hämta all administrativ information om en process i en enkel sekvens av kopieringsoperationer. Beroende på exekveringen av processen måste tabeller sökas, kopieras, ändras och återupprättas på destinationssystemet. Således är processtillståndsreplikering ingen enkel uppgift.

Referens http://www.klammeraffe.org/~fritsch/uni-sb/fsinfo/Papers/migrate/node4.html

Integrerad kretsdesign

En alternativ definition av processmigrering används i konstruktion och konstruktion av integrerade kretsar . Processmigrering eller layoutmigrering i detta sammanhang är ett designflöde för att ändra och krympa en befintlig IC-layout till en ny processtekniknod. Implementeringen av en processmigrering kan göras manuellt genom att rita om layouten funktion för funktion eller med automatiska EDA / CAD -verktyg. I lastdelningssystem migreras en process från en nod till en annan med hjälp av en mekanism som kallas processmigrering.

Begreppet process introduceras inte i denna rapport eftersom processer är en välkänd design i operativsystem. Processmigrering hänvisar till rörligheten för exekverande (eller avstängda) processer i en distribuerad datormiljö. Vanligtvis indikerar denna term att en process använder ett nätverk för att migrera till en annan maskin för att fortsätta körningen där. Ibland används termen för att beskriva förändringen i exekvering från en processor till en annan processor inom samma maskin.