[发明专利]一种基于异构处理器的Fork内存支撑方法在审
申请号: | 202110381659.6 | 申请日: | 2021-04-09 |
公开(公告)号: | CN114218125A | 公开(公告)日: | 2022-03-22 |
发明(设计)人: | 黄高阳;王星焱;邹通;林海南;郑岩 | 申请(专利权)人: | 无锡江南计算技术研究所 |
主分类号: | G06F12/02 | 分类号: | G06F12/02;G06F9/50 |
代理公司: | 苏州创元专利商标事务所有限公司 32103 | 代理人: | 王健 |
地址: | 214038 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 处理器 fork 内存 支撑 方法 | ||
本发明公开一种基于异构处理器的Fork内存支撑方法,当父进程写被Fork页面、进入内核的缺页处理时,不走核心标准的缺页处理,对页面的缺页处理旁路,具体如下:S11、检查产生缺页的原因是否为写权限导致的;S12、获取页表项对应的物理页面管理结构struct page,并取出其中的Fork_page_info信息;S13、对Fork_page_info信息中的子进程相关数组struct child_pte cp进行遍历;S16、修改Fork页面对应的物理页面管理结构struct page相关计数器;S17、完成缺页处理,返回用户。本发明解决了Fork时内存被替换的问题。
技术领域
本发明涉及一种基于异构处理器的Fork内存支撑方法,属于高性能计算技术领域。
背景技术
随着高性能计算技术的发展,利用异构硬件加速方式提升CPU的处理性能已逐渐成为主流。但采用的协处理器多种多样,Linux目前作为高性能计算的主流操作系统也得不断适应新的异构架构。但由于Linux诞生时间较早,其很多设计思想并不能很好的适应新的异构架构。为此,很多高性能计算采用的Linux核心多为定制核心,只有这样才能最大化的发挥出异构的性能。Fork作为Linux系统中非常重要的系统调用,其在大型应用课题中的使用也是非常广泛的。因此,为最大限度的减少课题在异构CPU的移植难度,对于某些异构CPU也是需要对Fork进行支持的。
当前异构CPU的架构,主要包括的协处理器有GPU、FGPA以及众核等,芯片的主处理器需要对其协处理的计算资源进行统一协同管理,而内存管理作为重要的计算资源则需要重点支持,另外,部分的协处理器所使用到的内存,在计算过程中需要固定,不能出现中途被替换的情况,在这种情况下,对于Linux下Fork系统调用的支撑就会有很大的问题。因为Linux设计采用的一个重要的思想是“lazy”的设计思想,尤其针对内存资源的管理,其只有在内存需要使用的最后一刻才会真正分配物理内存。因此Linux对Fork系统调用实现时,在Fork时,只是将父进程的页表项完整的拷贝到子进程中并将父/子进程的页表项统统置为只读的属性,当父/子进程写某个页面时则会产生缺页异常,内核在处理缺页异常时会申请一个新的页面并将老的页面拷贝,从而完成最终的页面替换。从Fork的实现机理来说,主进程一旦出现写的情况,最后的页面就是新分配的页面,这对于在计算过程中需要固定物理页面的协处理器则是致命的。
当前Linux采用的Fork实现技术中对于内存管理的流程如下:
1)父进程调用Fork进入操作系统内核;
2)内核创建新的子进程,并为子进程分配新的内存管理结构mm_struct,以及新的页表;
3)内核遍历父进程的vma,并根据vma的属性决定子进程是否要拷贝父进程对应的这块虚拟内存区(vma),如果需要拷贝,转步骤4),否则继续步骤3)遍历下一个vma;
4)为子进程创建vma,并将父进程需要被拷贝的vma的内容拷贝到新的vma中;
5)遍历父进程页表中,该vma对应的页表项如果页表项存在,就将该页表项拷贝到子进程对应的页表中,同时将这两个(父/子进程)页表项都置为只读属性(不能写);
6)返回步骤3)。
从该流程可以看出,在Fork完成后,子进程的页表中的页表项是直接拷贝自父进程的,并且父/子进程读对于这些空间都只有只读的权限,当父/子进程需要更改这些空间时,由于权限的问题就会进入操作系统缺页处理中,在缺页处理时核心就会分配一个新的物理页面并将该页面的内容拷贝到新页面中,然后将该新的物理页面更新到父/子进程的页表中。因此,对于父进程来说,只要对空间进行写就会最终导致物理页面被替换,而这对于某些协处理器来说是不可行的。
发明内容
本发明的目的是提供一种基于异构处理器的Fork内存支撑方法,以解决Fork时内存被替换的问题。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡江南计算技术研究所,未经无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110381659.6/2.html,转载请声明来源钻瓜专利网。