Machine Learning Applications in Grid Coputing George Cybenko, Guofei Jiang and Daniel Bilar Thayer School of Engineering Dartouth College Hanover, NH 03755, USA gvc@dartouth.edu, guofei.jiang@dartouth.edu Abstract The developent of the World Wide Web has changed the way that we think about inforation. Inforation on the web is distributed, updates are ade asynchronously and resources coe and go online without centralized control. Global networking will siilarly change the way we think about and perfor coputation. Grid coputing refers to coputing in a distributed networked environent in which coputing and data resources are located throughout a network. Grid coputing is enabled by an infrastructure that allows users to locate coputing resources and data products dynaically during a coputation. In order to locate resources dynaically in a grid coputation, a grid application progra consults a broker or atchaker agent that uses keywords and ontologies to specify grid services. However, we believe that keywords and ontologies cannot be defined or interpreted precisely enough to ake brokering and atchaking between agents sufficiently robust in a truly distributed, heterogeneous coputing environent. To this end, we introduce the concept of functional validation. Functional validation goes beyond the sybolic negotiation level of brokering and atchaking, to the level of validating actual functional perforance of grid services. In this paper, we present the functional validation proble in grid coputing and apply basic achine learning theory such as PAC learning and Chernoff bounds to solve the saple size proble that arises. Furtherore, in order to reduce network traffic and speedup the validation process, we describe the use of Dartouth D Agents technology to ipleent a general obile functional validation agent syste which can be integrated into a grid coputing infrastructures as a standard grid service. 1. Introduction There are currently several efforts are underway to build coputational grids, such as Globus [1], Infospheres [2] and the DARPA CoABS [3]. These projects are developing the fundaental technology that is needed to build coputational grids, execution environents that enable an application to integrate geographically distributed instruents, sensors, data products, displays, and coputational and inforation resources. Such grid coputations ay link tens or hundreds of these resources. The vision is that these grid infrastructures will connect ultiple regional and national coputational grids, creating a universal source of pervasive and dependable coputing power that supports draatically new classes of applications. Acknowledgeents: This work was partially supported by Air Force Office of Scientific Research grants F49620-97-1-0382, National Science Foundation grant CCR-9813744 and DARPA contract F30602-98-2-0107.
A fundaental capability required in such a grid is a directory service or broker that dynaically atches user requireents with available resource. On the web, this capability is provided by search engines that index web pages and ipleent retrieval services. Whereas huans are typically the consuers of web inforation, grid agents will be the producers and consuers of grid resources with huans occasionally steering or interpreting the coputations. A grid coputation that needs a coputational service, such as for exaple the solution to structured linear syste or a ultidiensional Fourier transfor, will locate the required service by consulting a distributed object request broker or a atchaker service. For exaple, CORBA is an infrastructure for ipleenting distributed applications and provides a broker as a key coponent [4]. Jini[5] is designed for deploying and using services in a network and enables the construction of dynaic, flexible, and robust systes fro independent distributed coponents and it also can provide a nice lookup service. An object request broker (ORB) not only locates a coponent or object that perfors the required service but also ediates counication between the client and the service. In standard terinology, a atchaker is an ORB with reduced capability. A atchaker erely locates reote services but does not ediate counications between client and server agents. In the atchaker fraework, a client and the reote service that it invokes counicate directly once their locations are ade known by the atchaker service. 2. Grid Coputing Services and Functional Validation A scheatic of part of a grid coputation is shown in Figure 1. Reote service providers will publish their services catalog on ORB or atchaker agents. When clients need soe coputing services, they will ake a request to an ORB or atchaker agent. The request is ade based on soe keywords and possibly paraeter lists for invoking the reote coputing resources. The ORB or atchaker consults its service catalog and returns with several reote service candidates and specifies their returning value structures. Then clients can negotiate with these service candidates and ask for the appropriate coputing service. Just like web search engines, ORB and atchaker agents will use keywords and ontologies to specify reote coputing services. Ontologies specify a doain and keywords specify functionality within that doain. For exaple, ontologies are envisioned for signal processing, ocean odeling, iage processing, weather odeling and so on. Within an ontology, keywords such as Fourier transfor and linear syste solver will have possibly doain specific eanings. Several systes have been proposed for ipleenting such ontological atching [6][7]. Figure 1: The prototype of grid coputing services
Note however, there are literally dozens of different algoriths for ipleenting Discrete Fourier Transfors [8]. Different algoriths ake different assuptions about the syetries of the input vector and order the output in a variety of ways. Soe algoriths ay be only able to transfor the input vector of certain diensions. The actual nuerical coputations carried out vary fro algorith to algorith so that different round-off errors are accuulated leading to slightly different answers. Moreover, different nuerical ipleentations of soe basic coputations in an can lead to different coputational speed, different accuracy and so on. The sae is true of linear syste solvers, other nuerical algoriths and data products. In soe coplicated coputational tasks, the possible situations are ore challenging. For exaple, there are any different syste odeling algoriths developed for different control systes such as ARMX or ARMAX systes, tie variant or invariant systes, noisy or noiseless systes, linear or nonlinear systes, and so on. So in this case it is ore difficult for keywords and ontologies to describe precisely the real functionality of the service provider s algoriths. Keywords and ontologies cannot be defined and interpreted precisely enough to ake brokering or atchaking between grid services robust in a truly distributed, heterogeneous coputing environent. Thus atching conflicts will exist between a client s requests and a service provider s responses. Soe for of functional validation of coputing resources will be required. Functional validation eans that a client presents to a prospective service provider a sequence of challenges. The service provider replies to these challenges with corresponding answers. Only after the client is satisfied that the service provider s answers are consistent with the client s expectations is an actual coitent ade to using the service. This is especially iportant in ission critical applications. In fact we can find the sae idea of functional validation in our daily lives. For exaple, a deo is often used to show the functionality of soe software. Our ongoing research on agent-based systes [9] has led us to the conclusion that brokering at the purely sybolic level will not be sufficient to ipleent truly distributed, heterogeneous ulti-agent coputing. Two steps are required before agents coit to each other: 1. Service identification and location; 2. Service functional validation. 3. Coitent to the service. These steps are shown in Figure 2. Identification and location will be perfored by ORB or atchaker agents and is already an area of active research. However, functional validation of distributed coponents and agents is a new subject of research that is essential for the future success of truly heterogeneous, distributed coputing grids. 3. Machine Learning Models of Functional Validation Our approach to functional validation is to allow the client to challenge the service provider with soe test cases, x 1, x 2,..., x k. The reote service provider offers corresponding responses/answers, f R (x 1 ), f R (x 2 ),..., f R (x k ). The client ay or ay not have independent access to the correct responses/answers, f C (x 1 ), f C (x 2 ),..., f C (x k ). Depending on the sequence of responses, the client ay or ay not coit to using (and therefore possibly paying for) the service provided.
Figure 2: Grid services and functional validation We will foralize the functional validation progra for a coputational and data service as follows. Denote the client s calling siulation by C and the reote service coponent by R. C requires the evaluation of a function, f C (x), where x is the input paraeter. Assuing copatibility of input and output paraeter structures and types, which has already been checked by the ORB or atchaker, the reote service is expected to provide f R (x). Table 1 shows the possible situations that can arise in this proble [10]. Table 1: Possible situations arising in functional validation and their solutions Client C Server R Machine Learning Model knows f C (x) provides f R (x) PAC-learning and Chernoff bounds knows f C (x) doesn t provide f R (x) Zero-knowledge proof doesn t know f C (x) provides f R (x) Siulation-based and reinforceent learning In this paper, we discuss the siplest case and assue that the client C itself has the correct value f C (x) for the selected saples and the candidate service provides responses f R (x) directly after C challenges R with the saple inputs. So the basic question in the functional validation proble is that in order to know whether the service provider can offer the correct service, how large should the saple size k be?
4. General Matheatical Fraework In general, we can foralize the functional validation proble and answer it using PAC learning theory. The role of PAC learning in this context is to use as few saples as possible, and as little coputation as possible to pick a service (hypothesis) that is, with sufficiently high probability, a close approxiation to the desired functionality as expressed by the test saples. Here assue the input space X is a fixed set, either finite, countably infinite, n [ 0,1], or n E (Euclidean n-diensional space) for soe n 1. In the functional validation proble, we are concerned with whether the service provider can offer the correct service, so we define a concept to be a boolean apping c : X {0,1 }, with c ( x) = 1 indicating that x is a positive exaple of c, i.e. the service provider offers the correct service for challenge x, and c ( x) = 0 indicating that x is a negative exaple, i.e. the service provider does not offer the correct service for challenge x. A concept class C over X is a collection of concepts (that is, boolean functions) c over X. More precisely, given an error tolerance, γ >0, define c(x)=1 if f C ( x) f R ( x) γ (where γ is the allowable coputational error tolerance) for X all x, and define c(x)=0 if f C ( x) f R ( x) γ. X Let P be a fixed probability distribution on X and assue that exaples are created by drawing challenges independently and randoly according to P. Define an index function 1 if f C () x f R () x γ F() x = (1) 0 otherwise Then the client can randoly pick S = {( x1, F( x1 )), ( x2, F( x2 )),, ( x, F( x ))} saples to learn a hypothesis h H about whether the service provider offers the correct service, where H is the hypothesis space and usually is the concept class C itself. Here let A C, H denotes the set of all learning functions A : S H. We clai that A C H is S consistent if it agrees with the saples, that is h = A( ) A,. Thus based on the PAC learned hypothesis, the client can conclude whether the service provider can offer the correct service with the desired level of confidence. Now consider the proble of how any saples or challenges are needed to ake a decision about whether the hypothesis is a good enough approxiation to the real target concept or not. Define the error between the target concept C and the hypothesis h as [ c( x ) h() x ] error( h ) = Probx P (2) where Probx P[.] indicates the probability with respect to the rando drawing of x according to P. Then atheatically we can foralize the above proble as follows: How large ust the nuber of challenges,, be so that Pr ob { error( h ) ε} 1 δ (3) where ε is the accuracy paraeter and δ is the confidence paraeter. Bluer et. al. [11] solved this proble with the following powerful result: Theore 1 (Bluer et al.[11]) Let H be any well-behaved hypothesis space of finite X Vapnik-Chervonenkis diension d contained in 2, P be any probability distribution on X and the target concept c be any Borel set contained in X. Then for any 0 < ε, δ < 1, given 4 2 8d 13 ax log, log (4) ε δ ε ε
independent rando exaples of c drawn according to P, with probability at least 1 δ, every hypothesis in H that is consistent with all of these exaples has error at ost ε. In the above theore, the Vapnik-Chervonenkis diension (VC diension) is a cobinatorial easure of concept class coplexity which assigns to each concept class C a single nuber that characterizes the saple size needed to PAC learn C. See its detailed definition in [11]. Thus by deterining the boolean concept s VC diension over X and selecting an accuracy paraeter ε and a confidence paraeter δ, according to the above theore, the client can pick saples to PAC learn a hypothesis which is probabilistically close enough to the real target concept, thereby deciding whether the service agent can offer the correct services. 5. Siplified Theoretical Results PAC learning theory foralizes an ideal atheatical fraework for the functional validation proble. However, the above theoretical result can not be practically applied in grid coputing easily because it is difficult to copute the VC diension for generic probles and the saple size bound will be very large in general. We siplify the coplexity of the functional validation proble and assue that with regard to soe concepts, all test cases have the sae probability about whether the service provider can offer the correct service. Then Chernoff bounds [12] theory can be used to solve the saple size proble. Theore 2 (Chernoff Bounds): Consider independent identically distributed saples x 1, x 2,, x fro a Bernoulli distribution with expectation p. Define the epirical estiate of p based on these saples as xi i= pˆ = 1 (5) Then for any 0 < ε, δ < 1, if the saple size ln δ ln 2 2 2ε (6) then the probability prob pˆ p ε (7) [ ] δ During the functional validation process, the client only continues with the next saple if it knows that the service provider offers the correct response for all previous saples. Once the client encounters a negative exaple, i.e. the service provider offers a wrong reply for the current saple, the client will stop the validation process with this service provider and proceeds to negotiate with other possible service provider candidates. So with regard to this special situation, the client only needs to know how any saples are needed if all tested saples are positive exaples (otherwise it just gives up). Thus the epirically estiated pˆ should be equal to one. Then because 0 < p < 1 and p ˆ = 1, with the sae saple size defined in inequality (6), the inequality (7) can be updated by the following inequality:
δ prob [(1 p) ε] (8) 2 Then according to Theore 2, it is straightforward to have the following corollary: Corollary 2.1: For the functional validation proble described above, given any 0 < ε, δ < 1, if the saple size ln δ (9) 2 2ε then the probability prob ( 1 p) ε (10) [ ] δ In the above inequality, ε is the accuracy paraeter which bounds the difference between the estiated probability and the true probability, while δ deterines the confidence in this approxiation. However, the goal of the functional validation process is to have a high confidence that the service will provide the correct response on the next request. Given a target probability, say P, the client agent needs to know how any consecutive positive saples,, are required so that the next request to the service will be correct with probability P. We can cobine the accuracy paraeter, ε, and confidence, δ, together into this one paraeter P. Using the definitions of δ and ε fro above, it is easy to see that if the inequality P ( 1 ε)(1 δ ) (11) is satisfied, then the next saple will have probability P of being correct as well, given the Bernoulli odel and other assuptions fro above. Note that in inequality (9), ε and δ are both needed to copute the saple size. So after a client agent selects a P, we still need to figure out how to copute the saple size under the constraint inequality (11). We can forulate this proble as the following nonlinear optiization proble: The objective function ( ε,δ ) ln δ = in f ( ε, δ ) = in (12) ε, δ ε, δ 2 2ε s.t.: ( 1 ε )(1 δ ) P and 0 < ε, δ < 1. f has two variables. Fro the constraint inequality, we require P δ 1 (13) 1 ε P Obviously when δ is larger, the saple size is saller. So if we choose δ = 1 and 1 ε P think about the constraint 0 < ε,1 < 1, we can transfer the above two-diensional 1 ε function optiization proble to the following one-diensional function optiization proble: P ln(1 ) = in g( ε) = in 1 ε (14) ε ε 2 2ε s.t. 0 < ε < 1 P.
So when ε approaches the edge point 0 or 1 P, the function g (ε ) will approach positive infinity. Unfortunately, we have not obtained a closed-for analytical solution because of the log function. However, we use eleentary nonlinear function optiization ethods to copute the iniu saple size,, such as the steepest descent ethod. Figure 3 shows how the saple size changes with the given probability P. Figure 3: saple size vs. probability P curve 6. Mobile Functional Validation Agent In addition to the above analytic results, we have ipleented basic functional validation protocols for a grid coputing infrastructure. We have ipleented a test bed for the validation protocols, using the Dartouth D Agents syste [9][13] to create obile functional validation agents (MFVA) for grid coputing. D Agents is a obile-agent syste developed at Dartouth College. A obile agent is a progra that can igrate fro achine to achine in a heterogeneous network. The progra can choose when and where to igrate. It can suspend its execution at an arbitrary point, transport to another achine and resue execution on the new achine. Mobile agent have several advantages over the traditional client/server odel: obile agents consue fewer network resources and counicate efficiently; obile agents do not require a continuous connection between achines; obile agents hide the counication channels but not the location of the coputation. So people can use obile agent systes as a single, unified fraework to ipleent a wide range of distributed applications easily and efficiently. Consider the functional validation process for grid coputing. In a traditional setting, during this process a client subits saple data, x, to the service provider and waits for the reply f R (x) fro the reote service provider. For soe difficult coputing task, it ay take the service provider a long tie to copute the result. After the client gets the response f R (x), it ust copare f C (x) with f R (x) to see whether the service provider offers an acceptable result for the saple. If f R (x) is acceptable, the client will send out the next saple data and repeat the above procedure. If f R (x) is unacceptable, the client will close the current counication channel and open a new one with another possible service candidate and then
repeat the sae validation process. So during this process, the client and the service provider can generate significant network traffic. Using the D Agents syste, we have created a obile functional validation agent to ake the whole functional validation process ore efficiently. Figure 4 shows how the obile functional validation agent works in the grid coputing infrastructure. After the ORB Figure 4: obile functional validation agent or atchaker returns the achine list of possible service provider candidates, the client uses the siplified theoretical results in section 5 to copute the saple size suitable for a desired probability of correctness. Then it creates a obile agent that encapsulates the achine list, the saple list and the client s actual coputing request. The obile functional validation agent jups to the first achine that is listed on the achine list and executes the functional validation process on that local achine. During the validation process, if the obile agent gets an unacceptable reply fro the local service provider, it will autonoously give up this service provider, jup to the next achine on the achine list and initiate a new validation process on that achine. Otherwise it will continue to subit saples to the service provider and repeat the validation procedure. If it continuously gets correct responses for all saples, it will ask for the client s actual coputing service fro the service provider. After it gets the result, it will autonoously jup back to the client achine and return the result to the client. So using the obile functional agent, the functional validation process is executed on the service provider achine and all counication is done between progras that are running on the sae achine. This reduces network traffic and akes the validation process faster and ore robust. Moreover, without the client s involveent, a obile agent can autonoously coplete the whole validation process and return the correct result to the client.
Because different service providers have different counication protocols, in Figure 4, interface agents are used to translate these protocols to a standard agent counication protocol. Our obile functional validation agent syste is a very general and standard syste. For different coputing tasks, a client only needs to change the saple lists in the user agent progra and a separate result coparison class. So we believe this general obile functional validation agent syste can be integrated into grid coputing infrastructures as a standard service, such as the DARPA CoABS grid infrastructure. 7. Conclusions Grid coputing is an eerging infrastructure that will fundaentally change the way we think about and use coputing. In a grid coputing infrastructure, a broker or atchaker agent will use keywords and ontologies to specify grid services. However, keywords and ontologies cannot be defined and interpreted precisely enough to ake brokering or atchaking between resource agent services sufficiently robust in a truly distributed, heterogeneous coputing environent. This creates atching conflicts between client s requested functionality and grid service s actual functionality. Functional validation is proposed and studied in this paper. Soe achine learning theory is applied to solve the saple size proble that arises in our approach. Furtherore we have used the Dartouth D Agents technology to ipleent a general obile functional validation agent syste which can be integrated into grid coputing infrastructures as a standard grid service. References [1] Foster, I., and Kesselan, C., 1998. The Grid Blueprint for a New Coputing Infrastructure, Morgan Kaufann Publishers, San Francisco, California. [2] http://www.infospheres.caltech.edu [3] http://coabs.globalinfotek.co [4] Natan R.B.,1995. Corba-A Guide to Coon Object Request Broker Architecture, McGraw-Hill, New York. [5] Edwards, W. K., 1999. Core Jini. Prentice Hall. [6] http://logic.stanford.edu/kif/specification.htl [7] http://www.cs.ubc.edu/kql/ [8] Brigha, E.O., 1988. The Fast Fourier Transfor and Its Applications, Prentice Hall, Englewood Cliffs, New Jersey. [9] http://actco.dartouth.edu and http://www.cs.dartouth.edu/~agent/ [10] Cybenko, G. and Jiang, G., 1999. Matching conflicts: Functional validation of agents. 1999 AAAI workshop on Agents Conflicts, pp. 14-19, Orlando, Florida. [11] Bluer, A. et al., 1989. Learnability and the Vapnik-Chervonenkis Diension. Journal of the Association for Coputing Machinery 36(4):929. [12] Kearns, M.J., and Vazirani, U.V., 1994. An Introduction to Coputational Learning Theory, The MIT Press, Cabridge, Massachusetts. [13] Kotz,D., Gray,R., Nog,S., Rus D., Chawla,S. and Cybenko,G. 1997. Agent Tcl: Targeting the needs of obile coputers. IEEE Internet Coputing, 1(4):58.