Luận án tiến sĩ: Tối ưu hiệu suất giao tiếp web services thông qua giải mã SOAP khác biệt

Luận án tiến sĩ nghiên cứu optimizing communication performance of web services using differential deserialization of soap, phát triển phương pháp mới, đánh giá hiệu quả ứng dụng

Trường đại học

Binghamton University, State University of New York

Chuyên ngành

Computer Science

Người đăng

Ẩn danh

Thể loại

dissertation

2006

235
4
0

Phí lưu trữ

55 Point

Mục lục chi tiết

1. Introduction

2. Background

2.1. The extensible markup language

2.2. Syntax of XML

2.3. Handling whitespace in XML documents

2.4. Namespaces in XML

2.5. Features of XML

2.6. Overview of SOAP’s syntax

2.7. Extending a SOAP message: The Header element

2.8. The SOAP encoding

2.9. The SOAP HTTP binding

2.10. SOAP as a remote procedure protocol

2.11. The potential for improving performance

2.12. The Data Update Tracking (DUT) table

2.13. Differential serialization optimizations

2.14. Summary and relation to DDS

2.15. Enabling differential deserialization

2.16. Checkpoints and message portions

2.17. Switching to fast mode

2.18. Checkpointing in DDS

2.19. Other DDS approaches

4. Implementation: Differential Deserialization in the bSOAP Toolkit

4.1. A schema-driven deserializer

4.2. Checkpoint types in bSOAP

4.3. Creating differential checkpoints

4.4. Creating lightweight checkpoints

4.5. Switching to fast mode

4.6. The matching stack

4.7. Tracking switching candidates with progressive matching

4.8. Finalizing state matching

4.9. Cutting down switching time with differential checkpointing

4.10. Switching at a lightweight checkpoint

4.11. Switching to regular mode

4.12. Removing stale checkpoints

4.13. Lightweight checkpoints and processing interrupts

4.14. Creating base checkpoints

4.15. Managing the number of checkpoints

4.16. Memory blocks in bSOAP

4.17. The active memory blocks stack

4.18. The deserialization pointer

4.19. Reallocating memory blocks

4.20. Destroying unused memory blocks

4.21. Merging newly-allocated memory blocks

4.22. Checkpointing application memory

5. Performance and Analysis

5.1. Baseline deserialization study

5.2. Progressive matching overhead

5.3. Dual-mode DDS performance

5.4. DDS performance using two-stage checksum computation

5.5. Round-trip performance

5.6. Near-best case performance

5.7. DS and DDS performance

5.8. An interactive molecular dynamics simulation

5.9. Parallel molecular dynamics simulations

5.10. DDS and MD Simulations

5.11. Experimental Setup and Methodology

5.12. Results and discussion

6. Related Work

6.1. IBM’s differential deserialization

6.2. Parsing through byte-sequence matching: Deltarser

6.3. A Deltarser-based differential deserialization

6.4. Schema-specific parsers

6.5. Changing the message format

6.6. Approaches that retain textual XML format

6.7. Parallel XML parsing

7. Summary and Future Work

Bibliography

A FCP, DCP, and LCP dual-mode performance improvements

B FCP, DCP, and LCP dual-mode performance improvements using two-stage checksum computation

C Round-trip percent performance improvements

D GROMACS tests setup

List of Tables

List of Figures

Tóm tắt

I. Tối ưu hiệu suất giao tiếp web services

Tối ưu hiệu suất là mục tiêu chính trong việc cải thiện giao tiếp web services. SOAP, một giao thức phổ biến, gặp phải vấn đề về hiệu suất do định dạng XML của nó. Giải pháp giải mã SOAP khác biệt (DDS) được đề xuất để giảm thời gian giải mã bằng cách tận dụng sự tương đồng giữa các thông điệp. DDS không yêu cầu thay đổi phía client và có thể cải thiện hiệu suất lên đến 226% trong một số trường hợp.

1.1. Vấn đề hiệu suất của SOAP

SOAP sử dụng định dạng XML, dẫn đến kích thước thông điệp lớn và thời gian giải mã chậm. Hiệu suất giao tiếp bị ảnh hưởng nghiêm trọng, đặc biệt trong các ứng dụng khoa học. Giải mã SOAP là nút thắt chính, chiếm đến 90% thời gian xử lý.

1.2. Giải pháp DDS

Giải pháp giải mã SOAP khác biệt (DDS) tối ưu hóa quá trình giải mã bằng cách tránh phân tích XML và xây dựng lại các đối tượng ứng dụng cho các phần không thay đổi. DDS sử dụng checkpoint và checksum để so sánh các phần thông điệp, giảm đáng kể thời gian xử lý.

II. Giao tiếp web services và SOAP

Giao tiếp web services dựa trên SOAP, một giao thức đơn giản, tương tác tốt và mở rộng được. Tuy nhiên, định dạng XML của SOAP gây ra vấn đề về hiệu suất giao tiếp. Giải pháp SOAP như DDS được đề xuất để cải thiện hiệu suất mà không ảnh hưởng đến tính tương thích.

2.1. SOAP trong web services

SOAP là giao thức chính trong giao tiếp web services, đặc biệt trong các hệ thống Grid và phân tán. Định dạng XML của SOAP đảm bảo tính tương tác nhưng lại là nguyên nhân chính gây ra hiệu suất thấp.

2.2. Khác biệt SOAP

Khác biệt SOAP thể hiện qua việc sử dụng DDS để tối ưu hóa quá trình giải mã. DDS không chỉ cải thiện hiệu suất mà còn giữ nguyên tính tương thích với các hệ thống hiện có.

III. Giải pháp giải mã SOAP khác biệt

Giải pháp giải mã SOAP khác biệt (DDS) là kỹ thuật tối ưu hóa hiệu suất bằng cách tránh lặp lại quá trình giải mã cho các phần không thay đổi trong thông điệp. DDS sử dụng checkpoint và checksum để xác định sự tương đồng giữa các thông điệp, giảm thời gian xử lý đáng kể.

3.1. Checkpoint và checksum

DDS sử dụng checkpoint để lưu trạng thái của bộ giải mã và checksum để so sánh các phần thông điệp. Khi checksum khớp, quá trình giải mã được bỏ qua, giảm thời gian xử lý.

3.2. Hiệu suất giao tiếp được cải thiện

Hiệu suất giao tiếp được cải thiện đáng kể khi sử dụng DDS, đặc biệt trong các môi trường Grid nơi các thông điệp tương tự được gửi liên tục. DDS có thể giảm thời gian giải mã lên đến 226%.

IV. Ứng dụng thực tế của DDS

Giải pháp giải mã SOAP khác biệt (DDS) có ứng dụng rộng rãi trong các hệ thống web services, đặc biệt trong các ứng dụng khoa học và Grid. DDS không chỉ cải thiện hiệu suất mà còn giúp tăng cường khả năng tương thích và mở rộng của hệ thống.

4.1. Ứng dụng trong Grid computing

DDS đặc biệt hiệu quả trong Grid computing, nơi các thông điệp tương tự được gửi liên tục. Tối ưu giao tiếp giúp cải thiện hiệu suất tổng thể của hệ thống.

4.2. Tương thích với hệ thống hiện có

DDS không yêu cầu thay đổi phía client, giúp dễ dàng tích hợp vào các hệ thống web services hiện có. Giải pháp SOAP này đảm bảo tính tương thích và mở rộng.

21/02/2025

Trích đoạn nội dung tài liệu

OPTIMIZING COMMUNICATION PERFORMANCE OF WEB SERVICES USING DIFFERENTIAL DESERIALIZATION OF SOAP MESSAGES BY NAYEF BASSAM ABU-GHAZALEH BSc., Jordan University of Science and Technology, 2002 MSc., Binghamton University, 2004 DISSERTATION Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Computer Science in the Graduate School of Binghamton University State University of New York 2006 UMI Number: 3241635 UMI Microform 3241635 Copyright 2007 by ProQuest Information and Learning Company. All rights reserved. This microform edition is protected against unauthorized copying under Title 17, United States Code. ProQuest Information and Learning Company 300 North Zeeb Road P.

Box 1346 Ann Arbor, MI 48106-1346 c Copyright by Nayef Abu-Ghazaleh 2006 All Rights Reserved Accepted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Computer Science in the Graduate School of Binghamton University State University of New York 2006 Dr. Lewis January 5, 2007 (Thesis Advisor) Department of Computer Science Dr. Weiyi Meng January 5, 2007 Department of Computer Science Dr. Madhusudhan Govindaraju January 5, 2007 Department of Computer Science Dr.

Kenneth Chiu January 5, 2007 Department of Computer Science Dr. Kenneth Kurtz January 5, 2007 (External Member) Department of Psychology iii Abstract Web services have recently emerged as a de facto standard for building Grid and distributed computing infrastructures and applications. SOAP, a simple, interoperable, robust, and extensible protocol for the exchange of messages, is the most widely used communication protocol in the Web services model. SOAP’s XML-based message format hinders its performance, thus making it unsuitable in many scientific applications.

The deserialization of SOAP messages, which includes processing of XML data and conversion of strings to in-memory data types, is the major performance bottleneck in a SOAP message exchange. The contributions of this dissertation address SOAP’s poor deserialization per- formance with the design and implementation of differential deserialization (DDS), an optimization technique that exploits similarities between incoming messages to reduce deserialization time. DDS is a fully SOAP compliant technique, and requires no changes to a SOAP client. A performance study demonstrates that DDS can result in performance im- provements up to 226% for some Web services.

When DDS is used with differ- ential serialization (DS), its sender-side analog, the performance study demon- strates even more significant performance improvements. iv ACKNOWLEDGMENTS I would like to thank my advisor, Prof. Lewis for his guidance, su- pervision, and help in the preparation of this disseratation. Also, I would like to thank my committee members; Professors Weiyi Meng, Madhusudhan Govin- daraju, Kenneth Chiu, and Kenneth Kurtz for agreeing to be on my PhD committee and for their feedback and suggestions that improved my disseration immensely.

Most importantly, I would like to thank my mother and father, Suad and Bas- sam, for their endless love, support, and encouragement—I can never thank them enough for this or anything else. Many thanks go to my brother Nael, for his guid- ance and help throughout my Master’s and PhD studies, as well as Suha, Hani, and Sa’ed for their support and encouragement I would also like to thank my aunts Hiyam Abu-Ghazaleh, Siham, Ilham, Hiyam Wafa, Fatima and Maha and my uncles Mahmood, Husam, Wael, and Adnan for their support and encourage- ment. v Contents List of Tables xi List of Figures xiv 1 Introduction 1 2 Background 7 2.1 The extensible markup language .1 Syntax of XML .2 Handling whitespace in XML documents .3 Namespaces in XML .4 Features of XML .1 Overview of SOAP’s syntax .3 Extending a SOAP message: The Header element .4 The SOAP encoding .5 The SOAP HTTP binding .6 SOAP as a remote procedure protocol .1 The potential for improving performance .2 The Data Update Tracking (DUT) table .7 Differential serialization optimizations .8 Summary and relation to DDS .3 Enabling differential deserialization .1 Checkpoints and message portions .3 Switching to fast mode .5 Checkpointing in DDS .6 Other DDS approaches. 47 4 Implementation: Differential Deserialization in the bSOAP Toolkit 49 4.2 A schema-driven deserializer .3 Checkpoint types in bSOAP .1 Creating differential checkpoints .2 Creating lightweight checkpoints .6 Switching to fast mode .1 The matching stack .2 Tracking switching candidates with progressive matching .3 Finalizing state matching .4 Cutting down switching time with differential checkpointing .5 Switching at a lightweight checkpoint .7 Switching to regular mode .8 Removing stale checkpoints .1Lightweight checkpoints and processing interrupts .2Creating base checkpoints .3Managing the number of checkpoints .1Memory blocks in bSOAP .2The active memory blocks stack .3The deserialization pointer .4Reallocating memory blocks .5Destroying unused memory blocks .6Merging newly-allocated memory blocks .12 Checkpointing application memory.

84 5 Performance and Analysis 85 5.2 Baseline deserialization study .4 Progressive matching overhead .6 Dual-mode DDS performance .7 DDS performance using two-stage checksum computation .2 Round-trip performance .3 Near-best case performance .4 DS and DDS performance .3 An interactive molecular dynamics simulation .1 Parallel molecular dynamics simulations .2 DDS and MD Simulations .3 Experimental Setup and Methodology .4 Results and discussion .1 IBM’s differential deserialization .1 Parsing through byte-sequence matching: Deltarser .2 A Deltarser-based differential deserialization .3 Schema-specific parsers .4 Changing the message format .1 Approaches that retain textual XML format .5 Parallel XML parsing. 177 7 Summary and Future Work 180 ix Bibliography 185 A FCP, DCP, and LCP dual-mode performance improvements 195 B FCP, DCP, and LCP dual-mode performance improvements using two- stage checksum computation 202 C Round-trip percent performance improvements 209 D GROMACS tests setup 213 x List of Tables 3.1 Comparison of three checkpointing mechanisms.1 Description of state saved in heavyweight checkpoints.2 A checkpoint’s message portion information.1 Number of created checkpoints and average message portion sizes for LCP, DCP and FCP, and for various array sizes and interrupt frequencies.2 Average number of fast mode switches, checkpoints created and de- stroyed, and percentage of bytes processed in fast mode for FCP and DCP, for a 100K element array and for various number of par- titions, interrupt frequencies, and percentage of values changed be- tween subsequent messages.3 Average number of fast mode switches, checkpoints created and de- stroyed, and percentage of bytes processed in fast mode for LCP, for a 100K element array and for various number of partitions, interrupt frequencies, and percentage of values changed between subsequent messages.1 Percent performance improvement in deserialization times of FCP over bSOAP without DDS support .2 Percent performance improvement in deserialization times of DCP over bSOAP without DDS support .3 Percent performance improvement in deserialization times of LCP over bSOAP without DDS support .4 Percent performance improvement in deserialization times of FCP over bSOAP without DDS support and using dummy deserialization routines.5 Percent performance improvement in deserialization times of DCP over bSOAP without DDS support and using dummy deserialization routines.6 Percent performance improvement in deserialization times of LCP over bSOAP without DDS support and using dummy deserialization routines.1 Percent performance improvement in deserialization times of FCP over bSOAP without DDS support .2 Percent performance improvement in deserialization times of DCP over bSOAP without DDS support .3 Percent performance improvement in deserialization times of LCP over bSOAP without DDS support .4 Percent performance improvement in deserialization times of FCP over bSOAP without DDS support and using dummy deserialization routines.5 Percent performance improvement in deserialization times of DCP over bSOAP without DDS support and using dummy deserialization routines.6 Percent performance improvement in deserialization times of LCP over bSOAP without DDS support and using dummy deserialization routines.1 Percent performance improvement in round-trip times of bSOAP with DS and DDS enabled over bSOAP without DDS support and with a DS implementation serializing all values in a message, but not its structure, for remote functions receiving arrays of various sizes and types, for various percentages of values changed from message to message, and for various message partitions.2 Percent performance improvement in round-trip times of bSOAP over bSOAP without DS and DDS support and using full whitespace stuff- ing, for remote functions receiving arrays of various sizes and types, for various percentages of values changed from message to message, and for various message partitions.3 Percent performance improvement in round-trip times of bSOAP over gSOAP, for remote functions receiving arrays of various sizes and types, for various percentages of values changed from message to message, and for various message partitions. 212 xiii List of Figures 2.1 A sample XML document.2 A sample XML document with namespaces.3 A sample W3C XML schema document.4 Structure of a SOAP message.5 A sample SOAP message.6 An XML fragment showing values encoded per the SOAP encoding.7 A SOAP/HTTP message for a method, add, that adds two integer values.1 Two similar gSOAP-generated SOAP messages to the Google do- GoogleSearch Web Service.2 Checkpoints and message portions.3 Updating checkpoints example.1 Hierarchical relationship between schema objects in a bSOAP schema for a method, getAverage.2 Checkpoint types in bSOAP and their hierarchy.3 Tracking stack changes.4 Creating lightweight checkpoints example.5 Namespace alias used as a value.6 Matching stack example.7 Checkpoints and memory blocks.1 Deserialization time, in milliseconds, for bSOAP and gSOAP for ar- rays of integers and doubles of various sizes.2 Checkpointing and checksumming overhead, for various message sizes and interrupt frequencies.3 Checkpointing overhead with and without checksum computation, for various message sizes and interrupt frequencies.4 Estimated overhead of processing interrupts for various message sizes and interrupt frequencies.5 Progressive matching overhead, for various message sizes and inter- rupt frequencies.6 Fast mode processing times, in milliseconds, for various checksum algorithms and for arrays of various sizes.7 Deserialization time, in milliseconds, for messages divided into 50 and 500 partitions, when 25%, 50%, and 75% percentages of values are changed around the center of each partition between consecutive messages, and for interrupt frequencies of 32, 128, and 512.8 DCP’s and LCP’s memory requirements, for various message sizes and interrupt frequencies.9 FCP’s and DCP’s memory requirements for program stack and other deserializer state, and for various message sizes and interrupt fre- quencies.10 Round-trip time, in milliseconds, for JavaRMI, MICO, gSOAP, and bSOAP (with DS and DDS turned off), for remote methods receiving arrays of various sizes and types.11 Round-trip time, in milliseconds, for JavaRMI, MICO, gSOAP, and bSOAP (with DS and DDS turned off), for remote methods sending arrays of various sizes and types.12 Round-trip time, in milliseconds, for JavaRMI, MICO, gSOAP, and bSOAP (with DS and DDS turned off), for remote methods echoing arrays of various sizes and types.13 Round-trip time, in milliseconds, for JavaRMI, MICO, gSOAP, and bSOAP (with no values changed between consecutive messages), for remote methods receiving arrays of various sizes and types.14 Round-trip time, in milliseconds, for JavaRMI, MICO, gSOAP, and bSOAP (with no values changed between consecutive messages), for remote methods echoing arrays of various sizes and types.15 Round-trip time, in milliseconds, for messages divided into 1 and 500 partitions, when 25%, 50%, 75% and 100% percentages of val- ues are changed around the center of each partition between con- secutive messages, for remote methods receiving arrays of various sizes and types.16 Round-trip time, in milliseconds, for JavaRMI, MICO, and bSOAP for remote methods receiving arrays of various sizes and types. bSOAP round-trip times are plotted for messages divided into 200 partitions, when 25%, 50%, and 75% percentages of values are changed around the center of each partition between consecutive messages.17 Deserialization time, in milliseconds, for bSOAP with and without DDS support, deserializing 100 messages corresponding to atom configurations after 100 simulation timesteps, for the simulation of the dynamics of various molecules.

137 xvi Chapter 1 Introduction Grid computing coordinates multiple, loosely-coupled, heterogeneous, and geo- graphically dispersed computing resources to perform a specific task. The con- trol, discovery, and coordination of the potentially vast amount of resources is enabled by Grid middleware. Several architectures for designing Grid middleware have emerged. The Open Grid Services Architecture (OGSA) [36] is the most widely used.

OGSA exploits existing Web services technologies for their straightforward applicability for Grid computing and their widespread adoption [37]. In particular, OGSA models Grid resources as Grid services, which are a special kind of Web services, and uses WSDL [34] and UDDI [2] for resource description and discovery, respectively.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tối ưu hiệu suất giao tiếp của web services bằng giải pháp giải mã SOAP khác biệt là tài liệu chuyên sâu về việc cải thiện hiệu suất của các dịch vụ web thông qua phương pháp giải mã SOAP độc đáo. Tài liệu này tập trung vào việc phân tích các thách thức trong giao tiếp giữa các hệ thống, đồng thời đề xuất giải pháp tối ưu hóa quy trình giải mã SOAP để tăng tốc độ xử lý và giảm thiểu độ trễ. Điều này không chỉ nâng cao trải nghiệm người dùng mà còn giúp các doanh nghiệp tiết kiệm tài nguyên và nâng cao hiệu quả vận hành.

Nếu bạn quan tâm đến các giải pháp công nghệ và tối ưu hóa hệ thống, bạn có thể khám phá thêm Luận văn đề xuất các giải pháp nhằm nâng cao hiệu quả áp dụng, nơi cung cấp những góc nhìn sâu sắc về việc cải thiện hiệu suất trong các lĩnh vực khác nhau. Bên cạnh đó, Luận văn thạc sĩ xây dựng thuật toán trích xuất số phách trên phiếu trả lời trắc nghiệm của trường đại học phan thiết cũng là một tài liệu đáng chú ý, giúp bạn hiểu rõ hơn về ứng dụng của các thuật toán trong thực tế. Cuối cùng, 2 tóm tắt luận án tiến sĩ tiếng việt ncs nguyễn khắc tấn mang đến những nghiên cứu chuyên sâu có thể bổ sung kiến thức của bạn trong lĩnh vực công nghệ và khoa học.

Hãy khám phá các tài liệu này để mở rộng hiểu biết và tìm kiếm những giải pháp tối ưu hóa hiệu suất trong các dự án của bạn!