高性能存储系统

2024-05-17

高性能存储系统(共9篇)

高性能存储系统 篇1

摘要:数字图书馆的数据信息种类繁多, 形式复杂多样, 数据的重要性程度不一, 数据访问方式各异, 因而不同的数据类型则对读写性能等方面有不同的要求。为此, 本文提出了适用于数字图书馆应用环境的存储系统性能优化方法 KVCache, 包括key-Value原子更新策略和数据分布与置换策略等内容。KVCache利用SSD闪存设备和keyValue技术实现缓存数据的缓存持久化存储, 并且利用多级存储下的两段更新事务原子性管理, 保证多级存储数据一致性和可靠性。通过模拟实验表明KVCache有效的增加了存储系统中的数据在顺序读写、随机读写下的性能, 并且使其随机读写性能接近本地内存读写性能。

关键词:数字图书馆,存储系统缓存,Key value

0 引言

现代化高校的数字图书馆改变传统的纸质媒体的信息查看和传播方式而借助于网络信息技术, 传播各种以数字多媒体为存储单位的知识、文献信息, 电子文献资源、教师课件、课程视频等。数字图书馆是用数字技术处理和存储各种图文并茂文献的图书馆, 实质上是一基于种多媒体的信息分享系统。通过数字图书馆所提供的搜索功能, 提高了读者检索资源的效率;同时, 通过数字图书馆提供的web端、移动端等相关应用平台极大的提高了读者的访问便利度。数字图书馆需要大量的磁、光、电等新型存储媒介来存储文本、图像、声音、动画、影视作品等文献信息资源的数字化信息[1]。海量数据信息的存储和管理是数字图书馆的显著特征之一。数字图书馆数据信息资源的种类、数量、性质及其使用方式等均对读者访问的性能、资源的传输速度、可靠性等方面起着决定性的作用。数字图书馆具有系统用户数量庞大, 并发存取海量数据及业务类型多的特点。

数字图书馆的数据信息种类繁多, 形式复杂多样, 数据的重要性程度不一, 数据访问方式各异, 因而不同的数据类型则对读写性能等方面有不同的要求[1]。大文件的顺序读写, 如视频数据等多媒体资源, 读写数据量很大, 要求数据存储吞吐量性能高。小文件随机读, 如数字期刊、数字图书等, 资源访问频率很高, 下载流量也比较大, 对存储系统的IOPS要求很高。因此如何在复杂的数据环境中提升存储系统的I/O性能以满足数字图书馆各种数据访问的要求是一个急需要解决的问题。

因此, 针对上述问题本文提出一种适用于数字图书馆应用环境的存储系统性能优化方法KVCache, 其基本原理为将最近访问的文件保持在由高速非易失性存储介质组成的缓存层中, 下次访问相同的文件数据时则不需要再访问低速的磁盘, 直接从缓存层中得到, 以获得较高的I/O性能。该优化方法的特点主要包含以下方面:

1) 采用非易失性高速存储设备, 例如SSD, 作为存储系统的缓存层存储介质, 充分保障数据在各种应用环境下的性能[8]。

2) 采用Key-Value技术实现了缓存的持久化存储, 提升了存储系统的访问性能。

3) 利用多级存储下的两段更新事务原子性管理, 在提升存储系统I/O性能的前提下, 保证多级存储数据一致性和可靠性。

1相关研究

目前缓存对于缓存的研究主要集中在通用块层。

Flash Cache是Linux内核中的一种磁盘缓存实现模块, 于2010年由Facebook公司开发, Flash Cache的具体实现, 将请求IO以一定的哈希映射关系同时映射到闪存设备和磁盘设备中。并在读写路径中, 先请求闪存设备, 再请求磁盘设备, 从而实现了使用闪存设备对传统磁盘进行缓存的设计。磁盘与闪存之间的映射, Flash Cache使用了对磁盘以及闪存逻辑上进行条带化, 哈希映射的方式完成[5]。

BCache作为同样实现在Linux内核中的一种磁盘缓存实现, 其则是基于通用块层实现的, 与Flash Cache不同, 其实现与IO调度层之上, 可以使用更少的设备来缓存整个存储子系统的数据。同时, 由于其实现于通用块层, BCache可以有效利用闪存设备对随机IO读写的优异性能, 将随机IO组合为顺序IO再写入传统磁盘中, 大大增加了磁盘的读写能力。

块存储方案用于实现持久化缓存, 可以将缓存模型简化, 也是传统缓存模型常用的解决方案。使用块存储接口调用持久化缓存设备, 可以将设备直接与内存中的缓存块相映射, 从而快速索引持久化设备中的缓存数据。然而此方式的缺点是, 由于块存储方案存储流程非常简单, 通过对内核的系统调用实现数据的存取, 如果在写入过程中阻塞等待内核块接口的完成回调则损失了缓存性能, 而如果不阻塞等待则无法达到第一阶段写事务的原子性和可靠性要求[2]。

而基于Key-Value的方式则很好地解决了块存储方案的缺点。Key-Value的方式可以很好地完成内存与磁盘设备的映射过程, 因而逻辑视图上对于持久化缓存项和内存缓存项的映射规则简单, 模型类似块存储缓存方案;而对于更新操作的一致性和可靠性以及性能特点, 又可以超越块存储缓存方案。

2 KVCache的实现

KVCache的实现主要包括:key-Value原子更新策略、缓存数据分布与置换策略。

当更新I/O请求到达时, 需要将I/O请求通过分割成多个细颗粒度的对象请求, 并且为每个对象请求将创建一个更新事务, 如图1所示。

第一阶段的写事务将对象请求更新提交到保存在内存中的缓存目录, 并同时提交到内存缓存。完成对内存缓存的更新后, 又将根据更新的缓存目录, 将缓存写入到持久化缓存设备中。

第二阶段的写事物则是待Flush线程达到某个预设值时, 将本地缓存写回到后端存储设备中。为了保证第二阶段写事务的可靠性和一致性, 需要在第一阶段写事务完成后, 以日志形式将该事务记录在持久化缓存中, 并在第二阶段写事务完成后将该日志删除。

2.1 key-Value原子更新

KVCache中使用Level DB作为持久化缓存接口, 将对象缓存数据合并成可以并行读写, 快速索引的磁盘数据因而本文选择使用键值对存储方案Level DB来完成系统对数据的持久化缓存[4]。

Level DB是一个开源的键值对存储方案, 其使用LSM树对数据进行存储, 并利用内存暂存区设计优化了写性能, 通过将内存中数据和持久化后数据进行多级存储, 简化了索引对内存产生的开销。同时, 由于Level DB本身的键值对语义与内存缓存使用的map语义十分契合, 减少了存储接口转换带来的开销。

图2为KVCache对于更新请求结合Level DB所进行的数据流图。为了提高数据写入性能, Level DB对缓存持久化的操作其实是一个异步事务。也就是图中看到当写操作写入Level DB的memtable中后, 并不是立刻会被写入Level DB SSTable。Level DB会将多个更新操作进行合并和等待到某预设值到达, 才将数据写入imm_memtable, 并分级存储到SSTable中。但是由于Level DB本身的事务原子性管理, 系统可以完全假设当数据写入Level DB的memtable时, 即完成了对持久化缓存的写入事务, 因而系统可以向系统提交缓存更新成功响应。

本文设计了缓存目录, 用于记录与管理所有的缓存数据。缓存目录只用于记录缓存的最新版本号, 本地版本号, 后端版本号以及所在位置。缓存目录主要结构如表1所示。

通过版本号记录更新事务的状态以及是否可提供读操作。写请求映射到缓存目录后, 最新缓存版本号 (version) 首先被更新, 从而表明该缓存有更新的数据将存入, 而其余本地版本号 (lversion) 以及后端版本号 (bversion) 不同则标记了该写事务并未完成, 如图3所示。由于KVCache基于内存缓存与持久化缓存进行两级缓存, 所以当写事务已成功提交给内存缓存与持久化缓存时, 第一阶段写事务已完成。对于后端的写提交为一个新的写事务, 通过异步写操作执行。当提交给后端的写操作完成后, 缓存目录的后端版本号更新至提交该操作时的最新缓存版本号。缓存更新事件在任一状态时失败, 则可以通过缓存目录有效回滚回上一个状态点, 且重新执行该写事务, 保证了更新事务的原子性。

2.2 数据分布与置换策略

由于缓存设备的空间有限, 且内存存储空间远小于持久化设备的缓存空间, 当缓存空间不足时的换出策略则变成多级缓存的另一个重要问题。KVCache中内存缓存与持久化缓存之间采用直写策略。持久化缓存到后端采用写回策略。

KVCache使用LRU (Latest Recent Update) 替换算法来完成在缓存空间不足时的剔除管理。

由于目录缓存记录了所有在缓存中的数据, 因而系统在对象缓存数据被内存缓存LRU换出后, 并不需要因此对缓存目录进行修改;而当持久化缓存设备空间不足时, 系统则需要修改缓存目录。

KVCache通过LRU类来记录存储在内存缓存中的所有对象缓存项指针以及保存在缓存目录中的所有指针。LRU类以被更新时间作为视图, 记录被定义为LRU对象的指针列表。通过该方式, 只需要在每次更新内存缓存与更新缓存目录时, 通过将LRU指针列表中该项提到列表顶部, 则在空间不足时, 只需要将LRU对象底部指针指向的数据在缓存中删除则完成了系统的缓存替换算法。

2.3 实验与评估

实验环境基于SAN的架构, 存储设备中采用8GB的内存, 使用40GB的SSD作为KVCache的持久化缓存[3,6,7]。SAN与应用服务器采用1Gb以太网进行互联。测试模拟在数字图书馆的应用环境下的流媒体文件的顺序读写和小文件的随机读写为主的数据访问方式。

读写性能对比测试见图4。

实验结果表明, 在使用了KVCache的存储系统中, 所有压力测试节点的顺序读带宽总和为111MB/s, 顺序写带宽为113MB/s, 基本接近千兆网卡传输上限。

小文件的随机读写模拟测试通过二组数据完成: (a) 没有加入缓存系统随机读写测试。 (b) 使用300G空间进行持久化缓存随机读写测试。 (c) 使用16G内存空间进行缓存随机读写测试。

图5为模拟随机小文件写性能测试结果。横坐标为不同的客户节点, 纵坐标为每一个VM使用IOSTAT获取到的IOPS。通过对于总的IOPS计算发现, 内存缓存与SSD缓存得到了几乎相同的IOPS数。由于使用内存作为缓存的过程中, 系统内存空间上限为16G, 所以仅使用10G内存空间作为缓存。而系统的持久化缓存策略与内存缓存策略均使用写回方式, 因而内存缓存和持久化缓存获得了几乎相同的每秒吞吐量。同时可以看出由于KVCache使用了高速SSD进行缓存, I/O请求在一定范围内均在SSD中命中, 因而全面提升随机I/O的性能, 可以看到其拥有几乎仅使用HDD作为后端9倍的吞吐量。

如图6模拟随机小文件读性能上, KVCache使用SSD作为持久化缓存后的性能优势更明显。实验结果可见, 由于KVCache使用SSD作为缓存, 并且采用Keyvalue的方式进行缓存数据的更新, 使得其随机读总带宽达到26.11MB/s, 其读写性能基本上达到了内存读的性能。

3 结论

针对高校数字图书馆的多样化数据访问的应用环境, 提出了适用于数字图书馆应用环境的存储系统性能优化方法KVCache, 包括key-Value原子更新策略和数据分布与置换策略等内容。KVCache利用SSD闪存设备和key-Value技术实现缓存数据的缓存持久化存储, 并且利用多级存储下的两段更新事务原子性管理, 保证多级存储数据一致性和可靠性。

通过模拟实验表明KVCache有效的增加了存储系统中的数据在顺序读写、随机读写下的性能, 并且使其随机读写性能接近本地内存读写性能。

参考文献

[1]黎春兰, 邓仲华.信息资源视角下云计算面临的挑战[J].图书与情报, 2011 (3) :23-28.

[2]Fred Douglis and John K.Ousterhout.Beating the I/O bottleneck:A case for logstructured files systems.Technical Report UCB/CSD 88/467, University of California, Berkeley, October 1988.

[3]Howard Gobioff, Garth Gibson, and Doug Tygar.Security for network attached storage devices.Technical Report TR CMU-CS-97-185, Carniege Mellon, October 1997.

[4]Level DB.leveldb:A fast and lightweight key/value database library by Google.

[5]Alex Robson.Consistent Hashing.http://sharplearningcurve.com/blog/2010/09/27/consistenthashing/, September 2010.

[6]T.Clark.Designing Storage Area Networks:A Practical Reference for Implementing Fibre Channel and IP SANS (Second Edition) .Addison-Wesley Networking Basics Series, 2003.

[7]D.Nagle, G.Ganger, J.Butler, et al.Network Support for Network-Attached Storage.In:Proceedings of Hot Interconnects.18-20, 1999.

固态存储提升IT应用性能 篇2

LSI公司DAS和服务器存储解决方案市场营销总监Tony Afshary

为了提升工作效率,除了加快处理器的速度外,数据存取的方法也与系统效能息息相关。随着固态存储的出现,企业级存储系统的发展方向也有了新的变化,人们对传输速率高出传统硬盘两倍以上,同时省电、抗震、可靠性高的固态存储充满了期待。事实上,由于固态存储装置所具备的低功耗、小尺寸和散热需求等特性,使整个系统的总拥有成本进一步降低。

固态存储打开市场

目前,用于处理时延敏感型及关键任务应用环境的服务器已开始采用固态存储技术,在采用DAS的服务器市场中,固态存储通常被称为Tier 0。典型的例子当属华尔街的金融机构用于满足大批量实时市场交易所采用的超高性能应用。如今,Tier 0市场在整个DAS服务器市场中的份额还不足5%。

由于固态存储器件中使用的闪存成本不断下降,因此,更多的固态存储器件被部署到通常所说的Tier 1服务器市场。该服务器市场中的应用对随机的IOPS性能有较高的要求,用以更好地处理高强度的创收交易进程。一般来说,被频繁存取的活跃数据在这一层的存储时间不会超过一天。

当今市场上最常见的固态存储形式有固态硬盘(SSD)和完全集成固态存储模块的PCI Express存储适配器。SSD是一种可替代硬盘驱动器(HDD)的兼容型固态存储设备,能够方便地集成到采用HDD的现有存储环境中。与采用旋转介质的HDD相似,固态存储SSD也采用诸如SAS、SATA和光纤通道(Fibre Channel)等标准存储接口。由于PCI Express存储适配器完全安装在服务器内部,因此它占用的空间很小,却能实现最显著的性能提升,同时,它也是最便于安装和配置的。两种固态存储设备都能用做存储高速缓存或专用存储卷。

在企业环境中采用固态存储解决方案的主要目的是应用提速。配有MegaRAID FastPath SSD优化软件的LSI MegaRAID控制卡或配有内置固态存储功能的LSI WarpDrive SLP-300 PCIe卡均为DAS服务器存储市场中的主导产品。

新兴的闪存存储在企业应用中的另一个机会则是将固态存储用做高速缓存存储器。这方面的典型例子是使用LSI MegaRAID CacheCade软件,将SSD配置为二级缓存,用以实现事务处理I/O性能的最大化。这种方法的优势在于可以让缓存系统先观测数据访问的模式,然后确定将什么样的数据放在固态存储设备中,从而实现最大的性能优势。

固态存储的不同解决方案

在大多数情况下,用户或者管理员不必花费太多精力来关心SSD容量分配的性能优化问题。缓存系统会尽量将经常访问的数据放入SSD缓存,让较少被访问的数据安全地存储在一个或者多个HDD卷上。存储在SSD缓存和HDD卷上的数据均受到标准RAID数据冗余方案的保护。对管理员或最终用户来说,惟一要做的工作就是决定需要部署多少SSD,然后就可以用这些SSD对缓存系统进行配置。

在当今的企业环境中,实施固态存储最常用的方法是将其作为专用存储卷来使用,就像配置传统的旋转介质或者HDD的方法一样。虽然一对一替换旋转介质的成本较高,但性能提升和时延降低非常明显,特别是在需要对数据进行实时处理和分析的应用环境中,比如超低时延直接市场接入(ULLDMA)系统。

另一种方案是存储分级,常见于传统的大型共享存储数据中心环境,而且目前在服务器存储市场中发展势头强劲。该解决方案采用具有不同容量和性能的多种类型的存储介质。智能分级软件可以在构成整个存储池的各个存储介质卷之间动态地移动数据。这样就可以把最常访问的数据存储在性能最高的固态介质上,而将较少访问的数据分配给性价比最高的磁盘卷。

高速缓存解决方案和分级解决方案均可以采用多种方法部署,也都可以部署在主机服务器和存储子系统层级的各个层面上。将固态存储安装在服务器内或者直接附加到服务器的做法,不管是采用PCIe卡的形式还是采用SSD的形式,还具有一个优势,就是能够进一步降低存储时延。要实现尽可能高的存储性能,需要将存储资源尽量靠近服务器处理器,它们距离服务器越远,传输I/O请求所花费的时间就越多。

无论部署哪种方案,都仍然需要保护和动态监测存储在固态存储设备中的数据。通过采用高可用性的RAID算法和一些软件功能,可以保护用户数据免受SSD驱动器故障的影响。SSD Guard能够在检测到性能或者可靠性问题的时候自动将数据从SSD复制到指定的备用驱动器或新插入的驱动器中,从而确保数据的可用性。

固态存储的好处虽多,但目前仍不能完全替代硬盘。主要的原因在于它的成本仍然高出硬盘很多,而且存储容量仍然有限。因此,将固态存储用于高速缓存或分层存储是现在最具成本效益的做法。因为这两种做法只需要有限的存储容量,就能实现快速提升存储效能的目的。不过,当关键任务考虑对所有的应用数据进行访问,或者需要最大程度加强性能时,将所有的应用数据存储在专用固态存储设备上才是正确的方法。

采用固态存储用于高速缓存的方案还有一个值得一提的附加价值,那就是当繁重的工作负载从硬盘中被转移到固态存储重视,意味着硬盘本身的效能也随之被改善了。换个角度来看,过去专门负责关键任务的高效能硬盘非常昂贵,如今这个角色已转移给固态存储装置,因此只需要添加一些成本较低的一般硬盘就可以了。

虽然固态存储设备不容易出现HDD那样的机械故障,但值得注意的是,固态存储也会出故障,并会因读写次数的限制最终慢慢失效。因此,存储在固态存储设备中的数据仍然需要得到妥善的保护和监测。

高性能存储系统 篇3

1 相关技术国内外发展现状

从20世纪的70年代以来, 大多数计算机系统, 尤其是大型机, 采用传统的DAS (Direct—At—tached Storage) 方式直接连接存储设备。近几年, 随着计算机技术及网络技术的飞速发展, 使得高性能计算资源和大容量存储资源在物理上的分离成为可能。将高性能计算系统与大容量存储系统进行科学分离是计量管理的必然趋势。

2 该研究的设计原理

该研究的设计主要包括以下两个方面:首先, 改变连接模式的方面, 为了改变现有的DAS连接模式, 考虑到计量信息数据的海量性、重要性等因素, 该研究将采用移动存储和虚拟技术相结合的方式保证数据的安全;其次, 借助光纤通道技术搭建存储局域网, 计算资源与存储资源通过网络相连, 系统数据、用户数据和公共数据均存储在存储资源中, 通过管理台来管理系统数据和计算资源之间的映射关系。使得每一个计算资源都可以通过绑定某一个系统数据, 并分配相应的用户业务数据, 以构成特定的业务系统;其次, 大容量存储方面, 数据的安全靠数据存储的技术来保证。如今国内的政府行业或企事业单位正在进行数据中心的集中, 而不是集中服务器, 只有做到数据信息的共享, 全面收集数据并对其进行分析, 才能提高政府行业或企事业单位的工作效率, 才能真正做到利用基础数据对未来的发展进行决策分析。为了使存储系统拥有更安全的数据保护特性、更高的可靠性、更高的可用性、更灵活的扩展性及平滑增容的特性等, 该研究改变了拓扑连接技术, 利用目前公认最具有发展潜力的开放式SAN存储技术, 解决“信息孤岛”的问题。

3 与业务管理系统的衔接

为了将该项研究技术应用到实际工作中, 同时也验证其实用性, 特与吉林省能源计量数据采集分析系统相衔接, 该系统是一套面向全省的能源计量数据采集分析业务系统。它的工作目标是充分利用通讯网络、自动化控制等高新技术, 实现对重点用能单位能源计量工作的动态管理及对重点用能单位各耗能环节用能状况的实时监测和动态分析, 为用能单位内部和相关管理部门提供高效、及时、全面、准确的用能数据, 达到加强科学用能管理、挖掘节能潜力、分析耗能问题的综合节能降耗目标。政府节能主管部门可以通过对各项能耗数据实施全面监测, 准确及时地评估重点用能单位用能状况, 客观、公正、科学地评价节能降耗工作。该系统的架构图如图1所示。

存储系统如图2所示。

通过以上两个图可以看出该套业务系统不仅需要对基础信息的录入还需要对耗能现场的数据进行实时采集并加以计算最终形成分析统计的结果, 因此, 其访问量、存储量、计算量都相当庞大, 并且对系统的相应时间要求也比较高。而利用该项目的研究方法, 经过与公共计算平台的对接, 使得整个系统的业务处理能力得到很大的提升, 即系统连续服务时间:不间断;画面数据刷新时间:≤3 s;联机检索数据平均响应时间:≤5 s;网络平均负荷率:≤30%, 充分证明了该项目所提出的方案是合理的, 实际得到的结果是明显的。

该系统的研发来源于吉林省公共计算平台开放课题“基于计量管理信息平台的高性能计算系统与数据存储系统分离技术的研究”, 力图利用一种计算与存储的分离技术, 解决计量领域大数据的处理问题。并且通过将其应用于实际业务系统得到良好的实际效果。证明其具有很大的延伸性和发展空间, 具有很大的推广价值。

摘要:伴随经济的发展, 社会对高质量的专业计量服务、科学完善的质量管理体系、高效的办公自动化管理都有非常高的要求, 随之而来的是信息量急剧增加, 用户对计算机系统的高性能计算和大容量存储的需求不断增长。这使得高性能计算系统与大容量存储系统必然走向分离。基于此该研究提供了一个很好的思路与方案, 实现了对庞大计量数据存储与复杂性计算的分离。

关键词:高性能计算,大容量存储,数据存储

参考文献

[1]张伟伟.面向I/O密集型应用的高性能计算机存储系统性能优化方法研究[D].长沙:国防科学技术大学, 2012.

[2]徐海琛, 张献华.高性能计算技术与大容量存储技术概述[J].国土资源信息化, 2004 (4) :16-21.

高性能存储系统 篇4

值得一提的是,全球第一款USB供电的桌面硬盘——希捷Innov8凭借卓越的设计、创新科技以及超强的可靠性获得2016红点设计奖。希捷Innov8采用了业界领先的Ignition Boost技术,使用户无需外接电源便可获得8TB的海量存储,USB-C连接线的易用性也可轻松兼容目前市场上MacBook等最新的电脑设备,轻松读取他们的数据。

新的Porsche Design硬盘传承了Porsche Design时尚的设计,精致的铝合金材质表面与USB-C端口完美融合,以小巧的盘身交付了目前市场的最高存储容量。桌面硬盘更可以利用USB3.1的特性,在硬盘连接壁式插座电源充电时,同时给兼容的笔记本电脑充电。用户通过一条USB-C连接线,可同时给笔记本充电并使用硬盘;LaCie Chromé配备了超前的USB 3.1 Gen 2技术、USB-C连接以及两块500GB M.2 SATA固态硬盘,940MB/s的数据传输速度使其成为了市场上速度最快的USB存储解决方案。LaCie 12big Thunderbolt存储解决方案为消费者提供了高达96TB的存储容量,2600MB/s的传输速度可以轻松满足4/5/6K的视频编辑需求,其出众的设计和易用性成为视频编辑的完美选择。

据悉,所有发布产品将在京东和全球其他的消费电子产品零售商处发售。建议零售价分别是:希捷Innov8:2999元;LaCie Porsche Design移动硬盘948元(1TB)、1268元(2TB),1978元(4TB);LaCie Chromé 11848元(1TB)。

嵌入式系统中存储器性能研究 篇5

随着超大规模集成电路的制造工艺的进步,在单一芯片上动态随机存储器实现了更高密度的比特位,使得计算机系统在计算速度迅猛发展的同时,内存容量极大的扩大。伴随着集成度的提高,存储器单元呈现失效的可能性随之增大,失效的形式和原因也趋于更加复杂化[1,2,3]。存储器测试的目的是确保其每个单元能够存储数据并且惟一的寻址、读、写。存储器的测试面临两方面的要求:较高失效类型覆盖率,尽可能检测出潜在的存储器故障;较少的存储器操作,以便缩短检测时间。因此存储器测试应能够在一定的测试时间内得到可能的最佳故障覆盖率。由于对存储器进行物理检测是不可能的,可行的办法是将待测存储器的访存结果与认定无故障的存储器的访存结果做比较[4,5]。

1DRAM的原理及失效模型

动态内存的结构和ROM及SRAM有较大的不同。图1是动态内存的总体结构。内存单元按照行、列组成阵列。地址首先分为行地址和列地址,行地址经过译码器,选中一行内存单元。列地址选择数据输出到数据输出端。

图2是内存单元的结构图。动态内存使用一个晶体管和一个电容来存储一位数据。由于电容量很小,数据读出消耗电容上存储的电荷,读取以后需要重新对电容充电。并且由于电容自身的漏电,动态内存需要定期刷新。

图3是读写控制电路示意图。图中显示了读取1位数据的过程。假设这个单元存储的数据为“1”初始状态(图3(a)),电容电压为V,数据线D和D¯电压均为0.5 V,T1,T2,T3均截止。首先,T3导通,电容上的电荷使数据线D上电压为0.5 V+a。放大器对信号放大,使得数据线D上电压为V,D¯上电压为0,读出数据“1” (图3(b)),同时对电容充电,电容电压为V(图3(c))。 然后T3截止,T1,T2导通,数据线D,D¯上电压恢复为0.5 V。电路恢复初始状态(图3(d))。

假设存储器实效仅仅被单元状态的跳变所激活,即不考虑不改变状态的写操作时出现的失效。存储器的失效模型可以表述为如下:

(1) 粘滞实效(Stuck-at Faults,SF)。一个或多个存储器单元固定为s,s∈ (0,1),不因对该单元的读写而发生状态的变化。

(2) 组合实效(Coupling Faults,CF)。存储器某些位的跳变导致其他位的逻辑值发生非预期的变化。组合失效的产生归咎于单元物理上毗邻所产生的分布电容或者是单元间的电流泄漏。2个存储单元之间的组合失效称双组合实效。例如:对于单元j的一个0→1或是1→0的写操作将会改变i单元的内容,使之状态翻转。但是反之i单元的状态改变并不一定也会对j产生影响。

(3) 地址译码故障(Address Decoder Faults,AF)。有4种情况:某地址不能访问任何单元;某单元无法被任何地址访问;某地址可以同时访问多个单元;某单元可被多个地址访问到。

2测试用数据

由前节讨论可知,动态内存除了内存单元,还有地址译码器,选择器,控制器,放大器等部件。为此针对不同的部件,设计了不同的数据和读写方式来进行测试。

2.1 普通数据

普通数据就是全“0”或者全“1”。写入全“0”或者全“1”的数据,然后读取校验,来验证内存单元是否正常工作。

2.2 棋盘数据

图4表示了棋盘数据。在内存单阵列中写入如国际象棋棋盘一样的数据。由于与每一位数据相邻的数据都不一样,棋盘数据可以用来检测内存单元间的泄漏。

2.3 行带状数据

图5表示了行带状数据。采用行带状数据可以检测Word线之间的泄漏。

2.4 列带状数据

图6表示了列带状数据,用来检测Bit线(数据线)之间的泄漏。

2.5 移位数据

读取内存数据时,Word线选中一行内存单元,数据还要通过选择器,经过列地址选择,到达数据线。使用移位数据,使得每次只有一个数据引脚为1,其余都为0,检测相互是否有影响。

2.6 Waltz数据

前面介绍了使用行带状数据检测Word线之间的泄漏,为了检测相隔行的微弱的影响,可以使用Waltz数据。如图7所示。

3测试用读写方式

为了检测内存潜在的问题,除了设计一些测试用的数据,还设计了一些读写方式,和数据相结合来检测。

3.1 MSCAN

MSCAN读写方式是按地址递增顺序,首先写入0,然后仍然按照此顺序读出校验。MSCAN用来检测内存单元。

3.2 MARCH

MARCH 读写方式的检测对象是地址译码器。如果地址译码器有问题,就会产生多重选择的问题,即同一个地址对应多个内存单元,或者多个地址对应同一个内存单元。可以采用如下的读写方式来检测这种问题。如图8,首先顺序写入“0”,然后顺序校验,校验一个数据后立即将数据改为“1”,然后逆序校验,校验后立即将数据改为“0”。

3.3 MASEST

MASEST 读写方式的检测对象也是地址译码器。不过侧重于地址译码器的翻转噪声。按照图8中的顺序写入行带状数据,此顺序的目的是让地址译码器译码每次输出都尽可能多的翻转。然后在按此顺序校验,校验同时把数据翻转。最后顺序读取数据校验。

3.4 CMD

CMD 读写方式检测内存单元间的相互干涉。如图9,首先写入棋盘数据。然后按照如图9顺序校验。

3.5 ROW/COL组合

ROW/COL组合测试的对象是内存控制电路。内存单元阵列分为行和列,某一个行地址有效时,对某一个单元进行读/写组合的操作,由于内存单元需要定时刷新,这种操作可能对刷新造成影响。ROW/COL组合读取方式固定某一行,对一个单元进行读/写组合操作,验证刷新的影响。然后对同一行的下一列进行相同的操作。

4测试系统

上面讨论了用于测试内存的数据和读取方式。在实际组成的系统中,针对特定的测试对象,两者总是结合使用的。下面的表1列出了本测试系统测试的项目和相对应使用的数据和读取方式[6,7,8]。

前节讨论的数据和读取方式的时候,都是基于动态内存的实际结构,从内存单元矩阵行地址,列地址来分析的。实际应用过程中,内存控制器总是把内存单元矩阵映射成线性连续空间的。不同的芯片组会给出不同的映射方法。图10是Intel BX 440 芯片组的内存行列地址映射(128 MB)。本测试系统测试的时候需要了解硬件的结构,才能有效的找出内存潜在的缺陷。

测试系统基于嵌入式Linux操作系统[6,7,8],采用命令行方式运行,所有的输入采用配置文件来设定。下面给出了一个配置文件的例子:

[Intel 440BX]

RowStartpoint=15

ColumnStartpoint=3

BankStartpoint=13

[Intel Pentium III]

CPU_Cache_Way=8

CPU_Cache_Line=1024

CPU_Cache_Block=32

在正常和DRAM系统有故障的嵌入式系统下面分别得到了如图11的检测结果,从实验中可以发现有故障的系统在测试过程中某些测试项目无法通过,根据具体的情况就可以大致判断出故障的原因[9,10],这样就给系统设计者指明了改善系统性能的方向。

5结语

本文研究从动态内存的失效模型出发,针对不同的部件可能发生的问题,设计了检测用的数据和读取方式,将它们组合起来进行测试,可以更有效地检测动态内存中潜在的缺陷,具有高的失效类型的覆盖率。同时,动态内存测试作为嵌入式Linux测试系统的一个子系统[6,7,8]得到了国际计算机系统制造商富士通公司的认可。

参考文献

[1]蒋登峰,周娟.随机存取存储器故障分析及测试方案实现[J].中国计量学院学报,2010,21(3):257-262.

[2]张元敏,罗书克.基于单片机的大容量静态存储器接口设计[J].现代电子技术,2010,33(20):33-35.

[3]王天辉,马立元,张延生.基于LabVIEW的存储器检测系统研究[J].现代电子技术,2009,32(24):186-188.

[4]周少华,熊琦,杨红官,等.纳米存储器的多值逻辑设计研究[J].现代电子技术,2009,32(16):167-170.

[5]邓思园,于忠臣.嵌入式非易失性存储器在SoC物理设计中的应用[J].电子元器件应用,2010,12(11):22-27.

[6]袁杰,都思丹,高敦堂.基于Intranet/Internet的Linux测试系统[J].计算机应用,2003,23(6):60-65.

[7]吉昂,袁杰,卞春华.Linux平台上的网络测试系统研究[J].现代电子技术,2010,33(20):110-113.

[8]夏寒,袁杰,都思丹.基于CIM的通用诊断系统的研究与实现[J].计算机应用,2002,22(2):65-67.

[9]于文考,高成,张栋.基于March C-算法的单片机存储器测试[J].现代电子技术,2010,33(6):19-21.

高性能存储系统 篇6

关键词:开关电流存储单元,时钟馈通误差,双线性积分器

开关电流技术是近年来出现的一种新的模拟信号采样、保持、处理技术。与已成熟的开关电容技术相比,开关电流技术不需要线性电容和高性能运算放大器,整个电路均由MOS管构成,因此可与标准数字CMOS工艺兼容,与数字电路使用相同工艺并集成在同一块芯片上,这预示着它将在数模混合集成电路的发展中扮演重要角色。但是开关电流电路中存在一些非理想因素,其中时钟馈通误差尤为突出,它直接影响到电路的性能。近年来,国际上已提出了一些减少时钟馈通误差的技术方案,它们有的是利用复杂的时钟电路算法存储单元技术[1,2],有的是利用复杂电路结构的差分时钟馈通衰减技术(DCFA)[3]和零电压开关技术[6],还有的是只取消部分误差的补偿方案[7,8]等。最近,有人提出了时钟馈通误差完全补偿方案[8],但是结构较为复杂。

本文在第一代开关电流存储单元的基础上,对时钟馈通误差的产生机理做了一些近似处理,分析了时钟馈通误差的主要因素,提出了一种新的时钟馈通误差补偿方案。该方案仅在第一代开关电流存储单元的基础上增加了一个可吸收钟馈电流的MOS管,使误差降为原来的4%,是同类研究中最简单的结构。同时用它构造了双线性积分器,可作为滤波器、Σ-△调制器等系统的基本模块。

1 时钟馈通误差分析

图1为第一代开关电流存储单元,MOS管的主要寄生电容已在图中标出。Vφ为时钟信号,时钟高电平期间Vφ=VH,低电平期间Vφ=VL。M2的栅电压为Vgs2。

时钟高电平期间,C1上的电荷为:

时钟低电平期间,C1上的电荷为:

这里做了近似,事实上,当时钟跳变时,Vgs2会发生变化。

时钟高低电平跳变时,C1的电荷变化Q1将注入到M2的栅极,引起栅电压的变化。

同时,开关管Ms关断时的沟道电荷Qs也将注入到M2的栅极。

式中VT是Ms的阈值电压,As是Ms的面积。当时钟信号跳变较快时,Ms关断,导电沟道瞬间消失,Ms漏、源两端的电荷没有足够的时间进行互通,可近似认为Qs分成相等的两部份分别注入到M1、M2的栅电容上[7]。所以注入到M2栅极的总电荷Q为:

由于电荷注入而引起的M2栅电压变化为:

A1、Ags2分别是交叠电容C1、Cgs2的面积。

2 高性能开关电流存储单元

高性能开关电流存储单元如图2。与第一代存储单元相比,增加了MOS管M0,M0的栅源、栅漏电容Cgs0、Cgd0与Cgs2并联,一般可认为Cgs0=Cgd0,设Ags0为Cgs0的面积,则式(4)可变为:

比较(4)、(5)两式可知,只要M0的尺寸大且M2的尺寸小,△Vgs2将会大大减小,从而减小时钟馈通误差。

虽然以上分析做了一些近似和假设,但是足以说明增加MOS管M0有助于显著减小时钟馈通误差。图3给出了高性能开关电流存储单元的具体实现电路。图中VR、VP、VN由MOS管M11~M16组成的电路提供。φ1、φ2是两相不重叠的时钟信号。

3 性能对比

分别对第一代开关电流存储单元和高性能开关电流存储单元仿真,输入电流为50μA,200 kHz的正弦信号,采样频率5 MHz,结果见图4。表1中测量了两者的误差,其中ii表示t时刻的输入电流,io1为第一代开关电流存储单元产生的误差电流(即相同时刻输出电流减去输入电流的差值),io2为高性能开关电流存储单元产生的误差电流。由表中数据可以计算出高性能开关电流存储单元产生的平均误差仅为第一代开关电流存储单元产生的平均误差的4%。

4 应用

开关电流存储单元的传输函数为H(z)=-z-1/2,所以两个存储单元级联就可构成z-1。双线性积分器的传输函数为。按照图5的接法构造双线性积分器。因为处理的是电流信号,为保证各支路电流不会互相干扰,需用分流器将各支路电流分开。分流器主要由电流镜构成,作用是将上一级的输入电流通过电流镜的镜像作用复制出两个与上一级输入电流大小、方向均相同的电流。其中,分流器1由普通电流镜构成,分流器2产生反馈电流的部分由高输出阻抗电流镜构成,保证反馈电流不衰减。仿真结果见图6。图中ii为振幅10μA、200 kHz的输入信号;io为输出信号;iR为参考电流信号,用来检验输出波形是否失真。仿真结果表明,输入电流经过双线性积分器后移相90°,正弦波变为余弦波,并且输出波形无失真,表明积分器的性能很好。这种双线性积分器可作为滤波器、Σ-△调制器等系统的基本模块。

严格地说,用开关电流技术无法构成完美的双线性积分器,这是因为无法做到各级输出阻抗无穷大而会使信号在传输过程中衰减。尽管如此,本文的双线性积分器已能满足绝大多数场合的应用。限于篇幅,关于积分器的误差问题在这里不做讨论。

开关电流电路的最大优点是整个电路由MOS管构成,无电阻、电容、电感,易于集成,可与标准数字CMOS工艺兼容。这一优势预示着开关电流技术将在以后的数模混合集成电路中有广阔的发展前景。

参考文献

[1]HUGHES J B,MOULDING K W.A switched-current tech-nique for high performance.Electron Lett,1993,29(16):1400.

[2]TOUMAZOU C,Xiao S.n-step charge injection cancellation scheme for very accurate switched current circuits.Electron Lett,1994,30(9):680.

[3]WU C Y,CHENG C C,CHO J J.Precise CMOS current sample/hold circuits using differential clock feedthrough attenuation techniques.IEEE J Solid-State Circuits,1995,30(1):76.

[4]NAIRN D G.Zero-voltage switching in switched-current circuits.IEEE Proc Int Symp Circuits and Systems.London,UK,1994:5289.

[5]YANG H C,FIEZ T S,ALLSTOT D J.Current-feedthrough effects and cancellation techniques in switched-current cir-cuits.IEEE Proc Int Symp Circuits and Systems.New Orleans,1990:3186.

[6]SONG M,LEE Y,KIM W.A clock feedthrough reduction circuit for switched-current systems.IEEE J Solid-State Circuits,1993,28(2):133.

[7]WEGMANN G,VITTOZ E A,RAHALI F.Charge injection in analog MOS switches.IEEE J Solid-State Circuits,1987,SC-22(6):1091.

[8]李拥平,石寅.一种开关电流电路时钟馈通的补偿技术[J].半导体学报,2003,24(7).

[9]Phillip E.Allen,Douglas R.Holberg.CMOS模拟集成电路设计.冯军,李智群译.北京:电子工业出版社,2005.

高性能存储系统 篇7

本次参展,昆腾公司主推Xcellis共享工作流存储,参展嘉宾络绎不绝地在昆腾展位(8B36)体验XcellisTM共享工作流存储系统开发的嵌入式应用,详细了解昆腾4K/8K后期制作核心平台。

昆腾Xcellis针对端到端工作流而优化,让用户在交付促进其业务发展的产品和服务的过程中,能够提高效率、生产力和创造力。它不仅具备顶尖的性能,可以满足超大规模的4K甚至8K制作和编辑;还具备提供低成本的海量存储,满足几年、甚至数十年的超长周期安全保存数据。昆腾Xcellis是模块化构架,提供灵活的配置和可扩展性选项来降低部署的成本和复杂性,同时推动智能、简单且经济的增长。

昆腾Xcellis充分利用StorNext 5平台,提供内容制作、分发和归档以满足苛刻的制作与交付期限所需的性能和可靠性。昆腾StorNext是专为加快复杂信息工作流而设计的高性能共享存储。除了Xcellis工作流存储解决方案外,扩展在线存储以及磁带归档也由StorNext 5数据管理支持。

昆腾StorNext是面临着最艰难数据管理挑战的企业和机构而言的最佳选择,能够支持工作流,并确保日常工作的开展。每天,人们都会制作新的电影,进行基因测序、开展科学研究和保卫国家安全。借助StorNext,企业和机构将获得全球最好的智能数据管理,将性能、规模、灵活性和经济性完美融合。

分析存储性能优化监控配置 篇8

存储作为道路视频监控系统的关键后端设备, 用于集中存储前端高清摄像机输出的数字视频流。由于其技术复杂, 可靠性要求高, 其造价在整个监控项目设备造价中占比较高的比重, 一般占监控设备造价的1/4~1/3。

机房中存储的配置数量取决于前端监控点位数量、存储的视频流大小、保存的天数、设备性能指标的限制、Raid方式、硬盘的盘位数量和硬盘的容量等因数。下文通过对存储系统的设计分析, 找出优化配置的突破口, 对实际案例进行优化, 体现配置微创新带来的效益。

2 存储系统介绍

监控中心存储系统采用CVR存储方式, 对前端治安监控点及卡口全景录像单元的实时视频流进行保存, 按照每秒25帧、实时存储日期为30天。

目前, 从系统的兼容性、稳定性、可靠性及高性价比角度出发, 同时考虑到保护已有的投资, 选择了基于IP网络架构的视频流直接存储方案。视频流直接存储系统, 在实现低成本数据安全集中、冗余备份的同时, 能有效提高存储资源的利用率, 减少存储用电量。

2.1 存储模式分析

1) 支持高清应用:支持百万像素级高清IP摄像机直接接入存储, 无需配置服务器做视频转发。

2) 存储可靠性高:CVR支持RAID技术, 存储服务可靠性高。

3) 灵活的录像配置方式:不同监控点可选择不同时间长度、不同录像方式进行录像, 且可动态更改。

4) 采用流式存储:可对录像文件进行流式管理, 根据需要能便利节选所需片段, 提高录像数据管理能力和效率。

5) 扩展便利:系统存储容量、前端监控点数量、接入视频专网数量可基于IP网络灵活扩展。

6) 可管理性强:基于网络实现对监控设备的统一管理;基于网络实现对监控数据统一管理。

2.2 CVR存储流

存储数据流如图1所以。

1) 存储流:高清前端的视频流可直写到CVR存储系统。

2) 实时流:流媒体服务器从高清前端获取实时视频流, 将实时视频流转发给各个客户端。

3) 回放流:客户端可直接从CVR获取回放视频流。

2.3 卡口图片存储容量计算

按照每张图片400KB, 每个车道每天通过的6000辆车来计算所需的容量。

3 存储系统设计分析

中心存储系统一般需要集中存储3种信息——车辆号牌等动态数据信息、车辆图片信息和车辆视频信息, 因数据保存时间长、数据量很大, 各类数据应根据数据类型、特点及重要性进行区别存储。对于核心数据, 应当以确保数据绝对安全及高速读写为核心目标;对于一般数据, 应当在保障数据稳定、满足存储速度和安全需求的条件下, 以降低单位容量存储成本为主要目标。同时, 存储系统设计应当充分考虑项目未来扩展的可能性, 确保在存储容量需求进一步增加的情况下, 能够简单、快速地进行系统扩容, 不得出现扩容困难或受限于系统初始设计等问题。

3.1 数据存储设计

每辆车辆的号牌等动态数据信息量为0.4KB/条, 按单车道日均6000辆流量估算, 每条车道的数据信息量按不同存储时间的容量计算公式如下:

表1为不同车道数量和不同保存时间的数据存储容量。

按照单车道日均6000辆流量估算, 不同车道规模和不同保存时间情况下的信息记录条数见表2。

对于超大数据量, 数据库软件选用Oracle 10GB正版数据库, 可支持8EB的超大数据量, 支持双机热备。

数据库存储系统选用高性能服务器, 具有数据绝对安全、对块的快速定位查询以及高速读写能力, 存储媒介使用高性能硬盘;同时, 存储系统1台数据库热备服务器用于系统级冗余备份, 热备服务器选用与数据库主服务器同系列的服务器。

3.2 图片存储设计

车辆图片信息采用JPEG编码格式, 符合ISO/IEC1544∶2000要求, 压缩因子不高于70, 200万高清摄像机输出照片文件平均大小为400KB, 按单车道日均6000辆流量估算, 每条车道的图片信息按不同存储时间的容量计算公式如下:

表3为不同车道数量和不同保存时间的数据存储容量。

3.3 视频存储设计

以每方向1台200万像素全景监控摄像机, 输出8MB码流、25fps@1920×1080分辨率视频流为例, 不同路数和不同保存时间下的存储空间如表4所示。

4 优化案例分析

4.1 存储容量的计算

以200个200万像素高清监控, 30个300万像素视频卡口, 以及海康威视的存储DS-AS82024D为例进行计算。

1) 硬盘数量

高清监控每一路的录像数据存储时间为30天, 图片数据存储为180天。实际需要的磁盘空间计算如下:

故录像需要磁盘空间为310.2TB, 图片需要磁盘空间为16.48TB。

考虑到硬盘格式化损耗10%及RAID5设置, 本项目录像实际需要24盘位磁盘阵列8台, 2T企业级硬盘数量为192块;车辆过车实际需要24盘位磁盘阵列1台, 硬盘数量14块。

2) 存储性能的核算

海康威视的存储DS-AS82024D接入前端摄像机的路数受性能指标的限制, 其路数包括录像+回放D1 (2Mbps) 240路数, 合计带宽480Mbps。

以上案例中每台存储的接入带宽平均为 (200×4+30×6) /8=122.5Mbps, 其小于480Mbps, 满足设备性能要求。

4.2 存储设备数量的优化突破口

对以上的存储设备数量的计算过程进行分析, 可看出硬盘容量作为分母, 决定着存储设备的数量;而随着超大容量硬盘的技术逐渐成熟, 4T硬盘已经开始应用, 如果采用4T硬盘, 在满足存储要求的前提下, 则存储的配置数量会减少一半。

下一步需要对存储的性能进行核算。仍按上例, 重新计算每台存储的接入带宽平均为 (200×4+30×6) /4=245Mbps, 其小于480Mbps, 同样满足设备性能要求。至此, 对存储配置数量的优化工作完毕, 使视频存储数量从8台减少一半, 变成4台, 而4T硬盘的造价则基本是2T的一倍, 这样优化后的硬盘造价基本不变, 而存储的造价则降低一半。

5 结束语

浅谈企业数据中心的存储性能优化 篇9

随着经济全球化和信息国际化, 信息技术逐渐成为了企业改进作业流程、降低成本、提高竞争力的强有力手段。信息化的建设中心总是围绕着应用的交付和数据中心的建设两个方面。近年, 连云港港先后建成使用了二十余个大型信息系统:集装箱管理系统、散杂货公司调度与商务系统、港口货源信息系统、港口计划统计系统、港口物资管理系统、港口计件工资系统、港口机电设备管理系统、港口海关监管系统、港口主题数据库、港口信息门户网站、港口船舶调度系统以及轮驳公司与引航公司等衍生系统、港口边检业务网上受理系统、港口理货业务管理系统等近二十余个系统。这些系统已经基本成为港口集团各单位支撑业务运作的核心系统, 也给连云港港口带来了实实在在的经济效益和社会效益。

应用系统的普及让我们对信息系统的依赖程度空前增强, 不得不去考虑数据的安全存储、数据的备份、数据的深度挖掘等内容, 服务性能的优化、从一般意义上的信息中心向企业数据中心的转变直接摆在我们的面前。

2 需求分析

现在, 各大中企业都在兴建信息中心。开始时都有比较好的规划, 但随着企业发展, 业务的要求随市场变化, 对信息中心的要求也不停的变化, 当经过几个时期建设时, 信息中心很可能成为短期应对项目而建设, 造成各自为政, 迷失了规划的方向。常见的现象是:各个系统独立, 那个部分不足就升级或更换更强的设备。实际上, 这样的做法是非常浪费的。

信息中心主要包含接入设备、服务器、数据库和应用系统、网络设备、存储、安全和信息系统管理设备等, 是一个整体系统, 投资建设时就应该考虑到整体性和灵活适应性。我们来看看几个方面。

一般我们会给每个应用系统分配独立的服务器, 若这个应用非常重要, 那我们就会配置两台做冗余。随着业务发展, 使用人数越来越多, 但台服务器性能无法满足时, 我们会考虑用更强壮的服务器。若某些应用使用比较少, 或者偶尔性能要求比较高, 基于兼容性、可维护的角度考虑, 我们依然要配置一个单独的服务器。随着系统越来越多, 信息中心的服务器数量越来越多, 几十上百的服务器随处可见。大量的服务器利用率其实不高, 但依然一样的耗电, 一样的需要维护和管理, 一样的需要花钱维保。解决这些问题的方法基本由两个:服务器整合和服务器集群。

服务器整合是指把几台利用率不高的, 或者是出现错时高峰的服务器整合到一台服务器上, 以提高单台服务器的利用率。因整合带来服务器数量的大幅减少, 同时降低运营费用。这个领域最具代表性的是VMware。这种方法能解决部分问题, 但若同种应用或具有同样峰值要求的环境VM ware就无法解决。这时, 我们可以用服务器集群来解决。服务器集群是上个世纪90年代就开始发展的, 有硬件也有软件的模式, 发展到后来, 硬件模式的简单可管理和不影响原服务器性能等优点占了主流, 最具代表性的有F5等, 可以有30多种的负载均衡算法支持, 并且可以随需自动变换。

服务器端相对比较独立, 容易解决。而服务器后端相对就比较复杂, 包括数据库、存储等, 而且还需要互相配合才能达到最优。比如数据库系统存储空间分配方面, 最频繁读写的是Redo Log和tmp临时空间, 而实际的Data可能对性能的要求没有这么高, 所以我们需要把最优性能的存储空间分配给它们, 才能达到整体较优。如下图标红的表明是读写最高的数据块, 实际只占很少一部分, 但我们把两个Redo Log放在同一组存储空间中时, 一定会出现资源争用, 从而影响两个数据库的性能。

3 存储优化的方法

那如何合理规划分配存储, 达到性能最优化呢?我们来看看几个基本方面:磁盘阵列柜内优化、存储性能监控调优、结构调整。

柜内优化可以从几个方面进行。最先可以考虑的是升级盘阵操作系统 (微码) , 用最新的版本来达到较优的性能。其次可以考虑硬盘方面。按照磁盘RAID的特性, 不同类型的RAID类型会有不用的性能表现, 如RAID0就比RAID5性能要好, 只是总体可用容量少了。同是RAID5也有性能差异, 按照每个厂商的不同, 一般到十几个硬盘的情况下性能达到最佳。

几乎所有的盘阵都会配置大量的缓存, 缓存的读写分配也会影响性能。针对不同的应用特性我们需要分配不同多少的缓存。

有些极端的性能要求的, 还可以使用企业级的闪盘 (Flash Disk) 来支持。企业级闪盘有非常优异的性能特点, 比如读写IO比磁记录硬盘高几十倍, 同时随着IO的增多, 响应延时几乎保持稳定。详见右图, 可以看出, 随着IO数量到一定值, 由高性能光纤硬盘组成的RAID组响应的时间急剧上升, 而闪存盘则保持几个毫秒响应时间的优美特性。

对于纯粹的性能来讲, 上述方法都是有效的, 但在众多应用系统中, 企业占到最多资源的很有可能不是核心业务, 也即非核心业务很有可能和核心业务同台竞技, 争抢资源。这样就造成核心业务响应比较慢, 即使升级到较高一级的设备也没有明显效果。在网络领域是用Qo S来解决的, 在存储中是否也有这样的工具呢?个别厂商已经考虑了这些需求, 比如EMC, 在中端盘阵CLARii ON系列中就可以选择N Q M (N a v i s p h e r e Q u a l i t y o f S e r v i c e Manager) 软件来监控和调配性能使用, 保证主要的性能分配给核心的业务。这些调配可以按照吞吐量、带宽、响应时间等参数来设置。

另外一个需要考虑的是服务器和存储之间连接的性能问题。若存储性能足够, 服务器性能也很好, 很有可能连接它们的链路是个瓶颈。我们需要配备链路冗余等软件来达到多条线路负载均衡, 消除瓶颈。

除了上述局部的性能调优外, 还有其他策略性的调优方法。比如一个企业, 总有数据量约10TB, 包括OLTP的数据库应用数据、Email数据、文件共享数据等。这个企业采购10TB容量的盘阵, 所有数据都放在一个盘阵中。实际大多数企业的数据经常使用的只占20%, 那也就意味着不大用的80%的数据影响了整个盘阵的性能, 尤其是需要对数据进行保护时, 花在备份不常用数据的时间比常用数据长4倍。所以, 我们会考虑把不常用的部分数据移出主要存储设备, 放到比较稳固的存储设备上, 比如EMC的Centera, 需要的时候可以直接访问, 即不影响访问的便利性, 又可以给主存储设备瘦身而达到性能的提高。

结语

上一篇:陶文化下一篇:网站流量统计论文