机房360首页
当前位置:首页 » 数据中心 » 数据中心2014:软件定义的计算

数据中心2014:软件定义的计算

来源:至顶网 作者:yuxin编辑 更新时间:2014/12/8 15:35:48

摘要:在《数据中心2013:硬件重构与软件定义》当中,我们已经介绍了硬件重构与软件定义的概念,如《生态系统与规模的角力》说的一样,“软件定义”的概念不是我们的发明,“硬件重构”也不是,不过,把“硬件重构”和“软件定义”放在一起明确的提出,确是我们首创。

  至于软件,有大量的工作是关于充分发挥硬件的特性,对NUMA的优化是否已经充分?Linux Kernel社区目前还在NUMA Awareness的内存管理以及处理器调度方面进行努力,而软件定义计算上更为重要的部件——Hypervisor,在这方面的工作还未达到令人满意的地步。此外,还有更多的硬件辅助虚拟化特性,如APICv、VMCS、VMFUNC,等等,在这方面仍然有非常多的工作可以做。

  然后是Scalability伸缩性,一套算法可能在数十上百个节点上工作良好,但到上千个节点可能就效率低下,到了更多的节点就彻底不能工作,不同的规模大小会影响到体系架构的选择,小到多达单个封装达18个物理核心的Haswell-EP至强处理器,大到数百节点的Hadoop,MapReduce,Spark这样的软件计算系统、数量不明的Intel RSA这样的硬件架构、乃至数PiB级别的Ceph,GlusterFS这样的分布式存储系统,都需要对其架构、算法进行衡量。我们期望的计算系统需要有良好的伸缩性,虽然一个算法不可能满足所有的情况。

 

  Map/Reduce是一种时下很流行的大数据/分布式计算框架

  最后提到的是Transparency透明性,对于大多数人来说,透明性是最重要的一点,它实际上和上面的Scalability伸缩性有一定联系。透明性的含义很多,其中大概最重要的一点就是Single System Image(SSI,单系统映像),很好满足这个要求的系统很少,因为满足它要求分布式系统对所有用户来说,就像是单个系统,区别仅仅是具备的CPU、内存、硬盘更多更大。当前的不少系统可以在不同的虚拟化层次上至少部分地满足这个需求,例如一些超算系统使用作业系统来分发计算任务到不同的节点,就“作业”这个应用程序的层次来说,整个计算系统呈现的是一个单系统映像,然而限制也在于应用程序层,只有特定的应用才有可能进行分发;另一些超算系统则基于各种分布式通信的库,如MPI等,只要基于这些库进行编程就可以应用到更多的计算能力。更为理想地,SSI可以在操作系统层实现,现有的多线程应用不需要就可以透明地、自动地应用不同节点上的运算能力。我们当前的IaaS云计算环境很大程度上仅仅是提供了一堆松散的小虚拟机,PaaS和SaaS有望提供一定程度的SSI能力。

 

  超级计算机,在很大程度上是提供了SSI的多台计算机的集群

  可以看到,目前的计算系统,在Transparency (透明性)、Flexibility(灵活性)、Reliability(可靠性)、Performance(性能)、Scalability(伸缩性)这五点上可以做的还有很多,软件定义计算还有很远的路要走。

  责任编辑:余芯

机房360微信公众号订阅
扫一扫,订阅更多数据中心资讯

本文地址:http://www.jifang360.com/news/2014128/n324963588.html 网友评论: 阅读次数:
版权声明:凡本站原创文章,未经授权,禁止转载,否则追究法律责任。
转载声明:凡注明来源的文章其内容和图片均为网上转载,非商业用途,如有侵权请告知,会删除。
相关评论
正在加载评论列表...
评论表单加载中...
  • 我要分享
推荐图片