巨型计算机就是超级计算机吗? 100
3个回答
展开全部
先纠正问题,没有超级计算机。有超级计算机集群,有大型计算机,但没有超级计算机。
先扩展讲一下计算机计算类型,或者叫负载类型。大的分类在是在线交易系统(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商业服务器或者小型机进行分布式计算的就属于高级分布式计算或者叫做高性能计算。通常所说的超算就是这个高性能计算集群。超算的本质是计算机的横向扩展。因为极少需要解决数据和计算之间互相牵制的问题,所以可以用人海战术,加的节点越多计算能力越强大。计算能力基本和节点数量成线性增长。
到这里基本明白了,计算机的纵向扩展能力是高端的技术,而超算就是加节点而已技术难度要小很多。
先扩展讲一下计算机计算类型,或者叫负载类型。大的分类在是在线交易系统(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商业服务器或者小型机进行分布式计算的就属于高级分布式计算或者叫做高性能计算。通常所说的超算就是这个高性能计算集群。超算的本质是计算机的横向扩展。因为极少需要解决数据和计算之间互相牵制的问题,所以可以用人海战术,加的节点越多计算能力越强大。计算能力基本和节点数量成线性增长。
到这里基本明白了,计算机的纵向扩展能力是高端的技术,而超算就是加节点而已技术难度要小很多。
图为信息科技(深圳)有限公司
2020-11-19 广告
2020-11-19 广告
人工智能系统硬件配置选图为信息科技(深圳)有限公司,图为信息科技(深圳)有限公司是一家基于视觉处理的边缘计算方案解决商,多年来始终专注于人工智能领域的发展,汇聚了一批在视觉处理相关的核心算法和边缘计算领域的高端人才,为客户带来专业的服务和优...
点击进入详情页
本回答由图为信息科技(深圳)有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询