首页> 外文会议>25th annual ACM conference on object oriented programming, systems, languages and applications 2010 >Cross-Language, type-Safe, and Transparent Object Sharing For Co-Located Managed Runtimes
【24h】

Cross-Language, type-Safe, and Transparent Object Sharing For Co-Located Managed Runtimes

机译:跨语言,类型安全和透明的对象共享,用于同一位置的托管运行时

获取原文
获取原文并翻译 | 示例

摘要

As software becomes increasingly complex and difficult to analyze, it is more and more common for developers to use high-level, type-safe, object-oriented (OO) programming languages and to architect systems that comprise multiple components. Different components are often implemented in different programming languages. In state-of-the-art multi-component, multi-language systems, cross-component communication relies on remote procedure calls (RPC) and message passing. As components are increasingly co-located on the same physical machine to ensure high utilization of multi-core systems, there is a growing potential for using shared memory for cross-language cross-runtime communication. We present the design and implementation of Co-Located Runtime Sharing (CoLoRS), a system that enables cross-language, cross-runtime type-safe, transparent shared memory. CoLoRS provides object sharing for co-located OO runtimes for both static and dynamic languages. CoLoRS defines a language-neutral object/class model, which is a static-dynamic hybrid and enables class evolution while maintaining the space/time efficiency of a static model. CoLoRS uses type mapping and class versioning to transparently map shared types to private types. CoLoRS also contributes a synchronization mechanism and a parallel, concurrent, on-the-fly GC algorithm, both designed to facilitate cross-language cross-runtime object sharing. We implement CoLoRS in open-source, production-quality runtimes for Python and Java. Our empirical evaluation shows that CoLoRS extensions impose low overhead. We also investigate RPC over CoLoRS and find that using shared memory to implement co-located RPC significantly improves both communication throughput and latency by avoiding data structure serialization.
机译:随着软件变得越来越复杂且难以分析,对于开发人员来说,使用高级的,类型安全的,面向对象(OO)的编程语言以及设计包含多个组件的系统的情况越来越普遍。通常以不同的编程语言实现不同的组件。在最新的多组件,多语言系统中,跨组件通信依赖于远程过程调用(RPC)和消息传递。随着组件越来越多地位于同一台物理计算机上以确保多核系统的高利用率,使用共享内存进行跨语言跨运行时通信的潜力越来越大。我们介绍了共定位运行时共享(CoLoRS)的设计和实现,该系统支持跨语言,跨运行时类型安全的透明共享内存。 CoLoRS为静态和动态语言的共置OO运行时提供对象共享。 CoLoRS定义了一种与语言无关的对象/类模型,该模型是静态-动态的混合体,可以在保持静态模型的时空效率的同时实现类的演化。 CoLoRS使用类型映射和类版本控制将共享类型透明地映射为私有类型。 CoLoRS还提供了一种同步机制和一个并行,并发的即时GC算法,两者均旨在促进跨语言跨运行时对象共享。我们在适用于Python和Java的开源,生产质量的运行时中实现CoLoRS。我们的经验评估表明,CoLoRS扩展的开销很小。我们还研究了CoLoRS上的RPC,发现使用共享内存来实现共置RPC可以避免数据结构序列化,从而显着提高通信吞吐量和延迟。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号