WWW.DISSERTATION.XLIBX.INFO
FREE ELECTRONIC LIBRARY - Dissertations, online materials
 
<< HOME
CONTACTS



Pages:   || 2 | 3 | 4 | 5 |   ...   | 6 |

«In modern distributed object systems, reference parameters to a remote method are passed ac- cording to their runtime type. This design choice limits ...»

-- [ Page 1 ] --

Expressive and Extensible Parameter Passing for

Distributed Object Systems

ELI TILEVICH and SRIRAM GOPAL, Virginia Tech

In modern distributed object systems, reference parameters to a remote method are passed ac-

cording to their runtime type. This design choice limits the expressiveness, readability, and

maintainability of distributed applications. Further, to extend the built-in set of parameter pass-

ing semantics of a distributed object system, the programmer has to understand and modify the underlying middleware implementation. To address these design shortcomings, this article presents (i) a declarative and extensible approach to remote parameter passing that decouples parameter passing semantics from parameter types, and (ii) a plugin-based framework, DeXteR, which enables the programmer to extend the built-in set of remote parameter passing semantics, without having to understand or modify the underlying middleware implementation. DeXteR treats remote parameter passing as a distributed cross-cutting concern and uses aspect-oriented and generative techniques. DeXteR enables the implementation of different parameter passing semantics as reusable application-level plugins, applicable to application, system, and third-party library classes. The expressiveness, flexibility, and extensibility of the approach is validated by adding several non-trivial remote parameter passing semantics (i.e., copy-restore, lazy, streaming) to Java Remote Method Invocation (RMI) as DeXteR plugins.

Categories and Subject Descriptors: D.1.2 [Programming Techniques]: Automatic Program- ming—Program synthesis; D.1.3 [Programming Techniques]: —Distributed Programming;

D.3.3 [Programming Languages]: Language Constructs and Features—Frameworks General Terms: Languages, Design Additional Key Words and Phrases: Extensible Middleware, Metadata, Aspect Oriented Pro- gramming (AOP), Generative Programming, Declarative Programming

1. INTRODUCTION One of the most widely-used paradigms for constructing distributed systems is Re- mote Procedure Call (RPC) [Birrell and Nelson 1984]. RPC leverages the ubiquity of procedure calls in programming languages and makes remote calls work like local calls. RPC is also straightforward to implement—most programming languages can express remote calls by simply defining an appropriate library.

To support the construction of distributed object systems [The Object Man- agement Group (OMG) 1997; Wollrath et al. 1996], RPC has been extended to Remote Method Invocation (RMI), which enables transparent object distribution.

This is a corrected and expanded version of a paper [Gopal et al. 2008] presented at the 9th ACM/IFIP/USENIX Middleware Conference.

Corresponding Author’s Address: Eli Tilevich, Dept. of Computer Science, Virginia Tech, Blacks- burg, VA, USA. Email: tilevich@cs.vt.edu.

Permission to make digital/hard copy of all or part of this material without fee for personal or classroom use provided that the copies are not made or distributed for profit or commercial advantage, the ACM copyright/server notice, the title of the publication, and its date appear, and notice is given that copying is by permission of the ACM, Inc. To copy otherwise, to republish, to post on servers, or to redistribute to lists requires prior specific permission and/or a fee.

c 20YY ACM 0000-0000/20YY/0000-0001 $5.00 ACM Journal Name, Vol. V, No. N, Month 20YY, Pages 1–29.

· 2 E. Tilevich and S. Gopal Although RMI-based distributed object systems aim at making remote methods indistinguishable from local methods, parameter passing is one implementation facet that is handled specially. Parameter passing in local calls can be implemented efficiently because the caller and the callee share the same address space. When distribution takes place, however, efficiently maintaining the local parameter passing semantics across different address spaces becomes impossible without special hardware support. As a result, distributed object systems offer different parameter passing semantic for remote calls (e.g., call-by-copy, call-by-remote-reference, call-by-copy-restore). Furthermore, to designate how a particular parameter should be passed to a remote method, the programmer has to use types. Specifically, the runtime type of a remote parameter determines the semantics by which it will be passed.

Types are among the most commonly explored research topics in programming languages. In addition to presenting stimulating research challenges, type systems provide practical means for creating more robust programs. By ensuring that program fragments compute a specific set of values, a type system helps avoid undesirable runtime behaviors. In his book “Types and Programming Languages,” Pierce points out how type systems benefit practical software development by detecting errors, providing useful abstractions, documenting program behavior, ensuring language safety, and improving efficiency [Pierce 2002].

Despite all of these benefits of type systems, the main argument of this article is that types are ill-suited as a mechanism to express the semantics for passing parameters to remote methods. We argue that type-based parameter passing is a poorly-designed programming abstraction that negatively affects the expressiveness, readability, and maintainability of distributed applications.





Mainstream programming languages such as C, C++, and C# express the choice of local parameter passing mechanisms through method declarations with special tokens rather than types. For example, by default objects in C++ are passed by value, but inserting the & token after the type of a parameter signals the by reference mechanism. Why cannot distributed object systems adhere to a similar declarative paradigm for remote method calls, albeit properly designed for distributed communication?

To that end, we present declaration-based parameter passing for remote methods. While Java always uses the by value semantics for local calls, distributed communication requires a richer set of semantics to ensure good performance and to increase flexibility. With our model, the declaration of a remote method includes a passing mechanism for each parameter, expressed using Java 5 annotations. We demonstrate how decoupling parameter passing from parameter types increases expressiveness, improves readability, and eases maintainability. We also show that IDL-based distributed object systems such as CORBA [Group 1998b] and DCOM [Brown and Kindel 1998] with their in, out, and inout parameter modes stop short of a fully declarative parameter passing model and are not extensible.

Recognizing that many existing distributed applications are built upon a typebased model, we present a technique for transforming a type-based remote parameter passing model to use a declaration-based one. Our technique transforms parameter passing functionality transparently, without any changes to the underACM Journal Name, Vol. V, No. N, Month 20YY.

· Expressive and Extensible Parameter Passing for Distributed Objects 3 lying distributed object system implementation, ensuring cross-platform compatibility and ease of adoption. With Java RMI as our example domain, we combine aspect-oriented and generative techniques to retrofit its parameter passing functionality. Our approach is equally applicable to application classes, system classes, and third-party libraries.

In addition, declaration-based remote parameter passing simplifies adding new semantics to an existing distributed object system. We present an extensible plugin-based framework, through which third-party vendors or in-house expert programmers can seamlessly extend a built-in set of remote parameter passing semantics.

Our framework allows such extension in the application space, without modifying the JVM or its runtime classes. As a validation, we used our framework to extend the set of available parameter passing semantics of RMI with several non-trivial state-of-the-art semantics, introduced earlier in the literature both by us [Tilevich and Smaragdakis 2008] and others [Line et al. 2008; Yang et al. 2006; Eberhard and Tripathi 2001].

One of the implemented semantics optimizes our own prior algorithm for copyrestore [Tilevich and Smaragdakis 2008]. While the original implementation is inefcient in high-latency, low-bandwidth network environments, the optimized version of the copy-restore algorithm—copy-restore with delta—efficiently identifies and encodes the changes made by the server to a copy-restore parameter.

Contributions and Roadmap

This article makes the following novel contributions:

—A clear exposition of the shortcomings of type-based parameter passing in distributed object systems, including CORBA, Java RMI, and.NET Remoting.

—An alternative declarative parameter passing approach that offers design and implementation advantages.

—An extensible framework to retrofit RMI applications with declaration-based parameter passing and to extend the built-in set of semantics.

—An enhanced copy-restore mode of remote parameter passing, offering performance advantages for low bandwidth, high latency networks.

The rest of this article is structured as follows. Section 2 demonstrates the shortcomings of type-based parameter passing using a bioinformatics application.

Section 3 presents DeXteR, our extensible framework. Section 4 describes how we used DeXteR to add several non-trivial parameter passing semantics to RMI.

Section 5 discusses the advantages and constraints of our approach. Section 6 discusses related work. Section 7 outlines future work directions, and Section 8 presents concluding remarks.

2. MOTIVATING EXAMPLE Organizations have hundreds of workstations connected into local area networks (LANs) that stay unused for hours at a time. Consider leveraging these idle computing resources for distributed scientific computation. Specifically, we would like ACM Journal Name, Vol. V, No. N, Month 20YY.

· 4 E. Tilevich and S. Gopal to set up an ad-hoc grid that will use the idle workstations to solve bioinformatics problems. The ad-hoc grid will coordinate the constituent workstations to align, mutate, and cross DNA sequences, thereby solving a computationally intensive problem in parallel.

Each workstation has a standard Java Virtual Machine (JVM) installed, and the LAN environment makes Java RMI a viable distribution middleware choice. As a distributed object model for Java, RMI simplifies distributed programming by exposing remote method invocations through a convenient programming model. In addition, the synchronous communication model of Java RMI aligns well with the reliable networking environment of a LAN.

The bioinformatics application follows a simple Master-Worker architecture, with classes Sequence, SequenceDB, and Worker representing a DNA sequence, a collection of sequences, and a worker process, respectively. Class Worker implements three computationally-intensive methods: align, cross, and mutate.

–  –  –

The align method iterates over a collection of candidate sequences (candidates), adding to the global collection ( allSeqs ) those sequences that satisfy a minimum alignment threshold. The cross method simulates the crossing over of two sequences (e.g., during mating) and returns the offspring sequence. Finally, the mutate method simulates the effect of a gene therapy treatment on a collection of sequences, thereby mutating the contents of every sequence in the collection.

Consider using Java RMI to distribute this application on an ad-hoc grid, so that multiple workers could solve the problem in parallel. To ensure good performance, we need to select the most appropriate semantics for passing parameters to remote methods. However, as we demonstrate next, despite its Java-like programming model, RMI uses a different remote parameter passing model that is type-based.

That is, the runtime type of a reference parameter determines the semantics by which RMI passes it to remote methods. We argue that this parameter passing model has serious shortcomings, with negative consequences for the development, understanding, and maintenance of distributed applications.

Method align takes two parameters of type SequenceDB: allseqs and candidates.

allseqs is an extremely large global collection that is being updated by multiple workers. We, therefore, need to pass it by remote-reference. candidates, on the other hand, is a much smaller collection that is being used only by a single worker.

We, therefore, need to pass it by copy, so that its contents can be examined and compared efficiently. To pass parameters by remote-reference and by copy, the RMI programmer has to create subclasses implementing marker interfaces Remote and Serializable, respectively. As a consequence, method align ’s signature must be changed as well. Passing allSeqs by remote-reference requires the type of allSeqs ACM Journal Name, Vol. V, No. N, Month 20YY.

· Expressive and Extensible Parameter Passing for Distributed Objects 5 to become a remote interface. Finally, examining the declaration of the remote method align would give no indication about how its parameters are passed, forcing the programmer to examine the declaration of each parameter’s type. In addition, in the absence of detailed source code comments, the programmer has no choice but to examine the logic of the entire slice [De Lucia et al. 1996] of a distributed application that can affect the runtime type of a remote parameter.

Method mutate mutates the contents of every sequence in its seqs parameter. Since the client needs to use the mutated sequences, the changes have to be reflected in the client’s JVM. The situation at hand renders passing by remote-reference ineffective, since the large number of remote callbacks is likely to incur a significant performance overhead. One approach is to pass seqs by copy-restore, a semantics which efficiently approximates remote-reference under certain assumptions [Tilevich and Smaragdakis 2008].

Because Java RMI does not natively support copy-restore, one could use a custom implementation provided either by a third-party vendor or an in-house expert programmer. Mainstream middleware, however, does not provide programming facilities for such extensions. Thus, adding the new semantics would require that a programmer understand the RMI implementation in sufficient detail to be able to add the new functionality by hand either by manipulating bytecode directly or using a tool as AspectJ.



Pages:   || 2 | 3 | 4 | 5 |   ...   | 6 |


Similar works:

«FACING THE PROBLEM OF THE MISSIONARIES' CHILDREN JACK B. CHURCHILL At a recent conference the following question was put to some missionaries: Why are some missionaries' children such brats ? Such bluntness provokes reactions. It is not the purpose of this article to assume the role of the missionary parent and defend or excuse. Nor will it be to join in the spirit of the person who asked this question. Our aim will be to direct attention to the over-all problem that this rather tactless...»

«Hail Mary A Memoir By Mary Goggin with Liza Lentini Contact: Liza Lentini 917 572 6542 lizalentini@gmail.com Goggin-Lentini/Hail Mary/ 1 PROPOSAL CONTENTS Overview 2 Market Analysis 4 Author Bio 6 Writer Bio 8 Promotion 10 Chapter Summaries 12 Sample Chapters Chapter One 17 Meet the strictly Catholic Goggin family and their oldest daughter Mary, an innocent honorstudent who one day, at the age of 12, decides it will be easier to be in trouble than to try to live up to God’s expectations....»

«STATE OF RHODE ISLAND AND PROVIDENCE PLANTATIONS Filed – February 8, 2010 PROVIDENCE, SC. SUPERIOR COURT TOWN OF JOHNSTON : : v. : PM No. 2008-5956 :INTERNATIONAL BROTHERHOOD : OF POLICE OFFICERS, LOCAL 307 : DECISION LANPHEAR, J. This case is before the Court on Plaintiff Town of Johnston’s motion to vacate an arbitration award in favor of the International Brotherhood of Police Officers, Local 307 (“the Union”) and the Union’s motion to confirm the arbitration award. For the reasons...»

«DIOCESE OF FORT WAYNE–SOUTH BEND OFFICE OF WORSHIP March 2013 LITURGICAL NOTES Upcoming Dates April 8: The Solemnity of the Annunciation of the Lord is transferred to Monday, April 8 • this year, on account of Holy Week and the Easter Octave. As prescribed by the Roman Missal, please remind the faithful to genuflect during the Creed at the words, “and by the Holy Spirit was incarnate of the Virgin Mary, and became man.” As at Christmas, we pay homage to the great mystery of the...»

«Mortar as Grout for Reinforced Masonry Phase 1 Report April 2005 RBA Project 8379 Mortar as Grout for Reinforced Masonry Phase 1 Report Prepared for: International Masonry Institute National Lime Association Bricklayers and Allied Craftworkers Local No.1, New York, NY National Concrete Masonry Association Research and Education Foundation Prepared by: David T. Biggs, P.E. Ryan-Biggs Associates, P.C. 291 River Street Troy, New York 12180 (518) 272-6266 (518) 272-4467 (fax) dbiggs@ryanbiggs.com...»

«  Master Thesis Spring 2011 International Marketing & Brand Management Master Programme   Leveraging Brand Equity through Sponsorships An explanatory study of brand loyalty in consistent and conflicting club and player sponsorship scenarios in European football Authors Erik Brännström Hampus Gunnarsson Supervisor Veronika Tarnovskaya Examiner Jens Hultman Brännström & Gunnarsson Abstract   Title:                                            ...»

«Managing diabetes as you age A guide for people over 65 living with diabetes Diabetes products and services The National Diabetes Services Scheme (NDSS) is an initiative of the Australian Government administered by Diabetes Australia. The NDSS supplies diabetes-related products at subsidised prices and provides information and support services to people living with diabetes. Registration is free and open to all Australians diagnosed with diabetes. For more information, visit www.ndss.com.au or...»

«WRPS-55815 -FP Revision 0, Draft Development and Deployment of the Extended Reach Sluicing System (ERSS) for Retrieval of Hanford Single Shell Tank Waste 14206 (DRAFT) Prepared for the U.S. Department of Energy Assistant Secretary for Environmental Management Contractor for the U.S. Department of Energy Office of River Protection under Contract DE-AC27-08RV14800 P.O. Box 850 Richland, Washington 99352 Approved for Public Release; Further Dissemination Unlimited WRPS-55815 -FP Revision 0, Draft...»

«EXENCIONES Y EXCLUSIONES DEL IMPUESTO A LOS DÉBITOS Y CRÉDITOS EN OPERACIONES Y TRANSACCIONES HABITUALES José A. Moreno Gurrea El Impuesto a los Débitos y Créditos en Cuentas Bancarias y Otras Operatorias exhumado en el año 2001 por la Ley 25413 y complementado por el Decreto 380/2001 (y sus continuadas modificaciones), junto con disposiciones e interpretaciones del fisco, la justicia y la doctrina, constituyen un complejo mosaico que incluye distintos hechos imponibles, exenciones y...»

«COMMISSIONER FOR PUBLIC SECTOR EMPLOYMENT GUIDELINE: MANAGEMENT OF UNSATISFACTORY PERFORMANCE (INCLUDING MISCONDUCT) Public Sector Act 2009 ~ Guideline of the Commissioner for Public Sector Employment ~ TABLE OF CONTENTS INTRODUCTION PUBLIC SECTOR AND PUBLIC SERVICE NATURAL JUSTICE AND PROCEDURAL FAIRNESS UNSATISFACTORY PERFORMANCE INCLUDING MISCONDUCT REVIEW OF EMPLOYMENT DECISIONS DEEMED RESIGNATION MISCELLANEOUS SCHEDULE 1: BASIC DISCIPLINARY AND RELATED PROCESSES SCHEDULE 2: SAMPLE...»

«On the Efficiency of Pairing Heaps and Related Data Structures MICHAEL L. FREDMAN Rutgers University, New Brunswick, New Jersey Abstract. The pairing heap is well regarded as an efficient data structure for implementing priority queue operations. It is included in the GNU C library. Strikingly simple in design, the pairing heap data structure nonetheless seems difficult to analyze, belonging to the genre of self-adjusting data structures. With its design originating as a self-adjusting analogue...»

«SECURITIES AND EXCHANGE COMMISSION (Release No. 34-59189; File No. SR-FINRA-2007-021) December 31, 2008 Self-Regulatory Organizations; Financial Industry Regulatory Authority, Inc.; Order Approving Proposed Rule Change, as Modified by Amendment No. 1 Thereto, Relating to Amendments to the Code of Arbitration Procedure for Customer Disputes and the Code of Arbitration Procedure for Industry Disputes to Address Motions to Dismiss and to Amend the Eligibility Rule Related to Dismissals I....»





 
<<  HOME   |    CONTACTS
2016 www.dissertation.xlibx.info - Dissertations, online materials

Materials of this site are available for review, all rights belong to their respective owners.
If you do not agree with the fact that your material is placed on this site, please, email us, we will within 1-2 business days delete him.