Distributed Systems: Distributed Process Management – Process MigrationProcess MigrationMotivationProcess migration mechanismsImplementation of process migrationImplementation of process migration (cont.)Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12A migration scenarioNegotiation of MigrationSlide 15Example: Negotiation of process migration on CharlotteEvictionEviction (cont.)1Distributed Systems: Distributed Process Management –Process MigrationCS-550 (M.Soneru): Distributed Systems – Distributed Process Management – Process Migration [Sta’01]2Process Migration•What–The movement of an active process from one machine to another•How–Transfer of sufficient amount of the state of a process from one machine to another–The process continues execution on the target machineNotes:–Process migration assumes preemption, i.e., transferring a partially executed process–A simpler function is a non-preemptive process transfer, i.e., transferring a process that has not begun execution–Non-preemptive process transfers can be useful in load balancing, but do not react well to changes in load distributionCS-550 (M.Soneru): Distributed Systems – Distributed Process Management – Process Migration [Sta’01]3Motivation•Load sharing–Move processes from heavily loaded to lightly loaded systems–Load can be balanced to improve overall performance–Benefits of balancing the load must offset the overhead for communication necessary to perform balancing•Communications performance–Processes that interact intensively can be moved to the same node to reduce communications cost–Processes that require large amount of remote data can be moved to the location of data•Availability–Long-running process can move •In the case of scheduled downtime•When faults develop on the node they are running•Utilizing special capabilities–Process can take advantage of unique hardware or software capabilities on a remote nodeCS-550 (M.Soneru): Distributed Systems – Distributed Process Management – Process Migration [Sta’01]4Process migration mechanisms•Initiation of migration: who initiates migration–When goal is load balancing•Load monitor component of OS –Decides when migration takes place–Communicates with peer modules in other systems to determine the distribution of loads and agree on migration decision–Preempts migration candidate and starts migration•Migration is transparent to the migrating process–When goal is to reach a particular resource•Process itself initiates migration•Process is aware of distributed system and location of resourcesCS-550 (M.Soneru): Distributed Systems – Distributed Process Management – Process Migration [Sta’01]5Implementation of process migration•What is migrated–Process image•Process control block•Process address space–Links between this process and other processes•Links for passing messages•Links for passing signals–Open filesCS-550 (M.Soneru): Distributed Systems – Distributed Process Management – Process Migration [Sta’01]6Implementation of process migration (cont.)CS-550 (M.Soneru): Distributed Systems – Distributed Process Management – Process Migration [Sta’01]7Implementation of process migration (cont.)CS-550 (M.Soneru): Distributed Systems – Distributed Process Management – Process Migration [Sta’01]8Implementation of process migration (cont.)•Strategies for the migration of process address space–Eager (all)•Transfer entire address space at time of migration•No trace of process is left behind•Easier to implement if check-pointing is available•Potential drawback: –If address space is large and if the process does not need most of it, then this approach may be unnecessarily expensive–Pre-copy•Process continues to execute on the source node while the address space is copied•Pages modified on the source during pre-copy operation have to be copied a second time•Reduces the time that a process is frozen and cannot execute during migrationCS-550 (M.Soneru): Distributed Systems – Distributed Process Management – Process Migration [Sta’01]9Implementation of process migration (cont.)•Strategies for the migration of process address space (cont.)–Eager (dirty)•Transfer only the pages that are in main memory and have been modified•Any additional blocks of the virtual address space are transferred on demand•Advantage–Minimizes the amount of transferred data•Disadvantage–The source machine is involved throughout the life of the processCS-550 (M.Soneru): Distributed Systems – Distributed Process Management – Process Migration [Sta’01]10Implementation of process migration (cont.)•Strategies for the migration of process address space (cont.)–Copy-on-reference •Variation of eager (dirty) strategy•Pages are brought over only on reference•Advantage–Has lowest initial cost of process migration–Flushing •Pages are cleared from main memory by flushing dirty pages to disk•Pages are then accessed as needed from disk•Advantage–Relieves the source of holding any pages of the migrated process in main memoryCS-550 (M.Soneru): Distributed Systems – Distributed Process Management – Process Migration [Sta’01]11Implementation of process migration (cont.)•Selecting a strategy for the migration of process address space–If the process is expected to be only temporarily on the target machine, then only a minimum of pages should be transferred, e.g., eager (dirty), copy-on-reference, or flushing–If the process is expected to be for a long time on the target machine and use much of its address space, then the entire address space should be transferred at once, e.g., eager (all) or pre-copy–If the unit of migration is the thread and the remaining threads of the process remain on the original machine, then remote paging works bestCS-550 (M.Soneru): Distributed Systems – Distributed Process Management – Process Migration [Sta’01]12Implementation of process migration (cont.)•Strategies for the migration of files–If the file is locked by the migrating process and resides on the same system, then transfer file with the process–If the process is moved temporarily, transfer the file only after an access request was made by the migrated process–If the file is shared by several distributed processes, do not transfer file•Strategies for migration of links between the migrating process and other processes (messages
View Full Document