首页> 外文会议>ACM SIGPLAN symposium on Principles and practices of parallel programming >Source-level global optimizations for fine-grain distributed shared memory systems
【24h】

Source-level global optimizations for fine-grain distributed shared memory systems

机译:用于精细谷物分布式共享内存系统的源级别全局优化

获取原文

摘要

This paper describes and evaluates the use of aggressive static analysis in Jackal, a fine-grain Distributed Shared Memory (DSM) system for Java. Jackal uses an optimizing, source-level compiler rather than the binary rewriting techniques employed by most other fine-grain DSM systems. Source-level analysis makes existing access-check optimizations (e.g., access-check batching) more effective and enables two novel fine-grain DSM optimizations: object-graph aggregation and automatic computation migration.

The compiler detects situations where an access to a root object is followed by accesses to subobjects. Jackal attempts to aggregate all access checks on objects in such object graphs into a single check on the graph's root object. If this check fails, the entire graph is fetched. Object-graph aggregation can reduce the number of network roundtrips and, since it is an advanced form of access-check batching, improves sequential performance.

Computation migration (or function shipping) is used to optimize critical sections in which a single processor owns both the shared data that is accessed and the lock that protects the data. It is usually more efficient to execute such critical sections on the processor that holds the lock and the data than to incur multiple roundtrips for acquiring the lock, fetching the data, writing the data back, and releasing the lock. Jackal's compiler detects such critical sections and optimizes them by generating single-roundtrip computation-migration code rather than standard data-shipping code.

Jackal's optimizations improve both sequential and parallel application performance. On average, sequential execution times of instrumented, optimized programs are within 10% of those of uninstrumented programs. Application speedups usually improve significantly and several Jackal applications perform as well as hand-optimized message-passing programs.

机译:本文介绍并评估了用于Java的微粒分布式共享存储器(DSM)系统的accorstive静态分析的使用。豺狗使用优化<斜视>源级编译器,而不是大多数其他微粒DSM系统采用的二进制重写技术。源级别分析使现有的访问检查优化(例如,访问检查批处理)更有效并且启用两种新型细粒DSM优化:<斜斜体>对象图聚合和<斜体>自动计算迁移 >编译器检测到对<斜斜体>根对象的访问的情况,然后访问SubObjects。 Jackal尝试在图形的根对象上的单个检查中汇集所有访问对象的所有访问对象中的对象。如果此检查失败,则会提取整个图形。对象图聚合可以减少网络往返的数量,因为它是一种高级访问检查批处理的形式,提高了顺序性能。 >计算迁移(或函数运输)用于优化关键部分哪个处理器拥有访问的共享数据以及保护数据的锁定。在处理器上执行这些关键部分通常更有效,该临界部分保持锁定和数据,而不是引起多个往返锁定的多个往返,从而提取数据,写回数据并释放锁定。 Jackal的编译器检测这些关键部分并通过生成单往返<斜体>计算迁移代码而不是标准数据运输代码来优化它们。 > jackal的优化改善了顺序和并行应用性能。平均而言,仪表化的顺序执行时间,优化程序不到Untrimited程序的10%。应用程序加速通常显着提高,几个豺套应用程序执行以及手动优化的消息传递程序。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号