设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 手机 数据
当前位置: 首页 > 云计算 > 正文

盘点云计算分布式平台应用

发布时间:2021-07-18 06:46 所属栏目:124 来源:互联网
导读:要使云计算真正的落地主要面临两个重要问题:如何构建与应用程序来紧密结合的大规模底层基础设施?如何通过构建新型的云计算应用程序,能够在网络上提供更加丰富

  要使云计算真正的“落地”主要面临两个重要问题:如何构建与应用程序来紧密结合的大规模底层基础设施?如何通过构建新型的云计算应用程序,能够在网络上提供更加丰富的用户体验?

 

 

  Dryad便是实现构建微软云计算基础设施重要核心技术之一。通过使用DryadLINQ编程,使普通的程序员编写大型数据并行程序能够轻易的运行在大型计算机集群里。DryadLINQ开发的程序是一组顺序的LINQ代码,它们可以针对数据集做任何无副作用的操作,编译器会自动将其中数据并行的部分翻译成并行执行的计划,并交由底层的Dryad平台完成计算,从而生成每个节点要执行的代码和静态数据,并为所需要传输的数据类型生成序列化代码。

 

 

  DryadLINQ使用和LINQ相同的编程模型,并扩展了少量操作符和数据类型以适用于数据并行的分布式计算。并从两方面扩展了以前的计算模型(SQL、MapReduce、Dryad等):它是基于.NET强类型对象的、表达力更强的数据模型和支持通用的命令式和声明式编程(混合编程),从而延续了LINQ代码即数据(treat code as data)的特性。

 

 

  如图7所示,LINQ本身是.NET引入的一组编程结构,它用于像操作数据库中的表一样来操作内存中的数据集合。DryadLINQ提供的是一种通用的开发/运行支持,而不包含任何与实际业务、算法相关的逻辑,Dryad和DryadLINQ都提供有API。DryadLINQ使用动态的代码生成器,将DryadLINQ表达式编译成.NET字节码。这些编译后的字节码会根据调度执行的需要,被传输到执行它的机器上去。字节码中包含两类代码:完成某个子表达式计算的代码和完成输入输出序列化的代码。

 

 

 

 

  这种表达式并不会被立刻计算,而是等到需要其结果的时候才进行计算。DryadLINQ设计的核心是在分布式执行层采用了一种完全函数式的、声明式的表述,用于表达数据并行计算中的计算。这种设计使得我们可以对计算进行复杂的重写和优化,类似于传统的并行数据库。从而解决了传统分布式数据库SQL语句功能受限与类型系统受限问题,以及MapReduce模型中的计算模型受限和没有系统级的自动优化等问题。

 

 

  另外,在MapReduce编程方式下,应用程序编写人员需要关注与自己的应用逻辑如何使用Map函数以及Reduce函数进行表达。在Dryad编程模式中,应用程序的大规模数据处理被分解为多个步骤,并构成有向无环图形式的任务组织,由执行引擎去执行。这两种模式都提供了简单明了的编程方式,使得应用程序开发人员能够很好的驾驭云计算处理平台,对大规模数据进行处理。Dryad的编程方式可适应的应用也更加广泛,通过DryadLinq所提供的高级语言接口,使应用程序员可以快速进行大规模的分布式计算应用程序的编写。[page]

 

  分布式技术的应用

 

 

  虚拟化(Virtualization)是云计算的基石。也就是说企业实现私有云的第一步就是服务器基础架构进行虚拟化。基础设施虚拟化之后,接下来就是要将现有应用迁移到虚拟环境中。云计算最重要的概念之一就是可伸缩性,实现它的关键则是虚拟化、虚拟化就是在一台共享计算机上聚集多个操作系统和应用程序,以便更好地利用服务器。当一个服务器负载超荷时,可以将其中一个操作系统的一个实例(以及它的应用程序)迁移到一个新的、不相对闲置的服务器上。

盘点云计算分布式平台应用

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读