首页> 外文会议>Proceedings of the 16th International Conference on Parallel Architecture and Compilation Techniques >Language and Virtual Machine Support for Efficient Fine-Grained Futures in Java
【24h】

Language and Virtual Machine Support for Efficient Fine-Grained Futures in Java

机译:语言和虚拟机对Java中高效细粒度期货的支持

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

摘要

In this work, we investigate the implementation of futures in Java J2SE v5.0. Java 5.0 provides an interface-based implementation of futures that enables users to encapsulate potentially asynchronous computation and to define their own execution engines for futures. Although this methodology decouples thread scheduling from application logic, for applications with fine-grained parallelism, this model imposes an undue burden on the average users and introduces significant performance overhead. To address these issues, we investigate the use of lazy futures and offer an alternative implementation to the Java 5.0 approach. In particular, we present a directive-based programming model for using futures in Java that uses annotations in Java 5.0 (as opposed to interfaces) and a lazy future implementation to significantly simplify programmer effort. Our directive-based future system employs novel compilation and runtime techniques that transparently and adaptively split and spawn futures for parallel execution. All such decisions are automatic and guided by dynamically determined future granularity and underlying resource availability. We empirically evaluate our future implementation using different Java Virtual Machine configurations and common Java benchmarks that implement fine-grained parallelism. We compare directive-based lazy futures with lazy and Java 5.0 futures and show that our approach is significantly more scalable.
机译:在这项工作中,我们研究Java J2SE v5.0中期货的实现。 Java 5.0提供了基于期货的期货实现,使用户能够封装潜在的异步计算并为期货定义自己的执行引擎。尽管此方法使线程调度与应用程序逻辑脱钩,但对于具有细粒度并行性的应用程序,此模型给普通用户带来了不适当的负担,并引入了显着的性能开销。为了解决这些问题,我们研究了懒惰期货的使用,并提供了Java 5.0方法的替代实现。特别是,我们提出了一种基于指令的编程模型,用于在Java中使用期货,该模型在Java 5.0中使用了注释(与接口相对),并采用了懒惰的未来实现方式来显着简化程序员的工作。我们基于指令的Future系统采用新颖的编译和运行时技术,可以透明,自适应地拆分和生成Future以进行并行执行。所有这些决策都是自动的,并由动态确定的未来粒度和基础资源可用性指导。我们使用不同的Java虚拟机配置和实现细粒度并行性的通用Java基准经验性地评估我们将来的实现。我们将基于指令的延迟期货与延迟和Java 5.0期货进行了比较,表明我们的方法具有更大的可扩展性。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号