微软云计算平台包括三大组成部分:Windows Azure、SQL Azure、Windows Azure Platform AppFabric。Windows Azure 可看成一个云计算服务的 *** 作系统,也是云计算的基础服务层,主要从事虚拟化计算资源管理和智能化任务分配;SQL Azure是云中的数据库,SQL Azure运行云计算的关系数据库服务,是一种云存储的实现,并提供网络型的应用程序数据存储的服务,它的基础是SQL Server 2008;AppFabric 是一个基于 Web 的开发服务,它可以把现有应用和服务与云平台的连接和互 *** 作变得更为简单,AppFabric作为中间件层,将起到连接非云端程序与云端程序的桥梁的功能。它提供了两大服务,服务总线和访问控制。AppFabric 让开发人员可以把精力放在他们的应用逻辑上而不是在部署和管理云服务的基础架构上。
Dryad:MapReduce之外的新思路 目前各大软件巨头都搭建了自己的分布式平台解决方案,主要包括Dryad,DynamoSDMapReduce等框架。2010年12月21日,微软发布了Dryad的测试版本,成为谷歌MapReduce分布式并行计算平台的竞争对手。Dryad是微软构建云计算基础设施的重要核心技术之一,它可以让开发人员在Windows或者,NET平台上编写大规模的并行应用程序模型,并能够让在单机上编写的程序运行在分布式并行计算平台上。工程师可以利用数据中心的服务器集群对数据进行并行处理,当工程师在 *** 作数千台计算机时,无需关心分布式并行计算系统方面的细节。
DryadgDDryadLINO是微软硅谷研究院创建的研究项目,主要用来提供一个分布式并行计算平台。DryadLINO是分布式计算语言,能够将LINQ编写的程序转变为能够在Dryad上运行的程序,使普通程序员也可以轻易进行大规模的分布式计算。它结合了微软Dryad和LINO两种关键技术,被用于在该平台上构建应用。Dryad构建在Cluster Service(集群服务)和分布式文件系统之上,可以处理任务的创建和管理、资源管理,任务监控和可视化、容错,重新执行和调度等工作。
Dryad同MapReduce样,它不仅仅是种编程模型,同时也是一种高效的任务调度模型。Dryad这种编程模型不仅适用于云计算,在多核和多处理器以及异构机群上同样有良好的性能。在VisualStudio 2010 C++有一套并行计算编程框架,支持常用的协同任务调度和硬件资源(例如CPU和内存等)管理,通过WorkStealing算法可以充分利用细颗粒度并行的优势,来保证空闲的线程依照一定的策略建模,从所有线程队列中“偷取”任务执行,所以能够让任务和数据粒度并行。Dryad与上述并行框架相似,同样可以对计算机和它们的CPU进行调度,不同的是Dryad被设计为伸缩于各种规模的集群计算平台,无论是单台多核计算机还是由多台计算机组成的集群,甚至拥有数千台计算机的数据中心,都能以从任务队列中创建的策略建模来实现分布式并行计算的编程框架。
Dryad系统架构
Dryad系统主要用来构建支持有向无环图(Directed Acycline Graph,DAG)类型数据流的并行程序,然后根据程序的要求进行任务调度,自动完成任务在各个节点上的运行。在Dryad平台上,每个任务或并行计算过程都可以被表示为一个有向无环图,图中的每个节点表示一个要执行的程序,节点之间的边表示数据通道中数据的传输方式,其可能是文件、TCPPipe、共享内存
用Dryad平台时,首先需要在任务管理(JM)节点上建立自己的任务,每一个任务由一些处理过程以及在这些处理过程问的数据传递组成。任务管理器(JM)获取无环图之后,便会在程序的输入通道准备,当有可用机器的时候便对它进行调度。JM从命名服务器(NS)那里获得一个可用的计算机列表,并通过一个维护进程(PD)来调度这个程序。
Dryad的执行过程可以看做是一个二维管道流的处理过程,其中每个节点可以具有多个程序的执行,通过这种算法可以同时处理大规模数据。在每个节点进程(VerticesProcesses)上都有一个处理程序在运行,并且通过数据管道(Channels)的方式在它们之间传送数据。二维的Dryad管道模型定义了一系列的 *** 作,可以用来动态地建立并且改变这个有向无环图。这些 *** 作包括建立新的节点,在节点之间加入边,合并两个图以及对任务的输入和输出进行处理等。
Dryad模型算法应用
DryadLINQ可以根据工程师给出的LINQ查询生成可以在Dryad引擎上执行的分布式策略算法建模(运算规则),并负责任务的自动并行处理及数据传递时所需要的序列化等 *** 作。此外,它还提供了一系列易于使用的高级特性,如强类型数据、Visual Studio集成调试以及丰富的任务优化策略(规则)算法等。这种模型策略开发框架也比较适合采用领域驱动开发设计(DDD)来构建“云”平台应用,并能够较容易地做到自动化分布式计算。
我们经常会遇到网站或系统无法承载大规模用户并发访问的问题,解决该问题的传统方法是使用数据库,通过数据库所提供的访问 *** 作接口来保证处理复杂查询的能力。当访问量增大,单数据库处理不过来时便增加数据库服务器。如果增加了三台服务器,再把用户分成了三类A(学生)、B(老师),C(工程师)。每次访问时先查看用户属于哪一类,然后直接访问存储那类用户数据的数据库,则可将处理能力增加三倍,这时我们已经实现了一个分布式的存储引擎过程。
我们可以通过Dryad分布式平台来解决云存储扩容困难的问题。如果这三台服务器也承载不了更大的数据要求,需要增加到五台服务器,那必须更改分类方法把用户分成五类,然后重新迁移已经存在的数据,这时候就需要非常大的迁移工作,这种方法显然不可取。另外,当群集服务器进行分布式计算时,每个资源节点处理能力可能有所不同(例如采用不同硬件配置的服务器),如果只是简单地把机器直接分布上去,性能高的机器得不到充分利用,性能低的机器处理不过来。
Dryad解决此问题的方法是采用虚节点,把上面的A、B、C三类用户都想象成一个逻辑上的节点。一台真实的物理节点可能会包含一个或者几个虚节点(逻辑节点),看机器的性能而定。我们可以把那任务程序分成Q等份(每一个等份就是一个虚节点),这个Q要远大于我们的资源数。现在假设我们有S个资源,那么每个资源就承担Q/S个等份。当一个资源节点离开系统时,它所负责的等份要重新均分到其他资源节点上;当一个新节点加入时,要从其他的节点1偷取2一定数额的等份。
在这个策略建模算法下,当一个节点离开系统时,虽然需要影响到很多节点,但是迁移的数据总量只是离开那个节点的数据量。同样,~个新节点的加入,迁移的数据总量也只是一个新节点的数据量。之所以有这个效果是因为Q的存在,使得增加和减少节点的时候不需要对已有的数据做重新哈希(D)。这个策略的要求是Q>>s(存储备份上,假设每个数据存储N个备份则要满足Q>>SN)。如果业务快速发展,使得不断地增加主机,从而导致Q不再满足Q>>S,那么这个策略将重新变化。
Dryad算法模型就是一种简化并行计算的编程模型,它向上层用户提供接口,屏蔽了并行计算特别是分布式处理的诸多细节问题,让那些没有多少并行计算经验的开发 人员也可以很方便地开发并行应用,避免了很多重复工作。这也就是Dryad算法模型的价值所在,通过简化编程模型,降低了开发并行应用的入门门槛,并且能大大减轻了工程师在开发大规模数据应用时的负担。
通过上述的论述,我们可以看到Dryad通过一个有向无环图的策略建模算法,提供给用户一个比较清晰的编程框架。在这个编程框架下,用户需要将自己的应用程序表达为有向无环图的形式,节点程序则编写为串行程序的形式,而后用Dryad方法将程序组织起来。用户不需要考虑分布式系统中关于节点的选择,节点与通信的出错处理手段都简单明确,内建在Dryad框架内部,满足了分布式程序的可扩展性、可靠性和对性能的要求。
使用Drvad LINO
通过使用DryadLINQ编程,使工程师编写大型数据并行程序能够轻易地运行在大型计算机集群里。DryadLINO开发的程序是一组顺序的L_NQ代码,它们可以针对数据集做任何无副作用的 *** 作,编译器会自动将其中数据并行的部分翻译成并行执行的计划,并交由底层的Dryad平台完成计算,从而生成每个节点要执行的代码和静态数据,并为所需要传输的数据类型生成序列化代码;
LINQ本身是,NET引入的组编程结构,它用于像 *** 作数据库中的表一样来 *** 作内存中的数据集合。DryadLINQ提供的是一种通用的开发/运行支持,而不包含任何与实际业务,算法相关的逻辑,Dryad和DryadLINQ都提供有API。DryadLINQ使用和LINQ相同的编程模型,并扩展了少量 *** 作符和数据类型以适用于数据并行的分布式计算。并从两方面扩展了以前的计算模型(SQL,MapReduce,Dryad等)它是基于,NET强类型对象的,表达力更强的数据模型和支持通用的命令式和声明式编程(混合编程),从而延续了LINQ代码即数据(treat codeas data)的特性。
DryadLINQ使用动态的代码生成器,将DryadLINQ表达式编译成,NET字节码。这些编译后的字节码会根据调度执行的需要,被传输到执行它的机器上去。字节码中包含两类代码完成某个子表达式计算的代码和完成输入输出序列化的代码。这种表达式并不会被立刻计算,而是等到需要其结果的时候才进行计算。DryadLINQ设计的核心是在分布式执行层采用了一种完全函数式的,声明式的表述,用于表达数据并行计算中的计算。这种设计使得我们可以对计算进行复杂的重写和优化,类似于传统的并行数据库。从而解决了传统分布式数据库SQL语句功能受限与类型系统受限问题,以及MapReduce模型中的计算模型受限和没有系统级的自动优化等问题。
在Dryad编程模式中,应用程序的大规模数据处理被分解为多个步骤,并构成有向无环图形式的任务组织,由执行引擎去执行。这两种模式都提供了简单明了的编程方式,使得工程师能够很好地驾驭云计算处理平台,对大规模数据进行处理。Dryad的编程方式可适应的应用也更加广泛,通过DryadLINQ所提供的高级语言接口,使工程师可以快速进行大规模的分布式计算应用程序的编写。
Dryad技术的应用
云计算最重要的概念之~就是可伸缩性,实现它的关键是虚拟化。通过虚拟化可以在一台共享计算机上聚集多个 *** 作系统和应用程序,以便更好地利用服务器。当一个服务器负载超荷时,可以将其中一个 *** 作系统的一个实例(以及它的应用程序)迁移到一个新的,相对闲置的服务器上。虚拟化(Virtualization)是云计算的基石,企业实现私有云的第一步就是服务器基础架构进行虚拟化。基础设施虚拟化之后。接下来就是要将现有应用迁移到虚拟环境中。
Dryad结合Hyper-V(Windows Server 2008的一个关键组成部分)虚拟化技术。可以实现TB级别数据的在线迁移。中小型企业也可以针对企业内部小型集群服务器进行分布式应用系统编程,以及制定私有云开发与应用解决方案等设计。Windows Azure是微软的公有云解决方案,但是目前要大规模应用还为时过早。使用现有Windows第三方产品实现私有云,花费成本却很大。然而Dryad技术给我们带来了不错的折中选择,当我们基于Windows Server台运行应用系统或者网站时,便可以基于Dryad分布式架构来开发与设计实现。当公有云时机成熟和各种条件完备时,系统可以很轻易地升级到公有云,企业而无需花费太多成本。
写在最后
云计算可以看成是网络计算与虚拟化技术的结合,利用网络的分布式计算能力将各种IT资源筑成一个资源池,然后结合成熟的存储虚拟化和服务虚拟化技术,让用户实时透明地监控和调配资源。Dryad是实现构建微软云计算基础设施的重要核心技术之一,其具有诸多优点,如DryadLINQ具有声明式编程并将 *** 作的对象封装为,NET类数据,方便数据 *** 作,自动并行化、VisualStudio IDE和,NET类库集成,自动序列化和任务图的优化(静态和动态(主要通过DryadAPI实现)),对J0in进行了优化,得到了比BigTable+MapReduee更快的Join速率和更易用的数据 *** 作方式等。
不过,Dryad和DryadLINQ也同样具有局限性。其一,它更适用于批处理任务,而不适用于需要快速响应的任务;这个数据模型更适用于处理流式访问,而不是随机访问。其二,DryadLINQ使用的是,NET的LINO查询语言模型,针对运行Windows HPC Server的计算机集群设计,而目前高性能计算市场被Einux所占领。此外,和MapReduce的应用时间和实践相比,Dryad的可靠性还明显不足,据了解除了微软AdCenter中的数据分析和Trident项目之外,其它应用Dryad的地方还很少。不过总的来看,Dryad平台在将来仍具有很广泛的发展前景,尤其对NET开发人员来说是―次很重要的技术革新机遇。
名词解释
任务管理器(Job Manager,JM):每个Job的执行被一个Job Manager控制,该组件负责实例化这个Job的工作图,在计算机群上调度节点的执行;监控各个节点的执行情况并收集一些信息,通过重新执行来提供容错:根据用户配置的策略动态地调整工作图。
计算机群(Cluster):用于执行工作图中的节点。
命名服务器(Name Server,Ns):负责维护cluster中各个机器的信息。
维护进程(PDaemon,PD):进程监管与调度工作。
你的意思是远程协助,这个是可以的,远程协助和远程桌面是不一样的。
如果在互联网上,按下面的方式 *** 作可以实现内网的远程桌面:
1、在电脑上启动远程桌面服务,这个网上资料多,就不详细描述
2、去注册个苹果茶远程服务,这个功能是把你内网电脑变成外网,具体可以上百度搜索
3、手机端安装微软的2X RDP ,苹果和安卓都有
4、如果你电脑想随时开,随时关,去申请个长臂猿远程开机
注意:这个方式内网电脑也可以远程控制的,不需要端口影射
如果你想实现远程协助,去远程的属性那里设置远程协助开启,就可以同一个账号可以另一台机器同时登入,并且可以共同 *** 作鼠标键盘,但能不能3台以上,没有试过
微软的WDS是Windows 部署服务(Windows Deployment Services),适用与大中型网络中的计算机 *** 作系统部署。可以使用 Windows 部署服务来管理映像以及无人参与安装脚本,并提供人工参与安装和无人参与安装的选项。
微软的MDT是微软的部署工具(Microsoft Deployment Toolkit),通过它可以自动完成桌面和服务器部署的推荐 *** 作进程。要结合WDS一起使用,还要安装ADK。
扩展资料:
WDS服务配合DHCP服务和Windows活动目录域服务,可以对支持PXE启动的客户端从远程安装和部署 *** 作系统。
MDT可以从任何地方通过网络访问部署状况,跨区域复制文件或是进行系统设置。为组织管理驱动、 *** 作系统、应用、软件包和任务进程提供了改进的用户界面。能够使用Windows PowerShell命令行界面的自动化UI功能。
即企业既会从云中获取必需的服务,也会自己部署相关的IT系统。
在云计算时代,一个企业是否可以不用部署任何的IT系统,一切都从云计算平台获取?或者反过来,企业还是像以前一样,全部的IT系统都部署在企业内部,不从云中获取任何的服务?
很多企业认为有些IT服务适合从云中获取,如CRM、网络会议、电子邮件等;但有些系统不适合部署在云中,如自己的核心业务系统、财务系统等。因此,微软认为理想的模式将是“软件+服务”,即企业既会从云中获取必需的服务,也会自己部署相关的IT系统。 “软件+服务”可以简单描述为两种模式:
(一) 软件本身架构模式是软件加服务。例如,杀毒软件本身部署在企业内部,但是杀毒软件的病毒库更新服务是通过互联网进行的,即从云中获取。
(二) 企业的一些IT系统由自己构建,另一部分向第三方租赁、从云中获取服务。例如,企业可以直接购买软硬件产品,在企业内部自己部署ERP系统,而同时通过第三方云计算平台获取CRM、电子邮件等服务,而不是自己建设相应的CRM和电子邮件系统。
“软件+服务”的好处在于,既充分继承了传统软件部署方式的优越性,又大量利用了云计算的新特性。 企业可以根据自身的具体需求和特征,微软为用户提供自由选择的机会。
为用户提供自由选择的机会是微软云计算战略的第三大典型特点。这种自由选择表现在以下三个方面:
■用户可以自由选择传统软件或云服务两种方式
自己部署IT软件、采用云服务、或者两者都用,无论是用户选择哪种方式,微软的云计算都能支持。
■用户可以选择微软不同的云服务
无论用户需要的是SaaS(Software-as-a- Service)、PaaS(Platform-as-a- Service)还是IaaS(Infrastructure-as-a- Service),微软都有丰富的服务供其选择。微软拥有全面的SaaS服务,包括针对消费者的Live服务和针对企业的Online服务;也提供基于Windows Azure Platform的PaaS服务;还提供数据存储、计算等IaaS服务和数据中心优化服务。用户可以基于任何一种服务模型选择使用云计算的相关技术、产品和服务。
■用户和合作伙伴可以选择不同的云计算运营模式
微软提供多种云计算运营模式。用户和合作伙伴可直接应用微软运营的云计算服务;用户也可以采用微软的云计算解决方案和技术工具自建云计算应用;合作伙伴还可以选择运营微软的云计算服务或自己在微软云平台上开发云计算应用。
以上就是关于微软云计算平台主要有那几部分构成全部的内容,包括:微软云计算平台主要有那几部分构成、【云计算新的基石,微软Dryad分布式并行计算平台解析】 云计算是并行计算、windows server2012远程桌面部署都可以,RDP程序也分发了,但是手机用微软RD Client出错求解等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)