A Survey on Process Migration Vinita Sharma* Dr
Total Page:16
File Type:pdf, Size:1020Kb
ISSN No. 0976-5697 Volume 3, No. 6, Nov. 2012 (Special Issue) International Journal of Advanced Research in Computer Science CASE STUDY AND REPORT Available Online at www.ijarcs.info A Survey on Process Migration Vinita Sharma* Dr. Vineet Sharma M.Tech Scholar, Dept of CSE, Associate Professor, Dept of CSE, KIET, Ghaziabad KIET, Ghaziabad Abstract: The days of supercomputers and mainframes dominating computing are over. With the cost benefits of the mass production of smaller machines, the majority of today’s computing power exists in the form of PCs or workstations, with more powerful machines performing more specialized tasks. Even with increased computer power and availability, some tasks require more resources. Load balancing and process migration allocates processes to interconnected workstations on a network to better take advantage of available resources. Process migration is the act of transferring a process between two machines during its execution. It enables dynamic load distribution, fault resilience, eased system administration, and data access locality. With the increasing deployment of distributed systems in general, and distributed operating systems in particular, process migration is receiving more attention in both research and product development. As high- performance facilities shift from supercomputers to networks of workstations, and with the ever-increasing role of the World Wide Web, we expect migration to play a more important role and eventually to be widely adopted. This paper reviews the field of process migration by summarizing the key concepts involved in it and by highlighting the benefits and challenges faced by the process migration. It also includes the experience of process migration in distributed operating system. Keywords: process migration, fault resilience, load distribution, distributed systems. designed to be used, so it was deemed essential to achieve I. INTRODUCTION extremely high performance. Currently, it's the fastest distributed operating system. [13] In a network of personal workstations, many machines This paper is organized in 6 sections. Section 1 provides are typically idle at any given time. These idle hosts the introduction about the process migration and distributed represent a large deposited of processing power, many times operating system. Section 2 describes the process migration it is greater than the available on any user’s personal in detail including homogeneous and heterogeneous types of machine in isolation. In recent years a number of process migration and steps involved in process migration mechanisms have been proposed or implemented to bring algorithm. Section 3 explains the benefits of process under conditions for effective use of idle processors .Here migration. Section 4 highlights the challenges faced by we are considering process migration mechanism for this process migration. Section 5 presents future research. purpose. Finally conclusion is given in section 6. A distributed operating system is the logical aggregation of operating system software over a collection of II. OVERVIEW OF PROCESS MIGRATION independent, networked, communicating, and physically separate computational nodes. [22] Individual nodes each hold A process may be considered as a program in execution. a specific software subset of the global aggregate operating And “Process migration is the act of transferring an active system. Each subset is a composite of two distinct service process between two machines and restoring the process provisions. [18] The first is a ubiquitous minimal kernel, or from the point it left off on the selected destination node.”[1] microkernel, that directly controls that node’s hardware. i.e. transferring an executing process from source machine Second is a higher-level collection of system management to destination machine during its execution is called process components that coordinate the node's individual and migration. collaborative activities. These components abstract If we transfer the state of a process from one machine to microkernel functions and support user applications.[6]An another, we have migrated the process. The term state refers example of an distributed operating system in which to all the information which is required to resume a process process migration mechanism is implemented is in a proper way and executing it correctly. “Amoeba”.Amoeba is a distributed operating system. It A. Goals: collects a huge Varity of single machines connected over a (fast) network to one, huge computer. It was originally The goals of process migration are very closely tied to developed at the Vrije Universiteit in Amsterdam by the applications that use migration, as described next. The Andrew Tanenbaum and many more. Amoeba was always primary goals include: © 2010, IJARCS All Rights Reserved CONFERENCE PAPER 29 II International Conference on Issues & Challenges in Networking, Intelligence & Computing Technologies Organized by Krishna Institute of Engineering and Technology (KIET) Ghaziabad, India Vinita Sharma et al, International Journal of Advanced Research in Computer Science, 3 (6), Nov, 2012, (Special Issue), 29-34 Figure 1: A view of Process Migration i. Resource locality: Processes which are running on a authority. It is difficult to select such applications node which is distant from the node which houses the without detailed knowledge of past behavior, since many data that the processes are using tend to spend most of applications are short-lived and do not execute long their time in performing communication between the enough to justify the overhead of migration nodes for the sake of accessing the data. Process iv. Long running applications, which can run for days or migration can be used to migrate a distant process closer weeks on end, can suffer various interruptions, for to the data that it is processing, thereby ensuring it example partial node failures or administrative spends most of its time doing useful work. shutdowns. Process migration can relocate these ii. Resource sharing: Nodes which have large amount of processes in the event of the occurrences of any of the resources can act as receiver nodes in a process events mentioned above. migration environment. v. Migration-oriented Applications are applications that iii. Effective Load Balancing: Migration is particularly have been coded to explicitly take advantage of process important in receiver initiated distributed systems, where migration. Dynamic process migration can automatically a lightly loaded node announces its availability thereby redistribute these related processes if the load becomes enabling the arbitrator to provide its processing power to uneven on different nodes, e.g. if processes are another node which is relatively heavily loaded. dynamically created, or there are many more processes iv. Fault tolerance: This aspect of a system is improved by than nodes. migration of a process from a partially failed node, or in vi. Mobile applications are the most recent example of the the case of long running processes when different kinds potential use of migration; for instance, mobile agents of failures are probable. In conjunction with check and mobile objects. These applications are designed with pointing, this goal can be achieved. mobility in mind. Although this mobility differs v. Eased system administration: When a node is about to be significantly from the kinds of process migration shutdown, the system can migrate processes which are considered elsewhere in this paper, it uses some of the running on it to another node, thereby enabling the same techniques: location policies, checkpointing, process to go to completion, either on the destination transparency, and locating and communicating with a node or on the source node by migrating it back. mobile entity. vi. Mobile computing: Users may decide to migrate a vii. Migration-aware applications are applications that have running process from their workstations to their mobile been coded to explicitly take advantage of process computers or vice versa to exploit the large amount of migration. Dynamic process migration can automatically resources that a work station can provide. redistribute these related processes if the load becomes uneven on different nodes, e.g. if processes are B. Applications: dynamically created, or there are many more processes The following applications can be benefited from than nodes. process migration: i. Distributed applications can be started on certain nodes C. Migration Algorithm [14]: and can be migrated at the application level or by using a Although there are many different migration system wide migration facility in response to things like implementations and designs, most of them can be load balancing considerations. summarized in the following steps: ii. Multiuser Applications can benefit greatly from process i. A migration request is issued to a remote node. After migration. As users come and go, the load on individual negotiation, migration has been accepted. nodes varies widely. Dynamic process migration can ii. A process is detached from its source node by automatically spread processes across all nodes, suspending its execution, declaring it to be in a migrating including those applications that are not enhanced to state, and temporarily redirecting communication as exploit the migration mechanism. described in the following step. iii. Standalone Applications, which is pre emptable, can be iii. Communication is temporarily redirected by queuing up used with various goals in