收藏 分销(赏)

基于内存保护键值的细粒度访存监控.pdf

上传人:自信****多点 文档编号:2324632 上传时间:2024-05-28 格式:PDF 页数:7 大小:1.52MB
下载 相关 举报
基于内存保护键值的细粒度访存监控.pdf_第1页
第1页 / 共7页
基于内存保护键值的细粒度访存监控.pdf_第2页
第2页 / 共7页
基于内存保护键值的细粒度访存监控.pdf_第3页
第3页 / 共7页
亲,该文档总共7页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、 基于内存保护键值的细粒度访存监控*王睿伯,吴振伟,张文喆,邬会军,张于舒晴,卢 凯(国防科技大学计算机学院,湖南 长沙 4 1 0 0 7 3)摘 要:基于内存保护键值硬件扩展,提出了一种轻量化且细粒度的页保护机制。突破了传统页保护方法仅支持页粒度访存监控的技术局限,实现了能够拦截每个访存操作的细粒度页保护机制。充分利用内存保护键值提供的用户态线程局部页访问权限控制,性能开销相比传统页保护的降低了3 0%以上。通过融合细粒度页保护与编译插桩,弥补了传统编译插桩方法无法覆盖程序中不可重编译部分的局限性。关键词:访存监控;内存保护键值;页保护;编译插桩中图分类号:T P 3 1 4文献标志码:A

2、d o i:1 0.3 9 6 9/j.i s s n.1 0 0 7-1 3 0 X.2 0 2 4.0 1.0 0 3F i n e-g r a i n e d m e m o r y a c c e s s m o n i t o r i n g b a s e d o n m e m o r y p r o t e c t i o n k e y sWANG R u i-b o,WU Z h e n-w e i,Z HANG W e n-z h e,WU H u i-j u n,Z HANG-YU S h u-q i n g,L U K a i(C o l l e g e o f C

3、o m p u t e r S c i e n c e a n d T e c h n o l o g y,N a t i o n a l U n i v e r s i t y o f D e f e n s e T e c h n o l o g y,C h a n g s h a 4 1 0 0 7 3,C h i n a)A b s t r a c t:B a s e d o n m e m o r y p r o t e c t i o n k e y h a r d w a r e e x t e n s i o n s,a l i g h t w e i g h t a n d

4、f i n e-g r a i n e d p a g e p r o t e c t i o n m e c h a n i s m i s p r o p o s e d.T h i s m e c h a n i s m o v e r c o m e s t h e t e c h n i c a l l i m i t a t i o n s o f t r a d i t i o n a l p a g e p r o t e c t i o n m e t h o d s t h a t o n l y s u p p o r t p a g e-g r a i n e d m

5、e m o r y a c c e s s m o n i t o r i n g,a n d a c h i e v e s f i n e-g r a i n e d p a g e p r o t e c t i o n t h a t c a n i n t e r c e p t e a c h m e m o r y a c c e s s o p e r a t i o n.B y f u l l y u t i l i z i n g t h e u s e r-l e v e l t h r e a d-l o c a l p a g e a c c e s s p e r

6、m i s s i o n c o n t r o l p r o v i d e d b y m e m o r y p r o t e c t i o n k e y s,t h e p e r f o r m a n c e o v e r-h e a d i s r e d u c e d b y m o r e t h a n 3 0%c o m p a r e d t o t r a d i t i o n a l p a g e p r o t e c t i o n.T h r o u g h t h e i n t e g r a t i o n o f f i n e-g

7、r a i n e d p a g e p r o t e c t i o n a n d c o m p i l e r i n s t r u m e n t a t i o n,t h e l i m i t a t i o n s o f t r a d i t i o n a l c o m p i l e r i n s t r u-m e n t a t i o n m e t h o d s t h a t c a n n o t c o v e r n o n-r e c o m p i l a b l e p o r t i o n s o f p r o g r a m

8、s a r e a d d r e s s e d.K e y w o r d s:m e m o r y a c c e s s m o n i t o r i n g;m e m o r y p r o t e c t i o n k e y s;p a g e p r o t e c t i o n;c o m p i l e r i n s t r u-m e n t a t i o n1 引言访存监控,即获取程序访问内存的行为,在系统软件和体系结构研究中有着非常广泛的应用。当前,实现访存监控的主流技术手段包括代码插桩(I n s t r u m e n t a t i o n)和页保

9、护(P a g e P r o t e c t i o n)2大类。代码插桩是一种通用的程序分析手段。代码插桩在保证目标程序原始执行逻辑完整性的基础上,在目标程序中插入一些额外的代码片段用以收集程序的执行信息,如程序的控制流、数据流等。基于代码插桩技术实现访存监控,即通过插桩程序中的内存访问指令监控程序的内存访问行为。从插桩时机的角度看,代码插桩技术可以分为静态编译插桩和动态二进制插桩2大类。编译插桩是指在目标程序的编译过程中注入插桩代码,生成新的可执行程序1。动态二进制插桩则是在可执行程*收稿日期:2 0 2 2-1 2-1 8;修回日期:2 0 2 3-0 6-1 4基金项目:国家重点研发

10、计划(2 0 2 1 Y F B 0 3 0 0 1 0 0);国防科技大学H P C L重点实验室项目(2 0 2 1 0 1-0 4)通信作者:卢凯(k a i l u n u d t.e d u.c n)通信地址:4 1 0 0 7 3 湖南省长沙市国防科技大学计算机学院A d d r e s s:C o l l e g e o f C o m p u t e r S c i e n c e a n d T e c h n o l o g y,N a t i o n a l U n i v e r s i t y o f D e f e n s e T e c h n o l o g y

11、,C h a n g s h a 4 1 0 0 7 3,H u n a n,P.R.C h i n a C N 4 3-1 2 5 8/T PI S S N 1 0 0 7-1 3 0 X 计算机工程与科学C o m p u t e r E n g i n e e r i n g&S c i e n c e第4 6卷第1期2 0 2 4年1月 V o l.4 6,N o.1,J a n.2 0 2 4 文章编号:1 0 0 7-1 3 0 X(2 0 2 4)0 1-0 0 2 1-0 7序运行期间动态注入插桩代码。典型的动态二进制插桩工具,如I n t e l的P i n2、Q EMU(Q

12、 u i c k EM-U l a t o r)3、D y n a m o R I O4等,采 用 即 时 编 译(J u s t-I n-T i m e C o m p i l a t i o n)技术对目标二进制代码执行动态重编译,并在动态重编译过程中实现代码插桩。相比于编译插桩,动态二进制插桩通常会引入数十倍于前者的性能开销。然而,动态二进制插桩无需重新编译目标程序,可以灵活适用于无法获得目标程序源代码的情形。此外,编译插桩的监控目标通常局限于用户态程序,而动态二进制插桩普遍适用于监控用户态程序和操作系统内核。页保护是内存管理单元MMU(M e m o r y M a n a g-e m

13、 e n t U n i t)在硬件层面提供的一种页面访问权限检查功能5 7。软件可以通 过配置页表 项P T E(P a g e T a b l e E n t r y)中的权限标志位实现页面粒度的访问权限控制。当用户程序的访存请求违背页表项所规定的被访问内存页的访问权限时,MMU会触发页错误。针对因访存违例而触发的页错误,L i n u x内核会向触发异常的进程发送段错误信号S I G S E GV(S I G n a l:S E Gm e n t a t i o n V i o l a t i o n)。基于页保护实现内存写访问监控的基本原理是通过写保护目标内存区域,即将其访问权限配置为

14、只读,使被监控程序的写请求触发访问权限违例,进而在自定义的S I G S E GV信号处理函数中获取到被监控程序正在试图写入的内存地址。在记录了F i g u r e 1 P a g e t a b l e e n t r y图1 页表项被访问到的内存页地址后,S I G S E GV信号处理函数可通过m p r o t e c t系统调用解除对该内存页的写保护,使得信号处理函数返回后被中断的写访问可以恢复执行。类似地,可以通过将目标内存区域的访问权限设置为不可访问,使得被监控程序对该区域的读写请求均触发访问权限违例异常,从而实现内存读写访问监控。基于页保护实现访存监控的性能开销,主要来自于因

15、修改P T E的页访问权限标志位 而 引 入 的 特 权 级 切 换 和 页 表 缓 存T L B(T r a n s l a t i o n L o o k a s i d e B u f f e r)刷新。总体而言,编译插桩引入的运行时开销最低,但应用场景相对受限。动态二进制插桩应用范围广,但性能开销显著。页保护相比于动态二进制插桩,运行时开销大幅降低,但在编程灵活性和监控粒度方面仍有局限性8。本文的目标是:突破页保护在编程灵活性方面的局限性,构建一种融合页保护和编译插桩优势的高效细粒度访存监控机制。2 背景2.1 基于页保护的访存监控如图1所示,分页式内存管理模式下,页表描述虚拟页到物理

16、页的映射关系,并且存放页的保护位,即访问权限。每个进程拥有独立的页表。进程的页表由操作系统创建和维护,供MMU硬件查询实现虚实地址转换和内存访问权限检查。如果进程违背页表中所设置的权限访问内存(如写入只读内存区域),MMU将触发页错误中断。出现页错误后,操作系统的页错误处理例程通过读取硬件寄存器(如x 8 6处理器的C R 2寄存器),获得引起页错误的内存地址,并向被中断的进程发送S I G-S E GV信号。进程收到S I G S E GV信号的缺省行为是终止执行并返回错误代码。基于页保护的访存监控机制,通过操作系统提供的内存保护系统调用(m p r o t e c t)接口,预先将目标虚拟

17、内存区域的访问权限设置为不可访问或只读,使得被监控程序对目标虚拟内存区域的读写访问或写访问无法通过MMU的访存权限检查而被硬件中断。与此同时,访存监控机制通过向操作系统注册S I G S E GV信号处理函数对因访存违例而产生的S I G S E GV信号进行进一步处理。如图 2所示,S I G S E GV信号处理函数首先从中断栈中读取引发页错误的内存地址,即被监控程序正在访问的地址。此外,S I G S E GV信号处理函数可以进一步通过保存在中断栈中的错误代码确定访存类型是读访问还是写访问。在记录被监控进程的访存行为 之 后,S I G S E GV信 号 处 理 函 数 再 次 发 起

18、m p r o t e c t系统调用,解除被监控程序对相应虚拟内存页的访问限制,使被中断的访存操作在S I G-22C o m p u t e r E n g i n e e r i n g&S c i e n c e 计算机工程与科学 2 0 2 4,4 6(1)S E GV信号处理函数返回后可以恢复正常执行。F i g u r e 2 W o r k f l o w o f p a g e p r o t e c t i o n-b a s e d m e m o r y a c c e s s m o n i t o r i n g m e c h a n i s m图2 基于页保护的

19、访存监控机制工作流程F i g u r e 3 A r c h i t e c t u r e o f MP K图3 MP K架构2.2 MP K硬件扩展基于P T E的页保护机制中,用户态程序需要陷入到内核态修改页访问权限,上下文切换开销较大。此外,操作系统在修改P T E后需要执行开销显著的T L B f l u s h操作以确保T L B的数据一致性。MP K(M e m o r y P r o t e c t i o n K e y s)提供了一种相对于操作页表项更加轻量化且更加灵活的页保护机制。MP K硬件扩展在每个处理器核心中增加1个每核私有的(c o r e-p r i v a

20、t e)寄存器P K RU(P r o t e c t i o n K e y r i g h t s R e g i s t e r f o r U s e r p a g e s)来描述页访问权限,支持软件层在用户态实现线程局部的页访问权限控制。如图 3所示,MP K使用传统P T E中的4个空闲位域存储p k e y(p r o t e c-t i o n k e y)值,提供01 5共计1 6个p k e y。拥有相同p k e y的页构成一个分组,共享P K RU中p k e y所对应的内存页访问权限描述。具体而言,P K RU中为每个p k e y维护WD(W r i t e D

21、i s a b l e)和AD(A c c e s s D i s a b l e)2个权限控制位。软件可以将某p k e y在P K RU中的WD或AD位置为1,使其对该p k e y所指向页分组的写访问或所有访问触发异常。由于P K RU为用户态寄存器,用户程序读/写P K RU寄存器只需要执行非特权态的R D P K-RU/WR P K RU指令,而无需发起系统调用。在使用MP K的情形下,MMU在执行权限检查时,会同时检查P T E中描述的访问权限和P T E中的p k e y在P K RU中对应的访问权限,最终被允许的访问权限为二者的交集。由于P K RU为处理器核心独有,MP K支

22、持线程局部的访问权限控制。如图 4所示,针对同一内存页,C o r ea和C o r eb可以同时拥有相互独立的访问权限。而P T E为所有线程所共享,修改P T E中的页保护位将影响所有线程的访问权限。MP K硬件扩展的设计初衷是增强程序的访存安全性。基于MP K所提供的轻量化内存访问控制机制,已有大量研究工作围绕敏感数据隔离保护1 0、u n i k e r n e l内部内存隔离1 1、线程级访存约束1 2等应用场景开展研究。本文将MP K提供的轻量化页保护特性用于建立低开销的访存监控机制。3 M e m T r a c k e r设计3.1 细粒度的轻量化页保护在基于页保护的访存监控中

23、,被监控程序对同一内存页的多次访问中,只有第1次访问会触发页错误 中 断。在S I G S E GV信 号 处 理 函 数 通 过m p r o t e c t系统调用解除内存页访问限制后,对该页面的后续访问将不会继续触发页错误中断,从而无法被页保护机制监控到。为了实现能够监控到每条访存指令的细粒度访存监控,需要在对被保护32王睿伯等:基于内存保护键值的细粒度访存监控F i g u r e 4 M e m o r y a c c e s s p e r m i s s i o n s c o n t r o l i n MP K9图4 MP K中的访问权限检查9内存页的第1次访问结束后且对该内

24、存页的后续访问未开始执行前的某个时机再次中断被监控程序,并重新施加页保护。对此,本文利用处理器的单步(S i n g l e-S t e p p i n g)调试模式实现了基于硬件页保护的细粒度访存监控。单步调试模式下,处理器每执行一条指令,便会触发一次调试异常。操作系统的调试异常处理例程,会向触发调试异常的程序发送S I G T R A P信号。在x 8 6架构下,可以通过配置E F L AG S寄存器的T F(T r a p F l a g)标志位,控制处理器进入或退出单步执行模式。在程序触发调试异常陷入到内核态时,被中断的程序执行上下文被保存在内核栈。内核在调用程序预先注册的S I G

25、T R A P信号处理函数时,会将被中断程序的执行上下文拷贝到信号栈(S i g n a l S t a c k)。由此,程序自定义的信号处理函数可以通过信号栈访问到程序被中断时的上下文信息。信号处理函数结束后,将执行s i g r e t u r n函数。s i-g r e t u r n函数通过信号栈中保存的上下文信息,恢复被中断程序的执行现场。如图5所示,本文通过向操作系统注册自定义的S I G S E G V和S I G T R A P信号处理函数,并通过设置页保护和处理器调试模式,使访存指令在执行前和执行后分别触发页错误和调试异常,从而实现可以拦截到每一条访存指令的细粒度访存监控。具

26、体而言,本文在S I G S E G V信号处理函数中,将 信 号 栈 中 保 存 的T F标 志 位 置 为1。这样一来,当S I G S E G V信号处理函数执行结束后,s i g r e t u r n函数使用信号栈中保存的上下文信息恢复被中断程序的执行现场时会将处理器的T F标志位置为1,从而使处理器进入到单步执行模式。被中断的访存指令在单步执行模式下执行结束后,处理器将会触发调试异常。接下来,操作系统的调试异常处理例程将向被监控程序发送S I G T R A P信号。被监控程 序接收到S I G T R A P后,操 作 系 统 内 核 会 进 一 步 调 用 此 前 注 册 的S

27、 I G T R A P信 号 处 理 函 数。至 此,通 过 对S I G-S E GV和S I G T R A P信号的融合处理,本文实现了分别在一条访存指令执行前和执行后这2个时间点中断被监控程序的执行。在S I G T R A P信号处理函数中,本文对单步模式下被访问到的虚拟内存页重新施加页保护,使得后续对该虚拟内存页的访问可以被持续监控,从而突破页保护机制只支持页粒度访存监控的局限性。F i g u r e 5 F i n e-g r a i n e d p a g e p r o t e c t i o n图5 细粒度页保护在借助调试异常实现细粒度访存监控之外,本文进一步利用MP

28、K的轻量化特性,实现运行时开销更低的内存访问权限控制。具体而言,本文在程序初始阶段,向操作系统内核申请一个内存保护键值p k e y,并通过p k e y_m p r o t e c t系统调用将p k e y标记到拟监控内存区域的页表项。拥有相同p k e y42C o m p u t e r E n g i n e e r i n g&S c i e n c e 计算机工程与科学 2 0 2 4,4 6(1)的虚拟内存页构成了一个内存页分组,以下简称p k e y分组。在完成p k e y与虚拟页之间的绑定后,本文通过执行WR P K RU指令修改P K RU寄存器中p k e y对应的访

29、问权限描述位,限制被监控程序对p k e y分组的访问,即施加页保护。WR P-K RU是非特权态指令,执行开销非常低。相较于通过m p r o t e c t系统调用修改页表项,以配置P K-RU寄存器的方式修改虚拟内存页访问权限,可以避免引入用户态和内核态之间的上下文切换开销。此外,每个处理器核心拥有独立的P K RU寄存器,对P K RU寄存器内容的修改不需要在处理器核心之间同步。而修改页表项则不得不引入开销显著的T L B f l u s h操作,以实现处理器核之间的同步。综上,本文借助MP K机制,实现了一种相较于传统的m p r o t e c t更加轻量化的页保护机制。在针对p

30、k e y分组施加页保护之后,被监控程序对p k e y分组的访问将使其触发页错误而被中断。针对此情形,操作系统内核同样会向被监控程序发送S I G S E GV信号,并将被访问到的p k e y分组对应的p k e y值 保 存 于 信 号 栈。本 文 在S I G-S E GV信号处理函数中,从信号栈中获取到被监控程序正试图访问的p k e y分组对应的p k e y,并通过修改中断现场保存的P K RU寄存器中p k e y对应的访问权限控制位,解除对p k e y分组的访问限制,使被监控程序可以恢复执行对p k e y分组的访问。类似地,本文通过在S I G S E GV信号处理函数中

31、设置中断现场保存的T F标志位,使被监控程序在完成对p k e y分组的访问权限之后触发调试异常,从而实现在访存指令执行结束后再次拦截被监控程序。S I G T R A P信号处理函数通过配置中断现场保存的P K RU寄存器中p k e y对应的访问权限控制位,重新对p k e y分组施加访问限制,使被监控程序对p k e y分组的后续访问可以被持续监控到。至此,本文基于对p k e y分组访问权限违例异常和处理器调试异常的融合处理,突破了MP K仅支持p k e y分组粒度访问权限控制的监控粒度局限性,实现了细粒度的访存监控。此外,上述轻量化细粒度访存监控机制仅需要占用1个p k e y,没

32、有触及MP K仅提供有限数量p k e y的硬件资源局限性。3.2 混合式访存监控基于页保护实现访存监控,是以使被监控程序触发访问权限违例异常为基础;而编译器插桩则是在程序编译期间面向访存指令插入访存监控逻辑。与基于页保护监控访存行为相比,编译器插桩访存指令引入的运行时开销更低且可扩展性更好,具有更好的性能表现。但是,在监控能力方面,编译器插桩具有一定的局限性。基于编译器插桩实现访存监控,需要重新编译被监控程序的源码,这使得编译器插桩无法被用于非开源程序和第三方库等。本文提出的轻量化细粒度访存监控,可有效弥补编译器插桩在监控能力方面的局限性。通过融合基于MP K的轻量化细粒度页保护和编译插桩,

33、本文提出了一种混合式访存监控机制,实现了对访存监控性能和访存监控能力的兼顾。混合式访存监控机制的目标场景是目标程序主体源码可重编译而目标程序所依赖的部分动态链接库不可重编译的情形,这种场景也是真实应用中普遍存在的情形。混合式访存监控的核心思想是利用MP K的轻量化特性,实现对虚拟内存访问权限的低开销频繁切换。具体而言,与细粒度页保护机制类似,混合式访存监控在程序初始化阶段申请p k e y并使用该p k e y标记拟监控的虚拟内存区域构建p k e y分组,并通过配置p k e y对应的P K-RU寄存器中的访问权限控制位,实现对p k e y分组的访问约束。对于目标程序中支持源码重编译的部分

34、,混合式访存监控采用编译器插桩访存指令的方式注入访存监控逻辑,并在访存指令前后分别插入2条WR P K RU指令配置P K RU寄存器中p k e y对应的访问权限控制位,以解除和恢复对p k e y分组的访问约束,从而使被插桩到的访存指令在程序运行阶段不会触发访问权限违例异常,即实现页保护免疫。由于WR P K RU操作非常轻量化(4.3节的实验结果表明,WR P K RU操作引入的额外开销不超过4%),上述针对单条访存指令的细粒度页保护免疫过程得以有效兼顾编译器插桩的性能优势。同时,对于被监控程序中不支持重编译的访存指令,其对p k e y分组的访问会因触发访问权限违例异常而被监控到。至此

35、,本文通过基于MP K的细粒度页保护免疫,实现了兼顾编译器插桩性能优势和页保护功能优势的混合式访存监控机制。4 实验与结果分析4.1 实验环境本文在一个L i n u x服务器(内核版本5.4.0)上开展了实验测评。该服务器有2个2 0核I n t e l 52王睿伯等:基于内存保护键值的细粒度访存监控X e o n G o l d 6 2 3 0 2.1 0 GH z处理器。D R AM大小是6 4 G B(每个s o c k e t 3 2 G B)。本文使用的测试程序由c l a n g-6.0.1编译,编译插桩工具基于L L VM 6.0.1实现。所有实验结果都是1 0次运行结果的平均

36、值。4.2 实验设置本文在内存对象缓存系统M e m c a c h e d1 3中,分别实现了以下几种访存监控机制:(1)本文提出的细粒度页保护机制P P(P a g e P r o t e c t i o n);(2)本文提出的基于MP K处理器扩展的轻量化细粒度页保护机制(MP K);(3)本文提出的轻量化细粒度页保护与编译器插桩相融合的混合式访存监控机制(MP K-C I);(4)仅插入WR P K RU操作而不执行访存监控的对比组(WR P K RU)。其中,WR P K-RU对比组不具备访存监控功能,主要用于验证WR P K RU操作的轻量化特性。本文使 用M e m t i e

37、r1 4测试 程序生成输 入数据,对上述集成了访存监控功能的M e m c a c h e d变体实现进行压力测试。测试过程中,Mm c a c h e d运行4个服务器工作线程,M e m t i e r运行1 6个工作线程,每个工作线程模拟5 0个客户端,每个客户端发起1 0 0 0 0个针对M e m c a c h e d服务端的读写请求操作(共计8 0 0万次请求)。其中,M e m t i e r触发的读写请求操作中,S e t操作和G e t操作的比例为11 0,数据对象的大小为3 2 B。实验过程中,使用绑核工具n u m a c t l分别将M e m c a c h e d

38、进程和M e m t i e r进程绑定在C P U 0和C P U 1上。4.3 实验结果分析本文记录了在不同M e m c a c h e d变体实现作为服务端的情形下,M e m t i e r完成8 0 0万次读写请求操作所需的时间,并以缺省M e m c a c h e d实现(不监控访存行为)作为服务端的运行时间为基准,对实验结果进行归一化处理。本文通过写保护M e m c a c h e d内置s l a b分配器所分配的内存页,监控M e m c a c h e d对动态内存对象的访存行为。图 6展示了本文对比测评的访存监控机制相对于缺省M e m c a c h e d实现的

39、相对时间开销。其中,P P引入了相对缺省M e m c a c h e d实现5.0 7倍的时间开销。得益于用户空间内存访问权限控制的轻量化特性,轻量化细粒度页保护的相对时间开销下降至3.4 3,相比于P P的减少了约3 2%。MP K-C I分组展示了使用编译器插桩监控M e m c a c h e d程序源码树下i t e m s.c源文件中的访存 操 作 而 基 于 轻 量 化 细 粒 度 页 保 护 机 制 监 控M e m c a c h e d程 序 中 其 他 访 存 行 为 的 实 验 结 果。MP K-C I的相对时间开销约为2.1。WR P K RU分组只在缺省M e m

40、c a c h e d实现的所有访存操作前后插入WR P K RU操作而不执行访存监控,该分组的实验结果表明,在M e m c a c h e d中频繁执行WR P-K RU引入的额外开销低于4%。F i g u r e 6 R u n t i m e o v e r h e a d o f d i f f e r e n t m e m o r y a c c e s s m o n i t o r i n g m e c h a n i s m s图6 不同访存监控机制的运行时开销5 结束语本文基于I n t e l MP K硬件扩展提出了一种轻量化且细粒度的访存监控机制,相比于传统方法,

41、降低了超过3 0%的性能开销。与此同时,本文工作突破了传统页保护机制仅支持页粒度访存监控的局限性,基于硬件页保护机制实现了字节粒度的访存监控。此外,本文提出的轻量化细粒度页保护访存监控机制能够与编译插桩方法高效融合,有效弥补了编译器插桩无法覆盖程序中不支持重编译部分的局限性。参考文献:1 N e a l I,R e e v e s B,S t o l e r B,e t a l.A GAMO T T O:H o w p e r s i s-t e n t i s y o u r p e r s i s t e n t m e m o r y a p p l i c a t i o n?C P

42、r o c o f t h e 1 4 t h U S E N I X S y m p o s i u m o n O p e r a t i n g S y s t e m s D e s i g n a n d I m p l e m e n t a t i o n,2 0 2 0:1 0 4 7-1 0 6 4.2 L u k C K,C o h n R,M u t h R,e t a l.P i n:B u i l d i n g c u s t o m i z e d p r o g r a m a n a l y s i s t o o l s w i t h d y n a m

43、i c i n s t r u m e n t a t i o nJ.A CM S I G P L AN N o t i c e s,2 0 0 5,4 0(6):1 9 0-2 0 0.3 B e l l a r d F.Q EMU,a f a s t a n d p o r t a b l e d y n a m i c t r a n s l a t o rC P r o c o f t h e A n n u a l C o n f e r e n c e o n U S E N I X A n n u a l T e c h n i-c a l C o n f e r e n c e

44、,2 0 0 5:4 1-4 6.4 B r u e n i n g D L.E f f i c i e n t,t r a n s p a r e n t,a n d c o m p r e h e n s i v e r u n t i m e c o d e m a n i p u l a t i o nD.C a m b r i d g e:M a s s a c h u s e t t s I n s t i t u t e o f T e c h n o l o g y,2 0 0 4.5 L u K,Z h a n g W Z,W a n g X P,e t a l.F l e

45、x i b l e p a g e-l e v e l m e m-o r y a c c e s s m o n i t o r i n g b a s e d o n v i r t u a l i z a t i o n h a r d w a r eCP r o c o f t h e 1 3 t h A CM S I G P L AN/S I GO P S I n t e r n a t i o n a l C o n-f e r e n c e o n V i r t u a l E x e c u t i o n E n v i r o m e n t s,2 0 1 7:2 0

46、 1-2 1 3.6 F a n g J B,L i a o X K,H u a n g C,e t a l.P e r f o r m a n c e e v a l u a t i o n o f m e m o r y-c e n t r i c A RM v 8 m a n y-c o r e a r c h i t e c t u r e s:A c a s e 62C o m p u t e r E n g i n e e r i n g&S c i e n c e 计算机工程与科学 2 0 2 4,4 6(1)s t u d y w i t h P h y t i u m 2 0

47、 0 0+J.J o u r n a l o f C o m p u t e r S c i e n c e a n d T e c h n o l o g y,2 0 2 1,3 6(1):3 3-4 3.7 L i S S,J i a Z Y,L i a o X K.D e t e c t i n g p e r f o r m a n c e b o t t l e n e c k s g u i d e d b y r e s o u r c e u s a g eJ.I E E E A c c e s s,2 0 1 9,7:1 1 7 8 3 9-1 1 7 8 4 9.8 W u

48、 Z W,L u K,N i s b e t A,e t a l.PMT h r e a d s:P e r s i s t e n t m e m o r y t h r e a d s h a r n e s s i n g v e r s i o n e d s h a d o w c o p i e sCP r o c o f t h e 4 1 s t A CM S I G P L AN I n t e r n a t i o n a l C o n f e r e n c e o n P r o g r a mm i n g L a n g u a g e D e s i g n

49、a n d I m p l e m e n t a t i o n,2 0 2 0:6 2 3-6 3 7.9 P a r k S,L e e S,X u W,e t a l.L i b m p k:S o f t w a r e a b s t r a c t i o n f o r i n t e l m e m o r y p r o t e c t i o n k e y sC P r o c o f t h e 2 0 1 9 U S E N I X C o n f e r e n c e o n U s e n i x A n n u a l T e c h n i c a l C

50、 o n f e r e n c e,2 0 1 9:2 4 1-2 5 4.1 0 V a h l d i e k-O b e r w a g n e r A,E l n i k e t y E,D u a r t e N O,e t a l.E R I M:S e c u r e,e f f i c i e n t i n-p r o c e s s i s o l a t i o n w i t h p r o t e c t i o n k e y s(MP K)C P r o c o f t h e 2 8 t h U S E N I X C o n f e r e n c e o

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服