The invention discloses a method for multi core deterministic memory isolation method based on hardware comprises the following steps: multi-threaded program initialization, virtual memory for each thread are mapped to the same physical memory; when the program is running, divided into parallel and serial parallel stage stage; stage, each thread executed independently, only in the thread a virtual memory page of the write operation to generate the thread private physical memory page, and on the thread of the virtual memory page is mapped to the new generation of private physical memory pages; serial stages, in accordance with the deterministic order, submit the modified private physical memory page content to the shared physical memory page. The invention can eliminate parallel errors in multithreaded programs, ensure the independent execution of the parallel stage, and have high execution efficiency and less space consumption. In addition, the implementation mechanism of this method is transparent to the programmer, and can improve the programming efficiency.
【技术实现步骤摘要】
一种面向多核确定性的基于硬件的内存隔离方法
本专利技术涉及多核系统确定性执行领域,尤其涉及一种面向多核确定性的基于硬件的内存隔离方法。
技术介绍
近年来,随着IC设计生产技术中单核CPU性能瓶颈的出现,人们选择了发展单芯片多核处理器技术,由此,越来越多的计算机采用了多核体系结构来提升性能。但是,采用单芯片多核处理器技术的多核体系结构在带来数倍的性能提升的同时,也给多线程线程带来了更为严峻的并行错误,典型的如数据竞争,互斥锁竞争及死锁。这些并行错误给程序的编写,调试带来了巨大的挑战。上面所述并行错误,皆是由于在多核体系结构中,单进程中的共享内存的多个线程能够同时在多个处理器核心上执行,从而造成多个线程对内存的操作的顺序不能确定。而传统的通过程序编写者手动添加诸多同步语句的方式,既繁琐,又无法完全避开并行错误,而且存在不可复制性。多核确定性技术的发展给解决并行错误带来了有效的方法,其中传统的内存隔离技术通过将多线程程序划分为并行阶段和串行阶段交替进行方式,旨在为两种阶段提供内存隔离保护和内存操作顺序的可控性。
技术实现思路
基于
技术介绍
存在的技术问题,本专利技术提出了一种 ...
【技术保护点】
一种面向多核确定性的基于硬件的内存隔离方法,其特征在于步骤包括:1)多核系统上运行的多线程程序初始化时,为进程分配虚拟内存空间,并且按照内存页面为单位进行管理和映射。其中,进程中的多个线程共享相同的虚拟内存地址,但是映射到不同的,线程私有的物理内存地址上,以此形成线程间的内存隔离。2)程序运行时,以同步点为分割标准,被划分为并行阶段和串行阶段,两个阶段交替进行。并行阶段时,每个线程对内存的操作均在私有的物理内存上进行;串行阶段时,每个线程按照某种确定性的顺序,依次将私有内存合并到共享内存中。
【技术特征摘要】
1.一种面向多核确定性的基于硬件的内存隔离方法,其特征在于步骤包括:1)多核系统上运行的多线程程序初始化时,为进程分配虚拟内存空间,并且按照内存页面为单位进行管理和映射。其中,进程中的多个线程共享相同的虚拟内存地址,但是映射到不同的,线程私有的物理内存地址上,以此形成线程间的内存隔离。2)程序运行时,以同步点为分割标准,被划分为并行阶段和串行阶段,两个阶段交替进行。并行阶段时,每个线程对内存的操作均在私有的物理内存上进行;串行阶段时,每个线程按照某种确定性的顺序,依次将私有内存合并到共享内存中。2.根据权利要求1所述的面向多核确定性的基于硬件的内存隔离方法,其特征在于,所述步骤1)中,多个线程共享相同的虚拟内存地址而映射到不同的私有物理内存,这种映射方式由改进后的MMU来实现。具体来说,改进后的MMU在创建改进的页表中的页表项时,增加了线程编号作为参数。同一个虚拟内存页面编号对应不同的物理内存页面,只有使用虚拟内存页面编号和线程编号才能唯一确定一个物理内存页面编号。CPU访存的具体步骤如下:S1)CPU提出访问虚拟内存的请求时,需要同时给出虚拟内存地址和线程编号。S2)改进后的MMU获取需要访问的虚拟内存地址和线程编号,...
【专利技术属性】
技术研发人员:季振洲,周一豪,王开宇,
申请(专利权)人:哈尔滨工业大学威海,
类型:发明
国别省市:山东,37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。