生信人

找回密码
立即注册
搜索
热搜: 活动 交友 discuz
发新帖

0

收听

12

听众

278

主题
发表于 2022-7-5 20:01:42 | 查看: 664| 回复: 1
       如果想要搭建自己的计算平台,首先要购买服务器,本节内容我们将介绍服务器硬件相关的内容。前面介绍过计算资源无上限要求,要满足最低下限要求。而且服务器具有较大的扩展性,可以根据实际情况进行扩展。而且服务器都是模块化的,根据自己的预算,选择适合自己的设备。
       根据我们的实际经验这些零件当中最重要的选择就是 CPU,CPU 是计算机的大脑,负责运算。所以选择 CPU 最重要。对于一台普通服务器来说,有单路双路或者四路服务器,简单来说就是可以安装几块 CPU。由于内存,磁盘,显卡都是模块化的,可以随时增加。例如最开始可能只选择了 128G(32G*4)的内存,后面内存不够了。可以立刻购买 4 块同样的内存,断电后插到机器上就完成了升级。磁盘和显卡也类似,稍微需要在系统内部做些处理即可。但是 CPU 一般后面就很难升级。所以,买台服务器,最重要的零件就是选择好 CPU,因为后面不好升级。一方面 CPU 直接决定计算速度,另外一个原因,CPU 也不好升级。如果预算有限,买一个好一点的 CPU,等后面经费宽松在升级内存和磁盘。

一、服务器类型
       服务器有多种类型,满足不同条件下的使用。
      
       不同类型服务器
1.1 塔式服务器
       优点:塔式服务器像一个大的计算机,主机机箱也比标准的机箱大,塔式服务器集成度高,占地空间小,便于管理,扩展性强,目前最新的服务器,内存可扩展至 320G 以上,已经可以完成绝大部分的生物信息分析工作了,这种服务器特别适合一般课题组使用。
       缺点:串联型差,适合单个使用,价格相对较贵。


1.2 机架式服务器
       优点:机架式服务器,也叫作刀片服务器。所谓刀片服务器 blade server,是指在标准高度的机架式机箱内可插装多个卡式的服务器单元,实现高可用和高密度。是一种低成本服务器平台,其主要结构为一大型主体机箱,内部可插上许多“刀片”,其中每一块"刀片"实际上就是一块系统主板。刀片服务器比机架式服务器更节省空间。
       缺点:散热问题比较突出,往往要在机箱内装上大型强力风扇来散热,机器运行声音较大,最好放到单独的空间内。


1.3 模块化基础架构
       优点:模块化基础架构 (MI) 解决方案可让您针对传统工作负载、新工作负载和新兴工作负载优化 IT 基础架构,并提供迈向现代软件定义的数据中心的途经。计算、存储和网络模块针对您的需求精准打造,可随时间进行扩展。
       缺点:价格较贵,空间占用较大。


1.4 计算集群

       优点:计算机集群简称集群,是一种计算机系统, 它通过一组松散集成的计算机软件或硬件连接起来高度紧密地协作完成计算工作。在某种意义上,他们可以被看作是一台计算机。集群是由一些互相连接在一起的计算机构成的一个并行或分布式系统。这些计算机一起工作并运行一系列共同的应用程序,同时,为用户和应用程序提供单一的系统映射。从外部来看,它们仅仅是一个系统,对外提供统一的服务。集群内的计算机物理上通过电缆连接,程序上则通过集群软件连接。这些连接允许计算机使用故障应急与负载平衡功能,而故障应急与负载平衡功能在单机上是不可能实现的。
       缺点:需要单独的机房,冷却系统,单独的管理人员,运行起来价格昂贵。


二、CPU
2.1 如何选择 CPU?
       CPU 是计算机的大脑,计算机的计算主要就是靠 CPU 来完成,所以,CPU 非常重要,CPU的计算速度决定了计算机的计算能力。也就是水桶效应中最上面的那块木板。比如序列拼接这个工作,需要将测序的 reads 切成更小 的片段,然后将这些小片段根据序列间的关系,连成更长的片段,那么这些片段有数百万至数千万,需要非常大的计算量。如果数据复杂,计算量就更大了。
       另外,单机的服务器主板一般只支持 1-4 块 CPU,一旦购买完 CPU,后面不好升级。如果预算有限,买一个好一点的 CPU,后面升级内存和磁盘更加容易。
       此外,如果一台服务器 CPU 选的不好,内存和磁盘选的很大,整台服务器也是头轻脚重,整体性能发挥不出来。


2.2 AMD 还是 Intel?
       服务器使用的 CPU 主要就是 Intel 和 AMD 可供选择,注意不同的平台主板是对应的,比如支持 AMD 主板就不支持 Intel 了。因为生物计算往往需要较多的线程。这里推荐购买 AMD的 CPU,因为同等价位下,AMD 的可以有更多的线程。

      
       AMD 部分产品比较
       另外,如果一些特殊软件,比如 GATK 等,有和 Intel 合作的版本,那么就只能选择 intel CPU了。


三、内存
       内存是 CPU 和硬盘之间数据交流的媒介,计算机需要将存储在硬盘上的数据读取到内存中,CPU 才能用来计算,而 CPU 不能直接读取硬盘上的数据,必须通过内存这个缓冲区,举个例子,CPU 是大脑,内存是脖子,脖子以下是硬盘。内存往往就是“瓶颈”。

      
       内存的重要作用
       假设一个人的全基因组测序数据,采用二代测序的方法,人的基因组 3G,10 被数据 30G,那么这 30G 的碱基,在切成更小的 kmer,假设数据增加到了 100G,还不算存储序列的一些其他信息,序列拼接的时候必须一次将所有数据同时存入内存,如果内存达不到 100G,拼接根本无法完成。
       因为影响数据分析内存大小的因素非常多,比如数据量大小,具体算法,分析内容等等,所以,很难计算出具体需要消耗多少内存,你要问拼接基因组需要多少内存?细菌,真菌,人,动植物?二代测序,三代测序,测序深度,错误率分布?使用哪个软件?每个条件都会有差别。即使给出全部条件,也没法建模估算出来内存大小。


四、硬盘
       硬盘其实是计算机硬件配置中非常重要的一环,但是硬盘往往容易被大家忽略掉,认为硬盘用来存储数据,只要需要足够大就行了,这是不对的。
       首先大存储量是必须的,因为生物数据往往都称为生物大数据,非常消耗存储空间,包括原始的数据存储,中间分析结果,最终结果,数据备份等,尤其是在样品量大的时候,就会非常占据存储空间,一般都是以 T 为单位的。
       其次,硬盘的读写速度,这个也是非常重要的因素,因为目前 CPU 计算速度和内存已经足够大了,这样的条件下,硬盘成为限制计算机整体性能的因素。因此使用 SSD 硬盘会明显改善计算机性能。由于目前 SSD 过于昂贵,可以选择 SSD+机械硬盘的方案,硬盘要做成RAID 提高读写速度和数据安全性。
       那么机械硬盘,固态硬盘,内存的读写速度都是多少呢,根据公开的资料查询,得到以下数据,不过注意,这里只是一个平均值,不同品牌,不同型号产品之间会有较大差别。
       1、5400 转的笔记本硬盘:50-90MB 每秒。
       2、7200 转的台式机硬盘:90-190MB 每秒。
       3、固态硬盘的读写速度可以达到 500MB/s。
       4、双通道 DDR4 2400MHz 的读写速度理论极限是 2400MHz*128bit/8=38400MB/s


五、GPU
       GPU(Graphics Processing Unit)又称图形显示核心、视觉处理器、显示芯片。是一种专门在个人电脑、工作站、游戏机和一些移动设备上图像运算工作的微处理器。以前 GPU 主要用于图形计算,目前GPU已经用于数据计算,GPU 加速计算是指同时利用图形处理器 (GPU) 和 CPU,加快科学、分析、工程、消费和企业应用程序的运行速度。GPU 加速器于 2007 年由 NVIDIA® 率先推出,目前已经有很多生物信息软件支持 GPU 加速,例如纳米孔数据分析中的 guppy,medaka,racon,变异检测中用的 GATK 都支持 GPU 进行加速。


六、不间断电源 UPS
       UPS 即不间断电源(Uninterruptible Power Supply),是一种含有储能装置的不间断电源。主要用于给部分对电源稳定性要求较高的设备,提供不间断的电源。UPS 相当于一个大的移动电源,为了防止突然断电,导致数据丢失。UPS 还是非常重要的。有些生物计算需要持续很长时间,例如拼接一个大的基因组,构建一个大的系统发育树等可能数十天时间,一旦断电,损失非常大。

      
       不间断电源 UPS

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

发表于 2022-7-5 20:02:14
七、测试服务器与生产服务器?
       服务器可以分为生产服务器与测试服务器,所谓生产服务器就是用来实际工作的,比如分析生物信息的数据。而测试服务器顾名思义,主要用来做测试工作。生产环境稳定性非常重要,因为一旦更改了环境,可能导致系统崩溃,比如升级了 glibc,由于版本问题,可能会于很多程序不兼容。所以,最好弄一台测试服务器,先在测试服务器上进行操作,如果没有问题,再在生产环境中运行。
       生物信息实战过程中经常会遇到很多问题,比如某个软件依赖一个环境,如果直接就按照要求进行处理,可能会影响系统环境,尤其是 root 用户。这个时候最好找一台与生成服务器版本完全相同,并且基础环境相同的机器进行测试。
       或者是开发一个软件,最好也在测试服务器上进行。其实测试服务器主要就是提供一个随便折腾的环境。因为在 Linux 系统安装软件不容易,卸载也不容易。所以,不能轻易动环境。

回复 显示全部楼层 道具 举报

您需要登录后才可以回帖 登录 | 立即注册

QQ|Archiver|手机版|小黑屋|生信人

GMT+8, 2024-4-30 02:02 , Processed in 0.037854 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表