CN105700946B - 一种numa架构下平衡多线程间访存延迟的调度系统及方法 - Google Patents

一种numa架构下平衡多线程间访存延迟的调度系统及方法 Download PDF

Info

Publication number
CN105700946B
CN105700946B CN201610024295.5A CN201610024295A CN105700946B CN 105700946 B CN105700946 B CN 105700946B CN 201610024295 A CN201610024295 A CN 201610024295A CN 105700946 B CN105700946 B CN 105700946B
Authority
CN
China
Prior art keywords
memory access
thread
module
variable
access latency
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610024295.5A
Other languages
English (en)
Other versions
CN105700946A (zh
Inventor
金海�
廖小飞
朱亮
曾丹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201610024295.5A priority Critical patent/CN105700946B/zh
Publication of CN105700946A publication Critical patent/CN105700946A/zh
Application granted granted Critical
Publication of CN105700946B publication Critical patent/CN105700946B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Abstract

本发明公开了一种NUMA架构下平衡多线程间访存延迟的调度系统及方法,所述系统包括检测模块、采样模块、分析模块、判断模块和调度模块,通过采样保存多线程程序运行过程中每个线程的访存信息,预测分析该多线程程序中各线程的访存延迟是否不平衡,根据分析结果进行合理的调度,对远端访存的线程访问变量进行迁移调度至线程所在节点或使用交错存放将其平均分配到各节点上,从而保证各线程的访存延迟基本相等。本发明通过平衡多线程间访存延迟的方式,优化多线程程序在NUMA架构下的运行性能,本发明通过一种细粒度,有针对性的方式进行实时调度,使多线程程序取得并行区域的性能优化。

Description

一种NUMA架构下平衡多线程间访存延迟的调度系统及方法
技术领域
本发明属于计算机体系结构下的多线程性能优化领域,更具体的,涉及一种NUMA架构下平衡多线程间访存延迟的调度系统及方法。
背景技术
非一致访存(NUMA)架构是目前流行的商用服务器架构之一,它采用了分布式存储器模式,且其中所有节点的处理器都可以访问全部的物理内存,易于管理,可扩充性好,因此得到了广泛的应用。
在NUMA架构中,每个CPU访问的内存可以分为两种:与CPU在同一个节点的内存称为本地内存,访问延迟非常低;与CPU在不同节点上的内存叫做远端内存,对于远端内存的访问,CPU需要通过节点互联的方式进行,所以其访问延迟要比本地内存的访问延迟长。这种访存延迟的不一致性是NUMA架构的最主要特点,但它却给程序的调度和运行带来了困难,如果没有得到合理的线程以及数据分配,那么很有可能导致该程序中所有的访存操作都成为远端访存,从而经历较大的访存延迟,程序运行时间大大延长,使程序的性能大打折扣。当然,这些由于远端访存造成的延迟可以通过系统仔细地将程序的线程和它所用的数据协同调度进一步减少或消除。
针对程序在NUMA架构下运行的特殊性,目前已经提出了一些NUMA感知的调度算法。大部分NUMA感知的调度算法仅是针对单个线程,或者针对多个线程时仅单纯地将各个线程独立开来考虑,并没有考虑到多线程并行时的同步问题。
对于运行过程中存在线程同步操作的多线程程序,在NUMA架构下运行时需要考虑各个线程的运行速度问题,如果在需要达到同步的线程中存在一些线程,由于执行的远端访存较多,导致运行速度慢,那么该线程成为了拖累程序运行速度的关键线程,这个时候为了减少其他线程远端访存所做的工作,其对于最终程序所表现出来的整体性能并不能有很好的提高。现有的针对NUMA架构下程序运行性能的优化工具中,缺乏针对多线程之间访存延迟均衡这一问题的优化方式。相应地,本领域亟需寻找一种适用于NUMA架构下平衡多线程访存延迟的方法。
发明内容
针对现有技术的以上缺陷或不足,本发明提出一种NUMA架构下平衡多线程间访存延迟的调度系统及方法。利用本发明中的系统及方法,相应能够有效解决由于NUMA架构下访存行为的非一致性导致的多线程程序各线程间访存延迟的不一致问题,显著提高了NUMA架构下分析调度的实时性,大大优化了NUMA架构下程序运行性能。
为实现上述目的,本发明一种NUMA架构下平衡多线程间访存延迟的调度系统,其特征在于,所述系统包括检测模块、采样模块、分析模块、判断模块和调度模块,其中,
检测模块,用于探测程序是否进入多线程并行执行区域,还用于在探测程序进入多线程并行执行区域后,启动采样模块;
采样模块,用于对多线程程序运行过程中每个线程的访存行为进行采样,并将采样过程中获取的访存信息保存;
分析模块,一方面用于根据所述采样模块获取的访存信息,定期对所述多线程程序中各线程的访存延迟不平衡度进行评估,还用于针对发生不平衡现象的多线程程序进行访存行为分析,此外,所述分析模块还用于根据所述采样模块获取的访存信息进行访存规律分析;
判断模块,用于根据所述访存延迟不平衡度判断是否发生多线程间访存延迟不平衡现象,同时,还用于在访存延迟不平衡现象发生时进一步判断线程访问变量是否仅由一个线程访问、线程访问变量与访问该变量的线程是否处于同一个节点及线程访问变量大小是否小于第二阈值Size,此外,所述判断模块,还用于判断程序多线程并行执行的区域是否结束;
调度模块,用于根据所述分析模块的访存行为分析和访问规律分析,及判断模块的判断结果对远端访存的线程访问变量进行迁移调度至线程所在节点或使用交错存放将其平均分配到各节点上。
作为进一步优选的,所述访存信息包括发起访存行为的线程ID,访存行为的目的地址,完成访存行为所耗费的时钟周期数和访存行为的类型。
作为进一步优选的,所述访存延迟不平衡度具体为:
ξT=|DT-Davg|/Davg
其中,ξT为线程T的访存延迟不平衡度,DT为线程T的平均访存延迟,Davg为所有线程的平均访存延迟。
作为进一步优选的,所述访存行为分析具体包括:
根据所述采样模块获取的访存信息,估计每个线程访问变量的线程平均访存延迟,并依次将线程平均访存延迟最大的线程访问变量交由判断模块进行处理。
作为进一步优选的,所述访问规律分析具体为:观察多线程程序中每个线程访问变量中是否没有被多个线程共同访问的线程访问变量子块。
作为进一步优选的,所述采样模块还用于保存采样过程中为线程访问数据分配的内存大小及分配的内存地址。
按照本发明的另一个方面,提出了一种基于上述系统的NUMA架构下平衡多线程间访存延迟调度系统的调度方法,其特征在于,包括以下步骤:
(1)检测模块检测程序是否进入多线程并行执行区域,一旦发现程序处于多线程并行执行区域,立即启动采样模块;
(2)采样模块持续对程序的多线程访存行为进行采样,并将采样获取的访存信息根据线程ID进行分类并保存,根据访存行为的时间顺序为每个线程建立一个访存事件流,并通过分析模块不断更新计算每个线程的平均访存延迟;
(3)分析模块定期对各线程的访存延迟不平衡度进行评估;
(4)通过判断模块判断各线程的访存延迟不平衡度是否大于第一阈值Threshhold;若是,则跳转至步骤(5),否则,继续执行步骤(3);
(5)分析模块对多线程程序进行访存行为分析,根据估计的每个线程访问变量的线程平均访存延迟,选取线程平均访存延迟最大的线程访问变量,并将该线程访问变量交由判断模块进行处理;
(6)判断模块判断所述线程访问变量是否仅由一个线程访问,若是,则跳转至步骤(7),否则跳转至步骤(8)。
(7)判断模块进一步判断所述线程访问变量与访问该变量的线程是否处于同一个节点,若是,则返回步骤(5)分析模块依次选取下一个访存延迟最大的线程访问变量进行访存行为分析,否则,调度模块将该线程访问变量迁移至访问该变量的线程所在节点;
(8)判断模块进一步判断所述线程访问变量大小是否小于第二阈值Size,若是,则转入步骤(9),否则转入步骤(10);
(9)将该线程访问变量复制分发到NUMA架构下的各个节点;
(10)分析模块根据所述采样模块获取的访存信息对多线程程序进行访问规律分析,若所述线程访问变量中没有被多个线程共同访问的线程访问变量子块,则转入步骤(10-1),否则转入步骤(10-2);
(10-1)将各线程访问的线程访问变量子块分别存放到各线程所在的节点;
(10-2)通过交错存放将所述线程访问变量平均分配到NAMU架构下的各个节点上;
(11)判断模块判断程序多线程并行执行的区域是否结束,若否,则返回步骤(3)继续执行;否则调度结束。
作为进一步优选的,所述访存信息包括发起访存行为的线程ID,访存行为的目的地址,完成访存行为所耗费的时钟周期数和访存行为的类型。
作为进一步优选的,所述访存延迟不平衡度具体为:
ξT=|DT-Davg|/Davg
其中,ξT为线程T的访存延迟不平衡度,DT为线程T的平均访存延迟,Davg为所有线程的平均访存延迟。
作为进一步优选的,所述采样模块还保存采样过程中为线程访问变量分配的内存大小及分配的内存地址。
总体而言,按照本发明点的以上技术方案与现有技术相比,主要具备以下的技术优点:
1、能实现更细粒度,更有针对性的优化。本发明中提出的整个平衡调度过程都只针对多线程程序并行运行的部分,这正是多线程程序在NUMA架构下运行时容易由于访存不一致性导致性能损耗的部分。同时,本发明中提出的方案能够针对每一个线程访问变量做出优化调整,相比于现有技术,该调整粒度更合理也更能发现访存不一致导致的问题。
2、本发明中提出的调度是一种实时分析调度方法,多线程程序在NUMA架构下每一次的运行都存在与上一次不尽相同的地方,这种实时的分析调度方式能够更好地针对每一次运行过程的特点进行优化,摒弃了现有技术中离线、静态分析的缺陷。
3、本发明中提出的调度方式能够实现完全自动化的优化行为,不需要用户参与。所有的优化工作对于用户来说是完全透明的,相比于现有技术,本发明不需要对用户层代码做任何的修改等工作。
附图说明
图1为本发明NUMA架构下平衡多线程间访存延迟的调度系统框架示意图;
图2为与本发明系统对应的NUMA架构下平衡多线程间访存延迟的调度方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明一种NUMA架构下平衡多线程间访存延迟的调度系统,所述系统包括检测模块、采样模块、分析模块、判断模块和调度模块,其中,
检测模块,用于探测程序是否进入多线程并行执行区域,还用于在探测程序进入多线程并行执行区域后,启动采样模块;
采样模块,用于对多线程程序运行过程中每个线程的访存行为进行采样,并将采样过程中获取的访存信息保存,本发明优选使用红黑树方式进行保存;其中,所述访存信息包括发起访存行为的线程ID,访存行为的目的地址,完成访存行为所耗费的时钟周期数,访存行为的类型。所述采样模块还用于保存采样过程中为线程访问变量分配的内存大小及分配的内存地址。
分析模块,一方面用于根据所述采样模块获取的访存信息,定期对所述多线程程序中各线程的访存延迟不平衡度进行评估,其中,所述访存延迟不平衡度具体为:
ξT=|DT-Davg|/Davg
其中,ξT为线程T的访存延迟不平衡度,DT为线程T的平均访存延迟,Davg为所有线程的平均访存延迟。
所述分析模块还用于针对发生不平衡现象的多线程程序进行访存行为分析,所述访存行为分析具体包括:根据所述采样模块获取的访存信息,估计每个线程访问变量的线程平均访存延迟,并依次将线程平均访存延迟最大值的线程访问变量交由判断模块进行处理。
此外,所述分析模块还用于根据所述采样模块获取的访存信息进行访存规律分析;所述访问规律分析具体为:观察多线程程序中每个线程访问的线程访问变量中是否没有共同访问的线程访问变量子块。
判断模块,用于根据所述访存延迟不平衡度判断是否发生多线程间访存延迟不平衡现象,同时,还用于在访存延迟不平衡现象发生时进一步判断线程访问变量是否仅由一个线程访问、线程访问变量与访问该变量的线程是否处于同一个节点及线程访问变量大小是否小于第二阈值Size(该值可取所用系统一次访存读取的数据大小),此外,所述判断模块,还用于判断程序多线程并行执行的区域是否结束;
调度模块,用于根据所述分析模块的访存行为分析和访问规律分析,及判断模块的判断结果对远端访存的线程访问变量进行迁移调度至线程所在节点或使用交错存放将其平均分配到各节点上。
本发明提出了一种基于上述系统的NUMA架构下平衡多线程间访存延迟的调度方法,概括来说,所述方法包括采样,分析,以及调度三个部分。
采样是指在多线程程序运行过程中对每个线程的访存行为进行采样,并将采样过程中获取的访存信息通过有效的组织方式,如使用红黑树方式保存,从而用于分析模块进行分析;分析所做的主要工作是根据采样获得的访存信息预测该多线程程序中各线程的访存延迟是否不平衡,以及如果不平衡,具体是哪个线程因为什么缘故造成了不平衡;调度部分所做的工作是根据分析的结果进行合理的调度,决定应该针对哪个线程访问变量采取什么样的措施尽快消除这种访存延迟不平衡现象,从而保证各线程的访存延迟基本相等。
其中,具体来说,采样过程我们可以借助硬件提供的采样机制进行访存行为的采样,例如Intel芯片提供的精确事件采样机制(PEBS)以及AMD芯片提供的指令采样机制(IBS)都可以通过采样的方式,提供多线程运行过程中的访存信息。包括各种存储访问行为相关的数据以及地址,执行该行为的线程,线程所在CPU以及节点等信息。在分析过程中,我们可以通过建立红黑树的方式将采样过程中收集到的信息保存起来,为每一个线程维护一棵红黑树,其中每个节点以线程访问变量地址作为关键值,每个节点按时间顺序保存该线程对该线程访问变量的每一次访存信息。这样,我们就能方便地计算出每个线程的平均访存延迟以及每个线程访问变量的线程平均访存延迟。在调度部分,我们可以利用操作系统提供的函数来进行线程访问变量的拷贝和调度。
该调度方法针对的是多线程并行执行的区域,其中的采样、分析、调度等过程也都只针对程序并行执行的部分。采样过程采集的信息包括发起访存行为的线程ID,该访存行为的目的地址,完成该访存行为所耗费的时钟周期数,该访存行为的类型(远端访存/本地访存)等。采样过程采集的信息还包括变量的内存分配行为。当多线程程序为变量分配内存时,采样过程将会记录分配的内存大小以及分配的内存地址等信息。
如图2所示,本发明提出的基于上述系统的一种NUMA架构下平衡多线程间访存延迟的调度方法,包括以下步骤:
(1)检测模块检测程序是否进入多线程并行执行区域,一旦发现程序处于多线程并行执行区域,立即启动采样模块;
(2)采样模块持续对程序的多线程访存行为进行采样,并将采样获取的访存信息根据线程ID进行分类并保存(本发明优选使用红黑树方式进行保存),根据访存行为的时间顺序为每个线程建立一个访存事件流,并通过分析模块不断更新计算每个线程的平均访存延迟;其中,所述访存信息包括发起访存行为的线程ID,访存行为的目的地址,完成访存行为所耗费的时钟周期数,访存行为的类型。
另外,所述采样模块还保存采样过程中为线程访问数据分配的内存大小及分配的内存地址;
(3)分析模块定期对各线程的访存延迟不平衡度进行评估,其中,所述访存延迟不平衡度具体为:
ξT=|DT-Davg|/Davg
其中,ξT为线程T的访存延迟不平衡度,DT为线程T的平均访存延迟,Davg为所有线程的平均访存延迟;
(4)通过判断模块判断各线程的访存延迟不平衡度是否大于第一阈值Threshhold(该值可取10%-20%,大部分情况下线程的访存次数都比较多,所以即使不平衡度在10%-20%之间,最后累积造成各个线程完成并行区域工作的时间差也是会影响到多线程程序的运行性能的。);若是,则跳转至步骤(5),否则,继续执行步骤(3);
(5)分析模块对多线程程序进行访存行为分析,根据估计的每个线程访问变量的线程平均访存延迟,选取线程平均访存延迟最大的线程访问变量,并将该线程访问变量交由判断模块进行处理;
(6)判断模块判断所述线程访问变量是否仅由一个线程访问,若是,则跳转至步骤(7),否则跳转至步骤(8)。
(7)判断模块进一步判断所述线程访问变量与访问该变量的线程是否处于同一个节点,若是,则返回步骤(5)分析模块依次选取下一个访存延迟最大的线程访问变量进行访存行为分析,否则,调度模块将该线程访问变量迁移至访问该变量的线程所在节点;
(8)判断模块进一步判断所述线程访问变量大小是否小于第二阈值Size(该值可取所用系统一次访存读取的数据大小),若是,则转入步骤(9),否则转入步骤(10);
(9)将该线程访问变量复制分发到NUMA架构下的各个节点;
(10)分析模块根据所述采样模块获取的访存信息对多线程程序进行访问规律分析,若所述线程访问变量中没有被多个线程共同访问的线程访问变量子块,则转入步骤(10-1),否则转入步骤(10-2);
(10-1)将各线程访问的线程访问变量子块分别存放到各线程所在的节点;
(10-2)通过交错存放将所述线程访问变量平均分配到NAMU架构下的各个节点上,避免访存集中而导致的线程访存延迟不平衡的现象;
(11)判断模块判断程序多线程并行执行的区域是否结束,若否,则返回步骤(3)继续执行;否则调度结束,进一步观察是否仍有访存延迟不平衡的现象。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种NUMA架构下平衡多线程间访存延迟的调度系统,其特征在于,所述系统包括检测模块、采样模块、分析模块、判断模块和调度模块,其中,
检测模块,用于探测程序是否进入多线程并行执行区域,还用于在探测程序进入多线程并行执行区域后,启动采样模块;
采样模块,用于对多线程程序运行过程中每个线程的访存行为进行采样,并将采样过程中获取的访存信息保存;
分析模块,一方面用于根据所述采样模块获取的访存信息,定期对所述多线程程序中各线程的访存延迟不平衡度进行评估,还用于针对发生不平衡现象的多线程程序进行访存行为分析,此外,所述分析模块还用于根据所述采样模块获取的访存信息进行访存规律分析;
判断模块,用于根据所述访存延迟不平衡度判断是否发生多线程间访存延迟不平衡现象,同时,还用于在访存延迟不平衡现象发生时进一步判断线程访问变量是否仅由一个线程访问、线程访问变量与访问该变量的线程是否处于同一个节点及线程访问变量大小是否小于第二阈值Size,此外,所述判断模块,还用于判断程序多线程并行执行的区域是否结束;
调度模块,用于根据所述分析模块的访存行为分析和访问规律分析,及判断模块的判断结果对远端访存的线程访问变量进行迁移调度至线程所在节点或使用交错存放将其平均分配到各节点上。
2.根据权利要求1所述的系统,其特征在于,所述访存信息包括发起访存行为的线程ID,访存行为的目的地址,完成访存行为所耗费的时钟周期数和访存行为的类型。
3.根据权利要求1或2所述的系统,其特征在于,所述访存延迟不平衡度具体为:
ξT=|DT-Davg|/Davg
其中,ξT为线程T的访存延迟不平衡度,DT为线程T的平均访存延迟,Davg为所有线程的平均访存延迟。
4.根据权利要求1或2所述的系统,其特征在于,所述访存行为分析具体包括:
根据所述采样模块获取的访存信息,估计每个线程访问变量的线程平均访存延迟,并依次将线程平均访存延迟最大的线程访问变量交由判断模块进行处理。
5.根据权利要求1或2所述的系统,其特征在于,所述访问规律分析具体为:观察多线程程序中每个线程访问变量中是否没有被多个线程共同访问的线程访问变量子块。
6.根据权利要求1或2所述的系统,其特征在于,所述采样模块还用于保存采样过程中为线程访问数据分配的内存大小及分配的内存地址。
7.一种基于权利要求1-6任一项的NUMA架构下平衡多线程间访存延迟调度系统的调度方法,其特征在于,包括以下步骤:
(1)检测模块检测程序是否进入多线程并行执行区域,一旦发现程序处于多线程并行执行区域,立即启动采样模块;
(2)采样模块持续对程序的多线程访存行为进行采样,并将采样获取的访存信息根据线程ID进行分类并保存,根据访存行为的时间顺序为每个线程建立一个访存事件流,并通过分析模块不断更新计算每个线程的平均访存延迟;
(3)分析模块定期对各线程的访存延迟不平衡度进行评估;
(4)通过判断模块判断各线程的访存延迟不平衡度是否大于第一阈值Threshold;若是,则跳转至步骤(5),否则,继续执行步骤(3);
(5)分析模块对多线程程序进行访存行为分析,根据估计的每个线程访问变量的线程平均访存延迟,选取线程平均访存延迟最大的线程访问变量,并将该线程访问变量交由判断模块进行处理;
(6)判断模块判断所述线程访问变量是否仅由一个线程访问,若是,则跳转至步骤(7),否则跳转至步骤(8);
(7)判断模块进一步判断所述线程访问变量与访问该变量的线程是否处于同一个节点,若是,则返回步骤(5)分析模块依次选取下一个访存延迟最大的线程访问变量进行访存行为分析,否则,调度模块将该线程访问变量迁移至访问该变量的线程所在节点;
(8)判断模块进一步判断所述线程访问变量大小是否小于第二阈值Size,若是,则转入步骤(9),否则转入步骤(10);
(9)将该线程访问变量复制分发到NUMA架构下的各个节点;
(10)分析模块根据所述采样模块获取的访存信息对多线程程序进行访问规律分析,若所述线程访问变量中没有被多个线程共同访问的线程访问变量子块,则转入步骤(10-1),否则转入步骤(10-2);
(10-1)将各线程访问的线程访问变量子块分别存放到各线程所在的节点;
(10-2)通过交错存放将所述线程访问变量平均分配到NAMU架构下的各个节点上;
(11)判断模块判断程序多线程并行执行的区域是否结束,若否,则返回步骤(3)继续执行;否则调度结束。
8.根据权利要求7所述的方法,其特征在于,所述访存信息包括发起访存行为的线程ID,访存行为的目的地址,完成访存行为所耗费的时钟周期数和访存行为的类型。
9.根据权利要求7或8所述的方法,其特征在于,所述访存延迟不平衡度具体为:
ξT=|DT-Davg|/Davg
其中,ξT为线程T的访存延迟不平衡度,DT为线程T的平均访存延迟,Davg为所有线程的平均访存延迟。
CN201610024295.5A 2016-01-15 2016-01-15 一种numa架构下平衡多线程间访存延迟的调度系统及方法 Active CN105700946B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610024295.5A CN105700946B (zh) 2016-01-15 2016-01-15 一种numa架构下平衡多线程间访存延迟的调度系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610024295.5A CN105700946B (zh) 2016-01-15 2016-01-15 一种numa架构下平衡多线程间访存延迟的调度系统及方法

Publications (2)

Publication Number Publication Date
CN105700946A CN105700946A (zh) 2016-06-22
CN105700946B true CN105700946B (zh) 2019-03-05

Family

ID=56226138

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610024295.5A Active CN105700946B (zh) 2016-01-15 2016-01-15 一种numa架构下平衡多线程间访存延迟的调度系统及方法

Country Status (1)

Country Link
CN (1) CN105700946B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107220116A (zh) * 2017-05-25 2017-09-29 深信服科技股份有限公司 一种numa架构下的沙箱环境任务处理方法及系统
CN113505084B (zh) * 2021-06-24 2023-09-12 中国科学院计算技术研究所 基于访存和性能建模的内存资源动态调控方法及系统
CN114048040B (zh) * 2021-11-29 2022-05-13 中南大学 基于内存与图像分类模型时延关系的任务调度方法
CN116841751B (zh) * 2023-08-31 2023-11-10 中国兵器装备集团兵器装备研究所 一种多任务线程池的策略配置方法、装置和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102520915A (zh) * 2011-11-25 2012-06-27 华为技术有限公司 非统一内存访问系统中线程化串行程序的方法及装置
CN104834505A (zh) * 2015-05-13 2015-08-12 华中科技大学 一种多核多线程环境下numa感知的同步方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102520915A (zh) * 2011-11-25 2012-06-27 华为技术有限公司 非统一内存访问系统中线程化串行程序的方法及装置
CN104834505A (zh) * 2015-05-13 2015-08-12 华中科技大学 一种多核多线程环境下numa感知的同步方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NUMA架构内多个节点间访存延时平衡的内存分配策略;李慧娟 等;《高性能计算发展与应用》;20150430;全文

Also Published As

Publication number Publication date
CN105700946A (zh) 2016-06-22

Similar Documents

Publication Publication Date Title
CN105700946B (zh) 一种numa架构下平衡多线程间访存延迟的调度系统及方法
Shelepov et al. HASS: A scheduler for heterogeneous multicore systems
CN108829494A (zh) 基于负载预测的容器云平台智能资源优化方法
CN106339351B (zh) 一种sgd算法优化系统及方法
Annamalai et al. An opportunistic prediction-based thread scheduling to maximize throughput/watt in AMPs
Xiong et al. A characterization of big data benchmarks
CN112395046B (zh) 虚拟机迁移规划调度方法及其系统与介质
CN107908536B (zh) Cpu-gpu异构环境中对gpu应用的性能评估方法及系统
CN105468439A (zh) 在cpu-gpu异构框架下遍历固定半径内邻居的自适应并行算法
US10152354B2 (en) Optimized thread scheduling on processor hardware with performance-relevant shared hardware components
Mück et al. Run-DMC: Runtime dynamic heterogeneous multicore performance and power estimation for energy efficiency
Sawalha et al. Phase-guided scheduling on single-ISA heterogeneous multicore processors
Jahre et al. GDP: Using dataflow properties to accurately estimate interference-free performance at runtime
Ghazali et al. A classification of Hadoop job schedulers based on performance optimization approaches
CN111367632B (zh) 一种基于周期特征的容器云调度方法
Fan et al. Contention-aware scheduling for asymmetric multicore processors
Wang et al. A study on heuristic task scheduling optimizing task deadline violations in heterogeneous computational environments
Rao et al. Online measurement of the capacity of multi-tier websites using hardware performance counters
Ismaeel et al. Real-time energy-conserving vm-provisioning framework for cloud-data centers
CN109117247B (zh) 一种基于异构多核拓扑感知的虚拟资源管理系统及方法
Xiong et al. SZTS: A novel big data transportation system benchmark suite
KR101395699B1 (ko) 태스크 분류방법 및 이를 이용한 공유 라스트 레벨 캐시의 성능 향상방법
Wu et al. Argus: Efficient job scheduling in rdma-assisted big data processing
Zhang et al. Cross-architecture prediction based scheduling for energy efficient execution on single-ISA heterogeneous chip-multiprocessors
Díaz et al. Improving SMT performance: an application of genetic algorithms to configure resizable caches

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant