CN111176831A - 基于多线程共享内存通信的动态线程映射优化方法及装置 - Google Patents
基于多线程共享内存通信的动态线程映射优化方法及装置 Download PDFInfo
- Publication number
- CN111176831A CN111176831A CN201911236909.6A CN201911236909A CN111176831A CN 111176831 A CN111176831 A CN 111176831A CN 201911236909 A CN201911236909 A CN 201911236909A CN 111176831 A CN111176831 A CN 111176831A
- Authority
- CN
- China
- Prior art keywords
- thread
- threads
- traffic
- communication
- mapping
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
基于多线程共享内存通信的动态线程映射优化方法及装置,方法包括:步骤一、在多线程并行程序运行过程中,周期性收集并统计线程间的通信量;步骤二、由步骤一统计得到的通信量矩阵,转化得到表示线程间通信量的无向图,根据线程间通信量的无向图层次化地计算出对线程合理划分后的分组,输出分组结果;步骤三、调用内核函数为每个线程依次设置其CPU亲和度,将程序中的各线程依据分组计算的结果,迁移到对应的CPU核心上;步骤四、间隔一段时间,重复步骤一至三,直到线程退出。装置包括:通信检测与统计模块,映射分组计算模块,线程迁移及控制模块。本发明优化了多线程并行程序在NUMA架构下运行的通信效率和访存效率,通用和可移植性好。
Description
技术领域
本发明属于通信领域,涉及基于多线程共享内存通信的动态线程映射优化方法及装置。
背景技术
在以OpenMP为代表的多线程并行的编程模型中,应用程序的线程之间通过共享内存空间交换和共享数据,我们称这一过程为隐式通信模式。在并行计算机的计算节点内部,多线程并行程序正是通过这一方式实现数据的交换和共享。在众多并行计算机体系结构中,NUMA(Non-Uniform Memory Access)架构是指非均匀访问存储模型,这种模型将CPU的资源分开,以node为单位进行切割,每个node里有着独有的计算核心、内存等资源。NUMA架构提升了CPU性能,却造成了两个node之间资源交互非常慢,且在CPU增多的情况下,性能提升的幅度并不高。当多线程并行应用程序运行在NUMA节点时,若分布在相邻核上的线程之间交换数据,一般将通过邻近几个核心共享的L2 Cache进行;若分布在同一块处理器内物理位置较远的核心上的线程之间交换数据,一般将通过一个处理器共享的L3 Cache进行;若分布在不同处理器上的线程之间交换数据,则只能借助片上互连,从其他处理器的内存中读取。很显然,以上列举的三种方式的代价是不同的,第二种略大于第一种的开销,而由于NUMA架构的特性,第三种开销远大于前两者。因此可以说,在NUMA架构上运行的多线程并行程序通信很不均匀,这就影响了程序运行时的访存效率,最终降低程序整体执行效率。因此,寻找一种合理的映射策略,将多线程并行程序运行时的线程合理分布到系统中的计算核心上,尽量避免跨处理器的远端通信,对提升程序运行性能具有重要的意义。
已有的静态线程映射方法是指在程序首次运行时利用工具对程序进行插桩,分析程序运行时的性能。后续通过一系列决策,根据需求计算出最合适的映射方法,在以后相同的程序执行之前,调用已计算好的映射方法,设置线程的亲和度,将线程绑定到具体的核心上。这种静态的映射方式会有效提高具体应用程序的运行效率,但其方法针对具体的程序和具体的机器架构,故通用性差、可移植性差。线程映射问题是NP-hard问题,其基本的解决思路是根据需求对线程进行基于图划分的分组计算。目前已有研究人员通过图论方法、启发式算法和数学规划方法来寻求接近最优的映射方法。但是这些方法存在容易陷入局部最优解、搜索效率低的问题,当并行程序的进程规模增大时,求解最优映射的时间开销过长。
发明内容
本发明的目的在于针对上述现有技术中多线程并行程序在NUMA架构下运行的通信效率和访存效率不高,以及静态线程映射方法通用性差、可移植性差的问题,提供一种基于多线程共享内存通信的动态线程映射优化方法及装置,提升程序的执行性能以及适应性。
为了实现上述目的,本发明有如下的技术方案:
一种基于多线程共享内存通信的动态线程映射优化方法,包括以下步骤:
步骤一、在多线程并行程序运行过程中,周期性收集并统计线程间的通信量;具体的,持续性地对每次通信进行记录,统计为线程间的通信量矩阵A∈Rn×n,n表示程序运行的线程总数,矩阵元素为a(i,j),i∈n,j∈n表示线程i和线程j的通信量数值;
步骤二、由步骤一统计得到的通信量矩阵,转化得到表示线程间通信量的无向图,根据线程间通信量的无向图层次化地计算出对线程合理划分后的分组,输出分组结果;
步骤三、调用内核函数为每个线程依次设置其CPU亲和度,将程序中的各线程依据分组计算的结果,迁移到对应的CPU核心上,至此执行完一轮线程到核的映射过程;
步骤四、间隔一段时间,重复步骤一至三,进行线程到核动态映射机制,直到线程退出。
所述的步骤一基于内存缺页错误的方法检测线程间的通信量,具体的,使用Linux操作系统的Kprobe内核函数组,检测程序运行时系统中产生的每次缺页错误,统计并记录产生缺页错误的线程ID和内存物理地址;在此过程中,周期性引入额外缺页错误进行统计和记录。
所述的步骤一统计线程间通信量时,定义一个哈希表,对内存物理地址空间进行按照粒度进行划分,索引为划分后的块ID,哈希表项为一个队列,记录在该内存块上产生缺页错误的不同的线程ID,规定队列大小;每次当队列中记录入一个新的线程,将队首元素出队,然后计该新线程与仍在队列中的其他线程之间产生一次通信,按此方式,实时更新通信量矩阵。
引入额外缺页错误的方式为删除掉页表中某个内存页的present保留位。
步骤二的线程间通信量的无向图为G=(V,E),顶点集V是所有线程ID的集合,边集E的元素是二元(i,j)(i,j∈V),表示线程i与线程j之间的通信过程,边上的权值W(i,j)是线程i与线程j的通信量,使用Scotch mapping library的双递归算法层次化地计算出线程划分后的分组,算法输入为线程间通信量的无向图G和工具Hwloc测试出的节点上系统架构信息。
步骤二在每次线程的分组计算过后,对通信量矩阵A进行老化处理;具体为,将上一次参与分组计算的通信量矩阵的所有元素值a(i,j),i∈n,j∈n,乘以老化系数α,0.5<α<1。
步骤四中的时间间隔为interval,50ms<interval<1s。
设定初始的interval=200ms,若后一次的映射分组计算结果与前一次结果一致或偏差不大,interval增加50ms,若后一次的映射分组计算结果与前一次结果相差很大,nterval减少50ms。
本发明还提供一种基于多线程共享内存通信的动态线程映射优化装置,包括:
通信检测与统计模块,在多线程并行程序运行过程中周期性收集并统计线程间的通信量;
映射分组计算模块,根据线程间的通信量层次化计算出对线程合理划分后的分组并输出;
线程迁移及控制模块,将各线程依据分组计算的结果迁移到对应的CPU核心上。
相较于现有技术,本发明具有如下的有益效果:在多线程并行程序运行过程中,周期性统计不同线程ID之间进行基于共享内存模式的通信,持续性地对每次通信进行记录,统计为线程间通信量矩阵,通过将通信频繁的线程映射到物理位置接近的计算核心上,尽可能地避免了两个线程之间通过处理器片间互连的高开销方式进行数据交换和共享,优化了多线程并行程序在NUMA架构下运行的通信效率和访存效率,整体上提升了程序的执行性能。本发明的动态线程映射优化方法解决了传统映射无法适应通用的NUMA处理器平台和通用的多线程并行应用程序的问题,根据线程间通信量的无向图层次化地计算出对线程合理划分后的分组,能够适应不同类型和不同规模的NUMA多核处理器平台。其次,本发明采用动态的线程映射机制,不同的程序运行时均能采用本发明中的方法,因此独立于应用程序,具有通用性。
进一步的,检测线程间的通信量时通过基于内存缺页错误的方法进行。使用Linux操作系统的Kprobe内核函数组,检测程序运行时系统中产生的每次缺页错误,统计并记录产生缺页错误的线程ID和内存物理地址。此外,周期性地引入额外页错误,具体地,删除掉某个已发生过缺页错误的内存页在页表项中的present保留位,若如此,下次有线程想访问该相同内存页中的数据时,系统就会产生软缺页中断。增加额外的缺页错误虽然会增加程序运行时缺页错误的数量和系统缺页中断的次数,但整体增强了机制中线程间通信统计的精确度。通信检测机制检测出的缺页错误,包含两种情况:一是线程想要访问某数据,但该数据并未在内存中,系统需要从磁盘中调取该块数据到内存,产生缺页中断;二是检测机制额外引入的软缺页错误。对于前者产生的中断,由操作系统本身处理;对于后者产生的中断,由检测机制自行处理。自行处理过程的中断处理程序为:把产生缺页错误的内存地址块的现有内容给需要该块数据的线程,恢复内存地址的页表项。中断处理完毕后,系统恢复,程序继续执行。
进一步的,统计线程间的通信量时,定义一个哈希表,每个哈希表项为一个队列,记录在该内存块上产生缺页错误的不同的线程ID,规定队列大小为4,保证统计的精确度。
进一步的,规定动态映射过程中,每一轮映射机制的执行之间有一定的时间间隔,记时间间隔为interval,为优化程序整体运行性能的同时减少映射带来的额外开销,interval的设置必须有一个时间范围。本发明中暂设初始的interval=200ms,若后一次的映射分组计算结果与前一次结果一致或仅存在很小偏差,表明程序的运行特性、线程的通信模式没有随时间发生明显的变化,故interval增加50ms;反之若前后两次计算结果相差很大,表明程序线程间通信模式变化很大,需要及时调整,故interval减少50ms。整个程序运行过程,映射机制保证50ms<interval<1s,本发明将interval的设置作为影响动态映射方法性能的一个变量。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图;
图1本发明基于多线程共享内存通信的动态线程映射优化方法流程图。
具体实施方式
下面结合附图及实施例对本发明做进一步的详细说明。
参见图1,本发明基于多线程共享内存通信的动态线程映射优化方法,设计并实现了多线程环境下动态的线程到核的映射,方法中包含一种线程到核的映射机制,在程序运行中周期性地执行这一机制以实现动态性。本发明将该机制分为三个模块,借助Linux操作系统内核的相关函数功能加以实现,本发明的方法最终实现为Linux系统的内核模块。
步骤1:检测应用程序运行的开始和线程的创建,若检测出通信量,进入映射机制;
优选地,利用系统内核probe函数检测do_fork(),但不限于具体的实施方法。
步骤2:周期性地通过改变页表项的保留位,插入额外缺页错误。不断检测程序运行时系统中产生的缺页错误,记录产生缺页错误的内存物理地址所在块号和线程ID。定义一个哈希表和一个通信矩阵:对内存物理地址空间进行按照一定粒度进行划分,哈希表大小为内存地址空间除以划分块的粒度,哈希的索引为划分后的块ID,每个哈希表项为一个队列,记录了在该内存块上产生缺页错误的不同的线程ID,规定队列大小为4,以保证统计的精确度。
通信矩阵读取哈希表中的信息,若同一个哈希表项的队列中有不同的线程ID,分别记这几个线程之间产生一次通信,将通信量矩阵的对应位置的元素加1.
步骤3:若检测出缺页错误由系统本身产生,则中断由系统自身处理;若页错误由步骤2额外引入,则进入映射机制定义中断处理程序处理该中断。
步骤4:周期性地调取通信量矩阵信息,生成通信量无向图,然后对现有通信量矩阵做老化处理,令anew[i][j]=aold[i][j]-(aold[i][j]>>2)。接着调用基于图划分的分组算法,将程序已有线程按通信量情况进行分组,尽可能使通信频繁的线程分在同一个组,得出分组结果;
优选地,使用Scotch mapping library提供的算法进行分组,但不限于此,该算法获取hwloc工具检测出的体系结构信息,采取双递归的分层方法,每一层采用启发式的方法。
步骤5:根据分组计算结果,分别为每个线程设置相应的CPU关联掩码,该掩码规定了线程只能在哪个或哪些CPU上执行,如此在程序运行期间完成线程的迁移。优选地,直接调用内核函数sched_setaffinity(pid,sizeof(cpu_set_t),&mask)设置具体线程的具体关联掩码mask.
步骤6:检测线程是否全部退出,程序是否运行结束。若没有,根据上一步计算结果调整时间间隔interval,经过interval时间后,重复步骤4-5;否则,程序运行结束,映射流程结束。
本发明适用于NUMA多核处理器平台下的任意多线程并行应用程序。
本发明利用基于缺页错误检测的方法检测程序线程间的通信量,其间引入额外的页错误提升检测精度。定义通信量矩阵统计通信量信息,利用基于图划分的分组算法计算线程的合理映射,最后根据映射计算结果迁移线程,完成一轮映射。本发明基于多线程共享内存通信的动态线程映射优化方法,检测程序运行的开始和结束期间,周期性地执行一个线程到核映射机制,解决NUMA架构处理器上隐式通信不平衡导致的程序性能下降问题。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于多线程共享内存通信的动态线程映射优化方法,其特征在于,包括以下步骤:
步骤一、在多线程并行程序运行过程中,周期性收集并统计线程间的通信量;具体的,持续性地对每次通信进行记录,统计为线程间的通信量矩阵A∈Rn×n,n表示程序运行的线程总数,矩阵元素为a(i,j),i∈n,j∈n表示线程i和线程j的通信量数值;
步骤二、由步骤一统计得到的通信量矩阵,转化得到表示线程间通信量的无向图,根据线程间通信量的无向图层次化地计算出对线程合理划分后的分组,输出分组结果;
步骤三、调用内核函数为每个线程依次设置其CPU亲和度,将程序中的各线程依据分组计算的结果,迁移到对应的CPU核心上,至此执行完一轮线程到核的映射过程;
步骤四、间隔一段时间,重复步骤一至三,进行线程到核动态映射机制,直到线程退出。
2.根据权利要求1所述基于多线程共享内存通信的动态线程映射优化方法,其特征在于:所述的步骤一基于内存缺页错误的方法检测线程间的通信量,具体的,使用Linux操作系统的Kprobe内核函数组,检测程序运行时系统中产生的每次缺页错误,统计并记录产生缺页错误的线程ID和内存物理地址;在此过程中,周期性地引入额外缺页错误进行统计和记录。
3.根据权利要求2所述基于多线程共享内存通信的动态线程映射优化方法,其特征在于:所述的步骤一统计线程间的通信量时,定义一个哈希表,对内存物理地址空间进行按照粒度进行划分,索引为划分后的块ID,哈希表项为一个队列,记录在该内存块上产生缺页错误的不同的线程ID,规定队列大小;每次当队列中记录入一个新的线程,将队首元素出队,然后计该新线程与仍在队列中的其他线程之间产生一次通信,按此方式,实时更新通信量矩阵。
4.根据权利要求2所述基于多线程共享内存通信的动态线程映射优化方法,其特征在于:引入额外缺页错误的方式为删除掉页表中某个内存页的present保留位。
5.根据权利要求1所述基于多线程共享内存通信的动态线程映射优化方法,其特征在于:步骤二所述的线程间通信量的无向图为G=(V,E),顶点集V是所有线程ID的集合,边集E的元素是二元(i,j)(i,j∈V),表示线程i与线程j之间的通信过程,边上的权值W(i,j)是线程i与线程j的通信量,使用Scotch mapping library的双递归算法层次化地计算出线程划分后的分组,算法输入为线程间通信量的无向图G和工具Hwloc测试出的节点上系统架构信息。
6.根据权利要求1所述基于多线程共享内存通信的动态线程映射优化方法,其特征在于:步骤二在每次线程的分组计算过后,对通信量矩阵A进行老化处理;具体为,将上一次参与分组计算的通信量矩阵的所有元素值a(i,j),i∈n,j∈n,乘以老化系数α,0.5<α<1。
7.根据权利要求1所述基于多线程共享内存通信的动态线程映射优化方法,其特征在于:步骤四中的时间间隔为interval,50ms<interval<1s。
8.根据权利要求7所述基于多线程共享内存通信的动态线程映射优化方法,其特征在于:设定初始的interval=200ms,若后一次的映射分组计算结果与前一次结果一致或偏差不大,interval增加50ms,若后一次的映射分组计算结果与前一次结果相差很大,nterval减少50ms。
9.一种基于多线程共享内存通信的动态线程映射优化装置,其特征在于,包括:
通信检测与统计模块,在多线程并行程序运行过程中周期性收集并统计线程间的通信量;
映射分组计算模块,根据线程间的通信量层次化计算出对线程合理划分后的分组并输出;
线程迁移及控制模块,将各线程依据分组计算的结果迁移到对应的CPU核心上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911236909.6A CN111176831B (zh) | 2019-12-05 | 2019-12-05 | 基于多线程共享内存通信的动态线程映射优化方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911236909.6A CN111176831B (zh) | 2019-12-05 | 2019-12-05 | 基于多线程共享内存通信的动态线程映射优化方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111176831A true CN111176831A (zh) | 2020-05-19 |
CN111176831B CN111176831B (zh) | 2023-05-02 |
Family
ID=70653854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911236909.6A Active CN111176831B (zh) | 2019-12-05 | 2019-12-05 | 基于多线程共享内存通信的动态线程映射优化方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111176831B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112114983A (zh) * | 2020-09-14 | 2020-12-22 | 深圳花儿数据技术有限公司 | 一种基于共享内存的通信方法、装置和设备 |
CN114090270A (zh) * | 2022-01-21 | 2022-02-25 | 武汉中科通达高新技术股份有限公司 | 线程管理方法、装置、电子设备及计算机可读存储介质 |
CN114327828A (zh) * | 2021-12-29 | 2022-04-12 | 科东(广州)软件科技有限公司 | 一种共享数据的并发访问方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110103557A1 (en) * | 2009-11-02 | 2011-05-05 | Alcatel-Lucent Usa Inc. | Overload detection on multi-CPU system |
CN105808358A (zh) * | 2016-03-29 | 2016-07-27 | 西安交通大学 | 一种用于众核系统的数据相关性线程分组映射方法 |
CN106033442A (zh) * | 2015-03-16 | 2016-10-19 | 北京大学 | 一种基于共享内存体系结构的并行广度优先搜索方法 |
CN107479976A (zh) * | 2017-08-14 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种多程序实例同时运行下cpu资源分配方法及装置 |
-
2019
- 2019-12-05 CN CN201911236909.6A patent/CN111176831B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110103557A1 (en) * | 2009-11-02 | 2011-05-05 | Alcatel-Lucent Usa Inc. | Overload detection on multi-CPU system |
CN106033442A (zh) * | 2015-03-16 | 2016-10-19 | 北京大学 | 一种基于共享内存体系结构的并行广度优先搜索方法 |
CN105808358A (zh) * | 2016-03-29 | 2016-07-27 | 西安交通大学 | 一种用于众核系统的数据相关性线程分组映射方法 |
CN107479976A (zh) * | 2017-08-14 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种多程序实例同时运行下cpu资源分配方法及装置 |
Non-Patent Citations (4)
Title |
---|
JAGUN KWON等: ""Adaptive Bandwidth-Based Thread Group Scheduler for Compositional Real-Time Middleware Architectures"", 《2011 IEEE 35TH ANNUAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE》 * |
巨涛等: ""面向众核系统的线程分组映射方法"", 《西安交通大学学报》 * |
张雍福: ""基于Storm的任务拓扑优化及实时调度策略研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
邢丰等: "亚线程和动态亚线程树的设计与研究", 《电子技术应用》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112114983A (zh) * | 2020-09-14 | 2020-12-22 | 深圳花儿数据技术有限公司 | 一种基于共享内存的通信方法、装置和设备 |
CN112114983B (zh) * | 2020-09-14 | 2022-04-19 | 深圳花儿数据技术有限公司 | 一种基于共享内存的通信方法、装置和设备 |
CN114327828A (zh) * | 2021-12-29 | 2022-04-12 | 科东(广州)软件科技有限公司 | 一种共享数据的并发访问方法、装置、设备及介质 |
CN114090270A (zh) * | 2022-01-21 | 2022-02-25 | 武汉中科通达高新技术股份有限公司 | 线程管理方法、装置、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111176831B (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111176831B (zh) | 基于多线程共享内存通信的动态线程映射优化方法及装置 | |
US8898422B2 (en) | Workload-aware distributed data processing apparatus and method for processing large data based on hardware acceleration | |
CN107908536B (zh) | Cpu-gpu异构环境中对gpu应用的性能评估方法及系统 | |
EP2396730A1 (en) | Devices and methods for optimizing data-parallel processing in multi-core computing systems | |
CN108595250B (zh) | 一种面向IaaS云平台的资源调度效率优化方法及系统 | |
US20120297216A1 (en) | Dynamically selecting active polling or timed waits | |
Shi et al. | MG-WFBP: Merging gradients wisely for efficient communication in distributed deep learning | |
US11023277B2 (en) | Scheduling of tasks in a multiprocessor device | |
CN113807046A (zh) | 一种测试激励优化回归验证方法、系统及介质 | |
CN107992358B (zh) | 一种适用于核外图处理系统的异步io执行方法及系统 | |
CN111078394A (zh) | 一种gpu线程负载均衡方法与装置 | |
CN114692079A (zh) | 一种gpu批量矩阵乘法加速器及其处理方法 | |
CN117349026B (zh) | 一种用于aigc模型训练的分布式算力调度系统 | |
Wu et al. | Turbostream: Towards low-latency data stream processing | |
Wang et al. | Prophet: Fine-grained Load Balancing for Parallel Training of Large-scale MoE Models | |
Yu et al. | Accelerating distributed training in heterogeneous clusters via a straggler-aware parameter server | |
CN110928659A (zh) | 一种具有自适应功能的数值水池系统远程多平台接入方法 | |
CN110209631A (zh) | 大数据处理方法及其处理系统 | |
CN115470926B (zh) | 量子计算任务的处理装置、方法及量子计算机 | |
CN117093335A (zh) | 分布式存储系统的任务调度方法及装置 | |
WO2019134084A1 (zh) | 代码执行方法、装置、终端设备及计算机可读存储介质 | |
CN115033374A (zh) | 一种多核可编程控制器的任务到线程匹配方法 | |
CN114067917A (zh) | 基于调优参数的gatk超级计算机系统 | |
JP2023544911A (ja) | 並列量子コンピューティングのための方法及び装置 | |
CN113568728A (zh) | 一种作业调度方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |