{"title":"Explicit Batching for Distributed Objects","authors":"E. Tilevich, W. Cook, Yang Jiao","doi":"10.1109/ICDCS.2009.39","DOIUrl":null,"url":null,"abstract":"Although distributed object systems, including RMI and CORBA, enable object-oriented programs to be easily dis- tributed across a network, achieving acceptable performance usually requires client-specific optimization of server inter- faces, making such systems difficult to maintain and evolve. Automatic optimization techniques, including Batched Fu- tures and Communication Restructuring, do not work as well as hand optimization. This paper presents Batched Remote Method Invocation (BRMI), a language-level technique for clients to specify explicit batches of operations on remote objects. We have implemented BRMI for Java as an extension of RMI, with support for batches with array cursors, custom exception handling, conditionals and loops. BRMI allows common design patterns, including Data Transfer Objects and Remote Object Facade, to be constructed on the fly by clients. The performance benefits of batching operations are well known; our evaluation focuses on the usability of explicit batches, but we also confirm that BRMI outperforms RMI and scales significantly better when clients make multi- ple remote calls. The applicability of BRMI is demonstrated by rewriting third-party RMI client applications to use BRMI.","PeriodicalId":387968,"journal":{"name":"2009 29th IEEE International Conference on Distributed Computing Systems","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2009-06-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"8","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2009 29th IEEE International Conference on Distributed Computing Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICDCS.2009.39","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 8
Abstract
Although distributed object systems, including RMI and CORBA, enable object-oriented programs to be easily dis- tributed across a network, achieving acceptable performance usually requires client-specific optimization of server inter- faces, making such systems difficult to maintain and evolve. Automatic optimization techniques, including Batched Fu- tures and Communication Restructuring, do not work as well as hand optimization. This paper presents Batched Remote Method Invocation (BRMI), a language-level technique for clients to specify explicit batches of operations on remote objects. We have implemented BRMI for Java as an extension of RMI, with support for batches with array cursors, custom exception handling, conditionals and loops. BRMI allows common design patterns, including Data Transfer Objects and Remote Object Facade, to be constructed on the fly by clients. The performance benefits of batching operations are well known; our evaluation focuses on the usability of explicit batches, but we also confirm that BRMI outperforms RMI and scales significantly better when clients make multi- ple remote calls. The applicability of BRMI is demonstrated by rewriting third-party RMI client applications to use BRMI.