Service-Oriented Programming with Federating Jobbers Master Thesis ...

Service-Oriented Programming with Federating Jobbers Master Thesis Proposal, Oct. 5, 2006 Michael Alger Dr. Michael Sobolewski Dr. Ray Kolonay Michael Alger algerm@cs.ttu.edu http://www.cs.ttu.edu/~algerm Presentation Goal Understand how to increase the expressive power of Service-Oriented programming and extend its runtime execution. Beginning 2 Michael Alger Learning Objectives • As a result of this presentation, you will be able to understand: – Service-Oriented Programming Methodology – SORCER SO Programming – How to improve the capabilities for a SO Programming – How to improve SO Programming runtime execution Beginning 3 Michael Alger Speaker’s Qualifications • Michael Alger is a computer science graduate student at TTU and planning to defend by Fall 2006 • Received BS in Computer Science in Spring 2004 at TTU • Interests are in Distributed Computing, JavaSpaces, Sun’s Jini Technology, Service-Oriented Architecture, SORCER Beginning 4 Michael Alger Presentation Agenda • Evolution of Computing • Service-Oriented Programming Methodology • Problem Statement • Proposed Solution • Benefits • Validation Case • Future Work • Summary • Timeline Beginning 5 Michael Alger Evolution of Computing From single computer… Service-to-Service Peer-to-Peer • • • • • • • virtual overlay network interactive SOP federated SO execution secure self-healing autonomic heterogeneous Web-based computing Client-server silos 6 Michael Alger Evolution of Programming Languages • Machine/Virtual Machine 21 40 16 100 163 240 … iload iCount bipush 100 … • Assembler • High-level language if (iCount > 100) … All programming languages provide abstractions High Level Assembly Language Machine Code 7 Michael Alger Progress of Programming Abstraction Problem solving: mapping problem space to solution space • Fortran, Pascal, C - Procedures • Lisp - List • Prolog - Logical decisions • Smalltalk, C++, Java - Objects • SORCER SO Programming - represents solution elements as distributed network objects (services) 8 Michael Alger Service-Oriented Architecture Model Service Registry Provider Proxy Service Requestor Execute Service Provider Provider Proxy 9 Michael Alger Network Visualization Service Registry Service Provider Service Requestor 10 Michael Alger The Computer is the Network Need to Address the following: 1. 2. 3. 4. 5. 6. 7. 8. The network is unreliable Latency is never zero Bandwidth is finite The network is not secure Topology does change There are many administrators Transport cost is not free The network is heterogeneous Service-Oriented Programming: Utilize distributed network objects (services) 11 Michael Alger SO Programming Model • Distributed Transactions – ACID – 2-phase commit • Distributed Leases – Time-based resource management – Distributed garbage collector • Distributed Events – Event-based notification to services • Distributed security – – – – 12 authentication authorization confidentiality proxy verification Michael Alger SORCER Background • Service-ORiented Computing EnviRonment • Next generation of FIPER (Federated Intelligent Product Environment ) • Currently built on top of Sun’s Jini Technology • “Apply object-oriented techniques directly to the network, and everything on the network we treat as a service (service-orientation).” • SORCER Research Group 13 Michael Alger SORCER Architecture Utilities and Templates Requestor Service UIs Web CME Clients Intraportal Extraportal Infrastructure Providers Jobber, Caller, Tasker, Spacer, Cataloger, Persister, Notifier, Reporter, Securer, Auditor SORCER Core Exertion Dispatchers, Provider, Proxy, Bean DataAccessor, ProviderAccessor Persistence Layer Static Bootstrapping File Store CME Layer J2EE, Jini, Rio, GApp 14 Michael Alger SORCER SO Programming • Exertions are representations of network activities • Exertion is an java interface • Elementary exertions are called ServiceTasks • Compound exertions are called ServiceJobs – Job is a composition of Jobs and Tasks – Jobbers are responsible for handling Jobs • An Exertion is composed of a ServiceMethod and ServiceContext • All exertions knows how to exert() 15 Michael Alger Service Context • Service Data • Currently is a Map • (Key/Path, Value) GEOM PP Disk Airfoil LC MAT_RENE5 DAS MAT Disk_PRT Shank Disk.prt BC UIF Gas_Loads STRESS Mat_Rene5.dat Post_Stress.dat Cyclic AS_PRT Mesh AS_Shank.prt BCCyclic.dat ExtGLoads.dat AS_PRT Airfoil.uif AS_Shank.dat Stress_Tet Mesh AS_Shank.dat Modal_Hex Stress_Tet AS_Shank.dat AS_Shank.dat 16 Michael Alger Service Method • Compose of an interface and a selector • Interface defines the type • Selector defines the method name to be invoked 17 Michael Alger Job and Task Model • Job is a composition of Jobs and Tasks cd: Exertion << interf ace >> Exertion +exert():Exertion ExertionImpl #operations:List #data:Serv iceContext #label:String +isJob():boolean +isTask():boolean 1..* 1 ServiceTask ServiceJob +exert():Exertion +exert():Exertion 18 Michael Alger Composition and Concatenation Composition T3 T1 J1 … J2 T4 J3 … T2 … T5 Concatenation Job 19 Michael Alger Task Service Context Service Method Job as a Megaapplication Federation Member Job Task Context Method 20 Michael Alger Problem Statement SORCER SO Programming Limitations – Exertion’s algorithmic logic does not support • Iteration • Branching – All inner Jobs are coordinated by the same Jobber recursively causing a bottleneck 21 Michael Alger Need for Looping Build a higher expressiveness in SO Programming Service Requestor Provider Proxy 100 request 1 request Service Provider Loop 22 Michael Alger Job Execution Bottleneck interaction SGrid Job execution by an iterative Jobber and federating task providers :User Submit App Context :Grider :Jobber Provider1:Caller ... ProviderN:Caller service Job <> execute Job <> T2:JobberThread T1:JobberThread execute inner Job service task return task return Job ● ● ● service task return task return Job Active parallel inner Jobs and Task can not utilize the full resources of the grid 23 Michael Alger Proposed Solution • Federated Algorithmic Metacomputing (FALCON) framework to support full algorithmic logic – Iteration – Branching • Enable implicit (via Exertion Space) coordination for Jobbers and Service Requestors • Enable explicit (via Catalog) coordination for Jobbers 24 Michael Alger FALCON Framework cd: Conditional WhileExertio n << interf ace >> Exertion +exert():Exertion +isTrue():boolean +exert():Exertion +exert():Exertion +isTrue():boolean Cond itional TryExertion Cond itional ExertionImpl DoExertion #operations:List #data:Serv iceContext #label:String +isJob():boolean +isTask():boolean ThrowExertion Cond itional +exert():Exertion +isTrue():boolean +exert():Exertion +isTrue():boolean Cond itional ForExertion NullExertion Cond itional +exert():Exertion +isTrue():boolean +exert():Exertion +isTrue():boolean Cond itional IfExertion Cond itional BreakExertio n ContinueExertion Cond itional +exert():Exertion +isTrue():boolean +exert():Exertion +isTrue():boolean +exert():Exertion +isTrue():boolean Cond itional 25 Michael Alger WhileExertion cd: WhileExertion 1 << interf ace >> Exertion +exert():Exertion ExertionImpl #operations:List #data:Serv iceContext #label:String +isJob():boolean +isTask():boolean 1..* 1 ServiceTask ServiceJob +exert():Exertion +exert():Exertion WhileExertio n #condition:Conditional #exertion:Exertion 1 +WhileExertion(condition:Conditional,baseExertion:Exertion): +isTrue():boolean +exert():Exertion << interf ace >> Cond itional +isTrue():boolean 26 Michael Alger IfExertion cd: IfExertion 2 << interf ace >> Exertion +exert():Exertion ExertionImpl #operations:List #data:Serv iceContext #label:String +isJob():boolean +isTask():boolean 1..* 1 ServiceTask ServiceJob +exert():Exertion +exert():Exertion IfExertion #condition:Conditional #thenExertion:Exertion #elseExertion:Exertion 1 +IfExertino (condition:Conditional,thenExertion:Exertion,elseExertion:Exertion):v oid +isTrue():boolean +exert():Exertion << interf ace >> Cond itional +isTrue():boolean 27 Michael Alger Explicitly Job Coordination interaction SGrid Job execution by an explicitly cooperating Jobbers and federating task providers :User Submit App Context :Grider J1:Jobber ... service Job JN:Jobber Provider1:Caller ... ProviderN:Caller service Job service task return task return Job service task return task return Job 28 Michael Alger Implicit Job Coordination interaction SGrid Job execution by an implicitly cooperating Jobbers and federating task providers (Implicit collaboration of service providers is supported by SORCER) :User :Grider J1:Jobber ... JN:Jobber Provider1:Caller ... ProviderN:Caller :Exertion Space Submit App Context service Job write Job take Job return Job service task return task write Job take Job return Job ● ● ● service task return task return Job 29 Michael Alger Implicit Service Request interaction SGrid Job execution by a requestor's implicit invocation (implicit collaboration of service providers is supported by SORCER) :User :Grider J1:Jobber ... JN:Jobber Provider1:Caller ... ProviderN:Caller :Exertion Space Submit App Context write Job take Job return Job service task return task write Job take Job return Job service task return task write Job take Job return Job 30 Michael Alger Benefits • Increased expressive power of SO programming – Iteration – Branching • Saves network bandwidth by eliminating redundant service request • Flexible job execution with inner jobs via the Exertion Space • Improved performance and scalability by utilizing other idle Jobbers – Exertion Space – Direct access via Catalog • Asynchronous job execution via the Exertion Space from service requestors 31 Michael Alger Validation Case - Optimization Algorithm with Approximations Initial Detailed Analysis Sensitivity Analysis Approximate Problem Generator Inner Loop Outer Loop Optimization Algorithm Detailed Analysis Converge Criteria End 32 Michael Alger Validation Case - Providers Function Evaluator Loop Requestor N Gradient Evaluator Jobber Constraint Minimization Provider System Call Fortran Conmin N+1 33 Michael Alger Future Work • Implementation of full FALCON language • FALCON language parser for creating Jobs/Tasks external source • Update SORCER web portal with new FALCON Exertions • S2S Job/Task Scheduling (Preemptive/Nonpreemptive load balancing) 34 Michael Alger Summary • Computing Evolution • SO Programming Methodology • Problem Statement • Proposed Solution – FALCON Framework – Expanded Job Runtime Execution • Benefits • Validation Case • Future Work End 35 Michael Alger Timeline Schedule 1. Literature Review 2. Design 3. Complete Extended Runtime Execution 4. Complete FALCON Framework 5. Thesis Proposal 12/10/05 05/01/06 05/10/06 08/27/06 10/05/06 6. Validation Case 7. First Draft Thesis Report 8. Thesis Defense 10/20/06 10/23/06 10/26/06 36 Michael Alger Michael Alger

Related docs
Other docs by Eric Parish
Form I-9 Employment Eligibility Verification
Views: 528  |  Downloads: 9
employee satisfaction survey
Views: 437  |  Downloads: 41
Google Inc Ammendments and Bylaws
Views: 349  |  Downloads: 9
edens_2c-all
Views: 157  |  Downloads: 0
Halliburton Co Ammendments and Bylaws
Views: 140  |  Downloads: 0
CorpDocs-Authorization (Proxy) To Vote Shares
Views: 200  |  Downloads: 4
ARTICLES OF INCORPORATION
Views: 354  |  Downloads: 9
Nominating and Corporate Governance Charter
Views: 204  |  Downloads: 3