DocumentCode
104117
Title
Quatrain: Accelerating Data Aggregation between Multiple Layers
Author
Jinglei Ren ; Yongwei Wu ; Meiqi Zhu ; Weimin Zheng
Author_Institution
Dept. of Comput. Sci. & Technol., Tsinghua Univ., Beijing, China
Volume
63
Issue
5
fYear
2014
fDate
May-14
Firstpage
1207
Lastpage
1219
Abstract
Composition of multiple layers (or components/services) has been a dominant practice in building distributed systems, meanwhile aggregation has become a typical pattern of data flows nowadays. However, the efficiency of data aggregation is usually impaired by multiple layers due to amplified delay. Current solutions based on data/execution flow optimization mostly counteract flexibility, reusability, and isolation of layers abstraction. Otherwise, programmers have to do much error-prone manual programming to optimize communication, and it is complicated in a multithreaded environment. To resolve the dilemma, we propose a new style of inter-process communication that not only optimizes data aggregation but also retains the advantages of layered (or component-based/service-oriented) architecture. Our approach relaxes the traditional definition of procedure and allows a procedure to return multiple times. Specifically, we implement an extended remote procedure calling framework Quatrain to support the new multireturn paradigm. In this paper, we establish the importance of multiple returns, introduce our very simple semantics, and present a new synchronization protocol that frees programmers from multireturn-related thread coordination. Several practical applications are constructed with Quatrain, and the evaluation shows an average of 56% reduction of response time, compared with the traditional calling paradigm, in realistic environments.
Keywords
data structures; object-oriented programming; protocols; remote procedure calls; service-oriented architecture; synchronisation; Quatrain; component-based architecture; data aggregation; data flow optimization; data flows; distributed systems; execution flow optimization; extended remote procedure calling framework; interprocess communication; layered architecture; multireturn paradigm; multireturn-related thread coordination; response time; service-oriented architecture; synchronization protocol; Computer architecture; Delay; Instruction sets; Programming; Protocols; Semantics; Servers; Distributed programming; and subroutines; asynchronous/synchronous operation; client/server; data communications; distributed systems; frameworks; functions; interfaces; patterns; procedures; system integration and implementation;
fLanguage
English
Journal_Title
Computers, IEEE Transactions on
Publisher
ieee
ISSN
0018-9340
Type
jour
DOI
10.1109/TC.2012.298
Filename
6392825
Link To Document