【林海天成】服务器、交换机、存储、防火墙、显卡等设备,免费提供【设备报价/方案定制/查找型号/技术支持】


超算能当服务器吗,两者有哪些区别

作者:林海天成科技 发布时间:2021-10-09 10:02:04 点击:

  服务器是提供特定服务的,大多数服务器是存储密集型应用,也就是经常需要访问硬盘和内存,相对来说CPU不需要那么强(当然比个人电脑要强)甚至有的服务器可以用ARM处理器。超算是运算密集型应用,CPU是第一位的。
 

  首先是没有超级计算机的,有超级计算机集群,有大型计算机,但没有超级计算机。
 

  先扩展讲一下计算机计算类型,或者叫负载类型。大的分类在是在线交易系统(OLTP)和在线分析系统(OLAP),两者主要的区别是数据是否变化。OLTP就像银行账户中的余额,你随时都可能支取使其产生变化,所以当把这份数据放在两台不同的服务器上的时候,一笔网银扣款和一笔ATM支取如果同时发生在这两台计算机上的同一个账户,那么两台计算机上同一个账户的余额就不一致了。同理如果同时发生两笔存款,或者一存一取,账户也是不一致的。所以所有的在线交易系统都只能把同一组数据放在同一台机器上。
 

  交易越大服务器就得越强大,这叫纵向扩展,就是加CPU加内存。但你往服务器上加CPU的时候其计算能力不是线性增长的,平衡CPU之间的数据同步也要系统开销,所以早期的计算机都是单CPU,现在的计算机加到一定数量的时候也是加不上去的。
 

  而且加CPU的时候其价格也不是线性增长的。一个16CPU的服务器肯定比四个最大能支撑4个CPU的服务器要贵的多。当然后来有些人发明了分库分表技术,或者把数据中的静态数据分离,或者把查询分配到其它的服务器上,各种方法来降低纵向扩展的需求。
 

  所有的解决方案都有其它代价,大型单机服务器的需求。计算机纵向负载能力看就有PC机,X86服务器,小型机,大型机。其中PC机和X86服务器都是X86架构的;小型机主要是RISC架构的IBM和Oracle(以前的Sun)和富士通,以及IA64架构的HP;大型机就只有IBM的大型机。他们之间的差别这篇回答可能讲不完,基本理解可以是轿车、卡车、重卡这种关系。
 

  OLAP主要是把一堆数据拿过来分析。这些数据短时间不会再发生变化了。例如商业智能数据、AI的数据、所谓的大数据、石油勘探地震数据的计算、保险精算系统、天气模型计算、宇宙模型计算等等。既然数据不再发生变化,就可以把数据分成很多个小块然后分发给很多台计算机去计算,然后把结果汇总。这种计算方式叫做分布式计算。理论上说你可以把数据分成非常非常小的模块然后分给几万个手机来计算都行。
 

  曾经有一个非盈利组织就把很多医学研究计算任务(大多是什么癌症研究、DNA计算等)分成小块,只要你装一个它的屏保程序,它就会自动在你PC机闲置的时候启动计算任务。大多数企业或政府还是要追求效率的,所以大多数都是分成几个到最多几百个数据块进行计算。而且有些大型的计算需要各个计算节点之间有高速的交互。
 

  那些使用PC进行分布式计算的的就属于比较低级的分布式计算,那些使用X86商业服务器或者小型机进行分布式计算的就属于高级分布式计算或者叫做高性能计算。通常所说的超算就是这个高性能计算集群。
 

  超算的本质是计算机的横向扩展。因为极少需要解决数据和计算之间互相牵制的问题,所以可以用人海战术,加的节点越多计算能力越强大。计算能力基本和节点数量成线性增长。
 

  计算机的纵向扩展能力是高端的技术,而超算就是加节点而已技术难度要小很多。