CNGrid Software Progress Zhiwei Xu Institute of Computing TechnologySoftware Team Chinese Academy of SciencesChina National Grid EU Grid At Asia Workshop June 23, 2005, Beijing
Contents CNGrid Software Objectives Approach and Roadmap Status Software Development and Applications Research Focus and Techniques Ideas for EU cooperation
CNGrid Software Objectives Support applications in four areas Connect distributed resources into single system images: eliminate silos Mask resource heterogeneity and distribution Automate common requirements Reduce lifecycle cost of distributed applications, thus enabling sharing and cooperation
CNGrid Software Distributed Resources and Services App Scope of CNGrid Software Science Research Manufacturing Resources and Environment Services Sector
Connectivity, Transparency, Automation SPARC Oracle Solaris IA-32 MySql Linux Power4 WebSphere AIX VLIW GIS HP-UX AMD SQL Windows MatLab PDESolver Simulator Analyzer Data Miner Single System Image Application Grids CNGrid Software provides automated common supports
Web Browser C/S Client Other Client GOS API and Utilities Vega GOS Constructs and Services Resource Info Resource Mgmt Jobs User Monitoring Accounting Data GOS Kernel Apache, OMII, GT4, Effective Resources Virtual Resources HPCStorageDatabaseSoftwareFiles Physical Resources GT Services Web Services CNGrid Software OGSA Platform Layer Grid Portal Web Style Grid Portal C/S Style Other Style GridSecurityGridSecurity Grid Portal GriDaEn Grishield Vega GOS
GOS Constructs GR GSML Page Client Effective Virtual Physical Internet GSML Page Grip1 Grip2 Grip3Grip4 Grid Operating System GOS Kernel, Core, Libraries, Utilities Beijing Node GS GR Shanghai Node GS GR Xian Node GS Server Physical Resource GR Grid Router GS Grid Switch Agora 1 Agora 2 Mapper Composer Composing Mapping Dawning Dagger Effective Resource Virtual Resource
Grishield: CNGrid Security End-to-End From user log-on to physical resource execution Details are hidden from user/developer Based on WS-Security Cert based authentication; Token based authorization & AC; signature Web uCert Portal/Server uid/pass Grip Container Agora pCert Phy SvcPhy SVC pCert uTK pCert uTK pCert uTK pCert uTK UserResAA uTK Other Client pCert uCert
GridDaEn: Grid Data Engine System level service of GOS developed by NUDT Provide uniform data operations over global namespace Browser Grid Portal Engine Grip Container Agora Service DRB Service Grid Application uCert user cert u_p uTK DRB Service DRB Service DRB Service Grid Portal
GridDaEn: Grid Data Engine Global logical view Utilize a uniform three-level naming scheme that shields users from low-level heterogeneous storage resources Provide global logical view of data resources in multiple domains for users Uniform access Provide a set of uniform APIs and SDKs to access and manage geographically distributed data resources. Federated services A distributed structure: distributed DRB (Data Request Broker) and distributed MDIS (Metadata Information Server) Several DRBs combined to provide federated services Distributed data replication and caching
Grid Data Engine
Vega GOS
Vega GOS and OGSA V1.0 Vega is an implementation of (part of) OGSA Vega would like to contribute to OGSA After implementation and testing (running codes) Loose coupling Partner with other groups Focus on 4 key issues and aim at minimal common requirements Naming, Process/States, VO, Programming Vega complements existing grid projects Focus on implementation architecture, not protocols/services Use computer systems approach, not middleware or network Utilize existing software At Vega GOS kernel level –Apache; OMII, GT4; Commercial As services At Vega GOS application level
Naming in OGSA and Vega GOS Vega matches OGSA 3-level naming convention OGSA Human-OrientedAbstractAddress Vega (EVP) EffectiveVirtualPhysical As the primary way for virtualization OGSA Naming specification must include Precise definitions and axioms Syntax and semantics (rough consensus) Who provides, uses, and maintains such names Scoping and name/address space Lifecycle and exception handling Mapping, resolution, binding Provision for resources
PT(V1E1) Layered Resource Naming And Mapping PRes1P2 P3 Router1 P4 Router2 Service Container AService Container B V2V3 V4 ERes1 E2E3 PT(V2E1) PT(V3E2) PT(V2E2) PT(V4E3) Agora1 VRes1 vres://router_name:res_v_name Agora2 eres://an:ren eres://agora_name:res_e_name Effective resource Virtual resource Physical resource Top Layer (Agora) Overlaps Bottom Layer (Router)
VO in OGSA and Vega GOS There is no precise definition of VO in OGSA Agora is a concrete example of VO (community) Agora has a precise definition, and it holds Subjects, objects, context/policies information Agora-related system services Agora is persistent and static Application programmer knows the agora concept, but agora does not appear in app codes
Inner Structure of Agora Tomcat+Axis Agora Access Control Mechanism Authorization Engine Resource Mgmt. ClientUser Mgmt. Client User Login Resource Authorization Resource Mgmt. Interface User Mgmt. Interface Resource Mgmt. ServiceUser Mgmt. Service RoleProxy User Name profile ERes Mapping VResPT Tomcat+Axis AAA Client Authorization Authority Service AC Policy Mgmt. Resource Selection
Process/States in OGSA and Vega GOS There is no process concept in OGSA 1.0 Grip is distributed process in grids environment A runtime construct representing a subject (a grid user running a grid application) to access and utilize objects (grid resources and services) Classification of states Session related Application logic specific Grid system related Resource related Service specific Grip
Physical Service Grip create Agora Service grip uid/pass Proxy, Profile bind ERes name VRes name, Token, PT invoke Physical Service getResult grip Network of Resource Routers authentication resource selection resource authorization resource locating service invocation return cache close uCert, Profile uCert Profile VRes Token PT uCert Profile VRes Token PT PRes Ret uCert Profile VRes Token PT PRes
Core and Kernel Put It Together Web Grip User, App Logic Address Space, States Agora Policies: Security and Selection Phy SvcPhy SVC Other Client System Services Resource Services UI and Utility Tools Common Supports not per-service or per-application codes Follow the E2E and KISS principles Loose coupling; Hide details, reduce coding; Try to minimize abstractions 4 abstractions: User, (Effective) Service, Grip, Agora 5 API functions
GSML : Grid Service Markup Language Main Constructs of the language: Pipes are software components consuming various resources (include services). At runtime, pipes are independent, concurrent, event-driven processes (or threads). The only way for interacting with pipes is sending events to or intercepting events from them. A new programming language for end users XML-based, descriptive rather than imperative Event-driven model Component-based design Focus on interaction
GSML Software Suite: A WYSIWYG Composer Edit Area Event Properties Resource Repositories
Resource Information Monitor E-learningCollaboration GSML: Demo Applications Digital library
GSML:A Simple Example untitled wsdlLocation portName StockQuoteSoap ….
Aviation and Space Simulation Computing
Biological Computing - Genome Sequence Tracing
Geological Computing - Underground Water Evaluation
CNGrid Software Roadmap in previewSample Apps alpha betaCNGrid Apps CNGrid Deploy on OMII and GT CI6016 & GCC 2005 Exhibit
Suggestions for EU Cooperation Infrastructure Projects Connect China National Grid to EU grids CNGrid Software to connect resources and applications Research Projects Net-centric OS Architecture Key OS abstractions and constructs (Naming/Virtualization, VO, Grip) Exception handling Optimization Programming Environment Language and tools Debugging