CN101996103B - 多核云计算平台并行应用优化方法 - Google Patents
多核云计算平台并行应用优化方法 Download PDFInfo
- Publication number
- CN101996103B CN101996103B CN2009101666019A CN200910166601A CN101996103B CN 101996103 B CN101996103 B CN 101996103B CN 2009101666019 A CN2009101666019 A CN 2009101666019A CN 200910166601 A CN200910166601 A CN 200910166601A CN 101996103 B CN101996103 B CN 101996103B
- Authority
- CN
- China
- Prior art keywords
- application
- threads
- parallel application
- data
- parallel
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Multi Processors (AREA)
Abstract
公开了一种多核云计算平台并行应用优化方法。该方法包括:从组成多核云计算平台的多个节点中,为并行应用分配多个应用节点,并在每一个应用节点上分别为该并行应用分配多个CPU核心,在所分配的多个CPU核心上分别启动线程;为该并行应用创建主通信组,该主通信组由分配给该并行应用的每一个应用节点上的多个线程中的首线程组成;为每一个应用节点创建子通信组,每一个子通信组由其所对应的应用节点上为该并行应用所启动的多个线程组成;对该并行应用的应用通信数据进行切分,得到多个数据块;由主通信组中的多个线程中的首线程向主通信组中的其余线程广播多个数据块;由每一个子通信组中的多个线程中的首线程向子通信组中的其余线程广播多个数据块。
Description
技术领域
本发明涉及并行应用优化方法,特别涉及多核云计算平台上的并行应用优化方法。
背景技术
过去30年,在摩尔定律的推动下,CPU(Central Processing Unit,中央处理器)速度差不多每两年就提升一倍,CPU的主频、即CPU的工作频率一直是提高微处理器性能的主要因素。然而由于功耗的原因,主频提升已显得力不从心。当处理器频率达到其极限时,一种流行的提高性能的方法是添加更多的处理器,典型的为早期的SMP(Symmetrical Multi-Processing,对称多处理)技术,将更多的处理器添加到主板上形成多核计算平台,或将多个独立计算机集群到一起形成云计算平台。一般地,构成云计算平台的多个独立计算机的每一个被称为一个节点。而最近,CMP(Chip Multi-Processor,多核处理器)技术在单个芯片上实现SMP,成为当前和未来处理器发展的主要方向。
多核处理器的引入,使得云计算平台节点内通信(包括芯片内通信和芯片间通信)性能得到大幅提升,节点内外通信性能差距明显增大,为并行应用的优化带来了新的挑战。
目前改善并行应用性能的主要方法例如有下述的方法。
第一种方法为具体并行应用局部优化方法,比如专利200810104205.9中具有多个处理器的多核编码器及图像切片单元的处理即属这种方法。其中图像切片单元用于将视频图像划分为多个切片,并将每个切片分配到多核编码器的不同处理器中进行处理;多核编码器在利用多个处理器对图像的切片进行处理的过程中,采用并行流水的方式执行图像编码;并在多核编码器的处理器处理完一个切片后,给图像切片单元发送消息以使图像切片单元发送下一个切片给该处理器。
另外,目前还有在特定结构下通过链路最小化、节点竞争以及通信节点距离最小化来改善并行应用性能的方法。
另外,目前还有针对网络架构的层次性来优化并行应用的性能的方法,如使网速较快的局域网环境承载更多的通信量而使网速较慢的广域网上的通信量最小化来实现并行应用的优化。
上述的这些方法虽然可以在一定程度上提升并行应用性能,但都与具体应用有较大的相关性,普遍适用性较差,且对多核云计算平台的性能改善程度是有限的。
另外,目前还有从操作***层对多核云计算平台进行并行应用优化的方法,但研究表明,这种方法存在实现复杂、实用性差的问题。
发明内容
鉴于上述并行应用优化方法存在的问题,本发明的目的在于提供一种普遍适用性好、实现简单的多核云计算平台并行应用优化方法。
为了实现上述目的,根据本发明的多核云计算平台并行应用优化方法,包括:第一步骤,从组成多核云计算平台的多个节点中,为并行应用分配多个应用节点,并在每一个所述应用节点上分别为所述并行应用分配多个CPU核心,在所分配的多个CPU核心上分别启动线程;第二步骤,为所述并行应用创建主通信组,所述主通信组由分配给所述并行应用的每一个所述应用节点上的所述多个线程中的首线程组成;第三步骤,为每一个所述应用节点创建子通信组,每一个所述子通信组由其所对应的所述应用节点上为所述并行应用所启动的多个线程组成;第四步骤,由所述主通信组中的所述多个线程中的首线程向所述主通信组中的其余线程广播所述并行应用的应用通信数据;第五步骤,由每一个所述子通信组中的所述多个线程中的首线程向所述子通信组中的其余线程广播所述应用通信数据。
而且,在上述的多核云计算平台并行应用优化方法中,在所述第四步骤之前还包括:第六步骤,将所述应用通信数据切分成多个数据块。
而且,在上述的多核云计算平台并行应用优化方法中,所述第六步骤包括:第七步骤,当所述应用通信数据大于一级高速缓存(L1 cache)大小时,将所述应用通信数据按所述一级高速缓存大小切分成所述多个数据块,当所述应用通信数据小于等于所述一级高速缓存大小时,将所述应用通信数据直接做为一个数据块。
而且,在上述的多核云计算平台并行应用优化方法中,在所述第七步骤之前还包括:将所述应用通信数据与大于所述一级高速缓存的二级高速缓存(L2 cache)进行大小比较,当所述应用通信数据大于所述二级高速缓存大小时,将所述应用通信数据按所述二级高速缓存大小切分成所述多个数据块。
根据本发明的多核云计算平台并行应用优化方法,在多核云计算平台中,由分配给同一并行应用的每一个节点的首线程组成主通信组,由主通信组中的首线程向主通信组中的其他线程广播数据来进行节点间通信,再由同一节点内的同一并行应用的首线程向该节点内同一并行应用的其余线程广播数据,即由子通信组中的首线程向子通信组中的其余线程广播数据来进行节点内通信。这样,无需增加设备,而且不限于平台结构,即为并行应用的数据广播形成了层次化的规整的拓扑结构,解决了现有多核云计算平台并行应用优化方法普遍适用性差、实用性差的问题。并且通过上述拓扑结构,减少了节点间的数据广播,而更多采用节点内的数据通信,从而提高了并行应用的执行速度。
附图说明
通过下面结合附图进行的描述,本发明的上述和其他目的和特点将会变得更加清楚,其中:
图1是表示根据本发明实施例的多核云计算平台并行应用优化方法的流程图;
图2是表示根据本发明实施例的多核云计算平台并行应用优化方法的示意图;
图3是表示根据本发明实施例的多核云计算平台并行应用优化方法中的数据切分方法的流程图。
主要符号说明:S1010-S1060及S2010-S2050为步骤。
具体实施方式
以下,参照附图来详细说明本发明的实施例。
(实施例)
图1是表示根据本发明实施例的多核云计算平台并行应用优化方法的流程图。根据本发明实施例的多核云计算平台并行应用优化方法由并行应用优化***执行。
首先,在步骤S1010,由并行应用优化***从组成多核云计算平台的多个节点中,为一并行应用分配多个应用节点,并在每一个应用节点上分别为该并行应用分配多个CPU核心,在所分配的多个CPU核心上分别启动线程。这里,通过重复上述处理,为多个并行应用分别分配多个应用节点及多个CPU核心,并在分配的CPU核心上分别为相应的并行应用启动线程。
接着,在步骤S1020,由并行应用优化***创建主通信组,该主通信组由分配给同一并行应用的每一个所述应用节点上的多个CPU核心的线程中的首线程,即rank为0的线程组成。同样地,这里通过重复上述处理,为多个并行应用的每一个分别创建一个主通信组。
接着,在步骤S1030,由并行应用优化***为每一个应用节点创建子通信组,每一个子通信组由其所对应的应用节点上为同一并行应用所启动的多个线程组成。即,这里在每一节点中为每一个不同的并行应用分别创建子通信组。
接着,在步骤S1040,由并行应用优化***对并行应用的应用通信数据进行切分,得到多个数据块。这里应用通信数据的切分是以并行应用为单位进行的,即对每一个并行应用分别进行应用通信数据的切分,分别得到多个数据块。具体的切分方法将在后详细说明。
接着,在步骤S1050,由并行应用的主线程,即并行应用的主通信组中的首线程向该主通信组中的其他线程广播在步骤S1040中切分而得的多个数据块,即将多个数据块广播到主通信组中的其他节点。这里,每一个并行应用可分别通过自己的主通信组,由主通信组中的首线程所在的节点向主通信组中的其他节点将自己的应用通信数据广播出去。
接着,在步骤S1060,在每一个应用节点内,由每一个并行应用的子通信组中的首线程将该并行应用的多个数据块广播到该子通信组中的其他线程。
图2是表示根据本发明实施例的多核云计算平台并行应用优化方法的示意图。
在此图中,举例表示了为一个并行应用分配资源及广播应用通信数据的情形。具体地,由并行应用优化***为该并行应用分配节点A、B、C、D、及N,并由这些节点为组成该并行应用的主通信组。
进一步地,由并行应用优化***在这些节点上为该并行应用分别分配多个CPU核心,比如在节点为A上为该并行应用分配三个CPU核心,并在所分配的CPU核心上分别启动线程。而且,在每一个节点上,由为该并行单元启动的多个线程组成该并行应用的子通信组,图中具体示出了节点A中为该并行单元启动的4个线程组成的子通信组。
进一步地,在此图中,将主通信组中的首线程,也即主通信组中的该并行应用的执行入口标示为主线程,图中主线程位于节点N上。在执行该并行应用时,首先由节点N上的主线程向节点A、B、C、及D的首线程广播并行应用的应用通信数据,接着由节点A、B、C、及D各自的首线程分别向本节点内的该并行应用的其他线程广播上述应用通信数据。这里被广播的应用通信数据在广播前被切分成了多个数据块。
下面,对本发明实施例的多核云计算平台并行应用优化方法中应用通信数据的切分进行说明。
在多核云计算平台中处理应用通信数据时,是将应用通信数据放置在缓存(cache)中。因此通过减少不必要的cache替换,可以得到更好的cache命中率。如对一个大的应用通信数据进行操作时,如果应用通信数据不能够完全放入cache中,则需要将在这之前进入cache的数据移出来,将应用通信数据替换进cache中,在进行下一步操作时,再将此次被替换出cache的数据重新放入cache中。这种反复的cache替换会导致数据频繁地在内存与cache之间交换,不但降低了数据的访问速度,而且占用了大量的内存带宽并降低执行效率。
所以将大的应用通信数据切分成多个小的数据块,并依次对每个小的数据块执行操作,这样就可能保证在对每个小数据块执行操作时,数据始终驻留在cache中,可以利用芯片内高速通道进行节点内数据通信。
对消息进行切分时,数据块越小,广播的数据块全部驻留在最内层Cache的可能性就越高,但是数据块越小,循环的次数就越多,进行多次广播增加的额外开销就越大。
因此,在本发明实施例中,数据块大小是根据一级高速缓存(L1 cache)和二级高速缓存(L2 cache)的大小来确定的。
图3是表示根据本发明实施例的多核云计算平台并行应用优化方法中的数据切分方法的流程图。这里,数据切分是由并行应用优化***来执行的。
首先,在步骤S2010,判断应用通信数据大小是否大于L2 Cache的大小。
当应用通信数据大小大于L2 Cache的大小(S2010:“是”)时,则接着在步骤S2020,按L2 Cache的大小将应用通信数据切分成多个数据块。
接着,在步骤S2050,进行多个数据块的广播,即执行图2中的步骤S1050及步骤S1060。
当应用通信数据大小不大于L2 Cache的大小(S2010:“否”)时,则接着在步骤S2030,判断应用通信数据大小是否大于一级缓存(L1 Cache)的大小。
当应用通信数据大小大于L1 Cache的大小(S2030:“是”)时,则接着在步骤S2040,按L1 Cache的大小将应用通信数据切分成多个数据块。接着,执行步骤S2050。
当应用通信数据大小不大于L1 Cache的大小(S2030:“否”)时,则直接执行步骤S2050。
以上,对本发明实施例进行了说明。
如上所述,根据本发明,在多核云计算平台中,由分配给同一并行应用的每一个节点的首线程组成主通信组,由主通信组中的首线程向主通信组中的其他线程广播数据来进行节点间通信,再由同一节点内的首线程向该节点内同一并行应用的其余线程广播数据,即由子通信组中的首线程向子通信组中的其余线程广播数据来进行节点内通信。这样,无需增加设备,而且不限于平台结构,即为并行应用的数据广播形成了层次化的规整的拓扑结构,通过该拓扑结构,避免了一次性向所有节点广播数据,减少了广播规模,从而能够减少网络间的通信量,降低了网络冲突的概率。
并且减少了节点间的数据广播,而更多采用性能相对较好的节点内数据通信,因此能够提高通信效率,降低并行应用的执行时间。
而且根据本发明,因为根据多级cache的大小来切分应用通信数据,将大的数据切分成多个小的数据块,并依次对每个小的数据块执行操作,因此能够保证在对每个数据块执行操作时,数据始终驻留在cache中,提高处理器各级cache的命中率,提高了数据的访问速度,释放大量的内存带宽,提高节点内通信的性能,进而进一步降低并行应用执行时间。
另外,在本发明并不限于上述实施例,而是可以进行等同的变换来实施。
例如,在本发明实施例中,作为并行应用的执行单元虽然以线程为例进行了说明,但本发明并不限于此,并行应用的执行单元也可以为进程,此时,主通信组、子通信组的创建以及应用通信数据的广播均以进程为单位进行。
又例如,在本发明实施例中,虽然以两级缓存的情形为例对数据切分进行了说明,但本发明并不限于此,缓存的级数也可以为一级或三级以上。而且,各级缓存的大小是根据平台不同而不同的。
产业上的可利用性
本发明的多核云计算平台并行应用优化方法适用于多核云计算平台的并行应用优化***。
Claims (3)
1.多核云计算平台并行应用优化方法,包括:
第一步骤,从组成多核云计算平台的多个节点中,为并行应用分配多个应用节点,并在每一个所述应用节点上分别为所述并行应用分配多个CPU核心,在所分配的多个CPU核心上分别启动线程;
第二步骤,为所述并行应用创建主通信组,所述主通信组由分配给所述并行应用的每一个所述应用节点上的多个线程中的首线程组成;
第三步骤,为每一个所述应用节点创建子通信组,每一个所述子通信组由其所对应的所述应用节点上为所述并行应用所启动的多个线程组成;
第四步骤,将应用通信数据切分成多个数据块;
第五步骤,由所述主通信组中的多个线程中的首线程向所述主通信组中的其余线程广播所述并行应用的应用通信数据;
第六步骤,由每一个所述子通信组中的所述多个线程中的首线程向所述子通信组中的其余线程广播所述应用通信数据。
2.如权利要求1所述的多核云计算平台并行应用优化方法,其中所述第四步骤包括:
第七步骤,当所述应用通信数据大于一级高速缓存(L1 cache)大小时,将所述应用通信数据按所述一级高速缓存大小切分成所述多个数据块,当所述应用通信数据小于等于所述一级高速缓存大小时,将所述应用通信数据直接做为一个数据块。
3.如权利要求2所述的多核云计算平台并行应用优化方法,其中在所述第七步骤之前还包括:
将所述应用通信数据与大于所述一级高速缓存的二级高速缓存(L2 cache)进行大小比较,当所述应用通信数据大于所述二级高速缓存大小时,将所述应用通信数据按所述二级高速缓存大小切分成所述多个数据块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101666019A CN101996103B (zh) | 2009-08-20 | 2009-08-20 | 多核云计算平台并行应用优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101666019A CN101996103B (zh) | 2009-08-20 | 2009-08-20 | 多核云计算平台并行应用优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101996103A CN101996103A (zh) | 2011-03-30 |
CN101996103B true CN101996103B (zh) | 2013-03-20 |
Family
ID=43786286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101666019A Expired - Fee Related CN101996103B (zh) | 2009-08-20 | 2009-08-20 | 多核云计算平台并行应用优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101996103B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102779328A (zh) * | 2011-05-12 | 2012-11-14 | 中兴通讯股份有限公司 | 一种图像降噪方法及*** |
CN104391742B (zh) * | 2014-11-11 | 2019-03-01 | 小米科技有限责任公司 | 应用优化方法和装置 |
CN114363336B (zh) * | 2021-12-31 | 2024-06-14 | 支付宝(杭州)信息技术有限公司 | 一种启动/关闭区块链节点服务的方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216780A (zh) * | 2007-01-05 | 2008-07-09 | 中兴通讯股份有限公司 | 在对称多处理体系下实现多实例线程通信的方法及装置 |
CN101221493A (zh) * | 1999-08-31 | 2008-07-16 | 英特尔公司 | 并行处理器中的多线程执行 |
CN101339523A (zh) * | 2007-07-05 | 2009-01-07 | 国际商业机器公司 | 多处理器环境中的流水线处理方法和设备 |
WO2009008007A2 (en) * | 2007-07-09 | 2009-01-15 | Hewlett-Packard Development Company L.P. | Data packet processing method for a multi core processor |
-
2009
- 2009-08-20 CN CN2009101666019A patent/CN101996103B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101221493A (zh) * | 1999-08-31 | 2008-07-16 | 英特尔公司 | 并行处理器中的多线程执行 |
CN101216780A (zh) * | 2007-01-05 | 2008-07-09 | 中兴通讯股份有限公司 | 在对称多处理体系下实现多实例线程通信的方法及装置 |
CN101339523A (zh) * | 2007-07-05 | 2009-01-07 | 国际商业机器公司 | 多处理器环境中的流水线处理方法和设备 |
WO2009008007A2 (en) * | 2007-07-09 | 2009-01-15 | Hewlett-Packard Development Company L.P. | Data packet processing method for a multi core processor |
Also Published As
Publication number | Publication date |
---|---|
CN101996103A (zh) | 2011-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Iranmanesh et al. | DCHG-TS: a deadline-constrained and cost-effective hybrid genetic algorithm for scientific workflow scheduling in cloud computing | |
Alicherry et al. | Network aware resource allocation in distributed clouds | |
US8694704B2 (en) | Method and apparatus for congestion-aware routing in a computer interconnection network | |
Li et al. | An energy‐aware task offloading mechanism in multiuser mobile‐edge cloud computing | |
CN112749010B (zh) | 融合推荐***的边缘计算任务分配方法 | |
CN101996103B (zh) | 多核云计算平台并行应用优化方法 | |
CN108711111A (zh) | 一种基于K-shell分解的社交网络影响力最大化方法 | |
Luo et al. | Adapt: An event-based adaptive collective communication framework | |
CN104375882A (zh) | 匹配于高性能计算机结构的多级嵌套数据驱动计算方法 | |
CN112291791B (zh) | 一种基于5g切片电力通信网带宽资源分配方法 | |
Abadal et al. | Networking challenges and prospective impact of broadcast-oriented wireless networks-on-chip | |
CN1874316A (zh) | 多路径网络中路由的分布式选择的路由生成方法和*** | |
WO2020215992A1 (zh) | 一种频谱分配方法和装置 | |
CN111680791B (zh) | 适用于异构环境中的通信方法、装置、*** | |
Kumar et al. | Scaling all-to-all multicast on fat-tree networks | |
Beni et al. | An analysis of performance variability on Dragonfly+ topology | |
CN104410976B (zh) | 一种分布式端到端用户和蜂窝网络用户关联及时间分配方法 | |
CN114339941A (zh) | 基于簇划分的机会网络路由方法 | |
CN113075995B (zh) | 基于混合群智能的虚拟机节能整合方法、***和存储介质 | |
Chen et al. | Topology and mapping co-design for complex communication systems on wireless NoC platforms | |
CN113377523A (zh) | 一种异构感知的流式图划分方法 | |
CN103678245B (zh) | 一种低功耗的片上网络任务映射方法 | |
Huang et al. | Accelerating NoC-based MPI primitives via communication architecture customization | |
Ren et al. | FBL-ET: A federated broad learning framework based on event trigger | |
Zhang et al. | KGT: An Application Mapping Algorithm Based on Kernighan–Lin Partition and Genetic Algorithm for WK-Recursive NoC Architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130320 Termination date: 20150820 |
|
EXPY | Termination of patent right or utility model |