1 / 105

Grid and Service-Oriented Computing: The Intergrid Perspective Part II

Grid and Service-Oriented Computing: The Intergrid Perspective Part II. Michael Sobolewski Texas Tech sobol@cs.ttu.edu. Presentation Agenda – Part II. Grid Federated S2S Environment GISO Programming Monitoring Execution of SO Programs ServiceUI Provisioning and Autonomic Computing

ludwig
Télécharger la présentation

Grid and Service-Oriented Computing: The Intergrid Perspective Part II

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Grid and Service-Oriented Computing:The Intergrid PerspectivePart II Michael Sobolewski Texas Tech sobol@cs.ttu.edu

  2. Presentation Agenda – Part II • Grid Federated S2S Environment • GISO Programming • Monitoring Execution of SO Programs • ServiceUI • Provisioning and Autonomic Computing • Design Issues – UML Class Diagrams • Code Mobility in SORCER • File Store Service • SGrid and Intergrid • Surrogate Architecture for Mobility • Web/Grid Services in SORCER • DB Context Providers • A Grid Killer Application • SORCER Research Projects • Summary

  3. Applying OO Techniques • Service activity is a special object of type: Exertion • Exertions are executed by network objects/service providers of type: Servicer • Service providers form P2P environment • Service is requested by calling the method: service(Exertion) • Service providers are identified by a type with methods: public ServiceContext selector(ServiceContext)

  4. Exertion Interface • All service activities implement this interface: public interface Exertion { // Apply this exertion method to the specified context public Exertion exert() throws RemoteException, ExertionException; … }

  5. Service Peer Interface: Servicer • All services implement this interface: public interface Servicer { // Put into action the specified exertion public Exertion service(Exertion exertion) throws RemoteException, ExertionException; // Monitoring methods … }

  6. Contexts and Context Methods Job Task Service Context Service Method DAS MAT GEOM PP CC … Disk Airfoil LC MAT_RENE5 CC STRESS Disk_PRT BC Gas_Loads Mat_Rene5.dat Shank UIF Post_Stress.dat Disk.prt Cyclic ExtGLoads.dat TC AS_PRT AS_PRT Airfoil.uif Mesh AS_Shank.prt BCCyclic.dat AS_Shank.dat Stress_Tet Mesh Stress_Tet Modal_Hex • ServiceMethod • ScriptMethod • XYZMethod AS_Shank.dat AS_Shank.dat AS_Shank.dat ContextMethod attributes: service type, selector, group, provider name, method type Method type: preprocess, process, postprocess, append TC – Task Context, CC – Control Context

  7. Service Binding Job Task Context Method Method type: preprocess, process, postprocess, append Job as a Megaapplication

  8. Federation of Services Job Task Context Method Method type: preprocess, process, postprocess, append Job as Runtime Environment Federation Member

  9. GISO Programming Grid Interactive Service-Oriented Programming Generic End-User Client Service-Oriented, Grid-Programming and Development Tools Service-Oriented Programs Domain Services Service-Oriented Infrastructure Services (SORCER.core)

  10. Job Structure FiperJob Exertion FiperTask Airfoil FiperMethod FiperMethod FiperContext FiperContext … Exertion FiperTask Platform FiperMethod FiperMethod FiperContext FiperContext Shank . FiperMethod . Dovetail ControlContext Turbine Blade Solid Geometry

  11. Mechnical Analysis of TB Process Turbine Analysis Actions Data

  12. Web Based User Agent } FiperContext FIPERTask FIPERJob

  13. Context Editor Context Name Domain Subdomain Context Node Data Node

  14. Task Editor

  15. Task Editor FiperMethod Definition Task Name Context for Task

  16. Created Task Task Name FiperMethod FiperContext

  17. Job Browser

  18. Job Editor Operations Domain Subdomain Job Name { Job Tasks Create a new Job and add to Job Create a new Task and add to Job Task Editor Features Job Editor Features Browse & Add Task to Job Browse & Add Job to Job

  19. Control Context

  20. Job Context Job Task 0 Context0 Task1 Context 1 Drag and Drop shows that this Input will come from task0, AutoShank Output Node

  21. Adding Context to Task

  22. Selecting a Task for a Job

  23. Monitoring Conceptual View

  24. Monitorable Interface All ServiceProviders are Monitorable to monitor, control execution and debug SO programs

  25. Execution States of Exertions Running Done Failed Suspended Error Initial Deleted resumestep suspend resumestep stop run • ServiceProvider – Exertion Status Map (ESM) • Jobber – Dispatcher Thread Map (DTM) • Exception/Errors returned in ServiceContexts

  26. p1 p1 p1 Monitoring Framework service(job) monitor(rJob) Jobber service(ex) Client1 monitor(rex) service(job) WebPortal monitor(rJob) DB Client2 Persister • State of running SO program updated via DB • Clients can monitor the SO program via web portal • Clients can stop/resume/suspend • Monitoring requests are handled by Service Broker

  27. Job Browser Exertion List Job List Launcher Control Panel

  28. Control Context Review = Suspend

  29. Job Monitor

  30. Job Monitor Full Job Edit Capability Job Execution Controls

  31. MO - Complete Framework Monitor ServiceUI session Persistent session session Transient session session session session session SOP = { sop1, sop2, …..} Or = sop-x , x=1,2,…… Session Manager UI Manager Monitor Manager register (RemoteEventListener duration, timeout SOP) : RuntimeExertion update(..) stop(..) error(..) 1 4 2 notify (Monitor Event) For (every sop-x) x=0,1,2,… Init (cookie, monitorable, duration, timeout) 5 Monitorable Service Broker Monitorable Monitorable 3 SOP execute ( sop-x) Federation Service Requestor

  32. Result or Failure Notification session session session session Monitor Manager update(..) stop(..) notify (Monitor Event) 8 9 Monitorable Service Broker Monitorable Monitorable 7 execute ( sop-x) Service Provider

  33. Suspend/stop/resume a Job 1 suspend/stop/resume job(……) Monitorable Servicer 2 suspend/stop/resume job(……) Monitorable Servicer 3 notify (Monitor Event) Monitorable Servicer Monitorable Servicer Service Broker Monitorable Servicer Monitorable Servicer

  34. Monitoring Framework MonitorableServicer • stop(Ueid) • suspend(Ueid) • resume(Ueid) • step(Ueid) MonitorSession • init (monitorable, duration, • timeout) • getState() • update(context) • done(context) • failed(context) • getLease() MonitorUIManager • getSOPInfo(Principal) • getSOP(referenceID, • Principal) Servicer . Issues Monitorable calls MonitorManager SessionManager • register (leaseDuration, • job, • listener) • init(cookie, monitorable, • duration, timeout) • update(cookie, context) • done(cookie, context) • failed(cookie, context) Remote Event Listener Registers and gets back Runtime Job Providers use session to update information about runtime exertions Service Provider 1 MonitorableProvider 1 0..* xxxServiceProvider ServiceTask Jobber Dispatches Exertion with Session Objects 1 ServiceJob invokes MonitorableDispatcher 1 1 Dispatches exertions in job

  35. Service UI A "direct-use" client talks to a service through its object interface

  36. Service UI A user interacts with a service via a UI object

  37. Context/Method/Task/Job Entry Server Site Service Context 0..* Entry Exertion Has data Entry ServiceTask Arithmetic Method 1..* EntryServiceJob Remote Defines remote behavior 1..* ServiceJob ServiceTask Remote Service Method Service Method Exertion Client Site Defines behavior Serializable

  38. Task Execution Servicer Provider Arithmetic Interface Remote Arithmetic Remote Unicast Remote Object Runs Provider Worker Service Provider JavaSpace Uses Submits task Arithmetic ProviderImpl Arithmetic Method Sorcer Joiner Publishes Proxy Submits task Executes Invokes Arithmetic Requestor Entry ServiceTask Remote ServiceMethod Requestor Runner Has data 0..* Service Context ServiceTask Drops task Requestor

  39. Job Execution Provider Requestor Submits job Service Servlet Jobber Arithmetic Requestor Requestor Runner Service Provider <<HTTP>> Invokes Disapatcher Factory Servlet Protocol JobberImpl TaskDispatcher Uses Creates Cataloger Proxy Protocol TaskDispatcher Factory Service TaskDispatcher Service CatalogImpl Uses Sorcer Launcher Catalog TaskDispatcher Space TaskDispatcher Provider Accessor Uses Drops job JobBrowser JavaSpace Service access: Direct, Catalog, Space

  40. SORCER Smart ProxyBL on Client and Server Unicast Remote Object Remote Service Bean Adapter Servicer Provider Uses Provider Worker Service Proxy Service Bean Service Provider Uses Uses Arithmetic Proxy Delegates to Java Space Provider Delegate Arithmetic Interface Arithmetic Bean Arithmetic Provider Arithmetic Service Arithmetic Remote Exports Provider Deploys by QoS Service Joiner Service Remote Provisioner Publishes provider’s proxy

  41. Mobility • Mobility stems from desire to move either toward resources or away from scarcity • Mobility of computing entities • Physical mobility • Computers • Logical mobility • Running user application (active process) • Migrate within a local cluster of computers • Enable load distribution and fault resilience • A mobile agent • Migrate anywhere on the Internet • Act on the user behalf to pursue specific goals • Mobile code • Applets • MIDlets • RMI/Jini/Rio/SORCER

  42. Mobile Agents • A mobile agent – a network application that migrates in a network (grid) • Active • Autonomous • Goal-driven • Acting on behalf of a user • Stationary agents • Intelligent agents • Multi-agent systems

  43. Agents and Mobile Code • Mobile code solves problems • Heterogeneity (platform independence) • Dynamic class loading • Security and safety • Multi threading support • Object serialization • Reflection • Universal availability of JVM • A large number of docking stations

  44. Mobile Code SORCER Code Mobility has many forms • 1. Proxies • Exertions • Task Methods • Agents • SORCER Beans (JSBs) • Service UIs

  45. Agents in SORCER Agent Remote act Bootstraps Uses Stores Restores RemoteAgent ObjectLogger AgentBootstrap Dropper Uses Jobber Self SelfAgent Uses RequestorRunner ServiceProvider think 1..* 1..* Provider Requestor TaskAgent JobAgent doTask stopTask doJob stopJob suspendJob resumeJob stepJob getTask getJob 1..* Uses Uses EntryMethod EntryTask EntryJob 1..* ServiceMethod ServiceTask ServiceJob Servicer Agents 1..* Uses Uses service SORCER Providers JDK 1.4 objects Exertion ServiceContext Uses preprocess process postprocess JDK1.1 surrogate Limited objects EntryExertion Entry Uses

  46. Self-Aware Grid • A grid federation knows what is doing • Learn from experience and adapt to surprises • Is aware of its behavior and explain itself • Is able to anticipate different scenarios and predict and plan for novel futures • It would learn, not crash, when faced with a new situation • Self-testing, self-debugging, and self-explaining within a federation

  47. What is Rio? • A Dynamic Service Delivery architecture based on the capability to provision services through the network using Qualitative and Quantitative QoS attributes • Addresses essential issues for the development of a dynamic self healing services environment

  48. RIO & Autonomous Computing • Dynamic, Distributed systems • - Capability to adapt to unforeseen changes on the network • - Driven by increasing componentization, distribution & heterogeneity • Scale to orders of magnitude • Dynamic Policy driven systems • - Injecting rules & policies into the service fabric allowing greater automation, scalability and controlled behavior • Telemetry • - Being able to monitor, meter, gauge and observe stimulus through the system • - Not just machine based, but network-wide

  49. Rio Architecture Overview Tools Development & Assembly Jini Service Beans Federation Resources Assimilation Integration & Interoperability Dynamic Container Substrates Dynamic Provisioning JavaTM 2, JiniTM

  50. Jini Service Bean Basics • Jini Service Beans (JSBs) are the fundamental domain specific computational entities on the network • JSBs are Java objects • JSBs can encapsulate access to NDI (legacy) components • Provides an easy to use programming model while maintaining access to low-level APIs • Are provisionable based on their QoS attribute

More Related