Download - Caching review

Transcript

An Aspect-Oriented Approach to

Consistency-Preserving

Caching and Compression of Web

Service Response Messages

Wubin Li, Johan Tordsson, and Erik ElmrothDepartment of Computing Science and HPC2N

Ume°a UniversityUme°a, Sweden

{wubin.li, tordsson, elmroth}@cs.umu.se

Agenda

2010 IEEE International Conference on Web Services

AbstractMotivationAOPWeb ServicesProposed solutionDesign and ImplementationExperimental Evaluation

Abstract

2010 IEEE International Conference on Web Services

This article describes a tool called Tantity proxywhich acts as a middleware layer to improve thethroughput of Webservices using Caching and AOPtechniques. It also describes the use ofcompression in order to reduce the size of thesoap information over the network.

Motivation

Web Services suffer from overhead due to verbose encoding and extensive (de)serializationReducing response time of costly remote services is a critical challenge

No related work for Caching without semantic interpretation

Previous work on handling caching transparent ignored the consistency aspectPrevious work which provides consistency does not ignores transparency thus requires substancial effor on implementation

2010 IEEE International Conference on Web Services

AOP

2010 IEEE International Conference on Web Services

Programming methodology for separating crosscutting concerns;LoggingCaching

Such concern is represented in a unit called Aspect

AspectUnit that provides a functionality with a crosscutting cocernEncapsulates behavior that affects multiple classes

Weaving rulesSet of rules which indicates in which classes aspects will be applied

AOP

2010 IEEE International Conference on Web Services

Web Services

2010 IEEE International Conference on Web Services

• Web services is method of communication between two eletronic devices

• In A web service enviroment SOAP provides interoperability between client and Service

• Communication happens using XML-encoded messages• Substantial overhead is induced due to (de)serialization

Web Service response caching

• Previous work on Remote object caching utilizing CORBA, SOAP object, Java RMIThis work does not handle Consistency

SigSitAccelaratortackles the consistency using Cryptographical

hashing

Proposed solution

2010 IEEE International Conference on Web Services

Technologies:JavaAspectJApache CXFWSTest benchmark suite

Proposed solution

2010 IEEE International Conference on Web Services

Tantivy proxyCache textual-based data uzing GZIPLayer betweeen client and server sideCaching and sending hashed object over network

Proposed solution (server side)

2010 IEEE International Conference on Web Services

Proposed solution (server-side)

2010 IEEE International Conference on Web Services

Proposed solution (client side)

2010 IEEE International Conference on Web Services

Experimental Evaluation(Benchmarking)

2010 IEEE International Conference on Web Services

• WSTEst Suite Benchmarking• Multi-thread application performing parallel calls simulating real life

scenario• Reports throughput ( average number of requests performed per

second)• Reports response time (average time it takes to process a request)

Experimental evaluation(Benchmarking)

2010 IEEE International Conference on Web Services

• EchoVoid - sends and receives an empty message. This benchmark performs neither serializationnor deserialization.

• EchoStruct - receives an array of arbitrary length as input parameter and returns this array. Thestructures in the array contain one element each of type integer, float, and string. The longer thearray, the more work is required in deserialization and re-serialization of the SOAP object to andfrom XML.

• EchoList - sends and receives a linked list of any size, where each element in the list consists ofthe same structure as used in EchoStruct.

• EchoSynthetic - sends and receives a structure that contains a byte array of varying length.

• GetOrder - simulates a request for a complete purchase order for an e-commerce service. Thisbenchmark takes three integer input parameters and returns an order object. The order objectis a complex structure that include order header information, a customer structure withshipping address and billing address structures, as well as any number of objects.

Experimental evaluation(Results)

2010 IEEE International Conference on Web Services

Time: 600sBandwith: 5Mb/s, 20 Mb/s, 100 Mb/sCache-hit Ratio: 0%, 8%, 13%Mix of invocations (20% for each approach)Client Threads: 600

Experimental evaluation(Results)

2010 IEEE International Conference on Web Services

Bandwidth: 5 Mb/sCache-hit ratio: 0%

Experimental evaluation(Results)

2010 IEEE International Conference on Web Services

Bandwidth: 5 Mb/sCache-hit ratio: 8%

Experimental evaluation(Results)

2010 IEEE International Conference on Web Services

Bandwidth: 5 Mb/sCache-hit ratio: 13%

Experimental evaluation(Results)

2010 IEEE International Conference on Web Services

Bandwidth: 100 Mb/sCache-hit ratio: 8%

Experimental evaluation(Results)

2010 IEEE International Conference on Web Services

Bandwidth: 20 Mb/sCache-hit ratio: 8%

Experimental evaluation(Results)

2010 IEEE International Conference on Web Services

Bandwidth: 20 Mb/sCache-hit ratio: 8%

Conclusion

2010 IEEE International Conference on Web Services

• Web Services have received substantial attention around the opportunities they provide

• This paper proposed a new way to address response latency issues

• performance can be substantially reduced through caching and compression without any compromise to the strict consistency semantics of service response messages

• Tantivy uses hashing to detect similarity with previous results and sends either hashes of results or compressed results rather than original results

• Tantivy is the first system that combines the use of hash-based techniques, application object data representation, and data compression techniques with caching of response messages to improve Web Service performance

Future work

2010 IEEE International Conference on Web Services

• Web Service cache consistency management protocols would help in avoiding consistency problems and in achieving higher cache-hit ratios.

• Dinamically compression threshold based on current network conditions

• Caching sub elements of a SOAP message for frequently exchange a common set of data

Conclusion (reviewer)

2010 IEEE International Conference on Web Services

Good article on avoiding the duplicated payload going over the wire unnecessarily

The article descibres similar response objects but it needs to be identical in order to work;

The article does not mention how the compressed data plus SHA-1 key is sent back to the Tantivy Client;

The article does not show any raw request using the Tantivy Service

The proposed solution does not handle very similar bug big payload;