Title: Dr. Michael Sobolewski
1Service-Oriented Programming with Federating
JobbersMaster Thesis Proposal, Oct. 5, 2006
- Michael Alger
- Dr. Michael Sobolewski
- Dr. Ray Kolonay
algerm_at_cs.ttu.edu http//www.cs.ttu.edu/algerm
2Presentation Goal
Understand how to increase the expressive power
of Service-Oriented programming and extend its
runtime execution.
Beginning
3Learning 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
4Speakers 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, Suns Jini Technology,
Service-Oriented Architecture, SORCER
Beginning
5Presentation Agenda
- Evolution of Computing
- Service-Oriented Programming Methodology
- Problem Statement
- Proposed Solution
- Benefits
- Validation Case
- Future Work
- Summary
- Timeline
Beginning
6Evolution of Computing
From single computer
Service-to-Service
- virtual overlay network
- interactive SOP
- federated SO execution
- secure
- self-healing
- autonomic
- heterogeneous
Peer-to-Peer
Web-based computing
Client-server silos
7Evolution of Programming Languages
- Machine/Virtual Machine21 40 16 100 163 240
- Assembleriload iCountbipush 100
- High-level languageif (iCount gt 100)
All programming languages provide abstractions
High Level
Assembly Language
Machine Code
8Progress 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)
9Service-Oriented Architecture Model
Service Registry
Provider Proxy
Discover
Discover
Publish
Find
Service Provider
Service Requestor
Execute
Provider Proxy
10Network Visualization
Service Registry
Service Provider
Service Requestor
11The Computer is the Network
- Need to Address the following
- 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)
12SO 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
- authentication
- authorization
- confidentiality
- proxy verification
13SORCER Background
- Service-ORiented Computing EnviRonment
- Next generation of FIPER (Federated Intelligent
Product Environment ) - Currently built on top of Suns 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
14SORCER Architecture
Web CME Clients
Utilities and Templates
Intraportal
Extraportal
Service UIs
Requestor
Infrastructure Providers Jobber, Caller, Tasker,
Spacer, Cataloger, Persister, Notifier, Reporter,
Securer, Auditor
Static Bootstrapping
Persistence Layer
SORCER Core Exertion Dispatchers, Provider,
Proxy, Bean DataAccessor, ProviderAccessor
CME Layer
File Store
J2EE, Jini, Rio, GApp
15SORCER 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 ServiceMethodand
ServiceContext - All exertions knows how to exert()
16Service Context
- Service Data
- Currently is a Map
- (Key/Path, Value)
DAS
MAT
GEOM
PP
Disk
LC
Airfoil
MAT_RENE5
STRESS
BC
Disk_PRT
Gas_Loads
Mat_Rene5.dat
Shank
UIF
Post_Stress.dat
Cyclic
Disk.prt
ExtGLoads.dat
AS_PRT
AS_PRT
Airfoil.uif
Mesh
BCCyclic.dat
AS_Shank.prt
AS_Shank.dat
Stress_Tet
Mesh
Stress_Tet
Modal_Hex
AS_Shank.dat
AS_Shank.dat
AS_Shank.dat
17Service Method
- Compose of an interface and a selector
- Interface defines the type
- Selector defines the method name to be invoked
18Job and Task Model
- Job is a composition of Jobs and Tasks
19Composition and Concatenation
Composition
T3
T1
J1
T4
J3
Concatenation
J2
T5
T2
20Job as a Megaapplication
Federation Member
21Problem Statement
- SORCER SO Programming Limitations
- Exertions algorithmic logic does not support
- Iteration
- Branching
- All inner Jobs are coordinated by the same Jobber
recursively causing a bottleneck
22Need for Looping
- Build a higher expressiveness in SO Programming
Service Provider
Service Requestor
100 request
1 request
Loop
Provider Proxy
23Job Execution Bottleneck
Active parallel inner Jobs and Task can not
utilize the full resources of the grid
24Proposed 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
25FALCON Framework
26WhileExertion
27IfExertion
28Explicitly Job Coordination
29Implicit Job Coordination
30Implicit Service Request
31Benefits
- 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
32Validation Case - Optimization Algorithm with
Approximations
Initial Detailed Analysis
Sensitivity Analysis
Approximate Problem Generator
Inner Loop
Optimization Algorithm
Outer Loop
Detailed Analysis
Converge Criteria
End
33Validation Case - Providers
Function Evaluator
N
Loop
Jobber
Requestor
Gradient Evaluator
System Call
Constraint Minimization Provider
Fortran Conmin
N 1
34Future 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/Non-preemptive
load balancing)
35Summary
- Computing Evolution
- SO Programming Methodology
- Problem Statement
- Proposed Solution
- FALCON Framework
- Expanded Job Runtime Execution
- Benefits
- Validation Case
- Future Work
End
36Timeline Schedule
- Literature Review 12/10/05
- Design 05/01/06
- Complete Extended Runtime Execution 05/10/06
- Complete FALCON Framework 08/27/06
- Thesis Proposal 10/05/06
- Validation Case 10/20/06
- First Draft Thesis Report 10/23/06
- Thesis Defense 10/26/06
37(No Transcript)