Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Grid and Service-Oriented Computing: The Intergrid Perspective Part II"— Presentation transcript:

1 Grid and Service-Oriented Computing: The Intergrid Perspective Part II
Session #, Speaker Name Grid and Service-Oriented Computing: The Intergrid Perspective Part II Michael Sobolewski Texas Tech 4/20/2017

2 Presentation Agenda – Part II
Session #, Speaker Name 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 4/20/2017

3 Applying OO Techniques
Session #, Speaker Name 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) We need to confront Deutsch’s Eight Fallacies of the Network 1. The network is reliable 2. Latency is zero 3. Bandwidth is infinite 4. The network is secure 5. Topology doesn't change 6. There is one administrator 7. Transport cost is zero 8. The network is homogeneous 4/20/2017

4 Exertion Interface All service activities implement this interface:
Session #, Speaker Name 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; } Service – an act of helpful activity Act – anything done, being done, or to be done Exertion – effort exert() – is an entry point for an activity that sequentially executes: preprocess(), process(), and postprocess() methods. It’s a piece of application code that you want to be run when the service first starts. 4/20/2017

5 Service Peer Interface: Servicer
Session #, Speaker Name 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 } 4/20/2017

6 CME Paradigm * … … … 3 2 2 2 1 1 1 Job Task Service Context
Session #, Speaker Name CME Paradigm 3 e8 2 e3 * e1 2 e7 2 e5 ┤[ ] * e2 1 e6 1 e4 1 A task is the smallest component of an exertion having all the properties of the exertion, consisting of an aggregate of context models and context methods. A job is the activity unit consisting of one or more exertions. Job Task Service Context Service Method 4/20/2017

7 Contexts and Context Methods
Session #, Speaker Name Contexts and Context Methods DAS MAT GEOM PP CC Disk Airfoil LC MAT_RENE5 CC Disk_PRT BC STRESS Shank UIF Gas_Loads Mat_Rene5.dat Disk.prt Cyclic Post_Stress.dat TC AS_PRT ExtGLoads.dat AS_PRT Airfoil.uif Mesh AS_Shank.prt BCCyclic.dat AS_Shank.dat Stress_Tet Mesh A method is an entry point for an application. It is a piece of code that you want to be run when the application starts. A method – something a service provider does (function in structured programming) specified by an interface and a selector with predefined signature. The argument and returned value is a service context. Modal_Hex Stress_Tet 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 Job Task Service Context Service Method 4/20/2017

8 Service Binding Job as a Megaapplication Job Task Context Method
Session #, Speaker Name Service Binding Job as a Megaapplication Job Task Context Method The Java Programming Env Unifies The Java™ virtual machine – Provides a homogeneous platform – Allows object mobility – Insures safety and control • The real WORA payoff is the network – Not porting applications, moving objects Method type: preprocess, process, postprocess, append 4/20/2017

9 Federation of Services
Session #, Speaker Name Federation of Services Job as Runtime Environment Federation Member Job Task Context Method The Java Programming Env Unifies The Java™ virtual machine – Provides a homogeneous platform – Allows object mobility – Insures safety and control • The real WORA payoff is the network – Not porting applications, moving objects Method type: preprocess, process, postprocess, append 4/20/2017

10 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)

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

12 Mechnical Analysis of TB
Actions Data Process Turbine Analysis

13 Web Based User Agent } FiperContext FIPERTask FIPERJob

14 Context Editor Context Name Domain Subdomain Context Node Data Node

15 Task Editor

16 FiperMethod Definition
Task Editor FiperMethod Definition Task Name Context for Task

17 Created Task Task Name FiperMethod FiperContext

18 Job Browser

19 { 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

20 Control Context

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

22 Adding Context to Task

23 Selecting a Task for a Job

24 Monitoring Conceptual View

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

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

27 Monitoring Framework DB State of running SO program updated via DB
service(job) monitor(rJob) Jobber Client1 monitor(rex) service(ex) service(job) p1 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

28 Job Browser Exertion List Job List Launcher Control Panel

29 Control Context Review = Suspend

30 Job Monitor

31 Full Job Edit Capability
Job Monitor Full Job Edit Capability Job Execution Controls

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

33 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

34 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

35 MonitorableDispatcher
Monitoring Framework MonitorableServicer stop(Ueid) suspend(Ueid) resume(Ueid) step(Ueid) 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 Service Provider Providers use session to update information about runtime exertions MonitorableProvider 1 1 MonitorSession init (monitorable, duration, timeout) getState() update(context) done(context) failed(context) getLease() 0..* xxxServiceProvider ServiceTask Jobber Dispatches Exertion with Session Objects 1 ServiceJob invokes MonitorableDispatcher 1 Dispatches exertions in job 1

36 Session #, Speaker Name Service UI A "direct-use" client talks to a service through its object interface 4/20/2017

37 Service UI A user interacts with a service via a UI object
Session #, Speaker Name Service UI A user interacts with a service via a UI object 4/20/2017

38 Context/Method/Task/Job
Session #, Speaker Name Entry Server Site Service Context 0..* Has data Entry Exertion Arithmetic Method Entry ServiceTask 1..* Remote EntryServiceJob Defines remote behavior 1..* ServiceTask ServiceJob Service Method Remote Service Method Exertion Client Site Defines behavior Serializable 4/20/2017

39 Task Execution Servicer Provider Arithmetic Interface Remote
Session #, Speaker Name Task Execution Servicer Provider Arithmetic Interface Remote Arithmetic Remote Runs Unicast Remote Object JavaSpace Provider Worker Service Provider Uses Submits task Arithmetic Method Arithmetic ProviderImpl Sorcer Joiner Publishes Proxy Executes Submits task Invokes Remote ServiceMethod Entry ServiceTask Arithmetic Requestor Requestor Runner Has data Service Context 0..* ServiceTask Drops task Requestor 4/20/2017

40 Job Execution Provider Requestor Service Servlet Jobber Requestor
Session #, Speaker Name Job Execution Provider Requestor Submits job Service Servlet Jobber Requestor Runner Arithmetic Requestor Service Provider <<HTTP>> Invokes Disapatcher Factory Servlet Protocol JobberImpl TaskDispatcher Uses Creates Cataloger Proxy Protocol TaskDispatcher Factory Service TaskDispatcher Service CatalogImpl Uses Sorcer Launcher Provider Accessor Catalog TaskDispatcher Space TaskDispatcher Uses JobBrowser JavaSpace Drops job Service access: Direct, Catalog, Space 4/20/2017

41 SORCER Smart Proxy BL on Client and Server
Session #, Speaker Name SORCER Smart Proxy BL on Client and Server Service Bean Adapter Unicast Remote Object Remote Provider Servicer Uses Provider Worker Service Proxy Service Bean Service Provider Uses Uses Arithmetic Proxy Java Space Delegates to Provider Delegate Arithmetic Interface Arithmetic Service Arithmetic Bean Arithmetic Provider Arithmetic Remote Deploys by QoS Exports Provider Service Provisioner Service Joiner Remote Publishes provider’s proxy 4/20/2017

42 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

43 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

44 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

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

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

47 Self-Aware Grid A grid federation knows what is doing
Session #, Speaker Name 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 4/20/2017

48 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

49 RIO & Autonomous Computing
Session #, Speaker Name 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 4/20/2017

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

51 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

52 Cybernode Jini Service Beans are instantiated by Cybernodes
Cybernodes run on computational resources Cybernodes can contain multiple service beans Address lifecycle issues, including development, deployment, and runtime Provides the basic infrastructure to load, instantiate and destroy Jini Service Beans

53 Cybernode Cybernode Code Server Jini Lookup Service
Platform Attributes Service Bean Attributes Cybernode Download JSB resources Code Server Instantiate JSBs Jini Lookup Service JSBs register with LUS

54 Operational String Aggregated collection of application and/or infrastructure software assets that when put together provide a specific service on the network An Operational String is an object graph composed of objects that provide context on how to provision and instantiate services Can be created by referencing an LDAP repository, serialized objects, or from structured XML documents (there can be many other sources as well) Operational String 0..* ServiceElement 1 ServiceBeanAttributes 1 ServiceProvisionManagement

55 Quality of Service Approach
Software components need to run on most appropriate compute resource based on definable criteria Compute resources have capabilities CPU, Disk, Connectivity, Bandwidth, … Rio provides an extensible model allowing the declarative association of QoS

56 Provision Manager Provide a provisioning model to dynamically deploy, monitor & manage service components as described in an Operational String Implement a Fault Direction and Recovery strategy for service components Provide pluggable load distribution and Resource Cost analysis mechanisms to effectively take use of resources on the network

57 Dynamic Provisioning Jini Lookup Service Discover/join discover
Load an Operational String from disk or via remote method invocation notify Register/update for provision notifications with QoS attribute Service Instantiator Provision Manager Notify ServiceInstantiation resources with a ServiceProvisionEvent based on the assignability of the JSBs QoS to the ServiceInstantiation resources QoS Start a monitor for each service in an Operational String Service Bean Instantiator Fire notification events to event registrants for added, removed, updated Operational String actions as well as failed Provision attempts As needed download JSB class files Instantiate & initialize JSB Code Server

58 Lincoln Provides the capability to enable dynamic discovery of Jini Lookup Services across networks that are out of multicast range, or do not forward multicast packets Multicast Announcement Multicast Announcement JLS JLS Lincoln Lincoln Group A Group B svca svcb

59 RIO Provisioner

60 Lincoln Example Coast to coast discovery
No extra service configuration Key to collaboration Minneapolis, MN Tewksbury, MA Portsmouth, RI Fullerton, CA

61 Developer Facilities Events Resource Pools Watches
Built-in registration and lease handling of user defined events Simple semantic for specifying and discovering events Resource Pools Threads Objects Database Connections Watches Every component is ‘watchable’ Add data points to a collectible set and graph accumulated results

62 Service Beans Service Beans
Summary Jini™ technology-based Service Beans (“JSBs”) are the fundamental domain specific computational entities on the network Are provisionable based on their QoS attribute Jini technology-based Service Beans are instantiated by Cybernodes Cybernodes run on computational resources Cybernodes can contain multiple service beans

63 Provider Bootstrapping
Session #, Speaker Name Provider Bootstrapping Bootstrapping Type Server Type NDS Technology java SorcerJoiner -sProviderClass RMI server (JRMP/IIOP) JNDI/RMI Reg JNDI/LDAP RMI/CORBA -pProviderClass Service provider (Jini) LUS Jini -pProviderClass:ProxyClass with smart proxy Provisioning (Rio) JSB Rio/Jini 4/20/2017

64 Command Design Pattern
5 RemoteOutputStreamServer 6 4 1 Cmd 1 3 Cmd 2 File System 2 Cmd Manager Cmd 3 FileStoreProvider 2 ACLManager Cmd 4 JDBC RDBMS Cmd 5 1 API Classes 3 4 Utility Classes 5 6 RemoteInputStreamServer 1, Requestor requests FSS provider for file upload/download based on DocumentDescriptor 2, FSS forwards it through the command execution engine 3, Database operations are done 4, FSS spawns a RemoteOutputStream/RemoteInputStream server based on-if client wants to upload/download and returns back the InputStram/OutputStream adapter inside DocumentDescriptor 5, Client communicates to server via OutputStreamProxy and uploads file. 5, Client communicates to server via InputStreamAdapter and downloads file.

65 FileStore Clients Interactions
SORCER Distributed File System File System (Linux) File System (UNIX) File System (Win 2003) FileStorer SORCER Service ORACLE MS SQL mySQL DBMS DBMS FileStorer SORCER Service FileStorer SORCER Service DBMS Servlet Engine Browser JVM Standalone JVM Program JVM Clients Client request is passed on from one server to another until one of the File Store service has the file actually present in its File System and the handle of file is passed onto client.

66 Document Descriptor Remote InputStream OutputStream FileStorer
getInputDescriptor(DocumentDescriptor) getOutputDescriptor(DocumentDescriptor) RemoteInputStreamServer RemoteOutputStreamServer contains contains InputStreamAdapter OutputStreamProxy contains DocumentDescriptor documentID documentName folderPath outputStream inputStream contains

67 Document Descriptor: Details
Remote InputStream OutputStream read( ): int read( byte[] ): int read( byte[], int, int): int write( int ) write( byte[] ) write( byte[], int, int) RemoteInputStream read( int ): byte [ ] write( int ) write( byte[] ) write( byte[], int, int) RemoteOutputStream FileStorer getInputDescriptor() getOutputDescriptor() contains InputStreamAdapter OutputStreamProxy contains read( ): int read( byte[] ): int read( byte[], int, int): int write( int ) write( byte[] ) write( byte[], int, int) contains DocumentDescriptor contains setDocumentID(String) setFolderPath(String) setDocumentName(Name) setPrincipal(GAppPricipal)

68 Servlet Engine vs. FileStore Provider GApp Servlet Engine FS Provider
Download Servlet Engine FS Provider HTTP JRMP ApplicationServlet RemoteInput StreamServer Uses Uses GApp Uses RemoteOutput StreamServer UploadServlet HTTP JRMP Upload

69 B2B Setup ... 1 2 3 4 7 8 5 6 Parker Internal Network
CRD Internal Network GRC HTTP Proxy Server Web Browser FIPER Intraportal 1 2 CRD Perimeter Network Controlled by Firewall 3 4 GRC SSL ExtraPortal 7 8 Parker Perimeter Network controlled by Firewall Parker HTTP 5 6 Parker SSL Extraportal GRC Firewall Parker Internal Network Parker Firewall

70 Nozzle Combustor CAD/IO B2B
Session #, Speaker Name (UG) (ProE) 1. Update combustor PCS IKS 2. Request for nozzle validation 5. Perform CFD blow analysis 4. Perform modal analysis 3. Check for nozzle insertion (Blow Analysis) 4/20/2017

71 Vertical iGrid Grids Exertions – iGrid.space SS Beans – iGrid.field
Service Providers – iGrid.grid SORCER.grid Cybernodes – iGrid.mesh SORCER.core Computing Devices – iGrid.net iGrid.grid – service providers including services from technology (horizontal) grids SORCER.core – SORCER infrastructure service providers SORCER.grid – SORCER domain specific service providers

72 iGrid Layered Architecture
Generic End-User Client/ServiceUI Service-Oriented, Grid-Programming and Development Tools iGrid Application Service-Oriented Programs Domain iGrid Services Service-Oriented Computing EnviRonment (SORCER.core) iGrid Middleware Technology-Oriented (Horizontal) Grids

73 Horizontal iGrid Grids
Wrapper + Native + SORCER SORCER.ogsa SORCER.jxta SORCER.grid SORCER.grid SORCER.core JXTA OGSA Service Requestor Service Broker SORCER Service Provider SORCER Wrapper Provider Native Provider Technology SORCER wrapper-grids: Jini, JXTA, CORBA, Web Services, Grid Services, .NET SORCER.grid Technology native grids

74 SGrid Dispatcher UI Choose the Application to run (For example Proth)
Specify the Job Size for the jobs Set the Arguments, Attributes and Executables for the application

75 Arguments Specify Arguments, Input Files, Output Files for the Application Can be added above or below the selected option Can be reordered according to user’s requirement (Up, Down, Delete buttons)

76 Executable Attributes
Specify which caller to use for execution, depending upon its Location (HPCC, SORCER) Host Name ( ) Operating System Node Name (Amber) ‘*’ is the default option which indicates that the application can be run by any caller in the Federation

77 Executables - Windows Specify Windows Executables and Library Files
Session #, Speaker Name Executables - Windows Specify Windows Executables and Library Files The files can be dynamically downloaded from File Store 4/20/2017

78 Grid Provider A Grid Provider is responsible for
Session #, Speaker Name Grid Provider A Grid Provider is responsible for SGrid Publishing ServiceUI Accepting user inputs and creating a Job Submitting the Job to Jobber Receiving results, notifying client, getting inputs and storing results in the File Store Advantages of such a design User friendly with respect to the Job Editor UI Zero install with a Jini service browser and a web-based File Store user agent 4/20/2017

79 Caller Provider A Caller receives a caller service context that abstracts any system call across different platforms (Solaris/Linux/Windows) Callers are capable of Downloading platform specific executable binaries and libraries Downloading source and compile it on-the-fly Make system calls with arguments specified in the service context Callers download/upload files from/to the SORCER File Store Provider

80 Caller Service Context
program call cmd dir parameters exec type win/linux/unix isOveritable x src[ ] bin[ ] arg[ ] lib[ ] load lib[ ] compiler envp[ ] String src/bin/bytecode/call x array attribute <attribute name>[ ] URI in[ ] out[ ]

81 SORCER URIs A generic way to represent any resource in SORCER.grid
Session #, Speaker Name SORCER URIs A generic way to represent any resource in SORCER.grid URLs sorcer://<authority>/<prv interface>/<prv name>?<query> - authority is a network host - query is a list of additional provider’s published attributes URNs sorcer:<prv interface>/<prv name>?<query> sorcer:serviceID?<query> SORCER File Store URNs are in the format: sorcer:sorcer.core.FileStorer/<FS name>?folder=<folder name>&file=<file-name> or sorcer:FileStorer?folder=<folder name>&file=<file-name> sorcer:FileStorer/HPCC?folder=<folder name>&file=<file-name> - with no interface qualification used it is assumed that the interface is from sorcer.core.* 4/20/2017

82 Proth’s Theorem Proth's Theorem (1878): Let N = h.2k+1 with 2k > h.
If there is an integer a such that a (N-1)/2 = -1 (mod N), then N is prime.

83 SORCER Proth Interactions
Session #, Speaker Name SORCER Proth Interactions Caller Caller Caller Caller Caller Caller SORCER.space SORCER.grid Jobber Get results Submit Job Get inputs Store outputs File Store Portal Grid Dispatcher File Store Provider Download ServiceUI Download outputs Submit Proth Job Get results Upload inputs Upload inputs Jini Service Browser – download Proth ServiceUI Mail Reader – get notifications Web Browser – download/upload files Mail Reader – get notifications 4/20/2017

84 Running Proth

85 FSS Web User Agent

86 Distributed BLAST in SORCER
Introduction BLAST (Basic Local Alignment Search Tool) is a sophisticated software package used in Bioinformatics and Sequence Analysis for rapid searching of nucleotide and protein databases BLAST is powerful and has been optimized for performance; however the public sequence databases are big and growing rapidly . Thus, it takes a huge amount of computer resources to search sequence queries in a large database As a solution to this problem we provide an implementation of BLAST in a distributed environment using SORCER Goals To increase performance by making the BLAST Process Distributed and sharing idle CPU and other resources Focus on high throughput of large numbers of submissions instead of high performance on any single job Provide a working system that is easy to Install and Use Heterogeneous network- provide a portable system that can be installed on different Compute devices The Business Logic is separate from the whole framework. All Libraries and Business Logic Code is Downloaded. Self-healing environment, can overcome crashes i.e. fault detection and recovery Enable large batch BLAST processes distributed over regular WAN or LAN

87 S-BLAST Interactions SORCER.grid Tasker Tasker Blast Provider Tasker
Session #, Speaker Name S-BLAST Interactions Tasker Tasker Blast Provider Tasker 7’’’ 7’’’’ 6’’’’ 6’’’ Jobber 6’’ 7’’ 6’’’’’ 6’ Tasker Tasker SORCER.space 7’’’’’ 7’ 5 SORCER.grid Jobber 8 9 Jobber 4 File Store Portal Blast Provider 3 File Store Provider 10 1 - Download S-BLAST service UI 2 - Submit S-BLAST data 3 - Read Input files 4 - Submit job 5 - Write tasks 6 - Read task 7 - Write task 8 - Read tasks 9 - Return job 10 - Store results 11 - Download outputs Download outputs 1 Upload inputs 2 Upload inputs 11 Jini Service Browser – download S-BLAST service UI Mail Reader – get notifications Web Browser – download/upload files Mail Reader – get notifications 4/20/2017

88 Downloads service proxy
Accessing SORCER.grid Mobile client Gateway 1 Request service 4 Gets service Jobber Transfers results 6 5 Renders service LUS Registers services using service proxy Discover service 2 SORCER.grid Downloads service proxy 3 SORCER service Service proxy Service oriented program

89 Mobile Devices Support
Session #, Speaker Name Java 2 Enterprise Edition Java 2 Standard Edition TV Profile Personal RMI Profile TV Profile Car Profile Auto Profile Auto Profile TV Profile Handheld Profile MID Profile Foundation Profile Smart Card Profile J2ME CDC J2ME CLDC HotSpot CVM KVM Card VM 4/20/2017

90 Vertical Grids of iGrid
xmlExertions–iGrid.xml Exertions – iGrid.space Web Services – iGrid.ws Service Providers – iGrid.grid SORCER.grid Cybernodes – iGrid.mesh Application Servers – iGrid.srv SORCER.core Computing Devices – iGrid.net iGrid.grid – service providers including services from technology (horizontal) grids SORCER.core – SORCER infrastructure service providers SORCER.grid – SORCER domain specific service providers

91 Other Exported Service Inter-connect Specific Code
Surrogate Services SORCER.grid Jini Capable Machine Surrogate Host Private Protocol Exported Service Other Exported Service Inter-connect Specific Code HTTP/HTTPS

92 Provide Service Service UI Interaction Using Private Protocol
Mr. X Request Request SORCER Calendar Service Created Deploy Calendar Service Surrogate Client Request Interaction Using Private Protocol Deploy Calendar Service Service UI Mr X service Get me Calendar of Mr. X SORCER.grid Jobber Service Oriented Program SORCER service Deployed SORCER SUROGATE Service

93 SORCER-Web Service Gateway
Web Service to SORCER Service Cataloger Exertion Space Jobber SORCER.grid 3’’ 3’’’ UDDI 1 SORCER-Web Service Gateway 2 3’ Application Servers iGrid.srv

94 SORCER – Web Service Gateway
SORCER to Web Service 2 Service Cataloger Exertion Space Jobber SORCER.grid 3 UDDI 4 SORCER – Web Service Gateway 5 1 Web Service Application Servers iGrid.srv

95 SO Context Providers M A P M A P
Reconciled Context M A P Reconciled Context Miner EDS CDS CDS EDS FSS EDS EDS SORCER.grid EDS EDS – Elementary Data Store Provider, CDS – Compound Data Store Provider

96 Innovate or Die Years Durability of Competitive Advantage 5 4 3 2 1
Improve engineering Reduce product Create a productivity 10%-20% development “Category Killer” cycle time by 30% Product

97 Technology Evolution Electric Power Mass Adoption Public Recognition
Session #, Speaker Name Technology Evolution Electric Power Mass Adoption Public Recognition Early Adopters Lab 4/20/2017

98 Grid Killer Application
Generator - electric bulb Power grid – lighting and electric appliances Microprocessor - PC (spreadsheets, editors) Client/server – web browser (documents) Grid – service browser (services)

99 Next Medium? Time Technology Medium 1950 TV Broadcast 1980
Session #, Speaker Name Next Medium? Time Technology Medium 1950 TV Broadcast 1980 Time sharing 1990 Client/Server WWW 2000 Grid Computing ??? Next Revolution Already Started Object Web? Service Web? Peer Web? Federated Web? 4/20/2017

100 Service Browsers Continuous discover of services
List of actually available services Service properties Service UI Admin Service UI Available for mobile devices Integrated with Web Browser?

101 Inca X Service Browser

102 MIDP Service Browser

103 Blitz Dashboard

104 SORCER Research Domains
Service-Oriented Programming Mission: To address research issues in utilizing network objects to execute a network-centric and reliable control strategy of a grid-based program. Service-Oriented Computing Environment Mission: To develop architectural innovations by distributing service and context providers with grid infrastructure providers to enable execution of service-oriented programs. Service-Oriented Programming Development Tools Mission: To improve service-oriented programming and software deployment by improving the methods used to create, test, debug and monitor execution of such programs. Service-Federated  Assurance and Security Mission: To study the cryptography and information security to secure service-oriented grid environments. Self-Aware Service Federations Mission: To develop technology that facilitates self-awareness of intelligent service federations. To build and investigate high-performance, practical self-healing software systems for service-federated environments. Autonomic Service Federations Mission: To conduct research that combines computer science and biology and facilitates self-management of very complex service-federated environments. Service Federated Grids Mission: To lead the object-oriented federated services to its full potential by developing common protocols integrated with grids that promote its evolution and ensure its operability.

105 Theses and 4-blockers Autonomic Management and Monitoring of SO Programs Sekhar Soorianarayanan (Dr. Mike Sobolewski (chair), Dr. Phil Smith, Dr. Noe Lopez Benitez)   Mobile Computing Environment with SORCER Surrogate Services Ravi Malladi (Dr. Mike Sobolewski (chair), Dr. Phil Smith, Dr. Per Anderson)   A Surrogate Framework for Personal Profile Devices Mukundan Desikan (Dr. Mike Sobolewski (chair), Dr. Hector Hernandez, Dr. Jean Strahlendorf)   A Framework for Integrating SORCER with Web Services Pathangi Rama Krishna Rao (Dr. Mike Sobolewski (chair), Dr. Phil Smith, Dr. Hector Hernandez)   Integrating SORCER with RPC Style Web Services Kiran Masapari (Dr. Mike Sobolewski (chair), Dr. Hector Hernandez, Dr. Yu Zhuang)   Service-Oriented Data Mining in SORCER Timmayya Kalappa Ame (Dr. Mike Sobolewski (chair), Dr. Susan Mengel, Dr. Hector Hernandez)   Agent-based Metamodeling Sandhya Madireddy   SILENUS - SORCER Integrated Local New User's Storage Max Berger

106 Session #, Speaker Name Michael Sobolewski 4/20/2017


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

Similar presentations


Ads by Google