Evaluating Web Services Based Implementations of Grid RPC

Slides:



Advertisements
Similar presentations
Three types of remote process invocation
Advertisements

Self-Regenerative Middleware Service for Cross-Standards and Ubiquitous Services Activation Mengjie Yu ( )
31242/32549 Advanced Internet Programming Advanced Java Programming
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
RPC Robert Grimm New York University Remote Procedure Calls.
SOAP Quang Vinh Pham Simon De Baets Université Libre de Bruxelles1.
Snejina Lazarova Senior QA Engineer, Team Lead CRMTeam Dimo Mitev Senior QA Engineer, Team Lead SystemIntegrationTeam Telerik QA Academy SOAP-based Web.
GridRPC Sources / Credits: IRISA/IFSIC IRISA/INRIA Thierry Priol et. al papers.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
XML Technologies and Applications Rajshekhar Sunderraman Department of Computer Science Georgia State University Atlanta, GA 30302
Slide 1 EE557: Server-Side Development Lecturer: David Molloy Room: XG19 Mondays 10am-1pm Notes:
Web Service What exactly are Web Services? To put it quite simply, they are yet another distributed computing technology (like CORBA, RMI, EJB, etc.).
A Cross-Platform Component Based Ecommerce Framework in.NET Vishwak Rajgopalan Under the guidance of Dr. Daniel Andresen (Major Professor) Dr. Mitchell.
Web Services Mohamed Fahmy Dr. Sherif Aly Hussein.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Web services: Why and How OOPSLA 2001 F. Curbera, W.Nagy, S.Weerawarana Nclab, Jungsook Kim.
Small Devices on DBGlobe System George Samaras Chara Skouteli.
Lecture 15 Introduction to Web Services Web Service Applications.
Dodick Zulaimi Sudirman Lecture 14 Introduction to Web Service Pengantar Teknologi Internet Introduction to Internet Technology.
Comparison of Web Services, RMI, CORBA, DCOM Usha, Lecturer MCA Department of Computer Science and Engineering.
Web Services based e-Commerce System Sandy Liu Jodrey School of Computer Science Acadia University July, 2002.
XML – An Introduction Structured Data Mark-up James McCartney CSCE 590, Cluster and Grid Computing.
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
Web Services BOF This is a proposed new working group coming out of the Grid Computing Environments Research Group, as an outgrowth of their investigations.
Web Services. ASP.NET Web Services  Goals of ASP.NET Web services:  To enable cross-platform, cross- business computing  Great for “service” based.
© Drexel University Software Engineering Research Group (SERG) 1 An Introduction to Web Services.
Internet Technologies Review Week 1 How does Jigsaw differ from EchoServer.java? What abstractions are made available to the servlet writer (under.
S imple O bject A ccess P rotocol Karthikeyan Chandrasekaran & Nandakumar Padmanabhan.
Research Seminar Robert van Engelen Computer Science & CSIT Florida State University.
Kemal Baykal Rasim Ismayilov
Web Services from 10,000 feet Part I Tom Perkins NTPCUG CertSIG XML Web Services.
INFSO-RI Enabling Grids for E-sciencE Web Services Mike Mineter National e-Science Centre, Edinburgh.
GridRPC Sources / Credits: IRISA/IFSIC IRISA/INRIA Thierry Priol et. al papers.
Web Service Definition Language. Web Services: WSDL2 Web Service Definition Language ( WSDL ) What is a web service? [ F. Leymann 2003 ] A piece of code.
EGEE is a project funded by the European Union under contract IST Introduction to Web Services 3 – 4 June
Web Services. Web Service: Simple definition : “ Service Offered On the Web “ Technically : “ A Web Service is a programmable application component that.
Net-centric Computing Web Services. Lecture Outline  What is Web Service  Web Service Architecture  Creating and using Java Web Services  Apache Axis.
SOAP, Web Service, WSDL Week 14 Web site:
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft.
A service Oriented Architecture & Web Service Technology.
Added Value to XForms by Web Services Supporting XML Protocols Elina Vartiainen Timo-Pekka Viljamaa T Research Seminar on Digital Media Autumn.
Benchmarking XML Processors for Applications in Grid Web Services Michael R. Head*, Madhusudhan Govindaraju*, Robert van Engelen**, Wei Zhang** *Grid Computing.
12. DISTRIBUTED WEB-BASED SYSTEMS Nov SUSMITHA KOTA KRANTHI KOYA LIANG YI.
An Introduction to Web Services
Web Programming Developing Web Applications including Servlets, and Web Services using NetBeans 6.5 with GlassFish.V3.
Sabri Kızanlık Ural Emekçi
WEB SERVICES From Chapter 19 of Distributed Systems Concepts and Design,4th Edition, By G. Coulouris, J. Dollimore and T. Kindberg Published by Addison.
Prof. Leonardo Mostarda University of Camerino
WEB SERVICES.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Outline SOAP and Web Services in relation to Distributed Objects
Unit – 5 JAVA Web Services
Some Basics of Globus Web Services
Distributed web based systems
Outline SOAP and Web Services in relation to Distributed Objects
Some remarks on Portals and Web Services
Inventory of Distributed Computing Concepts and Web services
Chapter 9 Web Services: JAX-RPC, WSDL, XML Schema, and SOAP
Lecture 4: RPC Remote Procedure Call Coulouris et al: Chapter 5
The future of distributed systems architecture
Inventory of Distributed Computing Concepts
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
7. End-to-end data Rocky K. C. Chang Department of Computing
COMP60621 Fundamentals of Parallel and Distributed Systems
WEB SERVICES From Chapter 19, Distributed Systems
Chapter 42 Web Services.
Outline System architecture Current work Experiments Next Steps
COMP60611 Fundamentals of Parallel and Distributed Systems
Chengyu Sun California State University, Los Angeles
Presentation transcript:

Evaluating Web Services Based Implementations of Grid RPC Satoshi Shirasuna 1) Hidemoto Nakada 1)2) Satoshi Matsuoka 1)3) Satoshi Sekiguchi 3) 1) Tokyo Institute of Technology 2) National Institute of Advanced Industrial Science and Technology 3) National Institute of Informatics

GridRPC RPC-based Grid middleware for scientific computing Ninf[AIST,TITECH], NetSolve[UTK] High-level abstractions Intuitive APIs Dynamic server-side IDL management Parallel programming with asynchronous calls Data support suitable for scientific computing IDL specialized for numerical computation Description of parameter dependencies Partial transmission of arrays

Interoperability of GridRPC Systems Existing GridRPC systems employ their own protocols Bridges are offered between some systems Ninf – NetSolve Bridge [Nakada, et al. ’97] But, infeasible to make bridges between all systems Need general solution

Web Service Technologies with XML-based Protocol Standard methods to deploy services on Web infrastructure Several specifications for Web services SOAP (Simple Object Address Protocol) Lightweight protocol for exchange of information in a distributed environment WSDL (Web Service Definition Language) Interface description language for Web services OGSA will merge Web service technologies with Grid Could be the medium of interoperability of GridRPC Important to evaluate whether Web service technologies can be used for scientific computing

Technical Problems Technical Problems to apply Web service technologies to GridRPC Performance penalty caused by XML Expressibility of SOAP and WSDL as a base of GridRPC Target of Web services is business applications Whereas IDLs of GridRPC have functions specific to scientific applications Need to evaluate these to construct GridRPC on Web service technologies

SOAP/WSDL Expressibility GridRPC IDL vs. WSDL (1) Client acquires interface information at run-time Two-phase RPC call double A[n][n], B[n][n], C[n][n]; grpc_call(“dmmul”, n, A, B, C); Interface Request (HTTP Get) Interface Info. (WSDL/HTTP) GridRPC Server Arguments (SOAP) Result (SOAP) Interface Info (IDLWSDL) GridRPC Client

SOAP/WSDL Expressibility GridRPC IDL vs. WSDL (2) Array size specification GridRPC IDLs support expression of array size using other arguments  WSDL lacks the ability to express such dependencies Subarrays, strides of arrays GridRPC IDLs support these various type of arrays SOAP can express these as partially transmitted arrays But, WSDL does not embody any specification Need small extensions to WSDL to support scientific IDL Define dmmul(mode_in int n, mode_in double A[n][n], mode_in double B[n][n], mode_out double C[n][n])

Performance Problems Effective bandwidth degradation Caused by increased data size XML-encoded data size is >10 times bigger than the original (especially big problem for array data) Higher cost of serialization/deserialization Protocol related problems Performance insufficiency caused by protocol specification <input2 xmlns: ns2=“http://schemas.xmlsoap.org/soap/encoding/” xsi:type=“ns2:Array” ns2:arrayType=“xsd:double[2,2]”> <item xsi:type=“xsd:double”>0.1234928508375589</item> <item xsi:type=“xsd:double”>0.45336420225272667</item> <item xsi:type=“xsd:double”>0.8887406170881601</item> </input2>

Performance Evaluation Investigate performance of various implementations Matrix multiply 2-dimentional double array Communication: O(n2), Calculation: O(n3) (array size: nxn) Evaluation environment LAN PrestoII Cluster (Matsuoka laboratory, Titech) Connected with 100Base-T switch Pentium III 800MHz, 640MB memory Linux 2.2.19, IBM Java 1.3.0 WAN Titech  AIST (apx. 1Mbps) Sun Ultra-Enterprise, SPARC 333MHz x 6, 960MB Memory Solaris 5.7, Sun Java 1.3.0

1st Prototype Naive implementation on top of Apache SOAP Exchanges interface information using WSDL Uses Apache SOAP server itself as a server Client Server Client Application Calculation Library Apache SOAP Server Ninf Client Apache SOAP Client Library Servlet Server (Tomcat) 1. Interface Request (HTTP Get) 2. Interface Info. (WSDL) / HTTP 3. Parameters / SOAP 4. Result / SOAP

1st Prototype Performance Evaluation Terribly insufficient compared to the XDR-based implementation LAN WAN

Causes of the Overhead Some part of the overhead is caused by SOAP But, mainly implementation issue Apache SOAP uses DOM parser Need to receive the entire XML data before analysis Can not analyze data while receiving it Construct a DOM object tree in memory Increase memory usage Heavy overhead Client Server Serialization Sending Receiving Deserialization Computation

2nd Prototype Constructed to reduce the overhead of serialization/deserialization Embody customized SOAP parser based on SAX parser Improve deserialization speed Decrease memory usage Deserialize data while receiving it Some new features, not supported by the 1st prototype Input/Output parameter support Multiple Output parameter support

2nd Prototype System Architecture Server Client Client Application Calculation Library Ninf Client Ninf Server SOAP Deserializer SOAP Serializer WSDL Reader WSDL Module SOAP Deserializer SOAP Serializer HTTP Client Servlet Server 1. Interface Request (HTTP Get) 2. Interface Info. (WSDL) / HTTP 3. Parameters / SOAP 4. Result / SOAP

2nd Prototype Performance Evaluation Performance was improved But, still have big overhead LAN WAN

Receiving+ Deserialization Detailed Analysis (1) Client Server Focus on the overhead prior to computation Determine where the time is most spent Measure the time to take for Serialization Wire transfer Deserialization Overhead Serialization Sending Receiving+ Deserialization Computation Receiving+ Deserialization Serialization+ Sending

Detailed Analysis (2) LAN WAN Cost of serialization/deserialization is relatively high In LAN, the overhead is almost sum of serialization/deserialization cost Cost of wire-transfer is starting manifest in WAN LAN WAN

Optimization1: HTTP Content-Length Elimination (1) Performance insufficiency caused by protocol HTTP Content-Length header field Required for HTTP server to determine the end of a message Need to construct the entire SOAP message in memory first to calculate the message length  Serialization(client) and deserialization(server) can not be pipelined Client Server Serialization Sending Receiving+ Deserialization Computation

Optimization1: HTTP Content-Length Elimination (2) In SOAP, it is possible to determine the end of message by counting pairs of XML tags  Can omit Content-Length header to pipeline serialization(client), deserialization(server) (but against RFC 1945, 2616) Client Server Client Server Serialization Serialization+ Sending Receiving+ Deserialization Sending Receiving+ Deserialization Computation Computation

Optimization1: HTTP Content-Length Elimination (3) In LAN, 55% of overhead is reduced In WAN, 7% of overhead is reduced LAN WAN

Optimization1: HTTP Content-Length Elimination (4) Evaluation shows the importance to omit Content-Length header Improve performance Also, reduce memory usage RFC compliant schemes are necessary 1. HTTP Chunked Transfer Coding 2. Roughly estimate the length and fill with blanks  Need to evaluate these methods

Optimization2: Base64 Encoding (1) Large-size arrays cause big overhead Increased message size Large number of XML tags Apply base64 encoding for array data Treat whole array as binary data Information of array is expressed by GridRPC IDL, and dynamically exchanged e.g. size, range, stride No need to express with SOAP message

Optimization2: Base64 Encoding (2) 75% of overhead was reduced, both in LAN, and WAN LAN WAN

Optimization2: Base64 Encoding (3) Applying base64 encoding is effective Largely due to elimination of parsing overhead in deserialization by reduced number of XML tags Smaller message size also reduces wire-transfer cost

Performance Summary Performance is significantly improved by applying optimizations LAN WAN

Summary Investigated whether GridRPC could be implemented using Web service technologies Significant speedup from the naive implementation Applying base64 encoding reduces deserialization cost Omitting HTTP Content-Length header field reduces overhead Scientific higher level middleware can work with OGSA

Future work Performance improvement Interoperability RFC compliant way to omit HTTP Content-Length header field Development of an XML parser specialized for SOAP Run-time parser generation suitable for receiving messages using WSDL Implementation with C language for performance Interoperability Further evaluation for interoperability Adaptation to OGSA To evaluate how GridRPC works under OGSA Computing portal using UDDI

SOAP/WSDL Expresibility(1) Array size specification GridRPC IDLs support expression of array size using other arguments In order to enable pass arrays as reference  WSDL lacks the ability to express such dependencies Define dmmul(mode_in int n, mode_in double A[n][n], mode_in double B[n][n], mode_out double C[n][n]) Double A[n][n], B[n][n], C[n][n]; Ninf_Call(“dmmul”, n, A, B, C);

SOAP/WSDL Expresibility(2) Subarrays, strides of array GridRPC IDLs support these various type of arrays SOAP supports this functionality as partially transmitted arrays But, WSDL does not embody any specification A[size : lower_limit, upper_limit, stride]

SOAP/WSDL Expresibility(3) Web Service based GridRPC systems use parameterOrder attribute of WSDL to denote the order of parameter In WSDL, parameterOrder attribute is optional GridRPC client can not know the order of parameters when it encounters WSDL without parameterOrder attribute ….. <operation name = “dmmul” parameterOrder = “n A B C”>