内存网格关键技术探析

内存网格关键技术探析

ID:26694260

大小:52.50 KB

页数:5页

时间:2018-11-28

内存网格关键技术探析  _第1页
内存网格关键技术探析  _第2页
内存网格关键技术探析  _第3页
内存网格关键技术探析  _第4页
内存网格关键技术探析  _第5页
资源描述:

《内存网格关键技术探析 》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、内存网格关键技术探析摘要:内存网格的出现主要借鉴了传统的网格计算技术和集群内存共享技术。本文从动态函数截获,缓存数据组织与管理和异步缓存数据写入三方面探讨了内存网格系统的关键技术。  关键词:内存网格;动态函数截获;异步缓存数据    一 引言    随着计算机技术的发展,CPU和系统主存的性能得到了极大的提高。然而由于IO设备的发展相对滞后,磁盘性能逐渐成为了影响计算机整体性能的瓶颈。对于具有频繁、随机磁盘10的数据密集型应用,如onolithic),也就是说它是一个独立的大程序,所有的内核功能构件均可访问任一个内部数据结构和例程。为了方便使用同时又提供了模

2、块化的机制,这就是内核模块。内核模块是可以按照需要动态载入内核和从内核中卸载的代码。内核模块可以不需要重起系统扩展内核的功能。对于Linux内核模块,可以用insmod或rmmod命令显式载入或卸载,或者由内核在需要时调用内核守护程序(kerneld)自动载入和卸载。内核模块运行在Linux内核空间,可以方便地使用内核提供的系统函数和变量。从模块程序链接的方式来看,它并不能自由地使用用户空间里定义的函数库,只能使用内核空间中定义的、资源受到限制的函数。内核在内核符号表中维护了一个模块的链表,每个符号表对应一个模块,模块加载进内核时正确地对其进行解释,并将模块作

3、为内核的一部分来执行:加载进内核的模块具有所有的内核权限。模块可以在系统启动时加载到系统中,也可以在系统运行时加载:在不需要时,可以将模块动态卸载,这样就不用每次修改系统的配置时都要重新编译内核了。一般来说,内核模块可以应用于设备驱动、文件系统驱动程序、网络驱动、可执行文件解释器和系统调用等方面。    (二)函数截获  内存网格系统中利用了函数截获(APIHooking)的方法来动态改变系统函数执行流程。所谓动态改变,就是指在不修改程序源代码和不覆盖程序在磁盘的存储映像前提下,对程序行为进行修改。  函数截获(APIHooking)是获取指定执行代码控制权的

4、基本方法[44,45]。它提供了一种在不修改程序源代码的前提下,动态改变操作系统行为的便捷方法。在众多现代操作系统中,使用函数截获方法的间谍软件(SpyingSoft)通常由至少两个部分组成,即一个截获服务器  CHookServer)和一个截获驱动器(HookDriver)。截获驱动器主要完成实际的截获功能,截获服务器则负责将截获驱动器在特定时刻注入(inject到目标进程。截获服务器同时管理驱动器并且选择性的接受来自驱动器的信息。三 缓存数据组织与管理    (一)模型设计  内存网格系统扩展了传统的系统存储层次结构,在主存和磁盘之间添加了内存网格层。内存

5、网格层主要由内存服务节点提供的空闲内存空间构成,内存客户节点通过利用这些空闲内存作为本地磁疵缓存的扩展,从而加速系统磁盘10的性能。但是对于内存服务节点提供的空闲内存空间,如何有效的对其进行组织和管理就成为了一个关键问题。  在基于协作缓存的改进模型中,内存网格的内存客户节点和提供其服务的内存服务节点比例为1:n。因此我们采用了基数树和LRU链相结合的方式来解决查找和定位的问题,基数树用于解决缓存数据的定位问题而存在于内存客户节点中,LRU链用于对缓存数据的更新和替换存在于内存服务节点中。  在RAMGrid原型系统的最初设计过程中,为了简化管理过程,我们规定

6、一个内存客户节点在某一时刻有且尽可能使用一个内存服务节点的服务。为了能够对内存服务节点中的空闲内存资源进行有效管理,内存网格系统选择在内存客户节点中实现了缓存数据组织和管理模块。缓存数据组织和管理模块对缓存数据进行本地管理,管理信息包括内存客户节点所使用的内存服务节点上数据页帧的状态信息、存储位置等。为了能够达到这些目标,我们改变了模型中的缓存方案,使用了基于LRU和Hash双链的数据组织和管理方法。  LRU链和Hash链的双链管理结构在操作系统设计中由来已久。在开源操作系统Linux的早期版本中,对于数据结构的管理与组织就大量的使用了这种经典的双链结构。其

7、中,LRU链主要对数据结构进行更新和替换:Hash链主要用于数据结构的快速查找和定位。通过双链结构的管理和组织,当内存客户节点通过本地文件系统进行磁盘10操作时,则可以利用远地内存服务节点的内存来获取数据,从而减小内存客户节点磁盘开销,提升系统性能。    (二)Cache一致性问题  在单处理器(uniprocessor)系统中,由于处理器与10子系统看到的内存视图不同而产生了Cache一致性问题。这是因为10子系统直接读写的是内存区域:处理器在写回(ultiprocessors)系统中,Cache一致性问题是由对共享数据的缓存引发。在RAMGrid系统中。

8、由于RAMGrid所扩展的缓存层次位于

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。