Download presentation
Presentation is loading. Please wait.
Published byLesley Norton Modified over 10 years ago
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
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.