Formal QoS Policy Based Grid Resource Provisioning ... - Springer Link

1 downloads 233 Views 744KB Size Report
Apr 3, 2012 - Abstract Grid resource provisioning is a com- plex task that is ... QoS based resource provisioning framework with .... portal, swing or legacy.
J Grid Computing (2012) 10:249–264 DOI 10.1007/s10723-012-9202-y

Formal QoS Policy Based Grid Resource Provisioning Framework Rajni Aron · Inderveer Chana

Received: 20 May 2011 / Accepted: 15 February 2012 / Published online: 3 April 2012 © Springer Science+Business Media B.V. 2012

Abstract Grid resource provisioning is a complex task that is often compromised due to nonavailability of the desired resources. The heterogeneous and dynamic nature of the Grid resources depends on the Quality of Service (QoS) based resource provisioning for allocation of appropriate resources to Grid applications. Until resource provisioning is considered a fundamental capability, predictable QoS cannot be delivered to the Grid consumers. A resource provisioning policy based on QoS parameters is required for efficient Grid resource provisioning. In this paper a resource provisioning framework has been proposed. This framework offers resource provisioning policy that caters to provisioned resource allocation and resource scheduling. The policy rules have been specified in XML schema. The policy has been validated by Z Formal specification language and implementation has been demonstrated through a case study. The experimental results demonstrate that QoS based provisioned approach is effective in minimizing cost and submission burst

R. Aron (B) · I. Chana Computer Science & Engineering Department Thapar University, Patiala, India e-mail: [email protected] I. Chana e-mail: [email protected]

time of applications in comparison to the existing approaches. Keywords Resource provisioning · Quality of service · Grid computing

1 Introduction Grid computing emerged for solving large-scale applications which required huge amount of power in science, engineering and economics by sharing of heterogeneous and dynamic Grid resources [11]. The vision behind the Grid is to supply computing and data resources over the internet seamlessly, transparently and dynamically when needed, such as the power Grid supplies electricity to end users [23]. Resource management is one of the key components of Grid computing where QoS based resource provisioning is a challenging task [28]. As the Grid scales up, resource management complexity also increases and efficient resource management techniques are desired. To increase the efficiency of resource management systems, we concentrate on resource provisioning and scheduling. Resource provisioning allows the users and providers to access the specified resources according to the availability of the resources in Virtual Organizations (VO) [12, 13]. Grid scheduling makes scheduling decisions involving allocation of jobs to resources over

250

multiple administrative domains [19]. Resource scheduling can be done subsequently after resource provisioning as the user desires to discover the resources according to the requirements of the job, does resource allocation and then maps the resources to that job. Resource provisioning is particularly useful for Grid scheduling because most often Grid scheduling is done on the besteffort basis in the Grid environment and due to this, overhead of Grid scheduling like interindependent tasks can be very costly and time consuming [8]. For example:—If there are two jobs in a queue and the first job starts execution then second job will not be released to the local resource manager until the first job finishes. But in case of resource provisioning, resources are provisioned and then the second job is released to the local resource manager after the completion of the first job immediately. Thus, queuing time delay will be less through resource provisioning. The motivation of our work stems from the challenges in managing and an efficient utilization of the Grid resources. In real life situations, there are many constraints including (i) satisfying the QoS (ii) minimizing the cost of the resources and (iii) minimizing the time for execution of an application by meeting the deadline requirements which will be submitted by the user. The main aim of this work is to provision the resources along with achieving the practical constraints mentioned above. This paper presents resource provisioning framework and resource provisioning policy. By verifying the policy itself, actual provisioning and scheduling of resources can be well anticipated. The paper is structured as follows: Section 2 presents related work. Resource provisioning framework with requirements and mode of operation of the QoS based resource provisioning are described in Section 3. QoS based resource provisioning policies are presented in Section 4. In Section 5, we show the implementation of QoS based resource provisioning framework with Cost based Resource Provisioning Policy (CRPP), Time based Resource Provisioning Policy (TRPP) and experimental results. Performance criteria and a thorough comparison of QoS based resource provisioning with non-QoS based resource provisioning have been presented. Section 6 concludes the paper.

R. Aron, I. Chana

2 Related Work Resource provisioning and scheduling are the core components of resource management in Grid computing. There has been little emphasis on resource provisioning for Grid resource management as described in this section. 2.1 Resource Provisioning—Without QoS DRAGON [21] and GLARE [31] frameworks provide provisioning in heterogeneous Grid environment. As per DRAGON framework, network infrastructure is deployed, that allows dynamic provisioning of network resources in order to establish deterministic paths in direct response to end-user requests. It also allows advanced escience applications to dynamically acquire dedicated and deterministic network resources to link computational clusters, storage arrays, visualization facilities, remote sensors and other instruments into globally distributed and applicationspecific topologies. GLARE provides distributed registries for activity types, activity deployments and services that perform registration, provisioning, monitoring and automatic deployments of new activities on different Grid computers in VO. Murphy et al. [24] have designed the Virtual Organization Clusters (VOC) architecture that provides a mechanism by which each VO may have its own dedicated clusters on Grid sites. It can be dynamically expanded, contracted, instantiated or terminated in response to the size and number of jobs submitted by the user. Dynamic provisioning has been done in VO. Optimality policies have not been considered in this work. In this approach, the adaptation techniques are limited to VO environment whilst the approach presented in this paper is more generic and may be applied to various types of resources and environments. Yu et al. introduced the Adaptive Online Job Provisioning (AOJP) that aims to provide coscheduling of computing and network resources in an optical Grid infrastructure. With the help of Mixed Integer liner Programming, AOJP has solved the data aggregation problem which focuses on how to schedule network resources to fetch data from multiple sources to a single sink [36]. Byun et al. proposed an architecture to

Formal QoS Policy Based Grid Resource Provisioning Framework

enable on demand resource provisioning and have developed a universal factory service that provides a dynamic Grid service deployment mechanism and a resource broker called door service for service providers [5]. Resource provisioning policies have not been designed considering the capability of the node and the QoS expectations of the resource providers and resource consumers. Nau et al. have introduced an approach to allow heterogeneous applications to run together in a shared hosting platform, dynamically sharing the platform’s resources [25]. Vazquez et al. addressed dynamic provisioning problem as interoperability, dynamic growth and enforcement of a budget by designing the architecture for an elastic Grid infrastructure [35]. Feasibility solution by harnessing resources of the Tera Grid, EGEE and Open Science Grid infrastructures through a single point of entry for the computational resources has been given for Grid infrastructures and cloud providers. AOJP and these solutions of dynamic provisioning do not support the QoS parameters for online job provisioning. QoS management in Grid computing has become an active area of research nowadays. However, there are several applications that need to obtain the results for their tasks within time, hence they cannot wait for resources to become available [1]. Therefore, it is necessary to provide QoS at the time of resource provisioning. 2.2 Resource Provisioning—with QoS Keller et al. presented strategies for Grid service provisioning to handle resource failures during Service Level Agreement (SLA) negotiation. SLA provisioning has been considered and service providers have given quality assurance to end user in the form of SLA. Risk aware failure management has been considered in this work in the form of QoS but other important QoS parameters as time and cost have not been discussed [18]. OGSA based service ecosystem [22], a resilient infrastructure for services’ provisioning on demand has been developed. OGSA based service ecosystem framework considers the status of Grid and customer requirements automatically to achieve the QoS parameters e.g. performance and reliability. This work provides services’ provisioning using

251

migration concept for commercial Grids and not for non-commercial Grids. Filali et al. [9, 10] used the adaptive resource provisioning schema to achieve resource utilization in the best manner satisfying the required QoS by maximizing the network utilization, minimizing request blocking probability and maximizing the provider’s revenues. Local optimization heuristic and global optimization heuristic have been proposed by using the optimization techniques. An optimization model that enables the simultaneous allocation of interrelated resources as CPU and bandwidth for Grid applications has been proposed. By using the proposed resource provisioning framework and policy presented in this work, we can investigate multiple ways to provision the resources to user applications with QoS parameters such as cost and time etc. Kee et al. proposed a high performance distributed computing resource management paradigm that defines a network of logical machines across time and space. A resource management system to provide resource provisioning, resource abstraction via resource programming over large scale distributed resources has been used in this work. Virtualization for timely targeted applications in the Grid environment has been considered. Here resource slot has been considered as QoS parameter to provide QoS to resource consumers but reliability, security and other QoS parameters have not been considered at the time of resource provisioning [17]. Foster et al. [14] described a General-purpose Architecture for Reservation and Allocation (GARA) that supports flow-specific QoS specification, immediate and advance reservation and online monitoring and control of both individual resources and heterogeneous resource ensembles. GARA does not support the concept of an agreement protocol and establishing a SLA for various resources [1]. QoS-GRAF framework [7] for QoS based Grid allocation with failure provisioning has been designed by Dasgupta et al. By considering SLA based service differentiation and failure provisioning, a linear relaxation based algorithm has been designed to improve the revenue. In this framework, only those jobs can be submitted to the resources that have multiple dependencies

252

and differentiated QoS provisioning but applications’ execution deadline has not been considered whereas our work considers both cost and deadline simultaneously at the time of implementation of the resource provisioning. Iosup et al. [16] have discussed about on demand resource provisioning for dynamic environment with worldwide sharing resources. Scheduling policy has been designed to solve the problem of resource shortage with heavy workload but security at the time of provisioning has not been considered for data sharing. A flexible Grid service provisioning framework has been designed in [3]. Singh et al. [32, 33] have presented a provisioning model for resource provisioning where Grid sites provide the information about resource availability in the form of time slots. The main aim of the model is to identify the subset aggregate resource availability so that cost and make span are minimized. A Multi-Objective Genetic Algorithm (MOGA) to find resource plan that corresponds to the Pareto optimal set has been used in this work. A drawback of the previously mentioned approaches is that provisioning is performed without consideration of resource provider’s profit and user’s QoS requirements simultaneously. Raicu et al. [27] have proposed dynamic resource provisioning architecture using existing system falkon. Here allocation and de-allocation policies are presented and these policies are evaluated using metrics such as provisioning latency and accumulated CPU time. They have not considered time, cost, security and reliability as QoS parameters for resource provisioning. The design of a gateway that provisions resources to dead-line applications relying on information given by current resource management services may be complex. It basically depends upon scheduling decisions that are far from optimal. So, when providers and brokers use conflicting policies, the number of migrations can be high [2]. In the same vein, even owners of individual resources will exhibit different usage patterns and implement different policies for the time they make their machines available [29]. But if we use same policy with resource providers and user then the number of migrations and complexity of the policies can be less. In this paper, a resource provisioning policy has been designed and presented in XML schema.

R. Aron, I. Chana

Validation and implementation of this framework and policy has been done using the Z-language. Thus, the policy is better represented and validated formally.

3 Resource Provisioning Framework We have proposed a resource provisioning framework where resource providers give the facility of resource provisioning to the user for optimum results and better services and avoid violations of the service level guarantees. The implementation of this framework enables the user to analyze customer requirements and define processes that contribute to the achievement of a product or service that is acceptable to their resource consumers. Resource provisioning framework can thus assist organizations in enhancing customer satisfaction and contributes directly to the company’s growth and institutional progress. The requirements of the framework, are as follows: 3.1 Requirements A Grid application is able to negotiate an SLA with the Resource Management System (RMS) on the basis of QoS [6]. The idea of QoS or SLA can be extended to placing bounds on resource discovery or other Grid provided services such as data migration, scheduling, etc. So, to provide provisioning, first of all, QoS parameters should be defined. As per the literature survey, following QoS parameters have been identified for designing the resource provisioning framework. QoS parameters which have been included to attain SLA of resource provisioning for this work are: (i) (ii) (iii) (iv)

Cost Time Security Reliability

3.2 QoS Based Resource Provisioning: Mode of Operation In QoS based Resource Provisioning, Resource Provisioning Manager (RPM) performs the tasks

Formal QoS Policy Based Grid Resource Provisioning Framework

i.e. managing the SLAs, maintaining information about the resources and dynamically updating the resources’ status. In this process, RPM keeps a check over the provisioned resources and the proper execution of the jobs, information about SLAs and manages the resources’ status and it also fills the policy repository. The XML formats of policies are stored in XML database that is depicted in the policy repository as shown in Fig. 1. XML has been chosen as it provides benefits like: It is designed to carry data, not to display data. It is designed to be self-descriptive and it is a W3C recommendation. Some of the other advantages of XML include redundancy, self-describing, network effect and the XML promise [15]. The main aim of the resource provisioning framework is to provision the resources to the Grid user with QoS.

Fig. 1 Resource provisioning framework

253

Figure 1 shows the QoS based resource provisioning in the framework. The framework executes the requests as follows: –





In QoS based resource provisioning, first of all user tries to access the resources through portal, swing or legacy. After that, the task of user’s authentication and authorization is performed. After authentication, resource provisioning manager gives an SLA form to an authorized user and the user fills it to send the request for the availability of particular resources with proper specification for the execution of their application. Resource Provisioning Manager (RPM) takes the information from the appropriate SLA.

254







– –





R. Aron, I. Chana

After studying the various parameters which the user has demanded, manager checks for the available resources. The selection of resources is made on the basis of QoS parameters defined in the SLA form. RPM then collects the information of available resources from the Resource Information Center (RIC). RIC contains the whole information about the resource provider’s resources. RPM provisions the requested resources to the user for the execution of application in the Grid environment only if the requested resources are available with the manager, according to the policy conditions stored in the policy repository. If the requested resources are not available according to the QoS based resource provisioning policy to satisfy the QoS constraints then the resource provisioning manger asks to resubmit the QoS requirements again in the form of SLA. After provisioning of the resources, job is submitted through the Grid middleware. In the next step, the meta scheduler via middleware communicates with the local resource manager for job submission. Local resource manager corresponds to different resource providers and the job is submitted to the provisioned resources. After getting the result, local resource manager gives it to the Meta scheduler through local scheduler. The result is then sent back to the RPM. Grid application gets the information and finally, the user collects the result.

Thus, this framework exhibits how QoS based resource provisioning can be done in the Grid environment. A resource provisioning policy has been identified as a part of this framework.

4 QoS Based Resource Provisioning Policy Resource provisioning framework provisions the resources on the basis of QoS based resource

provisioning policy. The terminology associated with this policy is as follows:









Resource Consumer (RC): Resource Consumer is an entity that demands resources for the execution of its applications. Resource Information Center (RIC): Resource Information Center collects all the information about the resource provider’s resources. Resource Provisioning Manager (RPM): Resource Provisioning Manager is an entity that provides the resources to resource consumers as per the requirement of user’s applications and keeps a track of provisioned resources. Resources: Resources can be clusters of computers, network latency, memory space, storage capacity, files and attached peripheral devices etc.

This policy standard is based on ISO:9000-2000, RFC 4745 [30].

4.1 Objectives and Commitments The intent of QoS parameters based resource provisioning policy is to ensure that the policy will provision resources for the execution of job with QoS. It facilitates to:

1. Clearly understand the current and potential future requirements and expectations of the resource consumers. 2. Deliver resources and services of the highest practicable quality, reliability and consistency that meet resource consumer’s requirements. 3. Establish and measure performance and customer satisfaction against appropriate objectives with security and reliability. 4. Measure an appropriate level service performance and customer satisfaction by minimizing cost and time. 5. Enhance customer satisfaction by meeting its requirements.

Formal QoS Policy Based Grid Resource Provisioning Framework

4.2 Cost Based Resource Provisioning Policy (CRPP) Under cost QoS parameter, a resource is used for the provisioning of job execution on consideration of cost of the resources. Cost is identified as per unit of resources that are consumed by the users for execution of their applications. It is an important aspect to be considered at the time of resource provisioning. After the minimization of cost of the resources, resources are provisioned. Thus, cost based QoS can be provided to the resource consumer. An XML schema of CRPP is as follows: Resource Provisioning Policy for Cost Operation

255

4.3 Time Based Resource Provisioning Policy (TRPP) This resource provisioning policy has been made on the basis of time and takes static information as input. Users submit their deadlines and then time is calculated by the manager by subtracting the start time from the deadline time. The resource manager checks the resource providers’ list to know about the resources that can satisfy the requirements of the users. This information is generally based on pre-execution analysis of the job or on historical data gathered after any previous execution of it. Suppose, if any node is available but no job is submitted to this node till now, then the performance of this node is predicted by its configuration like memory, processor’s speed etc. If the configuration is high, then the response will be fast or vice versa. The whole information is stored in RIC as shown in Fig. 1. After that, resource manager provisions the resources to users. The main aim of the TRPP is to minimize the time. 4.4 Security Based Resource Provisioning Policy (SRPP) Under security QoS parameter, a resource is used for provisioning the job execution on consideration of security of the node. Currently security approaches are treated at different levels of Grid systems and are independent of the Grid scheduler. Security is based on trust values of nodes and the trust of the node is identified on the basis of the past transactions/interactions and present environmental characteristics. It is calculated to avoid run-time failure. Trust is the firm belief in the competence of an entity to behave as expected such that this firm belief is a dynamic value associated with the entity and it is also subject to the entity’s behavior and applies only within a specific context at a given time. It is a dynamic value ranging from 0 to 1 inclusively. Value 0 means extremely untrustworthy while a value of 1 means

256

very trustworthy. The trust value of node is based on the history and is specified to certain context [20]. All resources in Grid computing are shared and distributed, therefore trust relationship is very crucial for provisioning of resources for job execution. The provisioning of resources is based on the accuracy of the feedback provided about resources. After the calculation of security/trust value of the node, resources are provisioned. 4.5 Reliability Based Resource Provisioning Policy (RRPP) Reliability based RPP is based on reliability of the node. Reliability of the node has to be checked before provisioning of the resources. With the help of reliability parameter, we can check the fault tolerance of the node for data storage and other tasks. A performance criteria (like data transfer and computation capacity) is used to measure the reliability of any node. Node can be ranked according to its ability and it can be measured in the form of computation power and data transfer capacity. After calculation of reliability of the node, resources are provisioned. Reliability of the node is calculated with the following formula as: r = e−λt r = reliability of node e = exponentional function t = time for node to deal with its request for any task’s execution λ = the failure rate of the node at the give time

5 Verification of Resource Provisioning Framework Formal specification can serve as a single, reliable reference point for those who investigate the customer’s needs, those who implement programs to satisfy those needs and those who test the results [34]. Resource provisioning framework and its policy stated above can be verified using a formal language like Z specification. In Z [26, 34], schemas are used to describe both static and dynamic aspects of a system. Z decomposes specifications into manageably sized module’s, called schemas: Schemas are divided into 3 parts:

R. Aron, I. Chana

(i) a state, (ii) a collection of state variables and their values, (iii) operations that can change its state. Resource provisioning policy deals with the resources and the consumers. In Cost and Time based resource provisioning policy, the resources are provisioned to those consumers whose requirements as cost and deadline are fulfilled by the resource provisioning manager. The set of all resources and consumers are introduced as basic types of the specification: [RESOU RCE, CONSU MER]. The first aspect of the system to describe is its state space:

In this schema, list and provision are variables. A relationship between the values of the variables has also been established. – –

list is the set of resources recorded for allocation; provision is a function that when applied to certain resources, gives the user associated with them who fulfills all the conditions of the policy. For example:

list = { Resource1, Resource2, Resource3 } provision = { Resource1 → consumer 2, Resource2 → consumer 3, Resource3 → consumer1 }. In the schema Add Resource for Provisioning, the resources which are not in the list, are added in Grid environment, for provisioning to users’ applications. Resource manager selects the resource

Formal QoS Policy Based Grid Resource Provisioning Framework

providers who have not submitted the resources to the Grid environment earlier.

257

5.1 Implementing Resource Provisioning Framework Resource provisioning framework has been implemented at Thapar University, Patiala, Punjab. A Grid setup has been established. The details of the Grid setup using resource provisioning framework has been presented in the form of a case study in the following section.

list = list ∪ {resource?}.

5.1.1 Case Study: Thapar University Campus Grid

In Find Resource for Provisioning schema, resource manager finds the resources for provisioning the execution of users’ applications.

list = list provision = provision For simultaneously optimizing Time and Cost, CRPP and TRPP are implemented as:  min cost ∗ time Time and Cost are defined as: Time Cost

deadline time-start time cost of the resources required for executions

In case, resource provisioning manager is not able to provide the QoS to users, RPM asks them to resubmit their requirements.

Table 1 Resource characteristics

Different departments as Computer Science and Engineering Department, Mechanical Engineering Department, Civil Engineering Department, Electronics and Communication Department, Computer Center, etc. have individual computational resources. Resource characteristics of the resources available at these places have been shown in Table 1. Grid environment has been setup in the Center of Excellence in Grid Computing for implementing QoS based resource provisioning framework. For setting Grid environment in labs, different middleware as Condor, Globus (GT5.0.1), Sun N1 Grid Engine have been installed on different nodes. Various resource stakeholders in the Grid system are: Resource Consumers, Resources and Resource Provisioning Manager. Authenticated users send requests for the availability of particular resources with proper specification for the execution of their application in the form of SLA. RPM checks for the availability of resources according to the resource provisioning policy. RIC finds department center, lab, school, etc. having idle resources that can be used for the execution of the job. The resources are provisioned and then the jobs are submitted to the provisioned resources. The result is then sent back to the RPM. In this process, RPM keeps

Name

Location

Resource types

RP1 RP2 RP2 RP4 RP5 RP6

Research lab Software Engineering lab HECL lab CC Maim CC MXI CC MXII

PC C-2-D Quad /250GB Sata IBM C-2-D 2.33 Ghz IBM PCs P4 3.0 Ghz Dual core 2.8 C-2-D 2.33 Ghz Pentium IV 3.0 GHz Pentium-IV (HT), 3.0 GHz Dell optiplex 330 PIV Dual Core 1.6 GHz

258

R. Aron, I. Chana

a track of the provisioned resources, proper execution of jobs, information about SLAs and also manages the resources’ status. Test Cases for resource provisioning which have been considered are: Case 1

Resource provisioning operation is successful

REPORT ::= ok|“already_inlist”|“not_inlist”.

This case shows a correct implementation of QoS based resource provisioning policy. It faithfully records resources, provisions them and gives the list of resource consumers associated with them which fulfill conditions of CRPP and TRPP policies. Following cases result in errors: – –

Resource provider tries to add a resource already in the list of the Grid environment. Resource consumer tries to find the resource for provisioning which is not in the list.

Case 2.1

Case 2.2

Find that resource which is not in the list

Initial state of the resource provisioning policy

This schema describes resource provisioning policy in initial state when the set list is empty: in consequence, the function provision is empty too. Case 2

which are already in the list of resources, the schema shows this result.

Add same resource for provisioning in the list

In this case, when the resource providers try to add same resources for provisioning in the list

Now, the case in which the resource consumer tries to find that resource which is not in the list of resource allocation is shown. Detail of resources has been shown in Table 1. Array of resources and consumers are: resources : ARRAY[1 . . ]RESOU RCE; consumers : ARRAY[1 . . ]CONSU MER; These ‘infinite’ arrays are taken for the sake of simplicity of Grid environment. In a real Grid environment, the schema is used to calculate and specify a limit on the number of entries of resources. N1 is strictly positive integer to Resource or Consumer: resources : N1 → RESOU RCE consumer : N1 → CONSU MER. The element resource[i] of the array is simply the value resources(i) of the function, and the assignment resources[i] := v is exactly described by the specification resources = resources ⊕ {i → v}. The right-hand side of this equation is a function which takes the same value as resources everywhere except at the argument i, where it takes the value v.

Formal QoS Policy Based Grid Resource Provisioning Framework

The state space of the program of resource provisioning as a schema is described. There is another variable hwm (for ‘high water mark’) which shows the number of arrays in use. The idea of this representation is that each resource is linked with the consumers in the corresponding element of the array consumers. We can document this with a schema Ab s that defines the abstraction relation between the abstract state space ResourceProvisioningPolicy and the concrete state space ResourceProvisioningPolicy1:

259

legal exactly if its precondition resource? ∈ / list is satisfied. If this is so, the predicate list = { i : 1 . . hwm • resources(i) } from Ab s tells us that resource? is not one of the element resources(i): ∀i:1 . . hwm • resource? = resources(i). This is the pre-condition of AddResourcef or Provisioning1. The second operation, FindResourcef or Provisioning, is implemented by the following operation, again described in terms of the concrete state:

Here, Add Resource for Provisioning1 as concrete state is defined. The predicate indicates that there is an index i at which the resources array contains the input resource?, and the output consumer! is the corresponding element of the array consumers.

This schema describes an operation which has the same inputs and outputs as AddResourcef orprovisioning, but operates on the concrete instead of the abstract state. It is a correct implementation of AddResourcef orprovisioning, because of the fact: –

Whenever AddResourcef orprovisioning is legal in some abstract state, the implementation AddResourcef orprovisioning1 is legal in any corresponding concrete state.

Precondition: Add Resource Provisioning in List The operation AddResourcef or Provisioning is

Precondition: Find Resource for Provisioning For this schema to be possible, resource? must in fact appear somewhere in the array resources: this is the pre-condition of the operation. The pre-conditions of the abstract and concrete operations are in fact the same: i.e the input resource? is known. The output is correct because for some i, resource? = resources(i) and consumer! = consumers(i), so consumer! = consumers(i) [spec. of FindResourcef or Provisioning1] = provision(resources(i))

[from Ab s]

= provision(resource?). [spec. of FindResourcef or Provisioning1] The existential quantifier ∃ i: in the description of FindResourcef or Provisioning1 leads to a loop

260

R. Aron, I. Chana

in the program code, searching for a suitable value of i:

– –

FindResourcef or Provisioning (resource : RESOU RCE;



consumer : CONSU MER); i : I NT EGER;



i := 1;



resources[i] = resourcei := i + 1; consumer := consumers[i] ; The idea of this representation is that the resource providers give the facility of resource provisioning to the user for optimum results, better services and avoid the violations of the service level guarantees. The implementation of this policy enables the users to analyze customer requirements, define processes that contribute to the achievement of a product or service that is acceptable to their resource consumers. 5.2 Experimental Setup and Results Due to the inherent heterogeneity of Grid computing environment, it is difficult to evaluate the performance of the proposed schema in the controlled manner. In addition, Grid testbed is limited to a few resources and domains. Thus for experimental results, GridSim toolkit [4] is used. GridSim toolkit provides facilities for modeling and simulation of resources and network connectivity with different capabilities, configurations and domain. It also supports primitives for application composition, information services for resource discovery and interfaces for assigning application tasks to resources and managing their execution. The following are the reasons for the GridSim toolkit to be used for evaluation [4]. – –

It allows modeling of heterogeneous type of resources. Resources capability can be defined in the form of Millions instructions Per Second (MIPS) as per Standard Performance Evaluation Corporation (SPEC) benchmark.

There is no limit on the number of application jobs that can be simulated. Multiple user entities can submit tasks for execution simultaneously. Statistics of all or selected operations can be recorded and they can be analyzed using GridSim statistics analysis methods. It supports simulation of both static and dynamic schedulers. Application tasks can be heterogeneous and they can be CPU or I/O intensive.

For experimental results, heterogeneous type of resources are considered. In general, each resource may contain a different number of machines, and each machine may have one or more than one processing element with different MIPS. In our results, we assume that each application/task which is submitted to the Grid may require varying processing time and input size and such type of tasks are defined in the form of Gridlets. A Gridlet is a package that contains all information related to job and its execution management details such as job length, I/O operations, the size of input/output files, etc. The processing requirement of Gridlets is measured in Multiple Instructions (MI). 5.2.1 Performance Evaluation Criteria In this section, we define performance evaluation criteria to evaluate the performance of a resource provisioning framework. We selected two matrices, namely submission burst and cost for evaluating the performance of QoS based resource provisioning. The former indicates the total time obtained since the start of Gridlet’s waiting in the queue till the resources are provisioned where as the latter indicates, the cost per unit resources that are consumed by the users for execution of their applications. The submission burst and cost are measured in seconds and Grid dollar (G$) respectively. 5.2.2 Results To validate our QoS based resource provisioning approach, 250 jobs and 75 resources are considered. We used an average of thirty to fifty runs

Formal QoS Policy Based Grid Resource Provisioning Framework

in order to guarantee statistical correctness. In addition, a comparison of submission burst with QoS enabled resource provisioning vs QoS disabled resource provisioning has been presented. In order to evaluate the performance of the proposed approach, we have investigated the effects of different values for the parameters of QoS based and non-QoS based resource provisioning. In all experiments, a comparison of QoS based resource provisioning with non-QoS based resource provisioning is done. Test Case 1 In first test case, we evaluate the submission burst time and cost of Grid applications in two scenarios as (i) the same number of applications/jobs are sent and (ii) different number of applications are sent. The pricing of resources may or may not be related to CPU speed. Thus, minimization of both submission burst time and cost of an application may conflict with each other depending on the price of the resources. Figures 2 and 3 show the submission burst and cost of QoS based resource provisioning vs non-QoS based resource provisioning respectively. The results show that in case of non-QoS based resource provisioning, if we send the same number of applications/jobs to Grid, submission burst and cost increases. In another case, QoS based resource provisioning, if we send same number of applications/jobs to Grid, submission burst and cost decreases. This is expected as the QoS based resource provisioning approach is keeping track of the state of all resources at each point of the time which enables it to take an optimal decision than

Fig. 2 Comparison of the submission burst of QoS based resource provisioning QoS vs without QoS

261

Fig. 3 Comparison of the cost of QoS based resource provisioning vs without QoS

non-QoS based resource provisioning approach. In resource provisioning framework, RIC contains all information about the resources. We have also performed the experiment to determine the effect of increasing the number of application on the cost and submission burst. From the experimental results shown in Figs. 4 and 5 we can conclude that the time taken to submit an application reduces by using QoS based resource provisioning approach. Figure 5 shows that cost per application increases as the number of submitted application increases. Non-QoS based resource provisioning resulted in a schedule which is expensive in comparison to QoS based resource provisioning approach as the number of

Fig. 4 Effect of change in number of application submitted on submission burst

262

Fig. 5 Effect of change in number of application submitted on cost

applications increases. The reason is that nonQoS based resource provisioning approach does not consider the effect of other applications in the meta scheduler at the time of job submission but in QoS based resource provisioning approach, RPM considers the effect of applications in meta scheduler before execution of application according to both user and resource providers’s perspectives. In resource provisioning framework, RPM considers the cost, time and other parameters of other applications before job submission to meta scheduler. Test Case 2 The second test case evaluates the submission burst time and cost for job submission based on QoS based provisioned approach and best-effort approach. A best-effort approach does not support QoS and same priorities for all users and also there is no assurance about resource provisioning. Figures 6 and 7 show the submission burst and cost of the application’s execution using the best-effort and QoS based provisioned approach at different resource utilization levels. At 50% resource utilization level, the best effort submission burst id is 10 to 15% higher than QoS based provisioned approach as shown in Fig. 6. This time variation with resource utilization is quite significant. The best-effort submission burst

R. Aron, I. Chana

Fig. 6 Submission burst of best effort and QoS based provisioned approach with resource utilization

time sharply increases as the resource utilization reaches at 80% but the provisioned approach based submission burst time is less. The cost of the best-effort and provisioned approach differs less

Fig. 7 Cost of best effort and QoS based provisioned approach with resource utilization

Formal QoS Policy Based Grid Resource Provisioning Framework

significantly in comparison to submission time at the resource utilization levels. The reason is that with the provisioned approach, due to the large number of applications, these and latter parts of the application had to be scheduled on left out resources, which may not be very cost effective. The cost of resources may or may not be varied due to resource’s configuration. From the above results, we observed that application execution using the proposed QoS based resource provisioning approach provides the following advantages: The provisioned based submission burst time is 60% lower than the best effort approach. The time variation in execution of applications is about 5–10%, compared to non QoS based resource provisioning of 50–60% using the same set of application. This time variation is quite significant. It also maintains the resource utilization and cost for user’s application execution.

6 Conclusion In this paper, we have presented a resource provisioning framework and QoS based resource provisioning policies for the Grid computing environment. The objective is to minimize the complexity of provisioning for job execution in Grid computing. With the use of a uniform policy, the number of migrations and complexity of policies can be less. Through this work, we demonstrate the usefulness and effectiveness of policies to devise provisioning of the resources to consumers. Verification and implementation of the proposed policy has been done with the help of Z specification language. Formal specifications will ensure that the customer get resources as per the desire and will make the scheduling process more clear. We have presented simulation results that demonstrate that QoS based resource provisioning is effective in reduction of the overall cost and submission burst time of Grid applications. The test cases also show that QoS based provisioned approach gives better result in comparison to the best-effort basis at different resource utilization levels. Through resource provisioning, management of the resources becomes considerably easy and better consumer satisfaction can be attained.

263

7 Future Work In future, the performance of Grid would be shown by considering the average response time as a metric that is not considered in this framework. This framework can also be extended by adding advance reservation at the time of SLA. Resource scheduling would be done to optimize the resource usage and resource scheduling algorithms based on resource provisioning policy would be developed in near future. Current results have been gathered through simulation on Gridsim but in future the same results would be verified on actual Grid resources present at Centre of Excellence (CoE) in Grid Computing at Thapar University.

References 1. Al-Ali, R., Amin, K., Laszewski, V.G., Rana, O., Walker, D., Hategan, M., Zaluzec, N.: Analysis and provision of QoS for distributed Grid applications. J. Grid Computing 2(2), 163–182 (2004). doi:10.1007/ s10723-004-6743-8. http://www.wesc.ac.uk/resources/ publications/pdf/final-jogc.pdf 2. Assuncao, M.D., Buyya, R.: Performance analysis of allocation policies for intergrid resource provisioning. Information and Software Technology Journal, vol. 51(1), pp. 42–55. ISSN: 0950-5849. Elsevier Science, Amsterdam, The Netherlands (2009) 3. Brocco, A., Hirsbrunner, B.: Service Provisioning Framework for a Self-Organized Grid. In: Proceedings of 18th International Conference Computer Communications and Networks (ICCCN 2009). ISSN: 10952055, Print ISBN: 978-1-4244-4581-3, pp. 1–6 (2009). doi:10.1109/ICCCN.2009.5235315 4. Buyya, R., Murshed, M.: GridSim: a toolkit for the modeling and simulation of distributed resource management and scheduling for Grid computing. In: Concurrency and Computation: Practice and Experience (CCPE), vol. 14(13–15), pp. 1175–1220. ISSN: 15320626. Wiley, New York, USA (2002) 5. Byun, E.K., Jang, J.W., Jung, W., Kim, J.S.: A dynamic Grid services deployment mechanism for on-demand resource provisioning. In: Proceedings of IEEE International Symposium on Cluster Computing and the Grid, pp. 863–870 (2005) 6. Chana, I.: A franework for resource manageemnt in Grid environment. Phd thesis, Thapar University, Patiala (2009) 7. Dasgupta, G., Dasgupta, K., Purohit, A., Viswanathan, B.: QoS-GRAF: a framework for QoS based Grid resource allocation with failure pro-visioning. In:

264

8.

9.

10.

11.

12.

13.

14.

15. 16.

17.

18.

19.

20. 21.

22.

R. Aron, I. Chana Proceedings of 14th IEEE International Workshopon QoS (IWQOS’06), pp. 281–283. NewHeaven, CT, USA, 19–21 Jun 2006 Deelman, E.: Grids and clouds: making workflow applications work in heterogeneous distributed environments. Int. J. High Perform. Comput. Appl. 24, 284–298 (2010). doi:10.1177/1094342009356432 Filali, A., Hafid, A., Gendreau, M.: Adaptive Resources Provisioning for Grid applications and services. In: Proceedings of IEEE International Conference on Communications, ICC’08, pp. 186–191. China (2008) Filali, A., Hafid, A., Gendreau, M.: Bandwidth and Computing Resources Provisioning for Grid Applications and Services. In: Proceedings of IEEE Internatioanl Conference on Communications, ICC’09, pp. 1–6 (2009) Foster, I.: What is the Grid? A three point check list. GRID Today, 20 Jul 2002. Online at http://www. mcs.anl.gov/∼itf/Articles/WhatIsTheGrid.pdf Foster, I., Kesselman, C.: The Grid: Blueprint for a Future Computing Infrastructure. Morgan Kaufmann Publishers, USA (2004) Foster, I., Kesselman, C., Tuecke, S.: The anatomy of the grid: Enabling scalable virtual organizations. Int. J. High Perform. Comput. Appl. 15(3), 200–222 (2001) Foster, I., Fidler, M., Royd, A., Sander, V., Winkler, L.: End-to-end quality of service for high-end applications. Technical report, Mathematics and Computer Science Division, Argonne National Laboratory, Argonne. http://www.mcs.anl.gov/qos/qos-papers.htm (1999) http://www.w3.org/standards/xml/core Iosup, A., Garbacki, P., Epema, D.H.: Provisioning and Scheduling Resources for World-Wide Data-Sharing Services. In: Proceedings of 2nd IEEE International Conference e-science and Grid Computing (2006) Kee, Y., Kesselman, C.: Grid resource abstraction, virtualization, and provisioning for time-targeted applications. In: Proceedings of ACM/IEEE International Symposiumon Cluster Computing and the Grid (CCGRID’08) (2008) Keller, A., Voss, K., Battre, D., Hovestadt, M., Kao, O.: Quality assurance of Grid service provisioning by risk aware managing of resource failures. In: Proceedings of 3rd International Conference Risks and Security of Internet and Systems: CRiSIS’2008, pp. 159–157 (2008) Khateeb, A.A., Abdullah, R., Rashid, N.: Job type approach for deciding job scheduling in Grid computing systems. J. Comput. Sci. 510, 745–750 (2009) Lai, W.W.K., Ng, K., Lyu, M.R.: Integrating trust in Grid Computing Systems. In: GCC, pp. 887–890 (2004) Lehman, T., Sobieski, J., Jabbari, B.: DRAGON: a technique for service provisioning in heterogeneous Grid networks. Commun. Mag. 44(3), 84–90 (2006) Li, Y., Rao, F., Chen, Y., Liu, D., Li, T.: Services ecosystem: towards a resilient infrastructure for on demand services provisioning in Grid. In: Proceedings of International Conferenece on Web Services (2004)

23. Ludwig, S., Moallem, A.: Swarm intelligence approaches for Grid load balancing. J. Grid Computing 9(3), 279–301 (2011) 24. Murphy, M.A., Kagey, B., Fenn, M., Goasguen, S.: Dynamic provi-sioning of virtual organization clusters. In: Proceedings of 9th IEEE International Symposium on Cluster Computing and the Grid (CCGrid’09), pp. 364– 371. Shanghai, China (2009) 25. Nou, R., Juli‘a, F., Guitart, J., Torres, J.: Dynamic resource provisioning for self-adaptive heterogenous workloard in SMP hosting platforms. In: Proceedings of International Conference E-Business, Barcelona, Spain (2007) 26. Pressman, R.S.: Software engineering: a practitioner’s approach, 7th edn. ISBN: 0073375977 27. Raicu, I., Zhao, Y., Dumitrescu, C., Foster, I., Wilde, M.: Dynamic resource provisioning in Grid environments. In: TeraGridConference (2007) 28. Ramírez-Alcaraz, J.M., Tchernykh, A., Yahyapour, R., Schwiegelshohn, U., Quezada-Pina, A., GonzálezGarcía, J.L., Hirales-Carbaja, A.: Job allocation strategies with user run time estimates for online scheduling in hierarchical Grids. J. Grid Computing 9(1), 95–116 (2011). doi:10.1007/s10723-011-9179-y 29. Rood, B., Lewis, M.: Grid resource availability prediction-based scheduling and task replication. J. Grid Computing 7(4), 479–500 (2009) 30. Schulzrinne, H., Tschofenig, H., Morris, J., Cuellar, J., Polk, J., Rosenberg, J.: Common policy: a document format for expressing privacy preferences. RFC 4745 (2007) 31. Siddiqui, M., Villazon, A., Hofer, J., Fahringer, T.: GLARE: a Grid activity registration, deployment and provisioning framework. In: Proceedings of ACM/IEEE Conference on Supercomputing, 12–18 Nov 2005 32. Singh, G., Kesselman, C., Deelman, E.: Applicationlevel resource provisioning on the Grid. In: Proceedings of 2nd IEEE International Conference on eScience and Grid Computing (e-Science‘06) 0-76952734, 5/06 (2006) 33. Singh, G., Kesselman, C., Deelman, E.: A provisioning model and its comparison with best-effort for performance-cost optimization in Grids. In: Proceedings of High Performance Distributed Computing’07, pp. 117–126, Monterey, California, USA, 25–29 Jun 2007 34. Spivey, J.M.: The Z notation: a reference manual, 2nd edn. Programming Research Group, University of Oxford 35. Vazquez, C., Huedo, E., Montero, R.S., Llorente, I.M.: Dynamic pro-vision of computing resources from grid infrastructures and cloud providers. In: Proceedings of International Conference of Grid and Pervasive Computing, pp. 113–119 (2009) 36. Yu, X., Qiao, C.: Online job provisioning for large scale science ex-periments over an optical Grid infrastructure. In: Proceedings of INFOCOM Workshops, pp. 1–6, 19–25 (2009)

Suggest Documents