GRB. Grid-JQA : Grid Java based Quality of service management by Active database. L. Mohammad Khanli M. Analoui. Abstract.

Similar documents
Incorporating Data Movement into Grid Task Scheduling

An Active Resource Management System for Computational Grid*

Load Balancing Algorithm over a Distributed Cloud Network

A Brief Survey on Resource Allocation in Service Oriented Grids

A Decoupled Scheduling Approach for the GrADS Program Development Environment. DCSL Ahmed Amin

Grid Computing Systems: A Survey and Taxonomy

A Resource Discovery Algorithm in Mobile Grid Computing Based on IP-Paging Scheme

Grid Computing with Voyager

Proffering a new Method for Grid Computing Resource Discovery based on Economic Criteria using Ant Colony Algorithm

The Study of Genetic Algorithm-based Task Scheduling for Cloud Computing

Adaptive Cluster Computing using JavaSpaces

Assignment 5. Georgia Koloniari

A Resource Discovery Algorithm in Mobile Grid Computing based on IP-paging Scheme

QoS-based Decision Services in Grids

Introduction to Distributed Systems (DS)

Introduction to Distributed Systems. INF5040/9040 Autumn 2018 Lecturer: Eli Gjørven (ifi/uio)

Introduction to Distributed Systems (DS)

A RESOURCE MANAGEMENT FRAMEWORK FOR INTERACTIVE GRIDS

Functional Requirements for Grid Oriented Optical Networks

Chapter 4:- Introduction to Grid and its Evolution. Prepared By:- NITIN PANDYA Assistant Professor SVBIT.

Exploring the Catallactic Coordination Approach for Peer-to-Peer systems *

Exploiting peer group concept for adaptive and highly available services

CS Advanced Topics in Database Management Systems. Report: P2P vs Grid Computing. By Ooi Hong Sain HT029804y

A Time-To-Live Based Reservation Algorithm on Fully Decentralized Resource Discovery in Grid Computing

A SEMANTIC MATCHMAKER SERVICE ON THE GRID

Scheduling Large Parametric Modelling Experiments on a Distributed Meta-computer

A RESOURCE AWARE SOFTWARE ARCHITECTURE FEATURING DEVICE SYNCHRONIZATION AND FAULT TOLERANCE

Introduction to Grid Computing

An Architecture For Computational Grids Based On Proxy Servers

Dynamic Resource Discovery for Applications Survivability in Distributed Real-Time Systems

Efficient Task Scheduling Algorithms for Cloud Computing Environment

HETEROGENEOUS COMPUTING

Abstract. NSWC/NCEE contract NCEE/A303/41E-96.

A Grid-Enabled Component Container for CORBA Lightweight Components

CHAPTER 7 CONCLUSION AND FUTURE SCOPE

Outline. Definition of a Distributed System Goals of a Distributed System Types of Distributed Systems

GRID COMPUTING BASED MODEL FOR REMOTE MONITORING OF ENERGY FLOW AND PREDICTION OF HT LINE LOSS IN POWER DISTRIBUTION SYSTEM

A Distributed Media Service System Based on Globus Data-Management Technologies1

Top-down definition of Network Centric Operating System features

Design Framework For Job Scheduling Of Efficient Mechanism In Resource Allocation Using Optimization Technique.

Effective Load Balancing in Grid Environment

An Intelligent Service Oriented Infrastructure supporting Real-time Applications

A Ubiquitous Web Services Framework for Interoperability in Pervasive Environments

MANAGEMENT AND PLACEMENT OF REPLICAS IN A HIERARCHICAL DATA GRID

A Taxonomy and Survey of Grid Resource Management Systems

Knowledge Discovery Services and Tools on Grids

A QOS-AWARE WEB SERVICE REPLICA SELECTION FRAMEWORK FOR AN EXTRANET

CAS 703 Software Design

PARALLEL PROGRAM EXECUTION SUPPORT IN THE JGRID SYSTEM

Grid Computing. Grid Computing 2

APPLICATION LEVEL SCHEDULING (APPLES) IN GRID WITH QUALITY OF SERVICE (QOS)

THE VEGA PERSONAL GRID: A LIGHTWEIGHT GRID ARCHITECTURE

Analysis and Provision of QoS for Distributed Grid Applications

A Compact Computing Environment For A Windows PC Cluster Towards Seamless Molecular Dynamics Simulations

Intercloud Security. William Strickland COP 6938 Fall 2012 University of Central Florida 10/08/2012

Grid Computing. MCSN - N. Tonellotto - Distributed Enabling Platforms

A New Intelligent Method in Brokers to Improve Resource Recovery Methods in Grid Computing Network

Veritas CommandCentral Supporting the Virtual Enterprise. April 2009

Autonomic Cloud Computing Resource Scaling

Resolving Load Balancing Issue of Grid Computing through Dynamic Approach

M. Roehrig, Sandia National Laboratories. Philipp Wieder, Research Centre Jülich Nov 2002

Middleware for the Use of Storage in Communication

QoS-constrained List Scheduling Heuristics for Parallel Applications on Grids

Introduction to Grid Technology

A Multi-Agent Architecture for QoS Support in Grid Environment

Replica Selection in the Globus Data Grid

An innovative workflow mapping mechanism for Grids in the frame of Quality of Service

A Heuristic Based Load Balancing Algorithm

Performance Analysis of Broadcast Based Mobile Adhoc Routing Protocols AODV and DSDV

Advanced Scheduling Strategies and Grid Programming Environments

A Process Scheduling Algorithm Based on Threshold for the Cloud Computing Environment

CHAPTER 3 GRID MONITORING AND RESOURCE SELECTION

A Data-Aware Resource Broker for Data Grids

UNICORE Globus: Interoperability of Grid Infrastructures

UNIFIED MANAGEMENT OF CONVERGED VOICE, DATA, AND VIDEO TECHNOLOGIES WITH AUTOMATED SUBSCRIBER AND SERVICE PROVISIONING

Grids of Agents for Computer and Telecommunication Network Management

MSF: A Workflow Service Infrastructure for Computational Grid Environments

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction

Distributed Systems Principles and Paradigms. Chapter 01: Introduction. Contents. Distributed System: Definition.

Research and Design Application Platform of Service Grid Based on WSRF

Managing CAE Simulation Workloads in Cluster Environments

Assistant Professor, School of Computer Applications,Career Point University,Kota, Rajasthan, India Id

Chapter 3. Design of Grid Scheduler. 3.1 Introduction

Tutorial. Title: Implementing Agent Applications in Java: Using Mobile and Intelligent Agents.

Grid Computing Fall 2005 Lecture 5: Grid Architecture and Globus. Gabrielle Allen

The National Fusion Collaboratory

A Hybrid Hierarchical Control Plane for Software-Defined Network

Distributed Systems Principles and Paradigms. Chapter 01: Introduction

QoS-based Resource Discovery in Intermittently Available Environments

Distributed Systems Principles and Paradigms

Enhanced Round Robin Technique with Variant Time Quantum for Task Scheduling In Grid Computing

Grid Scheduling Architectures with Globus

visperf: Monitoring Tool for Grid Computing

A Resource Look up Strategy for Distributed Computing

Routing protocols in WSN

Visual Environment for Rapid Composition of Parameter-Sweep Applications for Distributed Processing on Global Grids

Construction and Analysis of a Semantic Grid Service for Large-scale Environment

Study of Load Balancing Schemes over a Video on Demand System

Admission Control in Time-Slotted Multihop Mobile Networks

High Throughput WAN Data Transfer with Hadoop-based Storage

Transcription:

Grid-JQA : Grid Java based Quality of service management by Active database L. Mohammad Khanli M. Analoui Ph.D. student C.E. Dept. IUST Tehran, Iran Khanli@iust.ac.ir Assistant professor C.E. Dept. IUST Tehran, Iran Analoui@iust.ac.ir Abstract Task scheduling is an integrated component of computing. With the emergence of grid and ubiquitous computing, newer challenges have arisen in task scheduling. Unlike traditional parallel computing, grid is a shared enterprising environment where is no central control. The goal of grid task scheduling is to achieve high system throughput and to match the application needs with the available computing resources. This matching of resources in a non-deterministically shared heterogeneous environment leads to concerns on Quality of Service (). The paper presents a novel solution based on Active database to assure Quality of Services in grid computing systems. Active database accommodates some actions to be done automatically by insert, delete or update transactions. In this reason the best matching is obtained by using the most up to date information. Some comparison with other solutions had been done. As a result, our solution is safe factory and acceptable in the limits of performance. Keywords: Grid-JQA,, Active database. 1 Introduction Quality of service management has been explored in various contexts, particularly for computer networks, and multimedia applications; network and end system, such as memory and CPU. management has also been explored in the context of Grid computing. management covers a range of different activities, from resource selection and allocation through to resource release. Regardless of the context, a management system should address the following needs [1]: Specifying requirements. Mapping requirements to resource capabilities. Negotiating with resource owners, where a requirement cannot be exactly met. Establishing SLA with clients. Reserving and allocating resources. Monitoring parameters associated with a session. Adapting to varying resource quality characteristics. Terminating sessions. The Grid Java based Quality of service management by Active database (Grid-JQA) is a framework that aims to address the above mentioned requirements. Grid-JQA provides reservations and end-to-end management for quality of service on different types of resources, including networks, CPUs, and disks. It also encourages Grid customers to specify their quality of service needs based on their actual requirements. It has been envisioned that Grids enable the creation of computing market places. In a typical market-based model, Grid s (GR) publish their offerings in a market directory and Grid Customers (GC) employ a Grid (GRB) that identifies GRs through the market directory (Active ) and map the request to suitable resources that meet their requirements. (Figure 1) GC2 GC1 Request GC 3 GR 3 GRB Job GR 2 Register Figure 1: Typical Grid Computing market-based model GR 1 GR 4 To realize this vision, Grids need to support diverse infrastructures/services, including an infrastructure that allows (a) the creation of one or more GRB registries; (b) resources to publish themselves in one or more GRBs along with capabilities; (c) customers to request their jobs for execution from exactly one GRB with their requirements; (d) GRBs to discover the best match of resources to requests, that meet customers requirements; (e) GRBs to send jobs to GRs; (f) GRBs to monitor execution of jobs; (g) GRs to return results to GRBs; (h) GRBs to return results to GCs. In this paper, we propose an infrastructure called the Grid Java based Qos management by using Active database (G-JQA) that supports these requirements. The rest of this paper is organized as follows: the related work within Grid Computing is presented in section 2.

The detailed system architecture and features of G-JQA are described in section 3. Section 4 describes technologies of matching that are used in the current implementation. We conclude in section 5 with a discussion of current system status and future work. 2 Related Work There are many existing Grid computing projects currently underway but a few of them guarantee, this section provides a brief description of this systems and compare with our project. Foster et al. [2] propose a framework for in Grid computing, called the Globus Architecture for Reservation and Allocation (GARA), which enables programmers and users to specify and manage end-toend for Grid-based applications. It also provides a uniform mechanism for making reservations for different types of Grid resources, such as processors, networks and storage devices. The main drawback of GARA is its inability to support subtask management, which is one of Grid s main goals. There are two more drawbacks in GARA: the topology of domain should be known in advance and also the resources can not publish themselves. Grid-JQA is going to address the subtask management while the topology information and resource publishing are handled dynamically. Javelin [3] is a Java based infrastructure for internet-wide parallel computing. The three key components of Javelin system are the clients or applications, hosts, and brokers. A client is a process seeking computing resources, a host is a process offering computing resources, and a broker is a process that coordinates the allocation of computing resources. The Javelin system can be considered a computational Grid for high-throughput computing. It has a hierarchical machine organization where each broker manages a tree of hosts. s are simple fixed objects with a tree namespace organization. The resources are simply the hosts that are attached to a broker. Any host that wants to be part of Javelin contacts JavelinBNS system, a Javelin information backbone that maintains the list of available brokers. The host then communicates with brokers, chooses a suitable broker, and then becomes part of the broker-managed resources. Thus the information store is a network directory implemented by JavelinBNS. Hosts and brokers update each other as a result of scheduling work. Thus, Javelin uses demand resource dissemination. The broker manages the host-tree or resource information through a heap-like data structure. discovery uses the decentralized query based approach since queries are handled by the distributed set of brokers. In Javelin the burden of the subtask management and monitoring is layered on the client side. The client should also look for a broker that matches its requirements. Thus the clients are thick. Grid- JQA tries to keep the clients as thin as possible and refers the subtask management and monitoring, and the matching to the broker of the system. Legion [4] is an object-based metasystem or Grid operating system developed at the University of Virginia. Legion provides the software infrastructure so that a system of heterogeneous, geographically distributed, high performance computers can seamlessly interact. Legion provides application users with a single, coherent, virtual machine. The Legion system is organized into classes and metaclasses. It uses an object based information store organization through the Collection objects. The Collections periodically pull resource state information from host objects. Host objects track load and users can call the individual host directly to get the resource information. The users or their agents can obtain information about resources by issuing queries to a Collection. In Legion, collection has a main role. Collection must pull resource state information. Legion cannot replace host operating systems, Legion cannot legislate changes to the interconnection network, and Legion cannot expect to run as root (or the equivalent). Currently available scheduling models include: AppLeS [5,6], Nimrod [7], and Condor[8]. The scheduling algorithm in AppLeS focuses on efficient co-location of data and experiments as well as adaptive scheduling. In addition to the prediction model adopted, our approach differs from AppLeS in that our work considers in scheduling. The scheduling in Nimrod is based on deadline and Grid economy model that is different from what we use in Grid-JQA. Condor is designed for high throughput computing in a controlled load network environment. Its matchmaker scheduler targets only single processor tasks which are scheduled independently. 3 Grid-JQA Architecture Looking on the matching problem, we bring about the following solutions: 1. s introduce themselves to all clients and each client decides where to send its request, thus matching is accomplished by the client. 2. The clients send their request to all resources and each resource decides which request to reply, therefore matching is done in the resources. 3. The resources introduce themselves to a broker and each client sends its request to the broker, then the broker decides how to match the requests with the resources. Here there are two possible methods, (a) after the broker finds the best matched resource, the resource and the client negotiate with each other directly. (b) The broker interferes in the process until end of job, in order to guarantee the quality of service and perform subtask management. In this work, we implement the last mentioned solution 3 (b), and compare it with other works. In the proposed method there are the following steps: 1. The resources introduce themselves to the broker and through initial introduction send their specifications of CPU, memory capacity, disks and I/O devices. The broker computes other specifications such as bandwidth, delay and loss rate.

2. The broker inserts this information into Active. 3. The client sends his/her request together parameters to the broker. 4. The broker inserts the client s request into the Active. 5. Then the Active matches the resources and the requests, and finds the best resource for the request. When there is not a proper match, the request must wait till a suitable resource is found. 6. Finally broker sends results to the client. Figure 2 shows Grid-JQA architecture. The brokers use exclusive Active database for registries and matching. Client For extending environment, we use multi-level Grids. Multi-level Grids are created by connecting brokers hierarchically. The key to accomplishing this is in Grid- JQA s inherent architecture, which allows a broker to behave like a resource towards a higher level manager. The client which goes to a higher level broker has access to the entire computing power of the Grid, while the client connected into a lower-level broker has only access to the computing power managed by the lower-level broker. In this fashion Grids can be scaled to an infinite number of levels. Compare Grid-JQA with Alchemi[9] architecture, there are four differences that are given in Table 1. Alchemi Grid- JQA No Guarantee SQL Active Implementation C#,.Net Java Platforms Windows Windows Unix Other Platforms Table 1: Difference between Alchemi and Grid-JQA 4 Matching Active database Active database Figure2: Grid-JQA Architecture for a 2-level Grid Using Active in the broker is a novel technology in Grid computing environment. Active automatically reacts to events. In the following events, and Active reactions are described. New resource connection In this event, new record inserts into that shows resource specifications. Thus Active must find waiting job for executing in this new resource. The ECA (Event Condition Action) Rule for this event is: On insert If have a job Then Match_ (new_resource) Match_ searchs waiting jobs and finds matched job with the new resource. If it found, sends the job to the new resource. disconnection If disconnected resource has an incomplete job, the must match this job immediately. In this reason ECA rule for deleting the resource from is: On delete If not finish job Match_Job function finds the best resource for the job that met the job requirements. Job Arrival Job arrival is equal with inserting new record in. If has an idle resource that met the job requirements, it must send the job to this resource immediately. On insert If have a free resource Job Completion status changes from busy to idle, when its job has finished. If the job has a result, it must send to client. ECA rule for updating is: On update If have a result Then return (result) Failed When resource fails, it is deleted from and if it has an incomplete job, broker must match this job immediately with idle resources. On delete_resource If state=busy Implementation Scenario As proof of concept, a reference implementation for the proposed Grid-JQA architecture is designed and implemented. The implementation highlights the rule execution and demonstrate best matching between resources and clients. Figure 3 shows the implemented architecture.

External Events Service Event Rule base Reserve Figure 3:. Implemented Architecture Action Client In this scenario a client utilizes GUI component tools to invoke the Service to request its requirements, in order to execute its job. s register their specification in the broker. Also other brokers can register themselves in the broker. Reserve Manager reserves resources and sends the jobs. Manager gets subtasks results and sends final result to the client. Event Detector detects internal and external events. Rule base includes ECA rules. Action Generator executes actions on the bases of happened event. Figure 4 is a UML interaction sequence diagram showing the interaction between the various components of the architecture. Client 1-Send request 1-Regiter Lower level 1- Register 2-Matching 3-Reserve 5 Conclusions This paper contributes the following points into the Grid computing. 1. The use of Active. It accommodates some actions to be done automatically by insert, delete or update transactions. As a result the best matching is obtained by using the most up to date information. 2. Decreasing the layers and therefore negotiation becomes minimal. Thus one job is accomplished with minimum negotiation and decrease overhead. If the job isn t done or has failed, matching is accomplished again by the broker, without informing the client. Consequently the client has no interference until he/she receives the final results. 3. Usually the expansion of the domain of the Grid is done by using the domain concept. For the sake of simplicity, we do not use that concept and try to achieve the expansion by expanding the number of the brokers in a hierarchical fashion. 4. We have used Java which is a platform independent. Therefore our Grid computation can be used in all platforms such as Windows, Linux, etc. 6 References Rashid J. Al-Ali, Abdelhakim Hafid, Omer F. Rana, David W. Walker, adaptation in service oriented grids, in proceeding of the 1 st international workshop on middleware for Grid Computing (MGC 2003) at ACM/IFIP/USENIX, middleware 2003, Rio de Janeiro, Brazil, 2003. I.Foster, C.Kesselman, et al. A Distributed resource management architecture that supports advance reservation and co-allocation. In proceedings of the international workshop on Quality of Service, page 27-36, 1999. M.Neary, A.Phipps, S. Richman, P. Cappello, Javelin 2.0: Java-Based Parallel Computing on the Internet, Proceedings of European Parallel Computing Conference (Euro-Par 2000), Germany, 2000. 6- Send 4- Send job 5- Send S. Chapin, J.Karpovich, and A. Grimshaw, The Legion Management System, Proceedings oh the 5 th Workshop on Job Scheduling Strategies for Parallel Processing, April 16, 1999, San Juan, Puerto Rico, USA, Springer Verlag Press, Germany, 1999. Figure 4: A UML sequence diagram for executing We have used Java which is a platform independent. Therefore our Grid computation can be used in all platforms such as windows, Linux, etc. Implementation is in early steps and only supports simple events such as insert, delete and update. In the future, we want to expand rules for implementing fault tolerance, load balancing and accounting. H. Casanova, G. Obertelli, F. Berman and R. Wolski, The AppLeS Parameter Sweep Template: User_level Middleware for the Grid, Proceedings of the super computing conference (SC 2000), Nov.2000. H. Cssanova, A. Legrand, D. Zagorodnov, F. Berman, Heuristics for Scheduling Parameter Sweep applications in Grid environments, Proceedings of the 9 th heterogeneous Computing Workshop (HCW 2000), 2000.

R. Buyya, M. Murshed, D. Abramson, A Deadline and Budget Constrained Cost-Time Optimization Algorithm for Scheduling Task Farming Applications on Global Grids, The 2002 International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA 02), Las Vegas, Nevada, USA, June 2002. R. Raman, M. Livny, M. Solomon, Matchmaking: Distributed Management for high Throughput Computing, Proceedings of the seventh IEEE International Symposium on High Performance Distributed Computing, July 28-31, 1998, Chicago. Alchemi Documentation, www.alchemi.net