msgbartop
List for SAS fans and programmer
msgbarbottom

03 8月 11 SAS爱好者专用电脑配置建议 by sxlion


前言:
大家经常讨论SAS软件方面的技术问题,而对硬件关注相对较少,因此这里根据本人最近的配机经验,结合资料介绍运行SAS系统的硬件情况,给大家一个这方面的参考。 非常感谢张磊IDMer,文彤老师,shiyiming,kuhasu对本文草稿进行了很多重要建议和补充,本文才得以完善 !

正文:
一般来说,SAS系统运行环境对硬件要求不高,普通的电脑可以满足常规的小规模数据分析,但是遇到数据量大或分析任务比较重,机器不给力的情况下,那么配机或升级硬件的时候不妨在考虑的时候参考一下下面的建议。

SAS提供了很多优化程序的方法来提高速度,包括版本更新、系统选项、程序选项和新的高效方法等等,但是这都是从软件方面来优化的,作为SAS用户,如果我们需要配置一台性价比高的机器的话,我们就需要考虑哪些硬件会影响SAS运行速度的硬件,主要从三个方面来考虑即:CPU,内存,硬盘读写和IO速度 。From saslist.net

CPU

    一般来说,CPU是机器大脑,核频率和数量越多越好,不过对于SAS来说,主流的CPU都足够运算。跑SAS,一般都是IO限制成了瓶颈。我们可以通过log窗口可知每个程序消耗的cpu时间cpu time和实际时间real time,通过这些数据,就可以知道程序运行过程中机器的短板。在数据读写较多时候,一般都是realtime远大于cpu time,存在IO速度瓶颈;如果cputime接近realtime,那么存在CPU速度瓶颈。这样的话,你就知道该怎么办了。

好像记得多年前有个IT高层聚会的新闻报道,有张照片是 SAS的老板Goodnight将一个16核的CPU放在手上把玩,那时双核才开始流行。当时报道顺便提到,好象是说多使用一倍个数内核的license就要多收一倍的钱,真黑啊 !不过可能是传言,但是至少说明一点,SAS一直走在技术前沿。到现在多核开始普及后,SAS的license确实是内核越多越贵,但不是简单按内核个数来算的,是根据MIPS来分组确定价格(此条信息由SAS公司@张磊IDMer提供)。

注:用系统options threads;来保证开启多线程,SAS9.2以后都是默认多线程的。

建议:买一般的主流CPU就可以了,不过这个因素影响很小,当然预算充足的话,核越多越好。现在普通用途的CPU,Intel酷睿系列i3,i5,i7,四核,六核都出来了。

内存

    现在的内存白菜价,DDR3的4G,京东做活动只要159元。个人机的话,看主板最大的内存支持是多大,可以根据自己需要尽量买。@张磊IDMer建议:CPU内核个数 vs 内存 大约在1:4左右,即1个内核配4G内存左右。如果运算复杂程度不算很大,1:2也可以作为基本配置。                      saslist.net

内存大了有很多好处,比如:

1,做虚拟硬盘,在定义libname的时候,使用SAS的选项MEMLIB和MEMCACHE即可(例 libname inmemory “g:\memlib” memlib;),可以作为临时数据集,满足小规模数据(不超过闲置内存大小,内存超界容易引起死机。)的高速的IO需求,也可以作为大SAS库文件的缓冲;

2,会SAS的,多多少少会用到R的,因为R全部把数据都读到内存,因此用起R来,也很快的;

3,一些大型的工程运算软件,如MATLAB,PROE,还有ANSYS等较多临时数据和图形方面的运算也需要大内存支持。

    注意:系统要装64位的win7(如旗舰版)或其他服务器版本,因为32位的微软操作系统最大支持4G内存。SAS现在几乎支持除了苹果Mac OS系统外的所有主流操作系统,包括64位的系统Windows、AIX、HP-UNIX、LINUX、Solaris等(此条信息由@张磊IDMer提供)。

硬盘

    一般来说,SAS的数据主要考虑二个部分:1,临时数据;2,永久数据。临时数据就是那些中间过程数据,被反复的频繁读入写出,但是一旦使用完就可以删掉;而永久数据一般都是原始数据(读出)、整理好(读写)或分析结果数据(写入),不经常读写,但是非常重要,最好稳定可靠,不容易丢失。(如果是windows系统,建议配多块硬盘,而不是一块大硬盘,同时将work与您的数据分盘存放,以避免I/O瓶颈。最好是将临时数据集和永久数据分到不同的硬盘存放,以避免IO瓶颈。建议by @张磊IDMer

有一个众所周知的道理,那就是既满足读写快,又稳定可靠的储存方式是非常贵的。如果需要一个性价比高的方案,那就是,将稳定可靠但比较慢的储存方式和速度很快但稳定性一般的储存方式结合起来。对于SAS来说,软件上很好实现,只需要指定一下数据集的位置就可以了。

下面来考虑下硬件情况:

单个IDE,SATA接口的硬盘肯定是一般般的,目前好像固态硬盘SSD很快,其实它并不适合SAS,因为SSD不适合数据读写非常频繁的SAS操作,它的特点有:

1, 读非常快,写一般;

2,  寿命不如普通硬盘长,放数据不安全;

3,  目前看来,价格还是很贵的,100G的都要1500左右,容量大小是个问题。

因此磁盘阵列仍然是跑SAS的高性价比方案的首选。

然后我们了解下磁盘阵列:

————————– 下面是扩展阅读,不感兴趣可略去 saslist.net   ——————————

-RAID-0无差错控制的带区组:读写性能最大化,但不考虑数据冗余即备份,适合SAS临时数据集work,运行计算时使用。

– RAID-1镜像结构: 适合做数据备份,提供数据最大的安全保护,读写性能与单盘相当。

– RAID-5分布式奇偶校验的独立磁盘结构,考虑性能和冗余的平衡,读出效率高,写入效率低。适合SAS永久数据存储(如数据仓库,数据库,数据集)。

RAID 0+1 即RAID10兼具有RAID0和RAID1的特点,即快,也很可靠,但是控制器复杂,价格贵。

Ps:Raid0,Raid1两个就可以组里,raid5好像最少需要三个硬盘,而raid10更浪费最少需要四个。Raid0的硬盘容量为硬盘容量综合,Raid1只有单个硬盘那么大,Raid5和10只有总硬盘容量的75%。

除了知道各种硬盘阵列方式方式外,还需要了解各种硬盘接口(对应的接口硬盘这里就不罗嗦了)。


4接口IDE阵列卡

IDE
 IDE的英文全称为“Integrated Drive Electronics”,即“电子集成驱动器”,它的本意是指把“硬盘控制器”与“盘体”集成在一起的硬盘驱动器。把盘体与控制器集成在一起的做法减少了硬盘接口的电缆数目与长度,数据传输的可靠性得到了增强,硬盘制造起来变得更容易,因为硬盘生产厂商不需要再担心自己的硬盘是否与其它厂商生产的控制器兼容。对用户而言,硬盘安装起来也更为方便。IDE这一接口技术从诞生至今就一直在不断发展,性能也不断的提高,其拥有的价格低廉、兼容性强的特点,为其造就了其它类型硬盘无法替代的地位。 IDE代表着硬盘的一种类型,但在实际的应用中,人们也习惯用IDE来称呼最早出现IDE类型硬盘ATA-1,这种类型的接口随着接口技术的发展已经被淘汰了,而其后发展分支出更多类型的硬盘接口,比如ATA、Ultra ATA、DMA、Ultra DMA等接口都属于IDE硬盘。

5接口SATA阵列卡

SATA

使用SATA(Serial ATA)口的硬盘又叫串口硬盘,是未来PC机硬盘的趋势。2001年,由Intel、APT、Dell、IBM、希捷、迈拓这几大厂商组成的Serial ATA委员会正式确立了Serial ATA 1.0规范,2002年,虽然串行ATA的相关设备还未正式上市,但Serial ATA委员会已抢先确立了Serial ATA 2.0规范。Serial ATA采用串行连接方式,串行ATA总线使用嵌入式时钟信号,具备了更强的纠错能力,与以往相比其最大的区别在于能对传输指令(不仅仅是数据)进行检查,如果发现错误会自动矫正,这在很大程度上提高了数据传输的可靠性。串行接口还具有结构简单、支持热插拔的优点。

8接口SAS阵列卡

SCSI,即所谓的SAS接口(Google的时候经常碰到与SAS搞混搞混的情况)

SCSI的英文全称为“Small Computer System Interface”(小型计算机系统接口),是同IDE(ATA)完全不同的接口,IDE接口是普通PC的标准接口,而SCSI并不是专门为硬盘设计的接口,是一种广泛应用于小型机上的高速数据传输技术。SCSI接口具有应用范围广、多任务、带宽大、CPU占用率低,以及热插拔等优点,但较高的价格使得它很难如IDE硬盘般普及,因此SCSI硬盘主要应用于中、高端服务器和高档工作站中。

双接口光纤通道卡

 光纤通道

光纤通道的英文拼写是Fibre Channel,和SCIS接口一样光纤通道最初也不是为硬盘设计开发的接口技术,是专门为网络系统设计的,但随着存储系统对速度的需求,才逐渐应用到硬盘系统中。光纤通道硬盘是为提高多硬盘存储系统的速度和灵活性才开发的,它的出现大大提高了多硬盘系统的通信速度。光纤通道的主要特性有:热插拔性、高速带宽、远程连接、连接设备数量大等。光纤通道是为在像服务器这样的多硬盘系统环境而设计,能满足高端工作站、服务器、海量存储子网络、外设间通过集线器、交换机和点对点连接进行双向、串行数据通讯等系统对高数据传输率的要求。

 ————————————   扩展阅读结束,继续看下面 —————————————–

了解了磁盘陈列和硬盘的情况,我们就可以根据自己的需要来选择合适的存储方案。比较推荐的方案为用RAID0阵列来放SAS临时数据work,用RAID5或RAID10来放永久数据。

实际情况中,个人使用的话,如果只考虑性能最大化推荐磁盘阵列 RAID0,不过注意备份。 当然现在IDE的硬盘很便宜,120G7200转全新只要100元左右,如果你的主板不支持raid或者没有IDE插槽的话,买一个PCI转IDE阵列卡(50元左右)就可以了。目前的主流配置是SATA2或3的硬盘接口,所以买一个容量够大的SATA接口硬盘做系统和资料盘,然后花500元左右配一个4IDE接口的整列盘,还是性价比很高的。(如果你觉得这样还不行,参照下面的。)

公司或实验室的小型服务器的话,系统和永久数据集都是用Raid5,预算充足的话用Raid10,临时数据集work使用Raid0。 当然,全部都用SATA或SAS接口的硬盘来组阵列。

大型服务器的话考虑上光纤接口卡和光纤接口的硬盘(待补充)。

其他硬件:主板当然需要支持上面所有硬件才行,也是非常重要的,整体性能和兼容性方面需要考虑;显卡,声卡,网卡,显示器都酌情考虑就可以了,没有特别讲究。 From saslist.net

@张磊IDMer 评论:关于如何配置SAS系统的服务器,其实要考虑的问题的确很多,包括要处理的数据量、并发用户数、主要做哪些分析任务(又分为Light、Medium、Heavy、Batch等)、要求的响应时间等等。然后根据这些信息才能够比较准确地估算出合适的配置。当然对于SAS爱好者来说,无法算得这么仔细,我的个人感觉是多考虑I/O。

参考:

  1. 硬盘接口介绍 http://publish.it168.com/cword/1274.shtml
  2. 磁盘阵列介绍 http://fanqiang.chinaunix.net/a3/b1/20010816/0700001129.html
  3. 磁盘阵列的选择 http://listserv.uga.edu/cgi-bin/wa?A2=ind9812c&L=sas-l&D=0&P=4795

原创文章: ”SAS爱好者专用电脑配置建议 by sxlion“,转载请注明: 转自SAS资源资讯列表

本文链接地址: http://saslist.net/archives/154


Leave a Comment