基于共享物理存储空间的松耦合存储管理机制.pdf_第1页
基于共享物理存储空间的松耦合存储管理机制.pdf_第2页
基于共享物理存储空间的松耦合存储管理机制.pdf_第3页
基于共享物理存储空间的松耦合存储管理机制.pdf_第4页
全文预览已结束

基于共享物理存储空间的松耦合存储管理机制.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3 4 卷 b 1 3 4 第6 期 肺 6 计算机工程 C o m p u t e rE n g i n e e r i n g 2 0 0 8 年3 月 M a r c h2 0 0 8 软件技术与数据库 文章编号t1 1 1 0 0 3 H 4 2 8 2 8 0 6 7 弘一0 3文献标识码tA 中蟹分类号tT P 3 9 I 基于共享物理存储空间的松耦合存储管理机制 陈军1 苗艳超L 2 周应超1 鼬 马捷L 2 杨晓君也 1 中国科学院计算技术研究所国家智能计算机研究开发中心 北京1 0 0 0 8 0 2 中国科学院计算技术研究所计算机系统结构重点实验室 北京1 0 0 0 8 0 3 中国科学院研究生院 北京1 0 0 0 3 9 攘蔓 引入一种N U M A 多处理器原型系统 分析该系统上的操作系统对物理内存管理的特点 基于该系统设计和实现了一个全局共享 内存系统 使操作系统充分利用整个系统上的物理内存 减少应用程序的执行时间 实验结果表明 该系统能够更好地支持存储密集型 应用 关健诃 机群 松耦合存储管理 全局共享内存系统 L o o s e l yC o u p l e dM e m o r yM a n a g e m e n tM e c h a n i s mB a s e do n G l o b a lS h a r e dP h y s i c a lA d d r e s sS p a c e C H E NJ u n l 筇 M I A OY a n c h a o 址 Z H O UY i n g c h a o t 2 3 M AJ i e L 2 Y A N GX i a o j u n l 2 1 N a t i o n a lR e s e a r c hC e n t e ro fI n t e l l i g e n tC o m p u t i n gS y s t e m s I n s t i t u t eo fC o m p u t i n gT e c h n o l o g y C h i n e s eA c a d e m yo fS c i e n c e s B e i j i n g1 0 0 0 8 0 2 K e yL a b o r a t o r yo fC o m p u t e rS y s t e ma n dA r c h i t e c t u r e I n s t i t u t eo fC o m p u t i n gT e c l l I l o l o g y C h i n e s eA c a d e m yo fS c i e n c e s B e l t i n g1 0 0 0 8 0 3 G r a d u a t eU n i v e r s i t yo fC h i n e s eA c a d e m yo fS c i e n c e s B e i j i n g1 0 0 0 3 9 A b s t r a c t T h i sp a p e ri n t r o d u c e sap r o t o t y p eo fam u l t i p r o c e s s o rs y s t e mb a s e d0 1 1N U M Aa n da n a l y z e si t sp h y s i c a lm e m o r ym a n a g e m e n ti n o p e r a t i n gs y s t e m Ag l o b a ls h a r e dm e m o r ys y s t e mi si m p l e m e n t e db a s e do nt h es y s t e m a n di tc 雅a l l o wo p e r a t i n gs y s t e mt ou s es y s t e m w i d e m e m o r yt od e c r e a s et h ee x e c u t i o nt i m eo ft h ea p p l i c a t i o n R e s u l t ss h o wt h a tt h es y s t e ms u p p o r t sm e m o r y i n t e n s i v ea p p l i c a t i o n sb e t t e r K e yw o r d s c l u s t e r l o o s e l yc o u p l e dm e m o r ym a n a g e m e n t g l o b a ls h a r e dm e m o r ys y s t e m l 概述 多处理器系统按存储耦合程度可分为2 类 一类是紧耦 合系统 如S M P 和M P P l q l 另一类是松耦合系统 如机群 S M P 系统集中管理资源 资源利用率高 机群系统可扩展性 强 但其资源分散管理 资源利用率不高 结合S M P 资源利 用率高和机群可扩展性强的优点 国家智能计算机研究开发 中心研制了一种N U M A t t s l 多处理器原型系统 采用基于共 享物理存储空间的松耦合存储管理模式 图1 该系统有如下 特点 1 被共享的存储器在物理上分布于所有的处理器中 其 所有本地存储器的集合组成全局地址空间 处理器访问本地 存储器的时间快于访问远端存储器的时闻 2 每个处理器各运行一个独立的操作系统映像 并独立 管理本地存储区域 田1 基于共享物理存储空问的橙藕合存储管理模星 为充分利用该系统的存储资源 本文提出了一个全局共 享内存系统 G l o b a lS h a r e dM e m o r yS y s t e m G S M S 该系统能 将每个操作系统独立管理的物理内存资源整合起来供应用程 序使用 提高内存资源使用率 2 相关工作 国内外研究人员关于内存共享做了大量相关工作 按实 现方式可分为两类 一类是以D o D 0 1 5 1 为代表的用户级实现 即当程序访问到一个非本机内存页面时 会收到操作系统存 储管理者发送的段错误信号 用户级的信号处理函数在解释 这个段错误信号时便会用一个远端内存页面替换一个本地内 存页面达到访问远端内存的目的 这种实现方法无需修改操 作系统内核 但需要修改应用程序 另一类是内核级实现 如国家智能计算机研究开发中心的S D N M S l 6 和佛罗里达州 立大学的A n e m o n e 7 堪J 这种实现方式将远端内存作为一个页 交换设备 在进行页面交换时先将内存页面交换到远端内存 如果远端内存不够才将内存页面交换到磁盘 这种实现方法 在网络比较繁忙时 交换速度可能会比磁盘还慢 3 系统设计及特点 为了透明支持应用程序访问远端内存 采用内核级实现 G S M S 由于松耦合存储管理系统结构的物理内存统一编址 因此提供了远端内存直接访问的可能 3 1G S M S 系统结构 图2 是G S M S 的系统结构 各部分功能划分如下 基金项目 中国科学院刨新基金资助项目 新一代机群关键技术的 研究 作者倚介 陈军 1 9 8 1 一 男 硕士研究生 主研方向 计算机体 系结构 苗艳超 高级工程师 博士 周应超 博士研究生 马捷 杨晓君 副研究员 博士 收稿日期 2 0 0 7 0 3 3 0E m a i l f r e e d o m c h e n g m a l i e o m 一7 7 万方数据 1 内存密集型应用程序 在该系统中 应用程序并不知 道当前访问的是本地内存还是远端内存 2 操作系统的换页部件 它负责提供给上层空闲的物理 内存页面 3 本地内存和远端内存建立管理相应的物理内存页面 的数据结构 其中本地内存可以自由分配 而远端内存需要 与其他节点协商后才可分配 L i n u x 内核采用n o d e z o n e 和 p a g e 三级结构来描述物理内存 G S M S 将远端内存与本地内 存同等对待 建立相应的z o n e 在图2 中 N o d e j 的本地内 存区L o c a l j 在N o d ei 中被描述为R e m o t e j 相应的 N o d ei 中的L o c a lf 在N o d e J 中被描述为R e m o t ei 其中L o c a li 能 自由分配 R e m o t e j 不能自由分配 b N o d e j 圈2G S M S 系统结构 4 G S M S 的核心部分 它由一个实时内核线程k s h m e m d 同时完成客户端以及服务器端的工作 客户端工作包括申请 远端内存的使用权以及使用完后的归还操作 服务器端工作 包括提供远端内存的访问权以及回收使用完后的内存 该内 核线程被操作系统定时调度 在内存使用紧张时刻能被即时 唤醒 每次调度时广播本节点的空闲内存信息并接收来自其 他节点广播的空闲内存信息 5 内核间通信接口 提供G S M S 的客户端和服务器端的 通信 3 2G S M s 的特点 G s M S 有如下4 个特点 1 透明性 应用程序无需作任何修改 应用程序并不知 道也无需知道当前所使用的内存是本地内存还是远端内存 除了访问速度的差异 并无任何实质区别 2 基于内存租赁关系的动态共享 内存客户端和内存服 务器端的关系是内存租赁的关系 当内存服务器的某块内存 被借给内存客户端以后 它就被该内存客户端独自占有 服 务器端和其他客户端都不得使用该段内存 直至该段内存使 一7 8 一 用完后 才可由服务器分配给其他客户端 3 分布式 所有的内存客户端和服务器端均是完全分布 式的 每个服务器均使用完全相同的算法完成远端内存的分 配及定位 4 实时性 内存服务器为实时级内核线程 在内存紧张 时被唤醒并在进行任务调度时 内存服务器优先调度以缓解 内存使用压力 4G S M S 的实现 4 1 G S M S 通信消息的定义 G S M S 通信消息的定义如下 s t r u c ts h m e m m s g u n s i g n e ds h o r ts o u r c e k e r n e l u n s i g n e ds h o r tm s g t y p e u n s i g n e di n to r d e r u n s i g n e dl o n gs t a r t a d d r 其中 s o u r c e k e r n e l 为发送消息的源核心号 目标核心 内核线程通过该字段得到消息的来源 m s g t y p e 为消息类型 o r d e r 为分配或释放内存的大小 s i z e 为本地空闲内存的大小 s t a r t a d d r 为分配或释放内存的起始地址 其具体描述见表1 表1 消息类量描述 消息类趔消息作用 F R E E L O C A L M E M R E Q U E S T A L L O C R E T U R N F R E E 广播本核心宅闲内存信息 向目标核心申请空闲内存 通知内存申请者内存已分配 向H 标核心归还内存 通知内存归还者内存已回收 4 2 内核线程k s h m e m d 的工作漉程 k s h m e m d 在操作系统启动时即开始运行 而且常驻内存 工作流程如下 1 判断内存紧张标记是否为真 为真则向空闲内存较多 的内存服务器发起内存申请 并置内存信息广播标记为真 2 判断当前是否有已经使用完的空闳远端内存 有则将 远端内存回收 然后向其拥有者发送内存归还的消息 3 查看消息接收缓冲区中是否有消息来到 有则接收消 息并判断消息类型 为内存信息广播 则更新相应的内存服 务器的空闺内存信息 为内存申请消息 则查看是否有足够 的内存 有则从本地内存里分配一段内存 向内存客户端发 送内存分配的消息 然后置内存信息广播标记为真 为内存 归还的消息 则将相应的内存段回收 重复该过程直至接收 缓冲区为空 4 判断内存信息广播标记是否为真 为真则统计本节点 本地空闲内存信息并广播 5 线程休眠 等待唤醒条件为真 4 3G S M S 工柞漉程 下面以一个内存申请的例子来说明G S M S 的工作流程 见图3 1 当N o d e j 上的某个进程发生缺页中断时 缺页中断处 理函数先在本地内存区里寻找空闲内存页面 若找到 则直 接返回上层一个空闲页面 失败则进入 2 2 缺页中断处理函数唤醒内核线程k s h m e m d 启动 G S M S 客户端 3 G S M S 客户端从本地服务器端获取全局物理内存空闲 信息 4 G S M S 客户端选择一个空闲内存最多的节点N o d ef 万方数据 向其G S M S 服务器发送内存申请的消息 5 N o d ei 的G S M S 服务器端收到来自N o d e j 的消息 解 析消息内容 若为内存请求 则进入 6 6 从本地内存区分配N o d e j 所申请大小的内存 7 若分配成功则向N o d e j 发送分配成功的消息 并告知 分配内存的起始地址以及大小 若分配失败则向N o d e j 发送 分配失败的消息 8 N o d e j 收到来自N o d ej 的消息 若是分配失败的消息 则选择另外一个节点重复以上过程 若是分配成功的消息 则进入 9 9 k s h m e m d 对R e m o t ej 进行相关的一些操 乍 使之能够 自由分配 1 0 N o d eJ 的缺页中断处理函数从R e m o t ef 中获得所需 的空闲内存返回给上层 a N o d ei p a c e M c m i n t e n s i v eA p p P A G E R J 千甸千 l R e m 盈o t e 囱l o c a l j 下 而苗耐 I 审 匪疆 广可蒜击磊冲一 I I K C I n t e r f a c e I b N o d e j 圈3G S M S 工作流程 内存归还的过程与申请的过程类似 不再详述 5 系统测试 本节通过测试程序在不同平台上执行时间的对比来验证 G S M S 的性能 所有的平台都采用相同的处理器及操作系统 处理器为A M DO p t e r o n2 6G H z 操作系统为F e d o r aC o r e4 平台1 和平台2 为N U M A 多处理器原型系统 配置4 个处理 器 每个处理器的本地内存为5 1 2M B 平台2 上运行G S M S 平台3 为S M P 系统 配置4 个处理器及2 G B 内存 以单进 程的快速排序程序为b e n c h m a r k 对随机产生的2 00 0 00 0 0 一 1 6 00 0 00 0 0 个整数进行排序 它们所需要的物理内存从 3 0 0M B11 0 0M B 比较了快速排序在平台上的执行时间 图4 的结果显示 随着数据规模的增大 快速排序在 N U M A 环境下不能利用整个系统的物理内存 需要不断地进 行磁盘交换 在N U M A G S M S 环境下 快速排序能利用整个 系统的物理内存 无需进行磁盘交换 排序时间加速比相比 N U M A 环境达到了2 并且随着数据规模增大而不断增加 望 暮 苗 世 肇 圈4 捧序时问在N U M A 和N U M A G S M S 上的对比 图5 的结果显示 随着数据规模的增大 快速排序在 G S M S 环境的执行时间都比在S M P 环境的执行时间长 表明 G S M S 的内存租赁协议需要一定的时间开销 但其时间开销 相比快速排序的执行时间非常小 且不会随着数据规模增大 而增加 望 厘 茁 世 Z 目5 捧序时问在N U M A G S M S 和S M P 上的对比 6 结束语 本文介绍了一个在N U M A 多处理器原型系统上实现的 全局共享内存系统 实验结果显示 该系统能提高存储密集 型应用程序的性能 进一步的工作包括分析本地内存和远端 内存的访问差异等方法来提高该系统的性能等 参考文献 l R a j k u m a rB H i g hP e r f o r m a n c eC l u s t e rC o m p u t i n g A r c h i t e c t u r e s a n dS y s t e m s V 0 1 1 M N e wJ e r s e y P r e n t i c eH a l lP 1 r RI n c 1 9 9 9 2 T a n e n b a u mA S D i s t i l b u t e dO p e r a t i n gS y s t e m s M N e wJ e r s e y P r e n t i c eH a l lP T RI n c 19 9 4 f 3 陈国良 并行计算一结构 算法 编程 M I 北京 高等教育出版社 1 9 9 9 4 张晨曦 计算机体系结构 M 北京 高等教育出版社 2 0 0 0 5 K o u s s i hS A c h a r y aA D o d oSS AU s e r l e v e lS y s t e mf o r E x p l o i t i n gI d l eM e m o r yi nW o r k s t a t i o nC l u s t e r s C P r o c o ft h e 8 t h I E E El n f l S y m p O nH i g hP e r f o r m a n c eD i s t r i b u t e dC o m p u t i n g W a s h i n g t o n D C U S A I s n 1 9 9 9 6 1S u nG u o z h o n g T a n gH u a n C h e r tM i n g y u e t a 1 AS c a l a b l e D y n a m i cN e t w o r kM e m o r yS e r v i c eS y s t e m C P r o c o ft h e8 t h I n t e r n a t i o n a lC o n f e r e n c eo n H i g h p e r f o r m a n c e C o m p u t i n g i n A s i a P a c i f i cR e g i o n B e i j i n g C h i n a S n 2 0 0 5 1 7 H i n e sM L e w a n d o w s k iM W a n gJ i a n e ta 1 A n e m o n e T r a n s p a r e n t l yH a r n e s s i n gC l u s t e r W i d eM e m o r y C P r o c o f I n t e r n a t i o n a lS y m p o s i u mO nP e r f o r m a n c eE v a l u a t i o no fC o m p u t e i a n dT e l e c o m m u n i c a t i o nS y s t e m s C a l g a r y C a n a d a S n 1 2 0 0 6 0 8 8 1F e e l e yMJ M o r g a nWE P i g h i nFH e ta 1 I m p l e m e n t i n gG l o b a l M e m o r yM a n a g e m e n ti naW o r k s t a t i o nC h i s t e r C P r o c o ft h e1 5 t h A C MS y m p o s i u mo nO p e r a t i n gS y s t e m sP r i n c i p l e s N e wY o r k U S A i s 1 1 1 9 9 5 7 9 毛德操 胡希明 L i n u x 内核源代码情景分析 M 杭州 浙江大 学出版社 2 0 0 1 一7 9 一 万方数据 基于共享物理存储空间的松耦合存储管理机制基于共享物理存储空间的松耦合存储管理机制 作者 陈军 苗艳超 周应超 马捷 杨晓君 CHEN Jun MIAO Yan c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论