[發明專利]一種面向多核確定性的基于硬件的內存隔離方法有效
| 申請號: | 201710596016.7 | 申請日: | 2017-07-20 |
| 公開(公告)號: | CN107704324B | 公開(公告)日: | 2020-02-07 |
| 發明(設計)人: | 季振洲;周一豪;王開宇 | 申請(專利權)人: | 哈爾濱工業大學(威海) |
| 主分類號: | G06F9/52 | 分類號: | G06F9/52;G06F9/50;G06F12/1009 |
| 代理公司: | 11531 北京匯捷知識產權代理事務所(普通合伙) | 代理人: | 李宏偉 |
| 地址: | 264209*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 面向 多核 確定性 基于 硬件 內存 隔離 方法 | ||
本發明公開了一種面向多核確定性的基于硬件的內存隔離方法,步驟包括:多線程程序初始化時,每個線程的虛擬內存均映射到相同的物理內存;程序運行時,分并行階段和串行階段;并行階段中,各線程獨立執行,只有在線程對某虛擬內存頁面進行了寫操作,才生成該線程私有的物理內存頁面,并將該線程的該虛擬內存頁面映射至新生成的私有物理內存頁面之上;串行階段中,按照確定性順序,將私有物理內存頁面中修改的內容提交到共享物理內存頁面中。本發明能夠消除多線程程序中的并行錯誤,保證并行階段的獨立執行,且執行效率高,空間消耗少。另外,本方法的實現機制對程序編寫者來說是透明的,能夠提高編程效率。
技術領域
本發明涉及多核系統確定性執行領域,尤其涉及一種面向多核確定性的基于硬件的內存隔離方法。
背景技術
近年來,隨著IC設計生產技術中單核CPU性能瓶頸的出現,人們選擇了發展單芯片多核處理器技術,由此,越來越多的計算機采用了多核體系結構來提升性能。但是,采用單芯片多核處理器技術的多核體系結構在帶來數倍的性能提升的同時,也給多線程線程帶來了更為嚴峻的并行錯誤,典型的如數據競爭,互斥鎖競爭及死鎖。這些并行錯誤給程序的編寫,調試帶來了巨大的挑戰。
上面所述并行錯誤,皆是由于在多核體系結構中,單進程中的共享內存的多個線程能夠同時在多個處理器核心上執行,從而造成多個線程對內存的操作的順序不能確定。而傳統的通過程序編寫者手動添加諸多同步語句的方式,既繁瑣,又無法完全避開并行錯誤,而且存在不可復制性。多核確定性技術的發展給解決并行錯誤帶來了有效的方法,其中傳統的內存隔離技術通過將多線程程序劃分為并行階段和串行階段交替進行方式,旨在為兩種階段提供內存隔離保護和內存操作順序的可控性。
發明內容
基于背景技術存在的技術問題,本發明提出了一種面向多核確定性的基于硬件的內存隔離方法。
本發明公開了一種面向多核確定性的基于硬件的內存隔離方法,步驟包括:多線程程序初始化時,為每個線程分配相同虛擬內存,并以頁面為單位進行管理,并通過本發明改進的MMU進行內存地址映射,其中多個線程中,相同虛擬內存地址的虛擬內存頁面映射到相同的物理內存頁面(也即程序中所有線程共享的物理內存頁面);程序運行時,分并行階段和串行階段;并行階段中,各線程獨立執行,若線程對虛擬內存頁面只進行讀,則不改變內存地址映射,若線程對某虛擬內存頁面進行了寫操作,那么生成該線程私有的物理內存頁面,并使改進的MMU將該線程的該虛擬內存頁面映射至新生成的私有物理內存頁面之上,故而此階段其后,該線程對該虛擬內存頁面進行的所有讀寫操作均實際在該線程私有物理內存頁面上進行;串行階段中,多線程程序依照某種確定性的順序,將私有物理內存頁面中修改的部分內容提交到共享物理內存頁面中。
本發明能夠消除多線程程序中的并行錯誤,保證并行階段的獨立執行和串行階段的確定提交,并且在此基礎上,采用改進MMU的方式,保證本方法的實現機制對程序編寫者來說是透明的,而且使得本文明提出的內存隔離方法,在執行時效率更高,空間消耗也能得到有效的減少。
附圖說明
圖1為本發明提出的一種面向多核確定性的基于硬件的內存隔離方法的步驟流程圖。
具體實施方式
下面結合具體實施例對本發明作進一步解說。
實施例
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于哈爾濱工業大學(威海),未經哈爾濱工業大學(威海)許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710596016.7/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:請求分配方法及裝置
- 下一篇:用于進程間傳輸消息的方法和裝置





