首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 140 毫秒
1.
针对如何发挥异构多核处理器的优势从而提高程序执行效率的问题,提出了Cell异构多核处理器上实现线程同步流水并行和迭代同步流水并行两种优化技术,该优化技术可以有效地提高非规则写和控制结构非规则的执行速度。通过在Cell处理器上对NAS benchmarks中的IS、EP、LU以及SPEC2001中的MOLDYN进行测试,结果表明该流水并行方案有效地改善了临界区和flush操作的执行效率,明显地提高了程序的执行速度。  相似文献   

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

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

4.
针对移动计算系统功耗约束条件时常变动,以及动态电压频率调节无法有效克服静态功耗导致的能量损失等问题,提出一种多目标功耗自适应控制方法。根据实时功耗约束制定调核策略,确定处理器核类型及数量,结合操作系统线程亲和性、进程迁移与处理器热插拔完成处理器核的开启、关闭及负荷管理,实现功耗自适应。在典型多核应用MapReduce模型Phoenix与可变形部件模型上的实验结果表明,该方法能够按需调度核类型及数量来完成计算任务,与传统功率恒定系统相比,执行时间与能耗平均减少60.91%和48.54%,有效提高目标系统能效。  相似文献   

5.
高岚  赵雨晨  张伟功  王晶  钱德沛 《软件学报》2024,35(2):1028-1047
并行计算已成为主流趋势. 在并行计算系统中, 同步是关键设计之一, 对硬件性能的充分利用至关重要. 近年来, GPU (graphic processing unit, 图形处理器)作为应用最为广加速器得到了快速发展, 众多应用也对GPU线程同步提出更高要求. 然而, 现有GPU系统却难以高效地支持真实应用中复杂的线程同步. 研究者虽然提出了很多支持GPU线程同步的方法并取得了较大进展, 但GPU独特的体系结构及并行模式导致GPU线程同步的研究仍然面临很多挑战. 根据不同的线程同步目的和粒度对GPU并行编程中的线程同步进行分类. 在此基础上, 围绕GPU线程同步的表达和执行, 首先分析总结GPU线程同步存在的难以高效表达、错误频发、执行效率低的关键问题及挑战; 而后依据不同的GPU线程同步粒度, 从线程同步表达方法和性能优化方法两个方面入手, 介绍近年来学术界和产业界对GPU线程竞争同步及合作同步的研究, 对现有研究方法进行分析与总结. 最后, 指出GPU线程同步未来的研究趋势和发展前景, 并给出可能的研究思路, 从而为该领域的研究人员提供参考.  相似文献   

6.
同时多线程(SMT)是一种延迟容忍的体系结构,它在每个周期内可以执行多个线程的多条指令.在SMT处理器上,对于片上共享存储这个复杂的结构资源,至今还没有很好的共享和冲突解决方案.本文着重研究了在多个并发执行的线程间划分共享Cache所存在的问题,指出基于LRU策略的传统Cache会根据需要隐式地划分共享Cache,这在某些情况下会导致全局性能的下降.针对这一问题并且考虑到SMT处理器上对Cache访问带宽的需求,本文提出采用一种多模块多体的Cache结构设计方案.并且在一个修改过的SMT模拟器上对该设计方案进行了性能评价.实验结果显示,相比于基于LRU策略的传统Cache,这一结构可以将一个4路SMT处理器的IPC提高9%.  相似文献   

7.
多线程处理器的推广受限于应用,目前大部分应用尤其是桌面应用都是单线程程序,不能充分利用多线程处理器提供的多个现场,并行执行以提高速度.使用空闲现场加速单线程应用是目前研究的一个热点,研究主要集中在提高传统串行应用存储访问的效率和分支预测的精度.在基于线程的数据预取方法TDP中,数据预取线程是从主线程的执行踪迹中提取的,它们使用空闲的现场,和主线程并行执行.由于数据预取线程仅仅包括和预取相关的指令,它们比主线程执行要快,可以在主线程需要数据之前,把数据取到离处理器更近的存储层次.基于线程的数据预取方法能够有效地解决传统数据预取方法难以处理的诸多问题,如不规则内存访问模式.研究控制相关对TDP的影响,具体分析使用错误前瞻的数据预取方法:通过在预取线程中加入分支指令,并用它们控制预取线程的执行过程.通过研究发现,在某些情况下即使控制前瞻已经被证实是错误的,继续执行预取线程可以获得更好的预取效果.模拟结果显示,使用错误前瞻可以获得5%的性能提升.  相似文献   

8.
岳峰  庞建民  张一弛  余勇 《计算机工程》2012,38(24):279-282
相对于传统的串行程序移植,并行系统间的代码移植因体系结构间的巨大差异而变得极为复杂。为此,针对统一计算设备架构(CUDA)程序向其他异构多核平台的移植,提出CUDA架构到Cell的映射方案。通过模型映射、并行粒度提升、共享变量清除和运行时优化,使CUDA程序的大规模并行线程可以在Cell平台上正确执行。实验结果证明,翻译后的程序在Cell的执行效率可达到Cell平台上手动编写程序的72%。  相似文献   

9.
ARP:同时多线程处理器中共享Cache自适应运行时划分机制   总被引:1,自引:1,他引:0  
同时多线程是一种延迟容忍的体系结构,采用共享的二级Cache,在每个周期内可以执行多个线程的多条指令,这就会增加对存储层次的压力,文中主要研究了SMT处理器中多个并发执行的线程之间共享Cache的划分问题,尤其是Cache共享中的公平性问题以及它和吞吐量之间的关系,传统的LRU策略会根据线程的需要隐式地划分共享Cache,给具有较高需求的线程分配较多的Cache空间,对Cache的管理具有不公平性,从而会引起线程饿死、优先级反转等问题,实现了一种自适应、运行时划分机制(ARP)来管理共享Cache.ARP采用公平性作为划分的度量,并且使用动态划分算法来优化公平性,该算法具有易于实现,所需剖析较少的特点,硬件上使用经典的监控器来收集每个线程的栈距离信息,其存储开销不到0.25%.实验结果显示,与基于LRU的Cache划分相比,ARP可以将一个2路SMT处理器的公平性提高2.26倍,而将吞吐量平均提高14.75%.  相似文献   

10.
一种具有QoS特性的同时多线程处理器取指策略   总被引:4,自引:0,他引:4  
同时多线程处理器通过每时钟周期从多个运行的线程取指令执行,从而极大地提高了处理器的性能.建议了一种具有QoS特性的同时多线程处理器取指策略,并讨论了其在QoS管理方面的问题.该策略的核心思想是利用线程的优先级和流速来同时控制线程的取指过程,从而满足线程在执行速度上的QoS需求.与传统的基于纯优先级的取指策略相比,该策略不但具有QoS特性,同时还可以更加有效地分配取指带宽,从而能获得更高的处理器性能.该策略的物理实现非常简单.模拟实验的结果表明,该策略在提供Qos支持的基础上,可以在传统的基于优先级的取指策略ICOUNT的基础上提高15%的系统性能.  相似文献   

11.
普适计算中的无缝迁移策略   总被引:4,自引:0,他引:4       下载免费PDF全文
针对分布式计算环境已有的一些迁移机制,都无法满足普适计算模式下任务迁移时对无缝性的要求,研究了任务的形式化描述,Agent的分类以及任务的迁移粒度问题.基于MobileAgent的任务无缝迁移策略,解决了迁移过程中的迁移算法、迁移时延、迁移失效等问题.其特点在于基于合理的迁移粒度和更小的迁移时延,通过MobileAgent的移动保证迁移的无缝性.多个应用场景中的测试实践表明了该策略的有效性.  相似文献   

12.
StarCCM2.0中高性能线程池模型的研究与实现   总被引:1,自引:0,他引:1  
线程池技术能够显著减少处理器的闲置时间、增加应用服务器的吞吐量、提高应用服务器的性能。文章从建立线程池的抽象队列模型入手,分析了StarBus3.0中线程池模型的局限性,提出了一种高效可适配的线程池模型应用于StarCCM2.0应用服务器中以派发构件请求。测试结果表明,这种线程池模型能够灵活地适应更大范围的突发请求数,极大地提高了应用服务器处理大量突发请求时的性能。  相似文献   

13.
本文首先介绍了基于局部光照模型的串行Shading算法,然后对设计分布式Shading算法所用到的动态任务分配、数据适应性任务分配、任务粒度等因素作了较为详细的论述,并给出了所设计的新的数据适应性任务划分算法,最后给出了所设计的分布式Shading算法的描述和实验结果.  相似文献   

14.
CoreOS是基于Docker的新型容器化集群服务器操作系统,发展迅速,已经得到OpenStack、Kubernetes、Salesforce、Ebay等主流云服务商的支持,云环境中负载是动态的,相应的其资源需求是动态变化的,这给集群资源高效利用带来了挑战,静态预分配峰值资源的策略带来云端资源的巨大浪费,同时空转的计算浪费大量能耗.本文提出的面向负载整合的集群调度系统(简称LICSS)实时监控集群负载分布情况,调度时使用紧凑式调度策略分配计算节点,运行时利用任务迁移技术对负载进行动态整合,实现及时收集释放空转资源降低资源能耗浪费的目的.LICSS系统设计实现了节点负载度量、任务度量、负载整合算法,并测算出节点自适应负载阈值.实验表明,LICSS系统能够根据不同时段集群负载动态变化情况对负载进行有效整合,提高了12.2%的平均资源利用率,并且基于任务整合在低负载时段触发富余节点休眠降低集群能耗.  相似文献   

15.
基于CORBA构件模型的应用服务器中容器并发的研究与实现   总被引:1,自引:0,他引:1  
容器支持高并发访问对于显著减少处理器的闲置时间、增加应用服务器的吞吐量、提高应用服务器的性能具有十分重要的意义。本文从分析StarCCM应用服务器中容器与构件、ORB以及POA的关系入手,从四个方面阐述了容器并发的设计及其实现方法。文中提出了一种高效可适配的线程池模型用于派发构件请求。测试结果表明,我们提出的这种线程池模型能够灵活地适应更大范围的突发请求数目,同时通过限制线程池中线程数目的上限来减少线程无限增长对系统性能带来的负面影响。  相似文献   

16.
随机任务在云计算平台中能耗的优化管理方法   总被引:5,自引:0,他引:5  
谭一鸣  曾国荪  王伟 《软件学报》2012,23(2):266-278
针对云计算系统在运行过程中由于计算节点空闲而产生大量空闲能耗,以及由于不匹配任务调度而产生大量“奢侈”能耗的能耗浪费问题,提出一种通过任务调度方式的能耗优化管理方法.首先,用排队模型对云计算系统进行建模,分析云计算系统的平均响应时间和平均功率,建立云计算系统的能耗模型.然后提出基于大服务强度和小执行能耗的任务调度策略,分别针对空闲能耗和“奢侈”能耗进行优化控制.基于该调度策略,设计满足性能约束的最小期望执行能耗调度算法ME3PC(minimum expectation execution energy with performance constraints).实验结果表明,该算法在保证执行性能的前提下,可大幅度降低云计算系统的能耗开销.  相似文献   

17.
陈道琨  杨超  刘芳芳  马文静 《软件学报》2023,34(11):4941-4951
稀疏三角线性方程组求解(SpTRSV)是预条件子部分的重要操作, 其中结构化SpTRSV问题, 在以迭代方法求解偏微分方程组的科学计算程序中, 是一种较为常见的问题类型, 而且通常是科学计算程序的需要解决的一个性能瓶颈. 针对GPU平台, 目前以CUSPARSE为代表的商用GPU数学库, 采用分层调度(level-scheduling)方法并行化SpTRSV操作. 该方法不仅预处理耗时较长, 而且在处理结构化SpTRSV问题时会出现较为严重GPU线程闲置问题. 针对结构化SpTRSV问题, 提出一种面向结构化SpTRSV问题的并行算法. 该算法利用结构化SpTRSV问题的特殊非零元分布规律进行任务划分, 避免对输入问题的非零元结构进行预处理分析. 并对现有分层调度方法的逐元素处理策略进行改进, 在有效缓解GPU线程闲置问题的基础上, 还隐藏了部分矩阵非零元素的访存延迟. 还根据算法的任务划分特点, 采用状态变量压缩技术, 显著提高算法状态变量操作的缓存命中率. 在此基础上, 还结合谓词执行等GPU硬件特性, 对算法实现进行全面的优化. 所提算法在NVIDIA V100 GPU上的实测性能, 相比CUSPARSE平均有2.71倍的加速效果, 有效访存带宽最高可达225.2 GB/s. 改进后的逐元素处理策略, 配合针对GPU硬件的一系列调优手段, 优化效果显著, 将算法的有效访存带宽提高了约1.15倍.  相似文献   

18.
本文首先介绍一种基于并行图重写模型的并行图重写机PGRM。在此基础上提出一种新的任务分布策略。目标是以基于多线程的负载分布策略,减少系统的通讯开销,缩短响应时间并且使派生的任务有合理的计算粒度。本文提出的策略是一种融合分布式与集中式两种控制机制的一种混合策略。实验测试结果表明这种分布策略在多TRANSPUTER构成的分布存储多机系统上具有高效性和实用性。  相似文献   

19.
While Graphics Processing Units (GPUs) show high performance for problems with regular structures, they do not perform well for irregular tasks due to the mismatches between irregular problem structures and SIMD-like GPU architectures. In this paper, we introduce a new library, CUIRRE, for improving performance of irregular applications on GPUs. CUIRRE reduces the load imbalance of GPU threads resulting from irregular loop structures. In addition, CUIRRE can characterize irregular applications for their irregularity, thread granularity and GPU utilization. We employ this library to characterize and optimize both synthetic and real-world applications. The experimental results show that a 1.63× on average and up to 2.76× performance improvement can be achieved with the centralized task pool approach in the library at a 4.57% average overhead with static loading ratios. To avoid the cost of exhaustive searches of loading ratios, an adaptive loading ratio method is proposed to derive appropriate loading ratios for different inputs automatically at runtime. Our task pool approach outperforms other load balancing schemes such as the task stealing method and the persistent threads method. The CUIRRE library can easily be applied on many other irregular problems.  相似文献   

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

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