Chi-Chao Chang, G. Czajkowski, C. Hawblitzel, Deyu Hu, T. V. Eicken
{"title":"Security versus performance tradeoffs in RPC implementations for safe language systems","authors":"Chi-Chao Chang, G. Czajkowski, C. Hawblitzel, Deyu Hu, T. V. Eicken","doi":"10.1145/319195.319219","DOIUrl":null,"url":null,"abstract":"In current distributed systems, the performance of remote procedure calls (RPCs) is determined primarily by the performance of the underlying network transport. While the overheads of the RPC system itself are secondary, two ongoing developments are likely to change this and will cause the current RPC systems to become the bottleneck in communication: user-level network interfaces and safe languages. User-level network interfaces such as VIA [2], U-Net [10], Fast Messages [8], NoW Active Messages [1], or Shrimp VMMC [3] are removing the operating system from the critical communication path by allowing applications to access the network interface directly. As a result, the overhead of the network transport underlying RPC decreases by almost an order of magnitude. At the same time, the increasing adoption of Java as the “internet programming language” places a heavier burden on the RPC system because communication among Java programs must satisfy the type safety properties assumed by the language run-time (this is a general issue with safe languages). Typically enforcing this type safety requires additional operations (e.g. checks) in the critical RPC path.","PeriodicalId":335784,"journal":{"name":"Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications","volume":"14 22","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1998-09-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/319195.319219","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3
Abstract
In current distributed systems, the performance of remote procedure calls (RPCs) is determined primarily by the performance of the underlying network transport. While the overheads of the RPC system itself are secondary, two ongoing developments are likely to change this and will cause the current RPC systems to become the bottleneck in communication: user-level network interfaces and safe languages. User-level network interfaces such as VIA [2], U-Net [10], Fast Messages [8], NoW Active Messages [1], or Shrimp VMMC [3] are removing the operating system from the critical communication path by allowing applications to access the network interface directly. As a result, the overhead of the network transport underlying RPC decreases by almost an order of magnitude. At the same time, the increasing adoption of Java as the “internet programming language” places a heavier burden on the RPC system because communication among Java programs must satisfy the type safety properties assumed by the language run-time (this is a general issue with safe languages). Typically enforcing this type safety requires additional operations (e.g. checks) in the critical RPC path.
在当前的分布式系统中,远程过程调用(rpc)的性能主要取决于底层网络传输的性能。虽然RPC系统本身的开销是次要的,但两个正在进行的开发可能会改变这一点,并将导致当前RPC系统成为通信的瓶颈:用户级网络接口和安全语言。用户级网络接口,如VIA[2]、U-Net[10]、Fast Messages[8]、NoW Active Messages[1]或Shrimp VMMC[3],通过允许应用程序直接访问网络接口,将操作系统从关键通信路径中移除。因此,RPC底层的网络传输开销几乎降低了一个数量级。同时,越来越多地采用Java作为“internet编程语言”,这给RPC系统带来了更沉重的负担,因为Java程序之间的通信必须满足语言运行时所假定的类型安全属性(这是安全语言的一个普遍问题)。通常,执行这种类型安全需要在关键RPC路径中进行额外的操作(例如检查)。