首页> 外文期刊>Concurrency and Computation >The Open Runtime Platform: a flexible high-performance managed runtime environment
【24h】

The Open Runtime Platform: a flexible high-performance managed runtime environment

机译:开放式运行时平台:灵活的高性能托管运行时环境

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

摘要

The Open Runtime Platform (ORP) is a high-performance managed runtime environment (MRTE) that features exact generational garbage collection, fast thread synchronization, and multiple coexisting just-in-time compilers (JITs). ORP was designed for flexibility in order to support experiments in dynamic compilation, garbage collection, synchronization, and other technologies. It can be built to run either Java or Common Language Infrastructure (CLI) applications, to run under the Windows or Linux operating systems, and to run on the IA-32 or Itanium processor family (IPF) architectures. Achieving high performance in a MRTE presents many challenges, particularly when flexibility is a major goal. First, to enable the use of different garbage collectors and JITs, each component must be isolated I rom the rest of the environment through a well-defined software interface. Without careful attention, this isolation could easily harm performance. Second, MRTEs have correctness and safety requirements that traditional languages such as C++ lack. These requirements, including null pointer checks, array bounds checks, and type checks, impose additional runtime overhead. Finally, the dynamic nature of MRTEs makes some traditional compiler optimizations, such as devirtualization of method calls, more difficult to implement or more limited in applicability. To get full performance, JITs and the core virtual machine (VM) must cooperate to reduce or eliminate (where possible) these MRTE-speciflc overheads. In this paper, we describe the structure of ORP in detail, paying particular attention to how it supports flexibility while preserving high performance. We describe the interfaces between the garbage collector, the JIT, and the core VM; how these interfaces enable multiple garbage collectors and JITs without sacrificing performance; and how they allow the JIT and the core VM to reduce or eliminate MRTE-specific performance issues.
机译:开放式运行时平台(ORP)是一种高性能的托管运行时环境(MRTE),具有精确的世代垃圾收集,快速的线程同步以及多个实时共存的编译器(JIT)。 ORP旨在提供灵活性,以支持动态编译,垃圾收集,同步和其他技术中的实验。它可以构建为运行Java或通用语言基础结构(CLI)应用程序,在Windows或Linux操作系统下运行,以及在IA-32或Itanium处理器家族(IPF)体系结构上运行。在MRTE中实现高性能提出了许多挑战,特别是在灵活性是主要目标的情况下。首先,为了能够使用不同的垃圾收集器和JIT,必须通过定义良好的软件界面将其余每个组件隔离到整个环境中。如果没有仔细注意,这种隔离很容易损害性能。其次,MRTE具有C ++等传统语言所缺乏的正确性和安全性要求。这些要求(包括空指针检查,数组边界检查和类型检查)会带来额外的运行时开销。最后,MRTE的动态特性使一些传统的编译器优化(例如方法调用的虚拟化)更加难以实现或适用性受到更大限制。为了获得完整的性能,JIT和核心虚拟机(VM)必须合作以减少或消除(如果可能)这些MRTE特定的开销。在本文中,我们详细描述了ORP的结构,特别注意了它在保持高性能的同时如何支持灵活性。我们描述了垃圾收集器,JIT和核心VM之间的接口。这些接口如何在不牺牲性能的情况下启用多个垃圾收集器和JIT;以及它们如何使JIT和核心VM减少或消除特定于MRTE的性能问题。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号