160 likes | 283 Views
Discovering Infrastructures with EMI Registry (EMIR). Emidio Giorgio – INFN - IGI On behalf of Shiraz Memon , Jülich Supercomputing Center. ISGC 2012, 29.02.2012. Outline. Motivation Overview High level architecture Registry Hierarchies Global level replication Information Model
E N D
Discovering Infrastructures with EMI Registry (EMIR) Emidio Giorgio – INFN - IGI On behalf of Shiraz Memon, Jülich Supercomputing Center ISGC 2012, 29.02.2012
Outline • Motivation • Overview • High level architecture • Registry Hierarchies • Global level replication • Information Model • Integration with EMI Services – UNICORE, ARC • Conclusions ISGC 2012
Motivation • EMI Registry (EMIR) • Lack of a common service index; within EMI • UNICORE (Global) Registry • ARC ISIS • Site / Top Level BDII • Middleware specific Discovery • Various Information Models • Not Federation Aware Unfortunately, nothing to do with oil ISGC 2012 motivation
EMIR: A Unified Service Registry • Cross Middleware Service Discovery • Supports Hierarchies (Theoretically infinite) • Common Access Point and Unified Method to service registrations and discovery • Lightweight REST-full API • Standards based GLUE 2.0 Information Model ISGC 2012 motivation
Main Components • Domain Service Registry (DSR) • A registry node at any level of the hierarchy • Registration and Rich Query Interface • PKI based Authentication • XACML or simplified ACL for Authorization • Synchronization with a parent registry node • Filtered Registrations • Global Service Registry (GSR) • Similar to DSR • Replication with other GSR using P2P techniques • Bootstrap from publicly available Global List ISGC 2012 overview
High Level Architecture ISGC 2012 High level architecture
Communication of DSRs (1/2) <<Global>> GSR Country Publish Liveness at the GSR ∞ Level of Hierarchy <<Parent>> DSR State/Region Publish Domain <<Child>> DSR Computing Center publish Service ISGC 2012 High level architecture
Communication among DSRs (2/2) • Predefined Parent ref. at the Child DSR • Synchronization is done through events • Active Sync. • Parent notified as soon as the changes occurred in the child DSR • Passive Sync. • Parent notified as soon as it joins the hierarchy (fresh startup or recovered from a failure) • Temporary caching ISGC 2012 High level architecture
Global Level Replication • Replication of Registries based on (structured) P2P • Data Synchronization at the Global level • Why? • Federation level Service Discovery • Failover • Robustness • Scalability • Load Balancing • Same query and registration interface • Where to find the GSRs? • Publicly known list <<Global>> GSR <<Global>> GSR <<Global>> GSR <<Global>> GSR https://gsr1,https://gsr2,https://gsr3 GSR List Bootstrap ISGC 2012 High level architecture
Information Model • Schema free rendering • Adopts GLUE 2.0’s generic service entities • Supports standard XML as a response on query functions • JSON for message exchange (query, de-registration) and service record • Expiration time for every service record • Constraining service URL as “unique” identifier ISGC 2012 High level architecture
JSON Rendering [{ "Service_Name": “EMI Execution Service", "Service_CreationTime": {"$date": "2011-10-16T11:47:24Z"}, "Service_Type": “eu.emi.es", "Service_Capability": [“activity submission", “activity creation"], "Service_QualityLevel": "production", "Service_Endpoint_URL": "http://eu-emi.eu/emi-es", "Service_Endpoint_Technology": “SOAP over HTTP", "Service_Endpoint_InterfaceName": “ActivityManagement", "Service_Endpoint_InterfaceVersion": ["1.0“ ], "Service_Endpoint_WSDL": "http://eu-emi.eu/emi-es ?wsdl", "Service_Endpoint_HealthState": "ok", "Service_Endpoint_HealthStateInfo": “it is OK, I can see it", "Service_Endpoint_ServingState": "production", "Service_Endpoint_StartTime": {"$date": "2011-07-21T11:47:24Z"}, "Service_Endpoint_DowntimeAnnounce": {"$date": "2011-07-21T11:47:24Z"}, "Service_Endpoint_DowntimeStart": {"$date": "2011-07-21T11:47:24Z"}, "Service_Endpoint_DowntimeEnd": {"$date": "2011-07-21T11:47:24Z"}, "Service_Endpoint_QualityLevel": "production", "Service_ExpireOn": {"$date": "2011-07-21T11:47:24Z"}, "Service_UpdateOn": {"$date": "2011-07-21T11:47:24Z"}, "Service_OwnerDN": “CN=Shiraz Memon,O=FZJ,OU=JSC” }] • Service Name • Service Type • Endpoint URL • Service Capabilities • Downtime Info. ISGC 2012 High level architecture
Integration with EMI Services UNICORE • Services • TargetSystemFactory • BESFactory • EMI-ES • StorageFactory Register EMIR Lookup & Discover EMI Services ARC Client Register UNICORE Command Line Client (UCC) ARC • Services • AREX Compute • gridftpd • Chelonia Storage ISGC 2012 Integration with EMI
Future Work • Integration with all the EMI Services • Automatic (de)commissioning of a Registry node in the hierarchical network • Handling synchronization and failures while replicating the large number of service entries ISGC 2012 Conclusions
Summary • Common Service Index for EMI • Support for federation • Architecture • Information Model • Integration Scenario ISGC 2012 Conclusions
Links • Documentation • (REST API (WADL Document) • Wiki • Code • Packages • Contacts => EMI Forum ISGC 2012 Conclusions
Questions ? ISGC 2012 Conclusions