Monitoring and Discovery in Globus Toolkit 3 Ben Clifford USC/Information Sciences Institute benc@isi.edu The Traditional MDS2 architecture slide R R R R ? R dispersed users ? network R R R R R R R ? ? R R R R R R R R VO-A GRISes – represents a resource GIISes – indexes multiple resources LDAP protocols OpenLDAP Pull only VO-B 2 MDS3 serviceData Query mechanisms XPath query support Host status information Index service Hosting environment components 3 MDS3 is built on OGSI Open Grid Services Infrastructure Grid Service = Web Service + stuff Key OGSI concept (as far as MDS is concerned) is serviceData 4 serviceData Every Grid Service can expose internal state as serviceData elements – An XML element of arbitrary complexity Each service has a serviceData set – The collection of serviceData Elements (SDEs) Example: state of a host is exposed as an SDE by GRAM. Similar to MDS2 GRIS functionality, but in each service (rather than once per host) 5 Retrieving service data Pull – findServiceData operation (required) – queryByServiceDataNames (required, OGSI) – queryByXPath (GT3) Push – subscription/notification (optional) – subscribeByServiceDataNames (optional, OGSI) Additional query types listed in well-known SDEs: findServiceDataExtensibility and subscribeExtensibility 6 By Name queryByServiceDataNames, subscribeByServiceDataNames Parameter is list of SDE names + min/max frequency, sink, ttl for subscriptions Returns entire SDEs (as return value or repeatedly through subscription) Conceptually very simple. Query is guaranteed to be supported by any grid service. Disadvantage - If SDE large, the return value and notifications are also large. 7 XPath query support A W3C XML query language Globus-defined query type – Parameters are SDE name and XPath query – Return value is result of evaluating XPath query against specified SDE – a list of matching elements. Any service built on our OGSA core gets support for this automatically. – Based on Xalan XPath library. 8 XPath example Query: //Host[@Name=“dc-user.isi.edu]/ProcessorLoad Result: <ProcessorLoad Last1Min="00" Last5Min="00" Last15Min="00“ /> 9 Future query work Other XML query languages? – XQuery, XSLT (both based on XPath) XPath subscription Notification of partial SDE content? – Don’t return entire SDE when only one small part has changed – Difficult problem for arbitrary XML data when notification stream may be lossy. 10 Host status information Similar to default MDS2 GRIS information – Filesystems, CPU load, memory usage… XML GLUE-like schema – Represents clusters better than MDS2 schema Single host providers included with GT3 Others working on Ganglia implementation 11 Host status example <Cluster Name="pygar.isi.edu" UniqueID="pygar.isi.edu"> <SubCluster Name="pygar.isi.edu" UniqueID="pygar.isi.edu"> <Host Name="pygar.isi.edu" UniqueID="pygar.isi.edu"> <Processor Vendor=" GenuineIntel" Model=" Intel(R) XEON(TM) CPU 2" Version="15.2.4" ClockSpeed="2193" CacheL2="512"/> <MainMemory VirtualSize="2047" RAMSize="1004" RAMAvailable="119" VirtualAvailable="1716" /> <OperatingSystem Name="Linux" Release="2.4.7-10" Version="#1 Thu Sep 6 17:27:27 EDT 2001" /> <FileSystem Name="/“ Size="23510" AvailableSpace="650" Root="/" Type="unavailable" ReadOnly="false“ /> <NetworkAdapter Name="eth0" IPAddress="128.9.72.46" InboundIP="True" OutboundIP="True" MTU="1500"/> <ProcessorLoad Last1Min="00" Last5Min="00" Last15Min="00“ /> </Host> </SubCluster> </Cluster> 12 Hosting Environment components Pieces useful for writing your own information services: Core OGSI support Memory- or Xindice- based storage of serviceData – Xindice provides persistent storage Aggregator mechanism – Receives notifications for other services and publishes as service data. Provider mechanism – Run Java or unix-executable providers and publishes output as service data. 13 Index Service Take all of the components on the previous slide and stick them all together. Add a configuration mechanism. Similar to MDS2 GIIS Gathers serviceData from other grid services Publishes collection through one service Clients can query the index in the same way as they can query any other service data. Arbitrary XML data – no schema 14 Future collective level work Various ideas for future collective level services Archive service – Best way to store time-series of arbitrary XML? – Best way to query this archive? – link to OGSA-DAI? – Link to other archivers? 15 The End (unless there is time left over…) 16 Service Groups A Service Group is a grid service that represents some bag of other grid services Contents of service group published as entry SDE entry has a reference to the member service and some arbitrary content data. Examples: – Registry > Bag of services that have been registered – ContainerRegistry > Bag of services that are being run in the local hosting environment – Index service > Bag of services that have their service data indexed. 17 Namespaces All of the XML element names (for service data, for query types) are qualified by XML namespaces. But I haven’t included them in these slides for conciseness. The Namespace Police will take me away. 18 Security At the moment – ‘all or nothing’ for each service Investigating other ways to specify security for this… 19