内存网格关键技术探析 |
|
|
务节点中的空闲内存资源进行有效管理,内存网格系统选择在内存客户节点中实现了缓存数据组织和管理模块。缓存数据组织和管理模块对缓存数据进行本地管理,管理信息包括内存客户节点所使用的内存服务节点上数据页帧的状态信息、存储位置等。为了能够达到这些目标,我们改变了模型中的缓存方案,使用了基于lru和hash双链的数据组织和管理方法。 lru链和hash链的双链管理结构在操作系统设计中由来已久。在开源操作系统linux的早期版本中,对于数据结构的管理与组织就大量的使用了这种经典的双链结构。其中,lru链主要对数据结构进行更新和替换:hash链主要用于数据结构的快速查找和定位。通过双链结构的管理和组织,当内存客户节点通过本地文件系统进行磁盘10操作时,则可以利用远地内存服务节点的内存来获取数据,从而减小内存客户节点磁盘开销,提升系统性能。 (二)cache一致性问题 在单处理器(uniprocessor)系统中,由于处理器与10子系统看到的内存视图不同而产生了cache一致性问题。这是因为10子系统直接读写的是内存区域:处理器在写回(write-back)策略下,首先读写的是cache,只有当读写的块要被替换时,才将该cache中的块内容写回到内存。这就产生了处理器看到的内存视图与10子系统看到的不一样的情况。在多处理器(multiprocessors)系统中,cache一致性问题是由对共享数据的缓存引发。在ram grid系统中。由于ram grid所扩展的缓存层次位于主存和磁盘之间,处理器并不会直接进行读写。所以ram grid系统并不存在cache一致性问题。 四 异步缓存写入 为了不影响系统效率,内存网格系统采用了异步缓存写入的方法来完成内存客户节点对内存服务节点的数据更新。内存网格系统使用函数截获方法来修改磁盘10的执行流程,异步写操作发生在函数截获过程中,而函数截获过程发生在核心态,所以异步缓存写入不得不选择在核心态实现。为了使写入过程不对原来的。系统执行流程造成较大的性能损失,采用了内核线程的方法来完成写入过程。在内核模块中,我们设立了一个全局缓存区用以记录内存客户节点磁盘读写函数中产生的“新”缓存数据,而使用一个内核线程来将内存客户节点中的新缓存数据周期性的写入到内存服务节点的虚拟块设各中。这样,整个问题演变成了传统操作系统中的读者/写者问题。缓存数据区的每一个块中存放着一个缓存数据结构信息。这个数据结构中包含有设备号、块号、块大小、缓存数据内容和使用标志位等元信息,这些信息主要用于缓存数据本身的管理和缓存数据在内存服务节点上数据的定位。 上一页 [1] [2]
|
|
上一个论文: 浅谈MEMS存储设备的管理技术 下一个论文: 分布式系统的应用
|
|
|
看了《内存网格关键技术探析》的网友还看了:
[免费范文]试论教育资源网格分布式检索子系统的研究与设计 [计算机论文]研究网格计算相关技术与应用 [计算机论文]网格研究概况 [计算机论文]试论建设网格多媒体教学资源库 [免费范文]试论建设网格多媒体教学资源库 [计算机论文]基于网格的聚类方法研究 [计算机论文]浅论基于网格的物流公共信息平台设计及实现 [免费范文]浅论基于网格的物流公共信息平台设计及实现 [计算机论文]浅谈基于知识的网格技术应用研究 [计算机论文]浅谈网格计算相关技术与应用
|
|