distributed handler architecture (dharch) beytullah yildiz advisor: prof. geoffrey c. fox

32
Distributed Handler Architecture (DHArch) Beytullah Yildiz [email protected] Advisor: Prof. Geoffrey C. Fox

Upload: ross-summers

Post on 20-Jan-2018

219 views

Category:

Documents


1 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox

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

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

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

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

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

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

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

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

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

Distributed Handler Architecture (DHArch)

10

Page 11: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox

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

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

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

Distributed Handler Architecture (DHArch)

14

Page 15: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox

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

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

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

18

Page 19: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox

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

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

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

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

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

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

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

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

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

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

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

Benchmark IV- II

30

Page 31: Distributed Handler Architecture (DHArch) Beytullah Yildiz Advisor: Prof. Geoffrey C. Fox

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

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