...
首页> 外文期刊>Computer architecture news >Helper Threads via Virtual Multithreading On An Experimental Itanium~(~R) 2 Processor-based Platform
【24h】

Helper Threads via Virtual Multithreading On An Experimental Itanium~(~R) 2 Processor-based Platform

机译:在基于Itanium〜(〜R)2处理器的实验平台上通过虚拟多线程进行帮助线程

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

摘要

Helper threading is a technology to accelerate a program by exploiting a processor's multithreading capability to run "assist" threads. Previous experiments on hyper-threaded processors have demonstrated significant speedups by using helper threads to prefetch hard-to-predict delinquent data accesses. In order to apply this technique to processors that do not have built-in hardware support for multithreading, we introduce virtual multithreading (VMT), a novel form of switch-on-event user-level multithreading, capable of fly-weight multiplexing of event-driven thread executions on a single processor without additional operating system support. The compiler plays a key role in minimizing synchronization cost by judiciously partitioning register usage among the user-level threads. The VMT approach makes it possible to launch dynamic helper thread instances in response to long-latency cache miss events, and to run helper threads in the shadow of cache misses when the main thread would be otherwise stalled. The concept of VMT is prototyped on an Itanium~(~R) 2 processor using features provided by the Processor Abstraction Layer (PAL) firmware mechanism already present in currently shipping processors. On a 4-way MP physical system equipped with VMT-enabled Itanium 2 processors, helper threading via the VMT mechanism can achieve significant performance gains for a diverse set of real-world workloads, ranging from single-threaded workstation benchmarks to heavily multithreaded large scale decision support systems (DSS) using the IBM DB2 Universal Database. We measure a wall-clock speedup of 5.8% to 38.5% for the workstation benchmarks, and 5.0% to 12.7% on various queries in the DSS workload.
机译:辅助线程是一种通过利用处理器的多线程功能来运行“辅助”线程来加速程序的技术。先前在超线程处理器上进行的实验已经证明,通过使用辅助线程来预取难以预测的不良数据访问,可以显着提高速度。为了将这种技术应用于没有内置硬件支持的多线程处理器,我们引入了虚拟多线程(VMT),这是一种新的形式的事件切换用户级多线程,能够对事件进行轻量级多路复用驱动器在单个处理器上执行线程执行,而无需其他操作系统支持。通过在用户级线程之间明智地划分寄存器使用情况,编译器在最小化同步成本方面发挥了关键作用。 VMT方法使响应长时间等待的高速缓存未命中事件而启动动态帮助程序线程实例成为可能,并在主线程原本会停滞的情况下在高速缓存未命中的阴影下运行帮助程序线程。 VMT的概念是在Itanium〜(R)2处理器上原型化的,它使用了目前已发售的处理器中已有的处理器抽象层(PAL)固件机制提供的功能。在配备有启用了VMT的Itanium 2处理器的4路MP物理系统上,通过VMT机制进行的辅助线程可以为各种实际工作负载(从单线程工作站基准测试到大型多线程大规模)提供显着的性能提升。 IBM DB2通用数据库的决策支持系统(DSS)。对于工作站基准测试,我们将挂钟速度提高了5.8%至38.5%,对于DSS工作负载中的各种查询,我们将这些时钟速度提高了5.0%至12.7%。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号