Mobile Ad Hoc Computational Grid for Low Constraint ... - IEEE Xplore

2 downloads 0 Views 300KB Size Report
{shah, ali, sajjad, chenjiehui0574, myongsp}@ilab.korea.ac.kr. ∗ Corresponding Author. Abstract: We are not far from the time when environments will be smart ...
2009 International Conference on Future Computer and Communication

Mobile Ad Hoc Computational Grid for Low Constraint Devices Sayed Chhattan Shah, Ali Kashif Bashir, Sajjad Hussain Chauhdary Chen Jiehui and Myong-Soon Park∗ Department of Computer Science and Engineering Korea University, Seoul, Korea {shah, ali, sajjad, chenjiehui0574, myongsp}@ilab.korea.ac.kr technology devices are becoming smaller, and lighter with longer battery life and users are becoming more mobile with their increasing interest in ubiquitous connectivity. The future user, equipped with hundreds of tiny lowconstraint devices, will be able to work at home, while traveling, in battlefield, at disaster relief operation or at any location. Or even in battlefield where soldier are equipped with high processing machines, it may happen that high processing machine goes down due to some disaster or system failure. In these kinds of situations, it will be important to perform high processing tasks, such as route discovery, weather forecast, threat detection, and tactical planning. The objective of this study is to propose architecture based on anytime, anywhere computing paradigm that will allow users to form mobile ad hoc computational grid by integrating individual autonomous distributed computing devices as a single, unified computing resource to achieve desired result. The proposed architecture will also address the issues of mobile devices such as mobility, signal strength, and battery power and will allow users to move with small devices without being concerned about computational power.

Abstract: We are not far from the time when environments will be smart and intelligent having capability to compute and communicate with other environments and artifacts. These environments and everyday objects will be equipped with small, inexpensive, and low power devices having capability to communicate with each other in order to organize and coordinate their actions. Computation will be freely available everywhere allowing us to perform tasks anywhere at anytime. The individuals will be equipped with lightweight devices instead of heavy devices that condense the effectiveness of individual. Furthermore, there is increasing trend towards anytime, anywhere computing paradigm that allow user to work at home, while traveling or at any location. Due to this increasing trend and availability of hundreds of low constrained devices, it will be possible for individuals to form a mobile ad hoc computational grid by integrating piecemeal devices into a single, unified computing resource that could achieve the desired result. The purpose of study is to propose architecture for mobile ad hoc computational grid for low constraint devices in order to perform high processing tasks. Keywords- Grid Computing; Pervasive Computing; Smart Environments; Ad Hoc Networks; Mobile Grid

I.

The rest of this paper is organized as follows: Section II is devoted to related work. Section III describes the architecture for mobile ad hoc computational grid based on anytime, anywhere computing paradigm while section IV ends with conclusion.

INTRODUCTION

The rapid growth of technologies has made it possible to think beyond our imagination. Research is being held in various dimensions and numerous research projects have emerged to translate the vision of smart environments and objects into reality. MIT, UC Berkeley, US Defense Department, IBM, Intel Corporation, Sun Microsystems almost all internationally recognized universities and research institutes are somehow engaged to create technologies in order to improve our lives and make us more productive. One.World [6], Future Force Warrior [7], MIT’s Solider of the Future [8], Oxygen [10] and Things That Think projects, EU-funded Speckled Computing [12] [13], SmartITs [11], and Disappearing Computer [9] projects are very few examples.

II.

Grid computing is an emerging technology for pervasive and ubiquitous computing with a purpose is to provide high performance and cost-effective solutions based on connect and share approach. It combines various distributed computing devices to form a single, unified computing resource with a key objective, to free the user from the system concerns, care, and individual experience of the original PC, and to foster resource and application sharing within a group [3]. A grid can be used in different ways to provide various services ranging from application services, data services, information services, knowledge services to computational services. The two main types of grid computing that are concerned with the objective of this study are: Computational grid and Scavenging grid. A computational grid is focused on setting aside resources specifically for computing power while in scavenging grid machines are scavenged for available CPU cycles and other resources. Owners of the machines are usually given

It also has been proved from various studies and experiments that in various situations particularly in battlefield or in disaster relief operation; it is more effective to carry lighter and smaller devices in order to increase productivity and efficiency of soldiers or individuals. Several research projects [7-9, 11] have emerged to enhance the individual's ability to move, communicate and survive in battlefield or in disaster relief operation. Due to continuous improvements in hardware and packaging ∗

Corresponding Author

978-0-7695-3591-3/09 $25.00 © 2009 IEEE DOI 10.1109/ICFCC.2009.115

RELATED WORK

416

mobile devices such as mobility, signal strength, and battery power. These systems rely on fixed grid infrastructure for grid management services so lacks the capability to form mobile ad hoc grid. Furthermore, no mechanism has been defined to migrate code from one node to another in case of any failure. These systems also lack capability to deal with possible modes of failure.

control over when their resources are available to participate in the grid [2] [3]. Currently, large amount of work in this area is dedicated towards large scale systems and applications. However, due to advancement in performance and speed of miniature devices and wireless networks such as UWB [5], this field has got considerable attention. Researchers are exploring new technologies and approaches to extend the implementation of grid computing on low constraint mobile devices in order to offer grid services at anywhere, anytime. In literature there are two approaches to integrate grid computing with mobile devices. One approach is to allow these devices to access fixed grid resources that offer reliability, performance and quality of service. In this approach mobile devices can’t offer services to grid users but only can consume services while in second approach, mobile users can consume services as well as can offer services to grid users. This approach also has provision for mobile devices to host grid management services instead of relying on fixed infrastructure.

Mobile OGSI.NET [18], supported by the National Science Foundation, the National Partnership for Advanced Computational Infrastructure (NPACI), and Microsoft Research, also extends implementation of grid computing to mobile devices to promote resource sharing and collaboration among mobile devices and fixed computational resources. It allows hosting of grid services on mobile devices and addresses the issues of mobile devices and wireless networks. The implementation of OGSI specification on the mobile devices allows them to interoperate with any desktops and servers running the OGSI based toolkit. The Mobile OGSI.NET has capability to effectively utilize the resources through process migration and distributed execution that allow job to run among several devices. However process migration application controlled where application can save its state while another application of same type can then load and continue running. It means that application should consider the characteristics of mobile devices such as signal strength and battery power in order to take migration decision and should be capable to handle process or network failure. Furthermore, system also lacks capability to monitor tasks during their execution.

Following section examines few research efforts that have extended the implementation of grid computing on mobile devices and also point out the issues that are not addressed by these systems. Millard, D. et al [19] implemented grid clients on mobile devices for a Finesse E-learning system which is webbased collaborative learning and teaching environment for the finance domain that offers variety of services to allow students to buy and sell shares. The main objective of the team was to allow mobile devices to access Finesse Elearning system. Piotr Grabowski et al. [20] and F. Gonzalez-Castano et al. [17] also explored and extended the grid services on mobile devices.

III. MOBILE AD HOC COMPUTATIONAL GRID FOR LOW CONSTRAINT DEVICES This architecture allows the formation of virtual unified computing resource consisting of nearby low constraint devices in order to achieve desired result. The proposed architecture allow users to move with small devices without being concerned about computational power and also addresses the issues of mobile devices such as mobility, signal strength, and battery power. The purpose of this section is to identify the basic components of mobile ad hoc computational grid architecture and to define their roles and responsibilities along with the way they interact with each other. The following section lists the components and their responsibilities.

Grid-M [15] is a platform for lightweight grid computing that integrate mobile devices, sensor networks and grid computing and relies on cellular network for grid management and monitoring services. It allow to build grid computing applications in embedded and mobile computing devices and provides application programming interface to connect java developed applications in grid computing environment. Similar efforts also have been made in [21, 22] to integrate sensor nodes with grid computing systems. However the focus of all these systems is on data and information services rather than computational services.

A. System Architecture

Grid Architecture for Multi-Agent based System in Cellular network [16] is another effort that allows mobile devices to share their computational resources to solve resource intensive tasks. This architecture treat computational grid as multi-agent system in which computational devices are intelligent agents having capability to manage themselves, share resources, and communicate with other agents within grid environment. Mobile devices in this system interact with each other through brokering service provided by cellular network infrastructure that facilitates communication among mobile devices on grid and coordinate their work on distributed tasks.

Figure 1. System Architecture Client node or CN is a node that requires additional computational power while a node that offers computational power is called service provider node or SPN. A node that hosts grid management and scheduling services is said to be a master node.

Both of the systems, Grid-M [15] and [16], mentioned above doesn’t define any mechanism to monitor the services for better quality and doesn’t address the issues of

417

B. Service Provider Node Architecture Grid Measurement Services

Runtime Environment

Data Usage Pattern Measurement Service

Communication Service

Configuration Profile Measurement Service

Grid Management Services will keep track of members and resources available to grid. These services will also be responsible to find service provider nodes in coverage area and to provide a way to access them. GMS will maintain a list of service provider nodes along with their updated configuration profiles. Client and service provider nodes will interact with these services in order to resolve issues and to process grid jobs on computational grid. Grid Management Services are further classified as:

Notification Service Listener Service

Figure 2. Service Provider Node Architecture

Grid Construction Service This will be responsible for searching service provider nodes in coverage area through broadcast mechanism and to form a gird. It will also keep a list of service provider nodes and their associated configuration profile.

Grid Measurement Services are responsible to determine the capacity of service provider node and data usage pattern of grid jobs in order to help grid management services in effective and efficient decision making. Grid measurement services are further categorized as Data Usage Patterns Measurement Service and Configuration Profile Measurement Service.

Job Submission Service will accept jobs from client and will submit them to service provider nodes in coordination with other GMS. This service will also keep track of jobs submitted, their current status and associated service provider nodes. Whenever job will be migrated, job submission service will be updated with job status and associated node.

Data Usage Patterns Measurement Service This service is responsible to measure number of incoming and outgoing packets for a job and to report status to master node. It determines how frequently the executing grid job communicates with remote jobs. This will help scheduler to place jobs closer to each other in order to reduce network traffic and communication distance.

Grid Job Scheduling Service will locate machine on which to run a grid job that has been submitted by user. In case of any failure, the scheduling service will resubmit job to another node. It also will have capability to minimize communication traffic and communication distance by scheduling jobs closer to data. Scheduler is responsible to choose the best available SPN from the list maintained by grid construction service and return result consisting of SPN to grid migration service. GSS also takes account of configuration profile of service provider node during selection process.

Configuration Profile Measurement Service will keep track of CPU power, RAM, mobility history, signal strength and battery power of service provider node. When battery power and signal strength will touch the threshold value, it will report to master node which in turn will ask grid job scheduler to schedule that job to some other suitable node. Signal strength will also be used to predict if service provider node is about to leave coverage area.

Grid Job Migration Service will be responsible to decide the migration of job from one node to another. If decision has been made to migrate job then job scheduling service will be asked to find the best available service provider node. Migration process will be initiated when signal strength, coverage range and battery power will cross threshold value or a more powerful and idle node found somewhere on grid. Data Usage Patterns Measurement Service and Configuration Profile Measurement Service will interact with this service in order to update it regarding configuration of SPN and gird job interaction mechanism.

Grid Runtime Environment provides necessary services and libraries for the common functionality, job management and execution. It accepts an executable job from grid management services and executes it. Communication Service will help jobs to communicate with remote jobs. Notification Service is responsible to monitor the status of job and report the status to grid management services after job completion or if job fails to complete. SPN Listener Service will listen for request and will react accordingly. Listener service will also be responsible to hold the request if node is busy when request arrives but intend to share computational power after completion of task. This service also may advertise the time for which the resources are available to grid.

D. Assumptions The design of proposed architecture is based on following assumptions: a)

C. Master Node Architecture

Any node, either client or service provider, can play role of master node. In proposed architecture client node plays the role of master node.

Grid Management Services

Grid Construction

b) The network system provides necessary services required to form mobile ad hoc network.

Runtime Environment

Job Submission Service

Job Scheduling Service Job Migration Service

c)

Communication Service

Nodes operate at high speed personal area network.

d) Every node is equipped with java runtime environment.

Figure 3. Master Node Architecture

418

e)

Data Usage Pattern Measurement Service

Our system assumes that there is third party job partitioning service that takes regular jobs and split them into sub jobs. The service also returns size of job, sub jobs and their dependency relationship.

Config. Profile Measurement Service

Notification

Service

Runtime Environment

Communication Service

E. Working of Proposed System If available service provider nodes couldn’t fulfill power requirements of application, the master node will keep asking other newly joined nodes for computational power. This process will continue till the fulfillment of power requirements of client node’s application. The nodes that are currently busy but are interested to offer computational resources after finishing tasks will hold request and will reply after completion of tasks. Master node may or may not permit that node(s) to join the grid depending on application requirements. If available service provider nodes couldn’t fulfill power requirements of application, the master node will keep asking other newly joined nodes for computational power. This process will continue till the fulfillment of power requirements of client node’s application. The nodes that are currently busy but are interested to offer computational resources after finishing tasks will hold request and will reply after completion of tasks.

Node F

Node G

Node H

Node D

C/M

Node E

Node A

Node B

Node C

Listener Service

Grid Scheduling Service

Grid Job Migration Service

Grid Job Submission Service

Communication Service

Runtime Environment

Services on Service Provider Node Services on Master Node Figure 5. Services Interaction Diagram

Once node has agreed to participate in grid with available capacity it should not be allowed to run non-grid work job. The sole capacity should be reserved for the grid.

Service Provider Nodes

Node I

Ordinary Nodes

Grid Construction Service

If service provider node wants to use advertised computational power then it will inform master node by sending updated configuration profile. Advertised computational power can be used if it is not being used by client node. Whenever master node will receive configuration profile of service provider node, it will verify it against application requirement. If configuration profile fulfills the application requirements than master node will stop collecting configuration profiles and application will be migrated to that service provider node for execution else it will keep collecting configuration profiles till the fulfillment of application requirements.

Client and Master Node

Node J

Coverage Area of Master Node

Every new configuration profile is added to previous one in order to collect total available computational power for grid. Process of collecting configuration profiles will continue till the twofold of computational power of application requirement.

Figure 4. Grid Formation Process

Above diagram shows that Client Node doesn’t have sufficient resources to execute an application so it asks Master Node to form a computational grid. Master Node sends a broadcast message asking nearby nodes for sharing their computational power. The nodes within range willing to share computational power reply to master node with configuration profiles. In diagram, Node B, E, G replies with configuration profiles however Node D holds the request until it completes current executing task and free computational resources. Other nodes within a coverage area are not interested to share computational power so they deny request by ignoring the broadcast message. After receiving configuration profiles, a computational grid will be formed based on Node E, B, G and Client Node. Dash line between Client and Node E shows that Node E is part of grid but not being used because the Node B, G along with client node

Once master node collected configuration profiles of all service provider nodes according to rules specified in above clause, it will form a computational grid consisting of number of nodes sufficient to fulfill the requirements of application and will split application into sub tasks and will execute them in parallel on different nodes of the grid. Depending on application requirements, master node will select service provider nodes priority wise according to their computational power, available memory, mobility history, battery power and signal strength. If service provider node is performing low priority work, that can be temporarily replaced or suspended with high priority one.

419

If application is critical enough then resources should not be used by any other application either local or remote. Whenever master node detects failure of service provider node, it will automatically resubmit job to other available SPN.

REFERENCES [1] Jeffrey O. Kephart, David M.Chess “The Vision of Autonomic Computing” IBM Thomas J. Watson Research Center [2] Mark Baker, Rajkumar Buyya, Domenico Laforenza “Grids and Grid Technologies for Wire Area Distributed Computing” Software – Practice and Experience, 2002 John Wiley & Sons, Ltd.

During first exchange, service provider node will transmit complete configuration profile to master node ranging from CPU utilization to link strength. In further communication only updated status will be propagated to master node.

[3] Grid Computing, “http://www.ibm.com/developerworks/grid”,Sep 2007 [4] R. Want, T. Pering, D. Tennenhouse “Comparing Autonomic and Proactive Computing”, IBM SYSTEMS JOURNAL, VOL 42, NO 1 2003

Every service provider node will monitor incoming and outgoing packets for a job and will report status to job scheduling service that will place jobs closer to each other in order to reduce network traffic. Service provider node will also be able to update its configuration profile on master node by an interface provided by master node during grid construction process.

[5] Ultra-Wideband (UWB Technology) Enabling high-speed wireless personal area networks, 2005 Intel Corporation. [6] Robert Grimm “One.world: Experiences with a Pervasive Computing Architecture” Published by the IEEE CS and IEEE ComSoc © 2004 IEEE

Job Scheduling Service will collaborate with grid measurement services running on service provider node in order to make efficient and power aware decisions. Grid measurement services will monitor each executing application in order to help scheduling service in decision making by suggesting it regarding jobs data access and communication patterns.

[7] Future Force Warrior, http://ffw.natick.army.mil/index.htm [8] Solider of the Future, http://web.mit.edu/ISN/aboutisn/index.html [9] Disappearing computer.net

Initiative,

http://www.disappearing-

[10] MIT Project Oxygen, http://oxygen.lcs.mit.edu [11] The Smart-Its Project, http://www.smart-its.org

A node whose battery level, signal strength are about to touch threshold value, that node will inform migration service on master node which in turn will interact with scheduling service to search suitable node for job submission. Migration process will be initiated when signal strength, coverage range and battery power will cross threshold value or a more powerful and idle node found somewhere in grid. IV.

Computer

[12] D.K Arvind at el, K.J Wong “Speckled Computing – A Disruptive Technology for Network Information Appliances” IEEE International Symposium on Consumer Electronics, 2004 [13] Sayed Chhattan Shah “Speckled Computing: Evolution and Challenges”, Accepted Paper, ICSRA08, Cambridge University, UK [14] Hani Hagras “Embedding Computational Intelligence in Pervasive Spaces” © 2007 IEEE, Published by the IEEE Computer Society [15] Hans A. Franke, Fernando L. Koch “Grid-M: Middleware to Integrate Mobile Devices, Sensors and Grid Computing”, ICWMC'07 © 2007 IEEE

CONCLUSION AND FUTURE WORK

Grid computing is an emerging technology for pervasive and ubiquitous computing with a purpose is to provide high performance and cost-effective solutions based on connect and share approach. Currently, large amount of work in this area is dedicated towards large scale systems and applications. However, due to advancement in performance and speed of miniature devices and wireless networks, and increasing trend towards anytime, anywhere computing paradigm this field has got considerable attention.

[16] Stanislav Kurkovsky, Bhagyavati “Modeling a Computational Grid of Mobile Devices as a Multi-Agent System”, SCI-2003, Orlando, FL [17] F. Gonzalez-Castano et al, "Condor Grid Computing from Mobile Handheld Devices" ACM SIGMOBILE Volume 6, Issue 2, April 2002. [18] David C. Chu, Marty Humphrey “Mobile OGSI.NET: Grid Computing on Mobile Devices” Proceedings of the 5th IEEE/ACM International Workshop on Grid Computing, November 8, 2004. Pittsburgh, PA. [19] Millard, D., Woukeu, A., Tao, F. B. and Davis, H. (2005) “Experiences with Writing Grid Clients for Mobile devices”. 1st International ELeGI Conference on Advanced Technology for Enhanced Learning, 14-16 March 2005, Vico Equense, (Napoli), Italy.

The primary objective of this study was to propose an architecture based on anytime, anywhere computing paradigm that allow user to form mobile ad hoc computational grid by integrating individual distributed computing devices as a single, unified computing resource. The proposed system allow users to move with small devices without being concerned about computational power and also addresses the issues of mobile devices such as mobility, signal strength and battery power.

[20] Piotr Grabowski, Bartosz Lewandowski Poznan “Access from J2meEnabled Mobile Devices to Grid Services” Supercomputing and Networking Center, Noskowskiego Poznan, 61-704 Poland [21] Fox, G. Ho, A. Rui Wang Chu, E. Isaac Kwan, A collaborative sensor grids framework, IEEE CTS 2008 [22] Jamie M. Robinson et al, "Sensor Networks and Grid Middleware for Laboratory Monitoring", First International Conference on e-Science and Grid Computing (e-Science'05), 2005

In future, we plan to develop the key components of the architecture in systematic way. Every component will be tested for performance and reliability through simulations and finally all the components of the architecture will be developed using state-of-the-art technologies.

420