首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 78 毫秒
1.
SpMT WaveCache:开发数据流计算机中的推测多线程   总被引:1,自引:0,他引:1  
推测多线程技术(Speculative Multithreading,SpMT)是通过推测地执行多个线程来开发线程级并行性,提高超标量处理器性能.通过增加额外的硬件单元,比如线程同步单元(Thread Synchronization Unit,TSU)、线程上下文表(Thread Context Table,TCT)和线程内存历史表(Thread Memory History,TMH),扩展了事务性内存系统,提高了基于波标量指令集系统结构(WaveScalar ISA)实现的WaveCache模拟器的性能.同时,还提出了一种新的两级线程级事务提交机制.最后,采用了6个来自SPEC、Media和Mibench测试程序集的真实测试程序.评估了推测多线程WaveCache(SpMT WaveCaehe)的性能.实验表明,SpMT WaveCache比超标量系统结构提高了2~3倍的性能,是一种有效的开发动态数据流计算机性能的方法.  相似文献   

2.
多线程技术是实现需要并发执行的应用程序的较好选择,具有不可替代的作用.文中介绍了进程、线程以及应用程序域的概念及其相互之间的关系,讨论了Visual Basic.NET对多线程的支持.并从线程的创建与管理、线程取消、线程的优先级、线程的状态、线程池、线程的同步等方面展示了如何使用多线程编程技术来创建多线程应用程序.每个线程都需要资源,创建的线程过多,反而会降低应用程序的性能.在设计多线程应用程序时,应慎重对待,建立合理的系统模型,才能使应用程序获得最佳的性能.  相似文献   

3.
欧广宇  邓桂英 《微机发展》2004,14(11):101-103
多线程技术是实现需要并发执行的应用程序的较好选择,具有不可替代的作用。文中介绍了进程、线程以及应用程序域的概念及其相互之间的关系,讨论了VisualBasic.NET对多线程的支持。并从线程的创建与管理、线程取消、线程的优先级、线程的状态、线程池、线程的同步等方面展示了如何使用多线程编程技术来创建多线程应用程序。每个线程都需要资源,创建的线程过多,反而会降低应用程序的性能。在设计多线程应用程序时,应慎重对待,建立合理的系统模型,才能使应用程序获得最佳的性能。  相似文献   

4.
龙芯2号处理器的同时多线程设计   总被引:1,自引:0,他引:1  
提出了适合龙芯2号处理器的同时多线程处理器模型,并介绍了具体的微体系结构设计以及相应的Linux操作系统的实现方案.通过在设计的龙芯2号同时多线程处理器上启动Linux操作系统,并运行应用程序,例如SPEC CPU2000,进行性能评测.结果表明,龙芯2号同时多线程处理器通过挖掘线程级并行性,将龙芯2号处理器的性能提高了31.1%.  相似文献   

5.
细粒度多线程是一种典型的线程级并行性开发技术,通过每周期的线程切换来实现高吞吐率执行.设计并实现了一种细粒度多线程处理器中的前瞻性数据加载机制,该机制预测LOAD操作在数据cache命中,不立即进行线程切换,而是继续执行后续指令,并通过数据旁路解决相关性问题.实验结果表明前瞻性数据加载能明显提高访存性能,在一种配置下,...  相似文献   

6.
杜延宁  赵银亮  韩博  李远成 《软件学报》2013,24(10):2432-2459
在对程序进行并行化时,为了保证结果的正确性,并行编译器只能采取一种保守的策略,也就是,如果它不能确定两段代码在并行执行时是否会发生冲突,它就不允许这两段代码并行执行.虽然这种做法保证了正确性,但同时也限制了对并行性的开发.在这种背景下,许多推测多线程方法被提了出来,这些方法通过允许可能冲突的代码段并行执行来把握更多的并行机会,同时,通过从冲突中恢复来保证结果的正确性.然而,传统推测多线程方法所使用的“沿控制流将串行程序划分为多个线程”的做法并不适合不同数据结构上的操作在控制流中相互交错的情况,因为如果沿控制流将程序线性地划分为多个线程,则同一个数据结构上的操作将被分到不同的线程中,从而非常容易发生冲突.为了有效地对这些程序进行并行化,提出了一种基于数据结构的线程划分方法与执行模型.在这种方法中,程序中的对象被划分成多个组,同一组中对象上的操作被分派到同一个线程中去执行,从而降低了在同一个数据结构上发生冲突的可能性.  相似文献   

7.
针对目前主流的多核处理器,研究了基于共享Cache多核处理器的数据库Nested Loop Join(NINLJ)优化.针对无索引情况下的NLJ,提出了基于Radix-NL-Join算法的NLJ多线程执行框架.从减少Cache访问冲突和提高Cache命中率两个方面优化了NINLJ多线程执行框架中的聚集划分和聚集连接线程.主要贡献如下:1.针对多线程访问共享Cache容易出现共享Cache访问冲突的问题,优化了聚集划分阶段的多线程聚集划分线程的启动时机;2.针对聚集连接阶段,聚集连接线程Cache访问性能不佳,利用聚集连接线程顺序访问聚集的优势,采用预取线程提高聚集连接线程的性能;3.在实验中,基于开源数据库EaseDB实现了上述多线程执行框架,测试了多线程NLJ的性能.实验结果表明,提出的NLJ多线程执行框架,可以充分利用多核处理器的计算资源,并有效地解决共享Cache在多线程条件下的Cache访问冲突问题,大大提高了NLJ的性能,相对于未采用Cache优化的多线程Radix-NL-Join算法,其性能提升了26%左右.  相似文献   

8.
由成百上千处理器核构成的众核处理器在提供大量计算能力的同时,也对如何高效利用资源提出挑战;具有不同并行度的应用对处理器核资源有不同的需求,不合理的分配会造成资源浪费(分配过多)或者限制并行性开发(分配过少).针对众核结构上串行程序线程级推测执行面临的处理器核资源分配问题,提出一种基于硬件的推测执行能力监测和评估机制,设计三种线程级推测执行能力评估器;该评估器能够根据串行程序推测执行能力的动态变化,对应用分配的处理器核资源数量进行实时调整.实验结果表明,利用一个硬件开销极小的评估器对众核平台上串行程序的线程级推测执行进行资源分配指导,即可使性能和资源利用率达到有效的平衡.  相似文献   

9.
如何有效利用多核提供的丰富晶体管资源对串行程序的执行进行加速是当前研究中的热点问题。线程级推测(thread-level speculation,TLS)技术旨在充分利用多核资源,最大化地开发出串行代码中存在的潜在并行性。目前TLS技术已经在多种串行应用的并行化工作中得到有效利用,但嵌入式应用程序仍未在推测并行化方面进行有效的分析。因此,选取了八个具有代表性的嵌入式应用,对其在循环级推测并行化中的性能提升潜力和运行时特征(数据依赖、线程粒度和并行覆盖率)进行探讨。实验结果表明,利用线程级推测并行化嵌入式应用的加速效果优于指令级并行技术,实验中的最大加速比达到了13.29;在嵌入式应用领域,该技术可以有效地利用4到8核的计算资源。  相似文献   

10.
针对子程序结构的线程级推测并行性分析   总被引:3,自引:0,他引:3  
线程级推测技术为开发更多的线程级并行性,充分利用多核加速传统上难以手工或自动并行化的串行程序提供可行的技术途径.然而,这种技术的性能严重地依赖于线程划分方案.有研究表明,仅推测执行循环所产生的并行性是不够的.但推测执行子程序结构比循环结构要难.本文提出寻找适于推测并行执行的子程序结构的基本判定依据;通过运行由Simplescalar工具集改造得到的动态剖析工具ProRV、ProFun和SPEC CPU2000基准测试程序,我们对子程序结构线程化推测执行的适合性进行详细分析,给出具有指导意义的实验分析方法和实验数据.我们发现:①无返回值的子程序结构占据程序整体执行时间的大约40%;返回稀疏整型的子程序结构占据了程序整体执行时间的大约10%,对其返回值的预测成功率在70%左右.对于其他返回值类型的子程序结构,由于对其返回值的预测成功率过低,我们认为不适合作为线程划分的对象.②简单的last-value的值预测方案对于返回值的预测是简单而且足够有效的.③访存数据依赖普遍存在于子程序与其后继代码之间,显式同步机制对于针对子程序结构的线程级推测是必要的.  相似文献   

11.
Simultaneous multithreading (SMT) has been proposed to improve system throughput by overlapping instructions from multiple threads on a single wide-issue processor. Recent studies have demonstrated that diversity of simultaneously executed applications can bring up significant performance gains due to SMT. However, the speedup of a single application that is parallelized into multiple threads, is often sensitive to its inherent instruction level parallelism (ILP), as well as the efficiency of synchronization and communication mechanisms between its separate, but possibly dependent threads. Moreover, as these separate threads tend to put pressure on the same architectural resources, no significant speedup can be observed. In this paper, we evaluate and contrast thread-level parallelism (TLP) and speculative precomputation (SPR) techniques for a series of memory intensive codes executed on a specific SMT processor implementation. We explore the performance limits by evaluating the tradeoffs between ILP and TLP for various kinds of instruction streams. By obtaining knowledge on how such streams interact when executed simultaneously on the processor, and quantifying their presence within each application’s threads, we try to interpret the observed performance for each application when parallelized according to the aforementioned techniques. In order to amplify this evaluation process, we also present results gathered from the performance monitoring hardware of the processor.
Nectarios KozirisEmail:
  相似文献   

12.
We present a dynamical theory of asset price bubbles that exhibits the appearance of bubbles and their subsequent crashes. We show that when speculative trends dominate over fundamental beliefs, bubbles form, leading to the growth of asset prices away from their fundamental value. This growth makes the system increasingly susceptible to any exogenous shock, thus eventually precipitating a crash. We also present computer experiments which in their aggregate behavior confirm the predictions of the theory.  相似文献   

13.
同时多线程技术   总被引:2,自引:0,他引:2  
同时多线程技术结合了超标量处理器与多线程处理器两者的优点,通过增加很少的硬件资源,把一个物理核映射为多个逻辑核,成为一种研制高性能处理器的重要途径.重点介绍了同时多线程处理器出现的原因、优点、基本组成结构、当前的研究成果及影响,并探讨了当前同时多线程技术的发展趋势.  相似文献   

14.
鲁晋  王遵立  庄文 《微计算机信息》2003,19(3):58-59,68
介绍和分析了一种原用于计算机高级语言的编程思想--多线程编辑,向单片机控制系统的移植。利用多线程的编程思想进行单片机的复杂控制,可以应用到一些对系统控制有苛刻要求的项目中,利用多线程编程的各个线程同时运行的特点,加大单片机控制的灵活性和复杂性,在功能的层面上极大地提高了单片机控制系统的运行速度,本文对这种模拟多线程的编程思想的适用性做出了分析,以及提出了可用于更苛刻条件的扩展型多线程模拟思想。  相似文献   

15.
As highly parallel multicore machines become commonplace, programs must exhibit more concurrency to exploit the available hardware. Many multithreaded programming models already encourage programmers to create hundreds or thousands of short‐lived threads that interact in complex ways. Programmers need to be able to analyze, tune, and troubleshoot these large‐scale multithreaded programs. To address this problem, we present ThreadScope: a tool for tracing, visualizing, and analyzing massively multithreaded programs. ThreadScope extracts the machine‐independent program structure from execution trace data from a variety of tracing tools and displays it as a graph of dependent execution blocks and memory objects, enabling identification of synchronization and structural problems, even if they did not occur in the traced run. It also uses graph‐based analysis to identify potential problems. We demonstrate the use of ThreadScope to view program structure, memory access patterns, and synchronization problems in three programming environments and seven applications. Copyright © 2009 John Wiley & Sons, Ltd.  相似文献   

16.
叙述了PC机与嵌入式计算机系统的多线程串行通信的实现。介绍了多线程设计思想的必要性,给出了程序设计流程。  相似文献   

17.
多核体系结构的发展,使人们可以以猜测的方式挖掘应用中的粗粒度并行,线程级猜测执行(TLS)就是其中的典型代表。它的最大优点是编程模型非常简洁——程序员只需标识出那些可以猜测执行的代码段即可,运行时系统或硬件负责确保猜测线程之间的数据相关不被破坏。全面分析了现有的TLS技术,总结了当前TLS面临的挑战和未来的主要发展趋势。主要贡献包括:1)按照猜测变量的生命周期提出了一种新的TLS技术分类方法,并比较了各种已有方法的优缺点;2)根据猜测变量的生命周期,归纳了支持TLS的多核平台的设计空间,提出了探索该设计空间的若干方法;3)指出了TLS技术当前面临的挑战和未来的发展趋势。  相似文献   

18.
同时多线程处理器允许多个线程同时执行,一方面提高了处理器的性能,另一方面也为通过线程冗余执行来容错提供了支持.冗余多线程结构将线程复制成两份,二者独立执行,并比较结果,从而实现检错或者容错.冗余多线程结构主要采用ICOUNT调度策略来解决线程间资源共享问题.然而这种策略有可能造成"饥饿"现象,并降低处理器吞吐率.提出一...  相似文献   

19.
Linux下多线程Socket通讯的研究与应用   总被引:12,自引:0,他引:12  
Linux操作系统具有良好的稳定性和出色的网络性能,因此被广泛应用于网络服务领域。而在Linux下开发高性能的网络通讯程序,是充分发挥Linux网络特性的一个关键因素。文章通过对Socket通讯模型的分析和比较,阐述了在大规模分布式系统中采用多线程Socket通讯技术的必要性。并且以HT-7数据采集和控制系统中的炮号服务器为例,详细说明了如何在Linux下利用多线程Socket通讯技术进行网络通讯程序的开发。  相似文献   

20.
车站列控中心测试平台是对列控中心系统进行可靠性、安全性测试及评估的平台。通信仿真子系统是平台的一个子系统,它主要实现被测对象与平台中相关模拟子系统之间数据的交互。采用面向对象的多线程串口通信技术对通信仿真子系统进行了研究。详细地阐述了测试平台与被测对象之间的接口方式与通信协议,并给出仿真实例,满足了平台对通信仿真子系统的要求。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号