编辑: 飞鸟 | 2019-07-05 |
如果是多 次进行的写操作, 要负责向服务代理多次发送数据.
2 .
2 .
2 服务代理 服务代理, 是管理对于本地磁盘的 I / O请求的进程, 是请求的合并者. 具体功能包括: ① I / O 请求的合并. 将从各个结点的应用代理发来的 I / O请求进行合并, 形成符合数据物理存储的较大 的I/O请求. ② 结果数据的分解. 将从磁盘读出的数据根据各个应用程序的需要进行分解, 并发送 给相应结点的应用代理. ③ 数据分析与过程控制. 由于缓冲区受限, 在读和写时都必须先分析是否 需要进行多次读写, 并对此进行控制. ④ 磁盘读写. 即真正的磁盘读写操作.
2 .
3 C I O N的特点 C I ON的体系结构避免了 D D I O和Two - P h a s eI / O的缺点, 同时保持了二者的优点;
不足之处 是处理环节稍多. 在我们的 NOW 系统中, 由于计算结点也是 I / O结点, 可以利用文件的物理分布 信息, 先对 I / O请求进行其所在目标磁盘的分析, 然后只发送给文件数据所在的结点, 而无须组 播, 与DDIO相比降低了网络负载;
同时, 由于进行请求合并的结点就是该请求对应的文件数据所 在的结点, 避免了 T wo - P h a s eI / O方式下数据要传送两次的缺点.
3 C I O N的优化技术
3 .
1 数据筛选 采用数据筛选技术, 对于一些间隔不大的分离的读请求, 系统只进行一次磁盘操作. 所访问的 数据块开始于所有请求中开始的字节位置最低的, 结束于所有请求中结束的字节位置最高的, 其中 包含了在所需数据之间的无用数据. 这一大块数据读入系统内存的缓冲区. 然后根据应用程序的请 求筛选出有用数据, 放入用户缓冲区内. 这就是数据筛选的基本思想. 数据筛选使得我们的文件访 问总是以较大的块进行的, 虽然多读了一些数据, 但访问一次大块数据节省的磁盘操作时间超过了
6 5
6 1 J o u r n a l o fS o f t wa r e 软件学报
2 0
0 1 ,
1 2 (
1 1 ) 多读的数据带来的额外代价, 磁盘存取的效率很高. 当这种具有较小间隙的请求很多时, 这种方式 对I/O性能的提高就非常可观了. 这就是数据筛选的基本思想, 如图 2所示. 写操作的过程与一般的写稍有不同, 我们采用先读出再修改最后写回( r e a d - mo d i f y - wr i t e ) 的 办法. 首先, 将要写入磁盘的数据所在位置的相应数据读出, 然后用要写入的数据覆盖系统缓冲区 的相应位置, 最后将所有数据写回到磁盘.
3 .
2 组播技术 这里使用组播技术并不像 D D I O由本地 I / O代理向所有的磁盘 I / O代理组播请求信息, 而是 针对一些应用, 特别是........