Resource Information Provider Service

     

The resource information provider service (RIPS) is a part of the GRAM. This service utilizes service data providers to execute system-level information-gathering scripts and tools. When used in conjunction with GRAM, it's purpose is to monitor forked processes, scheduled queues, and host system statistics.

Figure 14.4 shows the major components utilized by the RIPS operation. The interested parties can register for subscriptions, based on service data of interest. The illustration also shows how the GRAM master hosting environment is using data aggregator components to collect aggregated service data.

Figure 14.4. The resource information provider service operation.

graphics/14fig04.gif

Internal Operations of RIPS

Listing 14.9. The RIPS implementation prototype.
 public class RIPSImpl extends PersistentGridServiceImpl implements                                     ServiceDataProviderDocumentCallback {   // this is the callback method name   public String getDefaultCallbackMethodName() {     return "jobDataHandler";   }   public Class[] getCallbackParamSig(String methodName)   {        Class[] paramSig = { Class.forName("org.w3c.dom.Document"),                     Class.forName("java.lang.Object"),                     Class.forName("java.lang.Integer")};        return paramSig;   }   public void postPersistentCreate(GridContext context) throws        GridServiceException{          // do initialization   }   public ServiceDataProviderEnumType[] enumProviders(boolean rescanConfig)     throws RemoteException  {       // these calls are delegated to the ServiceDataProviderManager,          which we have seen earlier   }   public void executeProvider(ServiceDataProviderExecutionType newServiceData)     throws RemoteException  {       // these calls are delegated to the ServiceDataProviderManager   }   public void subscribe(ExtensibilityType subscriptionExpression,                LocatorType sink,                ExtendedDateTimeType expirationTime,                LocatorTypeHolder subscriptionInstanceLocator,                TerminationTimeTypeHolder currentTerminationTime) {   /*Any subscribers can subscribe to the dynamic service data generated     by this service through this method. Initially, there may not be any     service data available and hence dummy service data will be created     for the service data name specified by subscribe. This dummy SD will     be deleted if no value is coming from the provider for a specific     period of time   */   }   public boolean jobDataHandler(org.w3c.dom.Document doc,                     Object context,                     Integer providerState{   /*This is the callback function that is doing the real job of splitting     the XML document into service data elements and updating the service     data set of this service */   } 

Listing 14.9 describes the main operations provided by the RIPS component. Some of the points of interest related to the RIPS topic are as follows :

  • The providers are polled at specified intervals. There are two ways we can control the poll time's values:

    1. These values can be configured through the external configuration file, and then this value is applicable to all instances of the provider.

    2. Another possibility is to configure this poll time value by the client on the call to "executeProvider." This new timer value will be applicable to the specific provider instance.

  • RIPS perform special processing utilizing its custom "jobDataHandler" function by separating out the specific child "Job" elements from the logical result document. This creates individual SDEs by assigning the appropriate TTL metadata to the new entries, and updating the TTL data on the existing SDEs.

  • RIPS execute a separate thread called a sweeper , which periodically traverses the service's internal SDE list and invalidates any entries that have not received updates to the specified timestamp metadata.

Summary

In general, RIPS provides service data aggregation mechanisms and management of data utilizing the service provider components included with the GT3. Any interested service can register for notification on the service data of choice. This is a flexible architecture when integrated with other high-level services such as resource managers.



Grid Computing (IBM Press On Demand Series)
Windows Vista(TM) Plain & Simple (Bpg-Plain & Simple)
ISBN: 131456601
EAN: 2147483647
Year: 2002
Pages: 118

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net