Proceedings of the International Conference , “Computational Systems and Communication Technology”

8th , MAY 2010 - by Cape Institute of Technology,

Tirunelveli Dt-Tamil Nadu,PIN-627 114,INDIA

FREQUENT RESOURCE SEPERATOR IN DESKTOP GRIDS

S.Ganesh 1,R.Karthikeyan2,S.AlNaheem3, M.Vijayaraj4,R.Rahulraj5

Student1&5,Assistant Professor &Head2 ,Senior Lecturer3 , Assistant Professor4

Department of Computer Science & Engineering,

Mohamed Sathak Engineering College., kilakarai, Tamilnadu1,2,3&4,

Sree Sowdambika college of Engineering, Aruppukottai, Tamilnadu5.

Proceedings of the International Conference , “Computational Systems and Communication Technology”

8th , MAY 2010 - by Cape Institute of Technology,

Tirunelveli Dt-Tamil Nadu,PIN-627 114,INDIA

Abstract

Grid computing can mean different things todifferent individuals. The grand vision is oftenusers (or electrical appliances) get access toelectricity through wall sockets with no care orconsideration for where or how the electricity isactually generated. In this view of gridcomputing, computing becomes pervasive andindividual users (or client applications) gainaccess to computing resources (processors,storage, data, applications, and so on) as neededwith little or no knowledge of where thoseresources are located or what the underlyingtechnologies, hardware, operating system, and soon are.This paper addresses the problem of resourcescheduling, and there are so many resourcescheduling algorithms. Resource schedulingalgorithm may be of centralized one anddistributed one. In desktop grid environmentdynamic scheduling becomes very important.Globus toolkit is not having the scheduler as itsown, and it need other schedulers for thescheduler work to be done. So the latest one ismultivariable best-fit algorithmpresented as an analogy to power grids.

1.Introduction

Today’s enterprise IT systems are beingconsolidated into centralized data centers forreducing cost and to improve manageability.Efforts are now being made to increase the degreeof sharing of these consolidated computing and toprovide them to the end-user as a utility. Suchsystems are being coined as Computing Grids. Insuch systems, geographically distributedcomputing sites host

the servers, which areallocated dynamically and on-demand to theapplications of the end-user.

One of thefundamental system management services neededin the middleware to enable the

vision ofComputing Grids is a Resource Allocationservice. This service is responsible for thedynamic allocation of a fraction of computeservers’ resources in response to an end-userrequest. Today’s’ IT systems typically pre-install,pre-allocate, and reserve servers for endcustomersapplications, leading to overprovisioningand higher costs. On the other hand,a computing grids envisions desktop resources tobe sharable across end-customers’ applicationsand be allocated dynamically as the need arisesThis brings out the need for a resource allocationservice that has to consider the real-time systemutilization, and the dynamic requirements ofrequests while making an allocation decision.

TheActual Execution of a job in globus toolkit is as figure 1. The resource allocations made, must further meet the minimum performance requirements of the hosted applications, while avoiding over provisioning of resources so as to maintain high system utilization. Prior work has looked at building resource allocation services for supporting batch applications [9], three-tier enterprise applications [10] and for server Prior work has looked at building resource allocation services for supporting batch applications [9], three-tier enterprise applications [10] and for server applications.

This work is like to address theneeds of interactive remote desktops, which aretypically more sensitive to performance needs.This proposed architecture services requests forremote desktop sessions from end-usersdynamically and allocates on-demand a desktopsession for the end-users’ request. The fraction ofthe resources to be chosen is determined throughthe dynamic generation of the performance modelfor the requested remote desktop session. Thedynamic generation takes place usingthroughTheestablishedremote pre-generated application performance models for

the applications that would execute within the requested remote desktop session.

Execution of a job

  1. Architecture

The system model we consider in this paper is asingle intranet. This intranet consists of servers,desktop systems and a resource managementsystem. This proposed resource allocation servicecomponents are resident on the resourcemanagement system Figure 2 shows the flowdiagram of the sequence of steps executed in thesystem.

The end-users submit requests for remotedesktop sessions to the Resource ManagementSystem. The resource management system thenallocates a desktop system to the user’s request

for the remote desktop session. A request to startthe remote desktop session is then dispatched tothe allocated compute node. Once the session isstarted, the user interactively starts applications

Figure 2: Flow of a Proposed System

desktop session connection.

This is shown asmiddle level requests in Figure 2. These middlelevel requests go through a Session AdmissionControl System. Once the applications are started,the user interacts with those applications throughan application specific workload. We thus have ahierarchical request structure in the system, toplevel requests, middle level requests, and

application specific workload, as given in Figure2.

Resource Management System [RMS]

Figure 3 shows the architecture for the resourcemanagement system. It consists of a repositorywhich has the submit file format and resourcesavailable and the input file details. There are twoqueues, an Input Queue holds the users requestswhen they first enter the system; and a PendingQueue holds requests that could not be assignedto a desktop system that meets the requests’performance requirements. The requests in thePending Queue wait till there is sufficient releaseof resources by the Resource management systemthat would meet the requests’ performancerequirements. The resource capture the submit filefrom the submit system i.e., the hardwareplatform, the maximum CPU and memorycapacity needed etc. On selecting a request fromthe Input Queue, and the satisfying user’s preference of static characteristics are obtainedthrough a match of the users’ preferences withthose in the resources available. Subsequently, acompute node for the requested remote desktopsession is dynamically allocated based on the listof applications desired in that node. This step usesthe submit file format and resource availabilitylist from the repository. The ResourceAssignment System, then make their decisionsusing these details.

Resource Assignment System

The Resource Assignment system is responsiblefor assigning one of the available compute nodesto the users’ request. It aims to minimize the waittime for requests. The wait time in this sectionrefers to the time it takes for the compute node tobe assigned to a user since receiving the request.Unlike batch job submissions, a user aftersubmitting the request for remote desktop sessiontypically waits for the compute node to beallocated to him immediately. In this system, thewait time is dependent on (is the summation of)the wait time in the Input Queue, the wait time inthe Pending Queue waiting for resources to

become available, and processing overhead theassignment algorithms. We allow for priorities tobe assigned to requests based on the profile of theuser. The requests would be picked from the InputQueue based on priority, thus reducing the waittime for higher priority requests in the InputQueue.

Multi-Variable Minimum spanning tree

Algorithm:

The pseudo code for a multiple variable minimumspanning tree algorithm that takes resourcerequirement heuristics into consideration forresource assignment is given below. However, asmentioned earlier, we allow resource sharing i.e.there could be multiple remote desktop sessionsallocated on the same compute nodesimultaneously. A minimum spanning treealgorithm for assigning compute nodes to remotedesktop sessions would always try to pack up binstightly. This would enable to assign more sessionsonto different compute nodes and should help inreducing the wait time for the requests in thePending Queue. We therefore consider aminimum spanning tree algorithm for resourceassignment. However, we have to considermultiple variables in the algorithm - CPU,network bandwidth, and memory availability. Fora particular remote desktop session, one or moreof these resources may be a bottleneck resource.

Figure 3: Resource management system.

The weight functions are introducedcorresponding to each of these fine grainresources and adjust the weight assignmentaccordingly for the bottleneck resource variables.For example, for CAD design sessions, the CPUwould be the bottleneck resource variable andweightage should depend on CPU utilizationvalues for such sessions. For real timeapplications, the network latency would be thebottleneck resource variable. Further, thealgorithm determines the difference between theavailable and required resource utilizations, and

assigns the weight functions as inverselyproportional to these delta values. Thus, it doesweighted minimum spanning tree along multiple

dimensions. The weights are assigned for thedifferent parameters/ variables as functions, andto pick the compute node that has the highestaggregate weight across dimensions. The resourceand latency requirements used for the remotedesktop sessions in the algorithm are thoseobtained from the finding remote desktop sessionconcept. Thealgorithm is given below and it uses the followingvariables also.

C represents CPU parameter which includes model by using the socket program CPUspeed, CPU type and CPU usage, N representsNetwork bandwidth, MA represents thepercentage of memory availability, NL representsNetwork Latency and SL represents the Storagelatency. T represents the Number of threadsrunning in a system, PR represents the Pendingrequests in a system.

  1. For each compute node

a. Determine the CPU parameter, networkbandwidth and storage bandwidth available onthis compute node for a user’s request.Weightage of CPU parameter values can becalculated by determining the free CPU cycles,CPU type and CPU usage.

C= W (CPU cycles) + W (CPU type) + W (CPUusage)

b. Determine the delta values between theavailable resources from step a., and the desiredresources for the requested remote desktopsession. These delta values are denoted as Cdelta,Ndelta, MAdelta , Tdelta , PRdelta.

c. We now assign the following weights:

WC = f( Cdelta, Compute Intensiveness)

WN = f (Ndelta, Average expected display datasize)WMA = f( Sdelta, Data intensiveness)WT = f (Tdelta, compute Intensiveness)WPR = f (PRdelta , Compute intensiveness)The weights (WC, WN, WMA, WT, WPR)are inversely proportional to the first parameter(Cdelta, Ndelta, MAdelta , Tdelta, PRdelta) aredirectly proportional to the second parameter

(Compute intensiveness, Average expecteddisplay data size, Data intensiveness, computeintensiveness, Data intensiveness, compute

and client side because presently globus toolkit isproviding monitoring routines which is not givingdetails about the network capacity and otherdetails.

These advertisements from clients are forresource availability in each node. So it isnecessary to have an addition program which willsend advertisements with network and storagecapacity. After receiving all these details a servercan store it in a data structure which is keptupdated every time when a advertisement isreceived and which is sorted in a order. Thissorted order will give the minimum spanning treeeffect. This tree is used by the schedulingalgorithm for selecting a suitable one and theseinformation should be transferred to the

corresponding client for further processing. Aprotocol is implemented for identifying the clientrequest and to identify the servers’ response.

3.Implementation

Actually the implementation of this algorithm canbe done by socket programming using the remoteshell commands to get the remote advertisementsperiodically and store them in server. Theseserver checks the resource availability using thisadvertisements and along the number ofresources, algorithm can select the resources oneby using the available data structure andalgorithm.

3.1 Need for socket programming

Socket programming is needed in both server side4available are considered using the aboveformulas. So that a perfect resource can beallocated. Some of these details can be collectedfrom the system directory from the system andother details can be taken from different places.According to the Algorithm a protocol isimplemented to identify the requirements suchthat the network, storage, cpu parameters and thenumber of threads presently running at aprocessor, previous throughput of the processorcan be identified by the server, present pendingrequests are identified frequently send by theclient and these details are updated in a datastructure at the server side. In addition to this, theserver should keep the throughput of each systemand these details are also updated on the data structure frequently. This data structure is kept ina order according to the algorithm which will givethe minimum spanning order. This structure is

updated regularly by the algorithm.

Presently the protocol is working properly and alogin form is prepared in mySql which willidentify whether the user is a valid user and if wewant to add a new user a sign up form is also

available. And for each execution of a job, aresource is identifying the present job request andreceives the corresponding commands from theserver and responds according to the result of thework done. Intermediate status and the final statusof the job is also given to the client as well as to

the server.

3.2 Algorithm implementation

Algorithm implementation is done by using theabove algorithm because the job submission is toa server and the server allocates a resource and itis necessary to transmit the files to that resource.The paths are needed from one source to all

destination resources available. And also theminimum spanning weights are assignedaccording to the network, storage, cpuintensiveness,respectively. Compute Intensiveness) parameters, the number of threads running at theprocessor, and the pending requests presentlyd. The effective weight of this compute node forthe currently considered assignment is

Weffective = WC + WN + WMA -WT –WPR

2. Pick the compute node with the maximumassigned weight Weffective for this request. Incase of equally ranked compute nodes, we pickthe one with the least load where load is defined

in terms of CPU utilization.

4.Simulation

In this section, simulation framework, that can bedone is described. Subsequently, the experimentscan be conducted using some of the presentlyavailable techniques and the results can be

obtained.

4.1 Simulation Framework

A simulation framework for the computationalgrids that will be having the proposed resourceallocation service into the framework.In thecurrent implementation that the requests arepicked from the Input Queues as Round Robintechnique semantics with no priorities. Then therequests cab be tested using the remote desktopsessions by assigning compute node using theMulti-Variable minimum spanning tree algorithm.The resource utilizations for the remote desktopsessions are always guaranteed to be equal to thatof the value decided through the resourcerequirement modeling of the remote desktopsession.

5.Experiments and results

Results are obtained according to the algorithm.Experiments are done based on the networks peaktime and off time performance with the newalgorithm and it is possible to compare the newalgorithm with older algorithms presentlyavailable. This results shows that the algorithm isgiving good results. That is selected better systemand executed more than 4 seconds faster than theother algorithms. So that it is giving good results.

6.Conclusion and Future work

Resource allocation has been an importantproblem in grid computing and has been widelystudied for many application classes. Thisalgorithm can also be modified with the otheremerging techniques with different environment.In this aspects it will be giving a better algorithm,and it will become a big project and can be addedin future.5

7.References

[1] Vanish Talwar,Biksha Agarwala, Sujoy Basu, Rajkumar, Klara Nahrstedt, “ Resource allocation forRemote Desktop Sessions in utility Grids”, Concurrencyand Computation: Practice and Experience,InterScience, November 2005.

[2] Leila Ismail, Bruce Mills, Alain Hennebelle “ A FormalModel of Dynmic Resource allocation in GridsEnvironment”, IEEE 2008.

[3] Liang Chen, Gagan Agarwal, “Resource allocationin a Middleware for Streaming data”, 2nd Workshopon Middleware for Grid computing, Toronto,

Canada.

[4]

[5]http//enterthegrid.com/vmp/articles/EnterTheb Grid/AEETGprofile − 20.html

[6]

[7] I.Foster and C. Kesselman,“ Globus a metacomputing infrastructure Toolkit”, Supercomputerapplications, vol 11, no.2, 1977, pp 115-128.

[8] J.Frey et al, “Condor − G : A computationmanagement Agent for Multi-Institutional grids”,j.Cluster Computing, vol 5, no.3,2002, pp. 237-246.

[9] Nabrzyski, J., Schopf, J.M.,Weglarz J. “GridResource Management: State of the Art and FutureTrends”. Kluwer Academic Publishers, 2003.

[10] Rolia J., Pruyne J., Zhu X., Arlitt M. “Gridsfor enterprise applications”, Proceedings of 9thWorkshop on Job Scheduling Strategies for Parallel

Processing, Seattle, WA, June 2003.