Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox.
-
Upload
ross-summers -
Category
Documents
-
view
219 -
download
1
description
Transcript of Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox.
![Page 1: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox.](https://reader035.fdocuments.net/reader035/viewer/2022062505/5a4d1c0e7f8b9ab0599f5646/html5/thumbnails/1.jpg)
Distributed Handler Architecture (DHArch)
Beytullah [email protected]
Advisor: Prof. Geoffrey C. Fox
![Page 2: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox.](https://reader035.fdocuments.net/reader035/viewer/2022062505/5a4d1c0e7f8b9ab0599f5646/html5/thumbnails/2.jpg)
Outline
• Web Service handler concept• Motivations and research issues• Distributed Handler Architecture
(DHArch)• Measurements and Analysis• Contributions and Future works
2
![Page 3: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox.](https://reader035.fdocuments.net/reader035/viewer/2022062505/5a4d1c0e7f8b9ab0599f5646/html5/thumbnails/3.jpg)
Web Service Handler I• Additive functionality to Web Services• Called as either handler or filter• Supports more modular architecture;
separation of tasks• Processes SOAP header and body• Incrementally adds new capability to Web
Service endpoint• Many handlers can get together to build a
chain
3
![Page 4: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox.](https://reader035.fdocuments.net/reader035/viewer/2022062505/5a4d1c0e7f8b9ab0599f5646/html5/thumbnails/4.jpg)
Web Service Handler II
• Conventional handler structures– JAX-RPC– Apache Axis– Web Service Enhancement (WSE)
• Utilized in request and response path• Leveraged by client and service • From user point of view, one of two main computing
components of Web Services 4
![Page 5: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox.](https://reader035.fdocuments.net/reader035/viewer/2022062505/5a4d1c0e7f8b9ab0599f5646/html5/thumbnails/5.jpg)
Handler Examples• Security, reliability, logging, monitoring, compression and so on• Mediators; especially between WS-specs
• i.e WS-Reliability and WS-Reliable Messaging
• WS- specifications
5
Specification Standard by Implemented byWS-Reliability OASIS CGL
WS-Reliable Messaging Microsoft, IBM,… CGL, Apache
WS-Addressing Microsoft, IBM,… Apache
WS-Security OASIS Apache
WS-Eventing Microsoft, IBM,… CGL , Extreme Lab
WS-Notification OASIS Apache, Extreme Lab
WS-Resource Framework OASIS Apache
WS-Trust OASIS Extreme Lab
WS-SecureConversation OASIS Extreme Lab
![Page 6: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox.](https://reader035.fdocuments.net/reader035/viewer/2022062505/5a4d1c0e7f8b9ab0599f5646/html5/thumbnails/6.jpg)
Motivations • Web Services utilizing many handlers
– Fat services• A handler causing Bottleneck– convoy effect
• Benefits for reusability– a handler utilized by many Web Services– a handler exploited by both client and
service6
![Page 7: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox.](https://reader035.fdocuments.net/reader035/viewer/2022062505/5a4d1c0e7f8b9ab0599f5646/html5/thumbnails/7.jpg)
Motivating Scenario
• Many handlers with possible substantial cost• The cost of the sequential handler execution where Tk is the kth handler execution time • A bottleneck handler
7
![Page 8: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox.](https://reader035.fdocuments.net/reader035/viewer/2022062505/5a4d1c0e7f8b9ab0599f5646/html5/thumbnails/8.jpg)
Research Issues I• Performance
– the benefits and costs of distributing handlers
• Scalability– throughput– the number of handlers for deployment
• Parallelism/concurrency– Handler parallelism– Pipelining for the messages
• Flexibility and Extensibility – interoperable with other SOAP processing engine– easily deployable and removable handler mechanism
8
![Page 9: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox.](https://reader035.fdocuments.net/reader035/viewer/2022062505/5a4d1c0e7f8b9ab0599f5646/html5/thumbnails/9.jpg)
Research Issues II
• Orchestration– Efficient and effective handler orchestration
• Messaging for the distributed handlers– the way of distribution – task distribution– advantages and disadvantages
• Principles for distributing a handler– conditions and requirements
9
![Page 10: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox.](https://reader035.fdocuments.net/reader035/viewer/2022062505/5a4d1c0e7f8b9ab0599f5646/html5/thumbnails/10.jpg)
Distributed Handler Architecture (DHArch)
10
![Page 11: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox.](https://reader035.fdocuments.net/reader035/viewer/2022062505/5a4d1c0e7f8b9ab0599f5646/html5/thumbnails/11.jpg)
Communication Manager• Manages internal messaging• Utilizes a MOM, NaradaBrokering (other
MOMs could be used)– Publish/Subscribe paradigm– Queuing regulates message flow– Asynchronous messaging– Guaranteed message delivery– Fast and efficient– Scales very well
• XML based messaging for the handlers11
![Page 12: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox.](https://reader035.fdocuments.net/reader035/viewer/2022062505/5a4d1c0e7f8b9ab0599f5646/html5/thumbnails/12.jpg)
12
Communication Manager
Handler Execution
Manager
NB
Client
Handler
Handler Execution
Manager
NB
Client
HandlerNB Broker
Handler Execution
Manager
NB
Client
Handler XML
Message
Handler
NBClient
Distributed Handler Manager
Handler XML
Message
![Page 13: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox.](https://reader035.fdocuments.net/reader035/viewer/2022062505/5a4d1c0e7f8b9ab0599f5646/html5/thumbnails/13.jpg)
Messaging Format• Serialization of message
context on the wire• Extensible and flexible • Consists of three main parts:
– ID• 128 bit UUID generated key
– Properties• Conveys the necessary
properties to the handler
– Payload• Carries relevant SOAP
messages
13
<context> <id> 4099d6dc-0b0e-4aaa-95ff-2e758722a959 </id> <properties> <oneway>false</oneway> <mustPerform>true</mustPerform> </properties> <payload>
……… </payload></context>
![Page 14: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox.](https://reader035.fdocuments.net/reader035/viewer/2022062505/5a4d1c0e7f8b9ab0599f5646/html5/thumbnails/14.jpg)
Distributed Handler Architecture (DHArch)
14
![Page 15: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox.](https://reader035.fdocuments.net/reader035/viewer/2022062505/5a4d1c0e7f8b9ab0599f5646/html5/thumbnails/15.jpg)
Gateway•Interface between DHArch and A Web Service Container• Provides extensibility • Facilitates interoperation with other SOAP processing engines•A gateway needs to be deployed for SOAP processing engine that need to be interoperate with.
15
![Page 16: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox.](https://reader035.fdocuments.net/reader035/viewer/2022062505/5a4d1c0e7f8b9ab0599f5646/html5/thumbnails/16.jpg)
Description and Execution of Orchestration
16
• Separation of the flow directives and corresponding execution
• The directives comprise four basic constructs:• sequential• parallel• looping• conditional
• Engine manages two execution styles:– sequential– parallel
![Page 17: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox.](https://reader035.fdocuments.net/reader035/viewer/2022062505/5a4d1c0e7f8b9ab0599f5646/html5/thumbnails/17.jpg)
Distributed Handler Message Context• Keeps necessary information about a message to carry out the execution• A unique context associated with each message.• The orchestration structure is maintained within the context. • Encapsulates
• the message• orchestration structures• handler related parameters• parameters associated with the stages
17
![Page 18: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox.](https://reader035.fdocuments.net/reader035/viewer/2022062505/5a4d1c0e7f8b9ab0599f5646/html5/thumbnails/18.jpg)
18
![Page 19: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox.](https://reader035.fdocuments.net/reader035/viewer/2022062505/5a4d1c0e7f8b9ab0599f5646/html5/thumbnails/19.jpg)
Message traversal in the stages
• A message travels from stage to stage.•Every handler orchestration contains at least one stage.•Every stage contains at least one handler.• Within a stage, handlers executed parallel.• A message cannot exit a stage without completion of the execution of its constituent handlers.
19
![Page 20: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox.](https://reader035.fdocuments.net/reader035/viewer/2022062505/5a4d1c0e7f8b9ab0599f5646/html5/thumbnails/20.jpg)
Summary of the Execution• Separation of the description from the execution
prevents the orchestration engine from becoming too complex.
• DHArch utilizes two context objects:– Interacting Web Service container context – Distributed Handler Message Context (DHMContext)
• Queues are leveraged to regulate the message flow.• Caching expedites the message processing by
decreasing the access time.• Pipelining is leveraged as well as handler parallism.• The message execution can be prioritized.
20
![Page 21: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox.](https://reader035.fdocuments.net/reader035/viewer/2022062505/5a4d1c0e7f8b9ab0599f5646/html5/thumbnails/21.jpg)
Benchmarks• The set of benchmarks
• Performance • Scalability• Overhead• The deployment of well known WS- Specifications
• Utilized Handlers in these benchmarks• Created for the benchmarking purposes• Actual handlers
21
![Page 22: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox.](https://reader035.fdocuments.net/reader035/viewer/2022062505/5a4d1c0e7f8b9ab0599f5646/html5/thumbnails/22.jpg)
Benchmark I- Performance I
3.
4.
5.
6.
22
Handler A CPU Bound
Handler B CPU Bound
Handler C IO Bound
Handler D IO Bound
Handler E CPU/IO
Handler Configurations 1. Apache Axis sequential2. DHArch Sequential
Stage 1 A, C
Stage 2 B,D
Stage 3 E
Stage 1 A, B
Stage 2 C,D
Stage 3 E
Stage 1 A,B,C,D
Stage 2 E
• The goal is to measure the performance for a single request.
• Every measurement is observed 100 times.• Five handlers are utilized, six handler
(software) configurations are selected.• Hardware configurations
• Single processor• Multiprocessor• Multicore • Cluster utilizing LAN
Stage 1 A,B,C,D, E
![Page 23: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox.](https://reader035.fdocuments.net/reader035/viewer/2022062505/5a4d1c0e7f8b9ab0599f5646/html5/thumbnails/23.jpg)
Handler Configurations
Axis Only Using by DHArch
Benchmark I- Performance II
23
![Page 24: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox.](https://reader035.fdocuments.net/reader035/viewer/2022062505/5a4d1c0e7f8b9ab0599f5646/html5/thumbnails/24.jpg)
Benchmark II- Scalability I• The goal is to measure the execution time while the
message rate increases.• A cluster utilizing multicore machines is leveraged
24
![Page 25: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox.](https://reader035.fdocuments.net/reader035/viewer/2022062505/5a4d1c0e7f8b9ab0599f5646/html5/thumbnails/25.jpg)
Benchmark II- Scalability II
25
Apache Axis utilizes single machineDHArch utilizes multiple machines
![Page 26: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox.](https://reader035.fdocuments.net/reader035/viewer/2022062505/5a4d1c0e7f8b9ab0599f5646/html5/thumbnails/26.jpg)
Benchmark II- Scalability III
26
• Without handler parallelism– DHArch increases the execution time because of the
distribution overhead.– DHArch running on a cluster increases the throughput.
• With handler parallelism – We can achieve both increased message throughput and
reduced execution time for per message.– Sequential and Parallel executions result in the same
maximum message throughput.
![Page 27: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox.](https://reader035.fdocuments.net/reader035/viewer/2022062505/5a4d1c0e7f8b9ab0599f5646/html5/thumbnails/27.jpg)
Benchmark III- Overhead I• The goal is to measure the overhead related to the
distribution of a single handler.• In every step, measurements are observed 100 times.• Four hardware configurations are utilized.
• Multiprocessor results will be illustrated.
27
![Page 28: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox.](https://reader035.fdocuments.net/reader035/viewer/2022062505/5a4d1c0e7f8b9ab0599f5646/html5/thumbnails/28.jpg)
Benchmark III-Overhead II
28
The formula :
Overhead = (Tdharch – Taxis) / N Where Tdharch is elapsed time in DHArch Taxis is elapsed time in Axis N is the number of handlers
![Page 29: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox.](https://reader035.fdocuments.net/reader035/viewer/2022062505/5a4d1c0e7f8b9ab0599f5646/html5/thumbnails/29.jpg)
Benchmark IV-WSRF and WS-Eventing I
29
• The goal is to show the deployment of the well-known WS-specifications in DHArch.– WS-Eventing (CGL)– WS-Resource Framework (Apache)
• A sensor stateful resource and relevant events are created.
• The sensor is motivated by CGL work on GPS sensors.
• A cluster using Local Area Network is utilized.
![Page 30: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox.](https://reader035.fdocuments.net/reader035/viewer/2022062505/5a4d1c0e7f8b9ab0599f5646/html5/thumbnails/30.jpg)
Benchmark IV- II
30
![Page 31: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox.](https://reader035.fdocuments.net/reader035/viewer/2022062505/5a4d1c0e7f8b9ab0599f5646/html5/thumbnails/31.jpg)
Contributions• System research
• A distributed handler architecture• Efficient, scalable, modular and transparent• Concurrent handler execution• Pipelining for the message execution • Separation of the description and the execution for the handler
orchestration• Queuing to regulate flows• Message based handler sequence
• Identifying the circumstances where this architecture has advantages• Parallelism within the handlers• Easy use multiple-machine clusters
• Comprehensive benchmarks to evaluate the handler distribution for Web Services
• System software• A prototype: DHArch• WS-Eventing and WSRF deployment 31
![Page 32: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox.](https://reader035.fdocuments.net/reader035/viewer/2022062505/5a4d1c0e7f8b9ab0599f5646/html5/thumbnails/32.jpg)
Future Works• Using DHArch for the internal functions of Web
Service Container: implicit handlers • An agent that finds the best orchestration
configuration for the distributed handler– dynamic load balancing
• Improving fault tolerance • Security
– NaradaBrokering Security Framework
• Comparison with the XSUL+DEN, another approach from Extreme Lab
32