Login | Register
Login | Register

My pages Projects SunSource.net openCollabNet

hedeby-ge-adapter
Project home

If you were registered and logged in, you could join this project.

Summary Grid Engine Adapter for Hedeby
Categories None
License SISSL
Owner(s) adoerr, andre

N1GE Adapter Introduction

The Hedeby project includes a service adapter implementation for the N1GE software. This adapter communicates remotely with the qmaster of the associated N1GE grid, although most configurations should locate the adapter on the same host as the N1GE qmaster. The adapter uses the native N1GE protocols to gather information about the state of the grid. Using that information, SLO violations are calculated and remediary action is taken if needed.

The service adapter is implemented by the N1geAdapter class, which implements the ServiceAdapter interface. The N1geAdapter instance is created by the ServiceContainer. Once started, the N1geAdapter creates an N1geService instance, which encapsulates the state of the N1GE grid. The N1geService instance creates an N1geJgdi instance, which provides synchronization around a JGDI instance. The JGDI instance communicates with the N1GE qmaster via the native GDI protocol. The N1geAdapter also has a second thread, which is an N1geComputeSlo instance. The N1geComputeSlo thread is responsible for checking for SLO violations.

The N1geComputeSlo instance is activated in two different ways. Periodically, the N1geComputeSlo thread will gather grid state information and evaluate the configured SLOs. Also, whenever the service is queried for resource usage information, the N1geComputeSlo will gather grid information and evaluate the configured SLOs. When the grid state information is gathered, it is stored in a DataStore instance. The data store holds the current grid state information so that each SLO doesn't have to gather the information again. The N1geComputeSlo evaluates each configured SLO instance. If the N1geComputeSlo is in a periodic run, the SLOs report their needs, if any. The N1geAdapter then sends the full list of needs (which may be empty) to the resource provider via the service container. If the N1geComputeSlo is run in response to a resource usage query, the SLOs will evaluate the usage level for each of a specified set of resources. That usage information is then returned from the query.

The N1geAdapter supports three types of SLOs. The first is the FixedUsageSlo. The FixedUsageSlo always reports its configured usage level for all resources and never makes a resource request. The second is the MinResourceSlo. The MinResourceSlo is configured with a resource desciption, a minimum number, and a usage level. If the count of the resources of the specified description falls below the minimum number, the configured usage level will be reported or requested, as appropriate. The third is the MaxJobSlo. The MaxJobSlo is configured with a resource description, a maximum number, and a usage level. If the count of the pending jobs requesting the described resource rises above the maximum number, the configured usage level will be reported or requested, as appropriate.