CN105159654A - 基于多线程并行的完整性度量散列算法优化方法 - Google Patents
基于多线程并行的完整性度量散列算法优化方法 Download PDFInfo
- Publication number
- CN105159654A CN105159654A CN201510518223.1A CN201510518223A CN105159654A CN 105159654 A CN105159654 A CN 105159654A CN 201510518223 A CN201510518223 A CN 201510518223A CN 105159654 A CN105159654 A CN 105159654A
- Authority
- CN
- China
- Prior art keywords
- thread
- read
- data
- integrity measurement
- update
- 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
Landscapes
- Multi Processors (AREA)
Abstract
本发明涉及一种基于多线程并行的完整性度量散列算法优化方法,具体为:1:将完整性度量散列算法划分为Read线程和Update线程;初始化计数信号用于线程间的同步;2:Read线程以数据预取的方式将均匀分块的待度量数据存入缓冲区数组,Update线程则是对写入缓冲区数组的数据进行顺序运算处理;3:在Read线程向缓冲区写入数据时,之前设置的计数信号不断累加,当缓冲区满时停止写入并等待Read线程操作;同时,Update线程对写入缓冲区的数据顺序处理,当缓冲区空时停止,等待Read线程,Read线程和Update线程根据计数信号之间的关系实现同步;本发明降低了度量时间,提高了度量效率。
Description
(一)、技术领域:
本发明涉及一种完整性度量散列算法优化方法,特别是涉及一种基于多线程并行的完整性度量散列算法优化方法。
(二)、背景技术:
目前,可信计算技术不断发展,完整性度量技术逐渐走向实用,但现有软件可信度量在效率、开销上还存在问题,度量工具的推广与应用仍受到其自身性能瓶颈的制约。对现有度量方法分析可知,影响度量性能的关键是度量算法的实现,在度量过程中多采用散列算法作为度量算法。
并行计算(ParallelComputting)是计算机科学中的重要研究内容,它是在串行计算(SequentialComputing)的基础上演变而来的。并行计算为解决单处理机性能瓶颈提供了一种较好的方法。
利用并行计算求解计算问题,通常基于以下考虑:将计算任务分解成多个子任务,有助于同时解决;在同一时间,由不同的执行部件同时执行多个子任务;多计算资源下解决问题的耗时要少于单个计算资源下的耗时。随着多核技术的发展,多核结构产品逐渐成为市场主流,在同一处理器中集成两个或多个完整的计算内核称为多核处理器,多核处理器的多个计算内核可以并行的执行指令,提高了并行计算的能力。利用多核技术,实现了线程级并行(threadlevelparallelism,TLP)、存储级并行(memorylevelparallelism,MLP)及数据级并行(datalevelparallelism,DLP)。
1)线程级并行
线程(thread)是在操作系统调度过程中比进程(process)更小的可调度执行单元。传统的进程只包含一个执行序列,从头到尾都是一个顺序执行的逻辑路径,所以,也可以称为是单线程的。线程可以理解为一种轻量级进程,是程序执行流的最小单元。在应用程序中使用多线程技术,每个线程都执行一个独立的逻辑路径,可以将冗长的或非常耗时的任务分解开来。
线程间是相互独立又相互依赖的。使用多线程编程模型编程就是把进程的任务划分为执行的线程,每个线程为一个顺序执行的单控制流,而所有线程都是并发、并行且是异步执行的。
多线程具有以下优点:
(1)线程创建代价小;
(2)同一进程的不同线程共享同一地址空间;
(3)多线程可以充分利用多核处理器;
(4)线程之间的切换比进程之间的切换代价小;
(5)响应速度快。
但是多线程在带来方便的同时也存在一定的弊端:
(1)线程间的同步所导致的计算负荷以及调度开销;
(2)多线程编程规则复杂,需避免死锁、竞争和优先级倒置;
(3)多线程程序难于调试。
在单处理器系统上,在一个时间段内多线程都处于启动运行到运行完毕之间的状态,且各线程都在同一个处理机上运行,但在任一时间点只有一条线程在处理机上运行即并发。
在多核处理器系统上,在同一时间点多线程分别在不同处理核心上执行,真正意义上实现了并行即线程级并行。
线程级并行是多核处理器上最重要的并行方式,是提升并行算法性能的关键。线程级并行可以分为任务划分和数据划分两种方式。其中,任务划分指的是每个核心处理一个子任务;数据划分指的是每个线程负责处理一个分块数据。
2)存储级并行
存储器访问能力与处理部件计算能力不平衡,造成处理器处于“饥饿”状态。如图1所示,处理器速度每年提高近60%,而存储器访问速度每年仅提高9%,两者的性能差距每年增长50%,致使处理器性能和数据访问带宽及延迟之间的差距越来越大,这就是存储墙(MemoryWall)问题。
针对存储墙问题,应采取合适的手段提高系统存储的效率。对于程序执行而言可将其分为两个阶段,即计算阶段和访存阶段,使计算和访存可以在一个CPU周期内同时执行而不必互相等待。数据预取(datapre-fetching)利用计算阶段的时钟周期,在真正的内存访问之前,把数据从内存加载到cache中,使访存阶段和之后的计算阶段同时执行。数据预取的优化方法又称为存储级并行,利用这种方法有效的降低了内存访问延迟,间接提高系统存储的效率,为解决存储墙问题提供了一种重要的手段。
(三)、发明内容:
本发明要解决的技术问题是:提供一种基于多线程并行的完整性度量散列算法优化方法,该方法降低了度量时间,提高了度量效率。
本发明的技术方案:一种基于多线程并行的完整性度量散列算法优化方法,含有如下步骤:
步骤1:将完整性度量散列算法划分为两个线程并行执行,分别为Read线程和Update线程,Read线程执行算法访存阶段,Update线程执行算法计算阶段;根据同一进程多线程共享同一地址空间的特点设置固定大小的缓冲区数组作为两线程的共享空间,同时初始化计数信号用于线程间的同步;
步骤2:创建Read线程和Update线程,Read线程以数据预取(datapre-fetching)的方式将均匀分块的待度量数据存入缓冲区数组,Update线程则是对写入缓冲区数组的数据进行顺序运算处理;
步骤3:在Read线程向缓冲区写入数据时,之前设置的计数信号不断累加,当缓冲区满时停止写入并等待Read线程操作;同时,Update线程对写入缓冲区的数据顺序处理,当缓冲区空时停止,等待Read线程,Read线程和Update线程根据计数信号之间的关系实现同步。
完整性度量散列算法分为两个过程:预处理过程和散列值计算过程;预处理过程又由三部分组成:消息填充、分割已填充消息(将填充后的消息等分为512位处理块)、为散列值计算设置初始值;
消息填充具体为:假设原始消息长度为L位,首先在消息最后加一位“1”,接着在这位“1”后面补k个“0”,使得L+1+k(即补位后的消息长度)满足对512取模余数为448之后将原始的L位消息长度以二进制数据的方式写入最后的64位;经消息填充后,再将数据均匀分块;然后设置正确的初始化散列值,该初始化散列值因算法不同而存在一定差异;
散列值计算过程是完整性度量散列算法的核心,散列值计算过程生成目标消息的散列值;
完整性度量散列算法简化如下:
假设输入的待度量数据为Archive,算法输出为度量数据散列值Hash;算法首先通过数据分块将经过消息填充后的待度量数据Archive均匀切块,每块大小为m字节;然后算法将等分块的数据依次读入大小为m字节的缓冲区byte[m],以初始化散列值Init_hash为计算基对缓冲区中的数据运算处理生成该数据块的散列值;之后,该数据块的散列值作为下次循环运算的初始化散列值,直到对整个填充后的待度量数据处理完毕,最后一次循环得到的Init_hash即是待度量数据的散列值Hash。
流水并行是指将不同的任务分配给不同的线程,线程间流水执行来获得并行性,任务间的依赖通过某种方式的同步得到维持。同一线程两次同步间的计算工作量大小称为流水计算粒度,即流水粒度;流水粒度的大小与同步开销在执行总开销中所占的比例有直接关系,影响着流水并行的性能。根据流水粒度的大小,流水并行可分为细粒度流水和粗粒度流水。细粒度流水时,线程两次同步之间的计算量较小,下一线程能够较快获得所需数据进行计算,能有效减少线程的空闲等待时间。但因为粒度较小,会引起较多次同步,导致较高的同步开销和较低的流水并行性能。粗粒度流水增大了同步之间的计算量和同步数据量,因此减少了同步次数,同步代价相对较小,但后续的计算结点在开始计算之前需要等待更长的时间,降低了并行性。
流水并行要获得良好的性能,既需要保持并行线程之间的负载平衡,又需要控制同步开销在执行总开销中所占的比例,这要求其在流水并行时选择恰当的计算划分方式和线程同步方式,以及合适的分块大小。
为平衡并行性和同步开销两者之间的关系,使得流水并行获得趋近于最优的并行性能,选择合适的流水粒度及合理的同步方式。
通过引入线程级并行及存储级并行技术对完整性度量散列算法进行并行处理。首先根据算法的特点可以使用线程级并行对完整性度量散列算法进行任务划分,再针对度量数据均匀分块实现流水执行,并通过存储级并行实现访存隐藏。
本发明的有益效果:
本发明通过对现有度量散列算法的实现过程进行分析,引入线程级并行技术及存储级并行技术来实现度量散列算法的并行优化,降低了度量时间,提高了度量效率。
(四)、附图说明:
图1为处理器与存储器之间的性能差示意图;
图2为完整性度量散列算法描述图;
图3为基于多线程并行的完整性度量散列算法优化方法流程图;
图4为并行算法描述图;
图5为算法串行比较图。
(五)、具体实施方式:
基于多线程并行的完整性度量散列算法优化方法含有如下步骤(见图3):
步骤1:将完整性度量散列算法划分为两个线程并行执行,分别为Read线程和Update线程,Read线程执行算法访存阶段,Update线程执行算法计算阶段;根据同一进程多线程共享同一地址空间的特点设置固定大小的缓冲区数组作为两线程的共享空间,同时初始化计数信号用于线程间的同步;
步骤2:创建Read线程和Update线程,Read线程以数据预取(datapre-fetching)的方式将均匀分块的待度量数据存入缓冲区数组,Update线程则是对写入缓冲区数组的数据进行顺序运算处理;
步骤3:在Read线程向缓冲区写入数据时,之前设置的计数信号不断累加,当缓冲区满时停止写入并等待Read线程操作;同时,Update线程对写入缓冲区的数据顺序处理,当缓冲区空时停止,等待Read线程,Read线程和Update线程根据计数信号之间的关系实现同步。
完整性度量散列算法分为两个过程:预处理过程和散列值计算过程;预处理过程又由三部分组成:消息填充、分割已填充消息(将填充后的消息等分为512位处理块)、为散列值计算设置初始值;
消息填充具体为:假设原始消息长度为L位,首先在消息最后加一位“1”,接着在这位“1”后面补k个“0”,使得L+1+k(即补位后的消息长度)满足对512取模余数为448之后将原始的L位消息长度以二进制数据的方式写入最后的64位;经消息填充后,再将数据均匀分块;然后设置正确的初始化散列值,该初始化散列值因算法不同而存在一定差异;
散列值计算过程是完整性度量散列算法的核心,散列值计算过程生成目标消息的散列值;
完整性度量散列算法简化如下(如图2所示):
假设输入的待度量数据为Archive,算法输出为度量数据散列值Hash;算法首先通过数据分块将经过消息填充后的待度量数据Archive均匀切块,每块大小为m字节;然后算法将等分块的数据依次读入大小为m字节的缓冲区byte[m],以初始化散列值Init_hash为计算基对缓冲区中的数据运算处理生成该数据块的散列值;之后,该数据块的散列值作为下次循环运算的初始化散列值,直到对整个填充后的待度量数据处理完毕,最后一次循环得到的Init_hash即是待度量数据的散列值Hash。
流水并行是指将不同的任务分配给不同的线程,线程间流水执行来获得并行性,任务间的依赖通过某种方式的同步得到维持。同一线程两次同步间的计算工作量大小称为流水计算粒度,即流水粒度;流水粒度的大小与同步开销在执行总开销中所占的比例有直接关系,影响着流水并行的性能。根据流水粒度的大小,流水并行可分为细粒度流水和粗粒度流水。细粒度流水时,线程两次同步之间的计算量较小,下一线程能够较快获得所需数据进行计算,能有效减少线程的空闲等待时间。但因为粒度较小,会引起较多次同步,导致较高的同步开销和较低的流水并行性能。粗粒度流水增大了同步之间的计算量和同步数据量,因此减少了同步次数,同步代价相对较小,但后续的计算结点在开始计算之前需要等待更长的时间,降低了并行性。
流水并行要获得良好的性能,既需要保持并行线程之间的负载平衡,又需要控制同步开销在执行总开销中所占的比例,这要求其在流水并行时选择恰当的计算划分方式和线程同步方式,以及合适的分块大小。
为平衡并行性和同步开销两者之间的关系,使得流水并行获得趋近于最优的并行性能,选择合适的流水粒度及合理的同步方式。
通过引入线程级并行及存储级并行技术对完整性度量散列算法进行并行处理。首先根据算法的特点可以使用线程级并行对完整性度量散列算法进行任务划分,再针对度量数据均匀分块实现流水执行,并通过存储级并行实现访存隐藏。
如图4所示,设置一个长度为n、大小为n×m字节的共享缓冲区,其中,n和m均可自由配置,通过调整m来调整流水粒度的大小;Read线程中通过判断Read的计数信号nread是否比Update线程计数信号nupdate大1决定是否继续执行Read线程,通过设置计数信号防止缓冲区中数据还未被update函数处理就有新的数据由Read线程读入,之后,Read线程将待度量数据均匀分块由read函数写入共享缓冲区,计数信号nread加1。Update线程通过判断计数信号nupdate是否等于Read线程计数信号nread决定是否继续执行Update线程,防止Update线程执行时缓冲区没有数据,之后Update线程读取共享缓冲区中存储的待度量数据并对数据执行函数update处理,计数信号nupdate加1;Read线程和Update线程通过判断计数信号的关系实现同步,在每个线程使用私有计数器可有效地减少线程访问临界区的次数;同时避免使用锁机制可能引起的死锁的发生,而利用usleep(1)函数也有效减少了同步开销。通过这种同步方式实现两线程的并行执行,隐藏了访存操作并最终得到度量结果。
下面证明基于多线程并行的完整性度量散列算法优化方法的正确性,即并行变换后的算法与原串行算法等价:
定义1流依赖已知语句S和T:若存在变量x同时使得x∈OUT(S),x∈IN(T),且T使用由S计算出的x的值,则称T流依赖于S,记为SδfT。
定义2重排序变换:重排序变换是一种只改变了代码的执行顺序,不增加或者取消任何语句的执行的程序变换方式。
定义3维持依赖的重排序变换:维持程序中某一依赖的源点和汇点相对执行顺序的重排序变换成为维持依赖的重排序变换。
定理1依赖的基本定理:维持程序中每个依赖的任何重排序变换,将维持该程序的含义,即变换后的程序与变换前的程序等价。
证明要证明并行算法与原算法等价,即证明并行处理后,算法中对每个依赖的重排序变换都是维持依赖的重排序变换,并行处理的变换必须满足一下两个条件:
1)变换均为重排序变换;
2)变换后程序的每个依赖都得到维持。
由图5可知,算法并行后,只改变了算法执行顺序,没有增加或取消任何执行,即变换均为重排序变换,满足条件1)。
由原串行算法分析可知,ri与ri+1之间存在数据依赖的流依赖记为riδfri+1,ri与ui之间也存在流依赖记为riδfui。
由图5观察分析,并行算法没有改变ri与ri+1之间的流依赖,ri与ui之间的数据流依赖通过同步方式也得到了保证,因此算法的每个依赖都得到了维持,满足条件2)。
综上所述,并行算法与原串行算法等价,即算法正确性得证。
Claims (3)
1.一种基于多线程并行的完整性度量散列算法优化方法,其特征是:含有如下步骤:
步骤1:将完整性度量散列算法划分为两个线程并行执行,分别为Read线程和Update线程,Read线程执行算法访存阶段,Update线程执行算法计算阶段;根据同一进程多线程共享同一地址空间的特点设置固定大小的缓冲区数组作为两线程的共享空间,同时初始化计数信号用于线程间的同步;
步骤2:创建Read线程和Update线程,Read线程以数据预取的方式将均匀分块的待度量数据存入缓冲区数组,Update线程则是对写入缓冲区数组的数据进行顺序运算处理;
步骤3:在Read线程向缓冲区写入数据时,之前设置的计数信号不断累加,当缓冲区满时停止写入并等待Read线程操作;同时,Update线程对写入缓冲区的数据顺序处理,当缓冲区空时停止,等待Read线程,Read线程和Update线程根据计数信号之间的关系实现同步。
2.根据权利要求1所述的基于多线程并行的完整性度量散列算法优化方法,其特征是:所述完整性度量散列算法分为两个过程:预处理过程和散列值计算过程;预处理过程又由三部分组成:消息填充、分割已填充消息、为散列值计算设置初始值;散列值计算过程生成目标消息的散列值。
3.根据权利要求1所述的基于多线程并行的完整性度量散列算法优化方法,其特征是:为平衡并行性和同步开销两者之间的关系,首先使用线程级并行对完整性度量散列算法进行任务划分,再针对度量数据均匀分块实现流水执行,并通过存储级并行实现访存隐藏。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510518223.1A CN105159654B (zh) | 2015-08-21 | 2015-08-21 | 基于多线程并行的完整性度量散列算法优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510518223.1A CN105159654B (zh) | 2015-08-21 | 2015-08-21 | 基于多线程并行的完整性度量散列算法优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105159654A true CN105159654A (zh) | 2015-12-16 |
CN105159654B CN105159654B (zh) | 2018-06-12 |
Family
ID=54800522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510518223.1A Active CN105159654B (zh) | 2015-08-21 | 2015-08-21 | 基于多线程并行的完整性度量散列算法优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105159654B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107666387A (zh) * | 2016-07-27 | 2018-02-06 | 北京计算机技术及应用研究所 | 低功耗并行哈希计算电路 |
CN108599922A (zh) * | 2018-04-26 | 2018-09-28 | 成都盛拓源科技有限公司 | 新型含密钥消息完整性认证码的生成方法 |
CN108959128A (zh) * | 2018-06-04 | 2018-12-07 | 浙江大学 | Crypt-SHA512加密算法的加速装置与方法 |
CN109669724A (zh) * | 2018-11-26 | 2019-04-23 | 许昌许继软件技术有限公司 | 一种基于Linux系统的多命令并发式代理服务方法及系统 |
CN111176797A (zh) * | 2019-12-18 | 2020-05-19 | 北京百度网讯科技有限公司 | 数据并发的处理方法、装置、电子设备及可读存储介质 |
CN112445527A (zh) * | 2019-09-05 | 2021-03-05 | 富士通株式会社 | 近似计算并行化电路和方法以及并行信息处理装置 |
CN113282802A (zh) * | 2021-06-17 | 2021-08-20 | 浙江毫微米科技有限公司 | 工作量证明算法优化方法、装置、计算机设备和存储介质 |
CN114125299A (zh) * | 2021-11-26 | 2022-03-01 | 凌云光技术股份有限公司 | 一种工业相机及其控制方法 |
CN114710421A (zh) * | 2022-04-14 | 2022-07-05 | 合肥卓讯云网科技有限公司 | 一种基于数据预取的网络连接状态维护装置和方法 |
CN114721727A (zh) * | 2022-06-10 | 2022-07-08 | 成都登临科技有限公司 | 一种处理器、电子设备及多线程共享的指令预取方法 |
CN118152153A (zh) * | 2024-05-09 | 2024-06-07 | 北京麟卓信息科技有限公司 | 基于合并访存的片上共享存储器访存事务大小测算方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030114949A1 (en) * | 2001-12-17 | 2003-06-19 | International Business Machines Corporation | Dynamic diagnostic program for determining thread wait time |
CN104536724A (zh) * | 2014-12-25 | 2015-04-22 | 华中科技大学 | 一种多核环境下哈希表并发访问性能优化方法 |
-
2015
- 2015-08-21 CN CN201510518223.1A patent/CN105159654B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030114949A1 (en) * | 2001-12-17 | 2003-06-19 | International Business Machines Corporation | Dynamic diagnostic program for determining thread wait time |
CN104536724A (zh) * | 2014-12-25 | 2015-04-22 | 华中科技大学 | 一种多核环境下哈希表并发访问性能优化方法 |
Non-Patent Citations (2)
Title |
---|
邓亚丹等: "基于共享Cache多核处理器的Hash连接优化", 《软件学报》 * |
陈伟等: "多核架构下的数据处理算法优化策略综述", 《计算机科学与探索》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107666387A (zh) * | 2016-07-27 | 2018-02-06 | 北京计算机技术及应用研究所 | 低功耗并行哈希计算电路 |
CN108599922A (zh) * | 2018-04-26 | 2018-09-28 | 成都盛拓源科技有限公司 | 新型含密钥消息完整性认证码的生成方法 |
CN108959128A (zh) * | 2018-06-04 | 2018-12-07 | 浙江大学 | Crypt-SHA512加密算法的加速装置与方法 |
CN109669724A (zh) * | 2018-11-26 | 2019-04-23 | 许昌许继软件技术有限公司 | 一种基于Linux系统的多命令并发式代理服务方法及系统 |
CN112445527A (zh) * | 2019-09-05 | 2021-03-05 | 富士通株式会社 | 近似计算并行化电路和方法以及并行信息处理装置 |
CN111176797A (zh) * | 2019-12-18 | 2020-05-19 | 北京百度网讯科技有限公司 | 数据并发的处理方法、装置、电子设备及可读存储介质 |
CN113282802A (zh) * | 2021-06-17 | 2021-08-20 | 浙江毫微米科技有限公司 | 工作量证明算法优化方法、装置、计算机设备和存储介质 |
CN113282802B (zh) * | 2021-06-17 | 2022-06-24 | 浙江毫微米科技有限公司 | 工作量证明算法优化方法、装置、计算机设备和存储介质 |
CN114125299A (zh) * | 2021-11-26 | 2022-03-01 | 凌云光技术股份有限公司 | 一种工业相机及其控制方法 |
CN114125299B (zh) * | 2021-11-26 | 2023-10-10 | 凌云光技术股份有限公司 | 一种工业相机及其控制方法 |
CN114710421A (zh) * | 2022-04-14 | 2022-07-05 | 合肥卓讯云网科技有限公司 | 一种基于数据预取的网络连接状态维护装置和方法 |
CN114710421B (zh) * | 2022-04-14 | 2022-10-25 | 合肥卓讯云网科技有限公司 | 一种基于数据预取的网络连接状态维护装置和方法 |
CN114721727A (zh) * | 2022-06-10 | 2022-07-08 | 成都登临科技有限公司 | 一种处理器、电子设备及多线程共享的指令预取方法 |
WO2023236443A1 (zh) * | 2022-06-10 | 2023-12-14 | 成都登临科技有限公司 | 一种处理器、电子设备及多线程共享的指令预取方法 |
CN118152153A (zh) * | 2024-05-09 | 2024-06-07 | 北京麟卓信息科技有限公司 | 基于合并访存的片上共享存储器访存事务大小测算方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105159654B (zh) | 2018-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105159654A (zh) | 基于多线程并行的完整性度量散列算法优化方法 | |
Volkov | Understanding latency hiding on GPUs | |
Green et al. | GPU merge path: a GPU merging algorithm | |
Chen et al. | GPU-accelerated sparse LU factorization for circuit simulation with performance modeling | |
Luo et al. | A performance and energy consumption analytical model for GPU | |
GB2548511A (en) | Processors, methods, and systems to relax synchronization of accesses to shared memory | |
Amaris et al. | A simple BSP-based model to predict execution time in GPU applications | |
Saidi et al. | Optimizing explicit data transfers for data parallel applications on the cell architecture | |
Banerjee et al. | Hybrid algorithms for list ranking and graph connected components | |
US20230266972A1 (en) | System and methods for single instruction multiple request processing | |
Xie et al. | Elan: Towards generic and efficient elastic training for deep learning | |
Sun et al. | Stronghold: fast and affordable billion-scale deep learning model training | |
Berezovskyi et al. | Faster makespan estimation for GPU threads on a single streaming multiprocessor | |
US9684541B2 (en) | Method and apparatus for determining thread execution parallelism | |
Cieslewicz et al. | Realizing parallelism in database operations: insights from a massively multithreaded architecture | |
Breß et al. | Self-Tuning Distribution of DB-Operations on Hybrid CPU/GPU Platforms. | |
Adegbija et al. | Analysis of cache tuner architectural layouts for multicore embedded systems | |
Udupa et al. | Synergistic execution of stream programs on multicores with accelerators | |
Wang et al. | Three-level performance optimization for heterogeneous systems based on software prefetching under power constraints | |
Zhang et al. | Cpu-gpu hybrid parallel binomial american option pricing | |
Boyer | Improving Resource Utilization in Heterogeneous CPU-GPU Systems | |
Zhu et al. | Onac: optimal number of active cores detector for energy efficient gpu computing | |
CN102981805A (zh) | 串行软件的响应方法和系统 | |
Wang et al. | SingleCaffe: an efficient framework for deep learning on a single node | |
Weber et al. | Decoupled access-execute on ARM big. LITTLE |
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 |