Project page on SourceForge
Online docsThe Python GMA code is mostly in the file
gmalib.py, which contains definitions of producer, consumer, and message objects (see below). Supporting code, including a threaded TCP server inheriting from SocketServer, is in the file
The Grid Monitoring Architecure (GMA) is an abstraction of the essential characteristics needed for scalable high performance monitoring on a large distributed computational Grid.
The GMA supports both a streaming publish/subscribe model, similar to several existing Event Service systems such as the CORBA Event Service , and a query/response model. For either model, producers or consumers that accept connections publish their existence in a directory service. Producers and consumers can then both use the directory service to locate parties which will act as a source or sink for the type(s) of performance data in which they are interested. The performance data itself is always sent from the producer to the consumer, but either a producer or a consumer may initiate the subscription or query to, respectively, the desired consumer or producer. For example , a producer locating and subscribing to a consumer could be used for an archiving service; and a consumer locating and subscribing to a producer could be used for a data visualization tool. In either case, communication of control messages and transfer of performance data occurs directly between a particular consumer/producer pair.
Further informationFor more details, you can refer to the recent GMA specification or an older description of the GMA at the site of the Global Grid Forum working group on performance (Perf-WG)