首页> 外文期刊>Operating systems review >Whole-Program Optimization for Time and Space Efficient Threads
【24h】

Whole-Program Optimization for Time and Space Efficient Threads

机译:节省时间和空间的线程的整个程序优化

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

摘要

Modem languages and operating systems often encourage programmers to use threads, or independent control streams, to mask the overhead of some operations and simplify program structure. Multitasking operating systems use threads to mask communication latency, either with hardwares devices or users. Client-server applications typically use threads to simplify the complex control-flow that arises when multiple clients are used. Recently, the scientific computing community has started using threads to mask network communication latency in massively parallel architectures, allowing computation and communication to be overlapped. Lastly, some architectures implement threads in hardware, using those threads to tolerate memory latency. In general, it would be desirable if threaded programs could be written to expose the largest degree of parallelism possible, or to simplify the program design. However, threads incur time and space overheads, and programmers often compromise simple designs for performance. In this paper, we show how to reduce time and space thread overhead using control flow and register liveness information inferred after compilation. Our techniques work on binaries, are not specific to a particular compiler or thread library and reduce the the overall execution time of fine-grain threaded programs by ≈ 15—30%. We use execution-driven analysis and an instrumented operating system to show why the execution time is reduced and to indicate areas for future work.
机译:现代语言和操作系统通常会鼓励程序员使用线程或独立的控制流来掩盖某些操作的开销并简化程序结构。多任务操作系统使用线程来掩盖与硬件设备或用户的通信延迟。客户端服务器应用程序通常使用线程来简化使用多个客户端时出现的复杂控制流。最近,科学计算社区已开始使用线程来掩盖大规模并行体系结构中的网络通信延迟,从而使计算和通信可以重叠。最后,一些架构在硬件中实现线程,使用这些线程来容忍内存延迟。通常,如果可以编写线程程序以暴露最大程度的并行性或简化程序设计,则将是理想的。但是,线程会产生时间和空间开销,并且程序员经常会为了性能而牺牲简单的设计。在本文中,我们展示了如何使用控制流减少时间和空间线程的开销,并注册编译后推断出的活动信息。我们的技术适用于二进制文件,并不特定于特定的编译器或线程库,并且可以将细粒度线程程序的总体执行时间减少≈15%至30%。我们使用执行驱动的分析和工具化的操作系统来说明为什么减少了执行时间并指出了将来的工作领域。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号