9
Process Migration tions: aring/balancing - migrate jobs to less utilized machines e locality - migrate jobs to the machine where needed resourc e sharing - make distinctive resources available to all jobs olerance - migrate jobs away from failing machines administration - migrate jobs temporarily for administrative y/ubiquitous computing - migrate jobs to follow the user chitectures: PP - massively parallel processors/clusters OW - networks of workstations

Process Migration Motivations: load sharing/balancing - migrate jobs to less utilized machines resource locality - migrate jobs to the machine where needed

Embed Size (px)

Citation preview

Page 1: Process Migration Motivations: load sharing/balancing - migrate jobs to less utilized machines resource locality - migrate jobs to the machine where needed

Process Migration

Motivations:

•load sharing/balancing - migrate jobs to less utilized machines•resource locality - migrate jobs to the machine where needed resources exist•resource sharing - make distinctive resources available to all jobs•fault tolerance - migrate jobs away from failing machines•system administration - migrate jobs temporarily for administrative reasons•mobility/ubiquitous computing - migrate jobs to follow the user

Architectures:

•MPP - massively parallel processors/clusters•NOW - networks of workstations

Page 2: Process Migration Motivations: load sharing/balancing - migrate jobs to less utilized machines resource locality - migrate jobs to the machine where needed

Steps in Migrating a Process

kernel

process x

1. Select process to migrate

kernel

process x

2. Detach process from source node

kernel

process x

3. Redirect communication

4. Extract state

external communication

kernel

process x

Page 3: Process Migration Motivations: load sharing/balancing - migrate jobs to less utilized machines resource locality - migrate jobs to the machine where needed

Steps in Migrating a Process

5. Create new process at destination node

kernelkernel

process x

source node destination node

6. Transfer state

kernelkernel

process x

source node destination node

7. Create forwarding reference

kernelkernel

source node destination node

process x

kernelkernel

source node destination node

process x

8. Resume migrated process

Page 4: Process Migration Motivations: load sharing/balancing - migrate jobs to less utilized machines resource locality - migrate jobs to the machine where needed

Factors in Process Migration

•complexity - added functionality imposed on operating system•performance - strongly related to state transfer•transparency - visibility to the process of migration•fault resilience - tolerance of the migrated task to failure of its source node•scalability - sustained performance with increasing system size•heterogeneity - ability to incorporate diverse architectures

Page 5: Process Migration Motivations: load sharing/balancing - migrate jobs to less utilized machines resource locality - migrate jobs to the machine where needed

Trade-offs Among Factors

upper kernel

lower kernel

linker

destination node

migrated process

upper kernel

lower kernel

linker

source node

transparency ++complexity --fault resilience --

Mosix

Page 6: Process Migration Motivations: load sharing/balancing - migrate jobs to less utilized machines resource locality - migrate jobs to the machine where needed

State Migration Strategies

Eager (all)

source node

destination node

source node

destination node

network paging storeEager (dirty)

Page 7: Process Migration Motivations: load sharing/balancing - migrate jobs to less utilized machines resource locality - migrate jobs to the machine where needed

State Migration Strategies

source node

destination node

network paging storeflushing

source node

destination node

network paging storecopy-on-reference

Page 8: Process Migration Motivations: load sharing/balancing - migrate jobs to less utilized machines resource locality - migrate jobs to the machine where needed

State Migration Strategies

source node

destination node

precopy

Page 9: Process Migration Motivations: load sharing/balancing - migrate jobs to less utilized machines resource locality - migrate jobs to the machine where needed

Barriers to Use of Migration

Barrier Reason to Overcome

Lack of applications

Grid computations Huge data repositories

Lack of infrastructure

Both NT and Unix are suitable for extensionto support migration;

both more supportive of distributedapplications

Not a user requirement

Mobile hardware Network speed differential Grid applications

Sociological factor

Abundance reduces ‘ownership” Ubiquity enhances desire for “remote” access