EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Information Dump White Areas Lecture Laurence Field 30 th January 2009
Enabling Grids for E-sciencE EGEE-II INFSO-RI Overview What is a Grid? Information Models The Glue 2.0 The Information System The New BDII GStat 2.0
Enabling Grids for E-sciencE EGEE-II INFSO-RI What is a Grid?
Enabling Grids for E-sciencE EGEE-II INFSO-RI What is a Grid? Cross-organizational Grids Intra-organizational Grids Data Centers Virtualizatio n Volunteer Computing Campus Grids Clusters Cloud Computing
Enabling Grids for E-sciencE EGEE-II INFSO-RI What is the problem? Organization A and B are administrative domains –Independent policies, systems and authentication mechanisms Users have local access to their local system using local methods Users from A wish to collaborate with users from B –Pool the resources –Split tasks by specialty –Share common frameworks Organization BOrganization A
Enabling Grids for E-sciencE EGEE-II INFSO-RI The Solution The Users from A and B create a Virtual Organization –Users have a unique identify but also the identity of the VO Organizations A and B support the Virtual Organization –Place “grid” interfaces at the organizational boundary –These map the generic “grid” functions/information/credentials To the local security functions/information/credentials Multi-institutional e-Science Infrastructures Organization B Organization A Virtual Organization
Enabling Grids for E-sciencE EGEE-II INFSO-RI The Information System Organization B Organization A Information System Users Operations Service
Enabling Grids for E-sciencE EGEE-II INFSO-RI Information Models
Enabling Grids for E-sciencE EGEE-II INFSO-RI Information Model Abstract description of data –Description of values which are identified by attributes –Description of attribute groupings –Description of relationships between groupings Data → Information → Knowledge –Information model turns data into information Existence, Description, State Describes the components in a grid infrastructure –and hence the grid itself The Data Model is the implementation –LDAP, XML, Relational etc.
Enabling Grids for E-sciencE EGEE-II INFSO-RI The Original MDS 2.x Schema
Enabling Grids for E-sciencE EGEE-II INFSO-RI European DataGrid Project Found that the MDS schema was not sufficient for their needs Each functional area defined their own sub schema –Workload management, data management, fabric management –data storage and network monitoring. Introduced the Computing Element (CE) entity which described – the GRAM endpoint –the batch system –state behind the endpoint –and a simple description of the resource (homogeneous cluster) The Storage Element (SE) entity which describes – the storage endpoint. –the Storage Element Protocol entity
Enabling Grids for E-sciencE EGEE-II INFSO-RI Nordugrid The Nordugrid project started in May 2001 Aimed to build a Nordic testbed –for wide-area computing and data handling
Enabling Grids for E-sciencE EGEE-II INFSO-RI The World Wide Testbed A 2002 DataTAG initiative to create a worldwide Grid testbed Comprised of –8 European sites using the EDG 1.2 release –9 U.S. sites using the VDT release The EDG release contained addition information providers –which were not available in the VDT release The information was essential for the Resource Broker to function The information providers were installed on all the US sites –An example of interoperability using the parallel deployment model
Enabling Grids for E-sciencE EGEE-II INFSO-RI Origins and Aims GLUE: Grid Laboratory Uniform Environment –Started in April 2002 –Join activity between EU-DataTAG, US-iVDGL and EDG Focused on interoperability between US and EU HEP projects –Aimed to provide common schema to facilitate interoperations Initial versions –v1.0 (released Nov 2002) –v1.1 (released April 2003) HEP driven revisions –v1.2 (released Dec 2005) –v1.3 (released Oct 2006)
Enabling Grids for E-sciencE EGEE-II INFSO-RI OSG and GLUE v1.2 Both EGEE and OSG used GLUE v1.1 –OSG (MDS + GLUE + their own Grid3 schema) –EGEE (GLUE + their own extensions) Relying on custom extensions breaks interoperability –Additional use cases need to be added to GLUE A proposal for version GLUE v1.2 was discussed –An incremental approach taken –Only make the minimal changes –Only solve problems found in deployment –Ensure backwards compatibility For non-backwards compatible changes –Introduced the idea of defining Glue 2.0 at a future date
Enabling Grids for E-sciencE EGEE-II INFSO-RI GLUE v1.3 Last minute changes for LHC start-up. –Could not wait for Glue 2.0 –Main focus was SRM 2.x Meeting in October 2006 to discuss proposed changes –44 suggested changes,30 accepted, 8 rejected and 5 duplicates Version 1.3 deployed the being of 2007 –Ongoing migration with respect to usage No requirement for v1.4 –Suggests that things are not too bad No blocking issues that urgently require a schema change Proved useful in interoperation activities –OSG, NDGF, gin-info, Unicore, NAREGI etc. Interpretation of the schema has been tightened –The understanding of the schema has improved –Many additional documents describe usage.
Enabling Grids for E-sciencE EGEE-II INFSO-RI GLUE 2.0
Enabling Grids for E-sciencE EGEE-II INFSO-RI Moving into the Open Grid Forum Conceptual and structural changes left for Glue 2.0 –Discussion on GLUE 2.0 at the Oct 2006 meeting in London Decision made to define Glue 2.0 within OGF –Improve the acceptance of GLUE by other communities The OGF process should not create to much overhead GLUE-WG started in Jan 2007 at OGF19 –Building on the 4 years of existing work Positive Outcomes –GLUE widely accepted within OGF Seen as an important contribution –Grid Forge helped the activity coordination –Broad view points limited assumptions –Increased participation from other projects And hence acceptance by those projects.
Enabling Grids for E-sciencE EGEE-II INFSO-RI Glue 2.0 Introduction Glue Schema Working Group Created in the Open Grid Forum –Need demonstrated though the GIN activities. Build upon existing experiences –Consolidate over 4 years of production feedback Focus on use cases seen not envisaged –Cross-Grid use cases Define an abstract Information Model –And a number of renderings; LDAP, XML, Relational, CIM etc. Start with abstract core concepts –Evolve into specific service types Ensure participation from existing production infrastructures
Enabling Grids for E-sciencE EGEE-II INFSO-RI Glue 2.0 Key Concepts User Domain Admin Domain Resource Provides Utilizes
Enabling Grids for E-sciencE EGEE-II INFSO-RI Glue 2.0 Key Concepts User Domain Admin Domain Resource Negotiates Share with Defined on Share Utilizes Manages Provides Manager
Enabling Grids for E-sciencE EGEE-II INFSO-RI Glue 2.0 Key Concepts User Domain Admin Domain ResourceShareEnd Point Access Policy Mapping Policy Negotiates Share with Defined on Contacts Maps User to Has Manager Manages Provides
Enabling Grids for E-sciencE EGEE-II INFSO-RI Glue 2.0 Key Concepts User Domain Admin Domain Resource Manager ShareEnd Point Activity Access Policy Mapping Policy Negotiates Share with Provides Manages Runs Defined on Contacts Maps User to Has Service
Enabling Grids for E-sciencE EGEE-II INFSO-RI Glue 2.0 Computing Schema Computing Service Execution Environment Computing Manager Computing Share Computing End Point Computing Activity Manages Runs Defined onMaps User to Application Environment Can use Mapped to
Enabling Grids for E-sciencE EGEE-II INFSO-RI Glue 2.0 Storage Schema Storage Service Storage Resource Storage Manager Storage Share Storage End Point Share Capacity Defined onMaps User to Storage Capacity Has Storage AccessProtocol Offers Manages
Enabling Grids for E-sciencE EGEE-II INFSO-RI Glue 2.0 Timeline Oct 2006, Decision taken to move into OGF Jan 2007 (OGF 19), First working group meeting June 2008 (OGF 23), Spec. entered public comments Aug 2008, Public comment period ended Nov 2008, Started addressing comments Jan 2009, Final Spec. ready? Mar 2009, Glue 2.0 official OFG Specification? 1 st April 2009, Start work on Glue 2.1
Enabling Grids for E-sciencE EGEE-II INFSO-RI Proposed Roll Out Plan 1.Create a hybrid schema file with both v1.3 and v2.0 –Deploy across the infrastructure Should have negligible side effects –Est months after specification fixed 2.Update information providers –Publish Glue 2.0 information in addition to Glue 1.3 –Deploy across the infrastructure –Est months after specification fixed 3.Update software and tooling as necessary –Est months after specification fixed 4.Remove Glue 1.3 providers when no longer required 1.Est ?? months after specification fixed
Enabling Grids for E-sciencE EGEE-II INFSO-RI Some Statistics 45 phone conferences –1.5 hours each ~ 3 days talking –5 people participating ~ 2 months FTE invested in total Split between projects (EGEE, WLCG, Teragrid, Nordugrid, DEISA) This does not include the time invested by editor (OMII-Europe) 40 versions of the document –347 days between first conference and initial specification –46 pages, words –Document updated nearly every week 254 Attributes –28 Objects Four different renderings –LDIF, XML, Relational and CIM
Enabling Grids for E-sciencE EGEE-II INFSO-RI The Information System
Enabling Grids for E-sciencE EGEE-II INFSO-RI Globus MDS v2 Metadata Directory Service (MDS) – Information Providers (IP) –Scripts that get the information and return LDIF Grid Resource Information Service (GRIS) –Daemon that runs the IP and answers LDAP queries –Register to a GIIS Grid Information Index Service (GIIS) –answers LDAP queries by querying registered GRIS’s or GIIS’s. Both the GRIS and GIIS have a 30s cache –To reduce load and improve performance
Enabling Grids for E-sciencE EGEE-II INFSO-RI Original MDS Deployment Top GIIS Site GIIS GRIS Site GIIS GRIS Provider Query
Enabling Grids for E-sciencE EGEE-II INFSO-RI The BDII Berkeley Database Information Index. –Standard OpenLDAP server –Updated by a perl process. Using LDAP URLs (ldapsearch) (GIIS mode) From a script (Information Provider) (GRIS mode) Why? –Because MDS didn’t work in a distributed environment. Originally did not scale past 4 sites. 1 broken work node could bring down the whole system! MDS was the problem not LDAP. BDII first used as top-level GIIS –Now used at the site and resource level
Enabling Grids for E-sciencE EGEE-II INFSO-RI Information System Architecture Top BDII Site BDII GRIS Resource BDII Site BDII GRIS Resource BDII Provider Query
Enabling Grids for E-sciencE EGEE-II INFSO-RI BDII Multiple DBs instances used to increase performance –Read only, write only and one spare for queries to finish. –This functionality is enabled by the port forwarder. List of sources to query from local file –Can be updated from a web page. –More than one DBs is used, separate read and write. Can also use a local LDIF file to modify DB after population. –Can be updated from a web page LDAP 2172 LDAP 2173 LDAP 2170 Port Fwd Update DB & Modify DB 2170 Port Fwd Swap DBs Write to cache ldapsearch FCR
Enabling Grids for E-sciencE EGEE-II INFSO-RI Load Balanced BDII BDII 2170 BDII 2170 BDII 2170 BDII 2170 BDII 2170 BDII 2170 DNS Round Robin Alias Queries
Enabling Grids for E-sciencE EGEE-II INFSO-RI Freedom of Choice Developed to meet a requirement from the VOs. –Modifies the information to their liking White list and black list services. –Only the VO manger can white list and black list the services. Generates an LDIF modify file. –Web based. BDII can be configured to use this file –Will modify the database after population –For use only with top-level BDIIs Linked with the Site Functional Tests Portal –Can automatically remove a site if it fails a functional tests It’s the VOs choice.
Enabling Grids for E-sciencE EGEE-II INFSO-RI Generic Information Provider Provides information about the grid service. –Outputs LDIF information in accordance to the Glue Schema to stdout. Information can be provided by, –dynamic providers from the providers directory. –static files from the ldif directory. –dynamic plugins from the plugin directory. Cache used to improve efficiency and reduce load. GIP Provider Config File Plugin Cache LDIF
Enabling Grids for E-sciencE EGEE-II INFSO-RI Generic Information Provider Read Config File Fork of providers and plugins Wait (response time) Write to cache Read provider and plugins from cache Read Static LDIF LDAP_MODIFY Print to stdout Process will time out use cache if fresh
Enabling Grids for E-sciencE EGEE-II INFSO-RI User Tools lcg-infosites and lcg-info –Can be used to query the information system –For more information see the User Guide lcg-ManageVoTag –Used by the Vos to publish software environment tags –Publishes to /opt/edg/var/info/ /.list Ensure the VO can write here! –Used by plugin glite-info-dynamic-software-wrapper
Enabling Grids for E-sciencE EGEE-II INFSO-RI Observations Problems observed in information system –not always due to information system It is just where the problem is visible –Many problems at the information providers level Due to either poor configuration Poor fabric management affecting information providers Scalability and Stability –Top level BDIIs can become over subscribed –BDIIs take too much time and resources (CPU/RAM) to update –Production problems difficult to trace. Requires more instrumentation in the code. –BDIIs don’t work with low bandwidth connections.
Enabling Grids for E-sciencE EGEE-II INFSO-RI Investigations Stress Testing –ldapbench
Enabling Grids for E-sciencE EGEE-II INFSO-RI Results
Enabling Grids for E-sciencE EGEE-II INFSO-RI The New BDII
Enabling Grids for E-sciencE EGEE-II INFSO-RI The New BDII v5 Use only one LDAP database –Reduces complexity and relies on the stability of OpenLDAP Only do differential updates –Reduce the write interaction and update time Merge the GIP and the BDII –Only do LDAP_ADD and LDAP_MODIFY in one place Remove all internal caches –The database is the cache! Improved logging –Using the standard python logger –More stats which are available remotely Do more with less (KISS)!
Enabling Grids for E-sciencE EGEE-II INFSO-RI New Architecture 2170 LDAP New LDIF Provider Plugin LDIF DIIF LDAP_ADD LDAP_MODIFY Query Update Merge
Enabling Grids for E-sciencE EGEE-II INFSO-RI Future Work Reducing the network load –Investigate the use of syncrepl –Update static information less frequently Reducing the query load –Query caching on the WN lcg-utils and Service Discovery API Failover queries –Local cache –Site level –Top levels
Enabling Grids for E-sciencE EGEE-II INFSO-RI GStat 2.0
Enabling Grids for E-sciencE EGEE-II INFSO-RI Information Validation It is important that information is correct –Miss-configured sites have in the past Stopped services to to run grid wide! Caused black holes for job submission. Information must agree with the Glue Schema – And be accurate –Grid Status (gstat) does basic sanity checks for the each site – –Grid Wiki gives solutions to common problems –
Enabling Grids for E-sciencE EGEE-II INFSO-RI The Original GStat
Enabling Grids for E-sciencE EGEE-II INFSO-RI GStat 2.0 Core Concepts Monitor and test the information system Primary goals for GStat: –Detect faults in the information system –Validates the information content –Displays useful information with different views Build a sustainable architecture –Enabling decentralized operations –In a federated environment Redesign GStat in modular way –Reusable components reusable –Multi-location (site/roc) –Multi-application (certification/operations)
Enabling Grids for E-sciencE EGEE-II INFSO-RI BDII Nagios data Graphs snapshot Monitoring Visualization Core Validation Display Validation Scripts Results Entities Glue GStat 2.0 Architecture
Enabling Grids for E-sciencE EGEE-II INFSO-RI Component Descriptions Core –Provides an SQL DB snapshot of the BDII content –Maintains an entity cache of what has been seen Validation –Validates the information content –Provides testing results for visualization or export Monitoring –Detects faults in the information system –Entity DB is used to configure which entities are monitored –Depends on WLCG Nagios sensors (collaboration) –Prepares monitoring data and graphs ready for visualization Visualization –Uses entity DB to generate the main structure –Visualizes the result of validation and monitoring –Provides different views for different user groups
Enabling Grids for E-sciencE EGEE-II INFSO-RI GStat 2.0 Documentation
Enabling Grids for E-sciencE EGEE-II INFSO-RI Example Usage
Enabling Grids for E-sciencE EGEE-II INFSO-RI Nagios
Enabling Grids for E-sciencE EGEE-II INFSO-RI Prototype Displays
Enabling Grids for E-sciencE EGEE-II INFSO-RI Summary Glue 2.0 is coming –The transition will take time BDIII v5 is coming –Needs rigorous testing New testing methods are coming –gstat-validate and ldapbench GStat 2.0 is coming –An instance can be installed for the Cert Testbed –Compatible with Nagios and WLCG –Extensible: You can build things on top! Future work –Focus: addressing scalability and stability