版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第1章1.簡述什么是云計(jì)算?答:云計(jì)算是一種動(dòng)態(tài)擴(kuò)展的計(jì)算模式,通過網(wǎng)絡(luò)將虛擬化的資源作為服務(wù)提供;云計(jì)算是一種無處不在的、便捷的通過互聯(lián)網(wǎng)訪問一個(gè)可定制的IT資源(IT資源包括網(wǎng)絡(luò)、服務(wù)器、存儲(chǔ)、應(yīng)用軟件和服務(wù))共享池,并是一種按使用量付費(fèi)的模式,它能夠通過最少量的管理或與服務(wù)供應(yīng)商的互動(dòng)實(shí)現(xiàn)計(jì)算資源的迅速供給和釋放;云計(jì)算是基于互聯(lián)網(wǎng)服務(wù)的增加、使用和交付模式,通常涉及通過互聯(lián)網(wǎng)來提供動(dòng)態(tài)易擴(kuò)展且經(jīng)常是虛擬化的資源。2.云計(jì)算有什么特點(diǎn)?答:①具有大規(guī)模并行計(jì)算能力;②資源虛擬化(Virtualization)和彈性調(diào)度;③數(shù)據(jù)量巨大并且增速迅猛;④高可靠性;⑤按需分配,按量計(jì)費(fèi)。3.請分別回答什么是IaaS、PaaS、SaaS?答:IaaS:基礎(chǔ)設(shè)施即服務(wù),InfrastructureasaService;PaaS:平臺(tái)即服務(wù),PlatformasaService;SaaS:軟件即服務(wù),SoftwareasaService。4.云計(jì)算的基礎(chǔ)設(shè)施有哪些,各自完成什么功能?答:①分布式文件系統(tǒng),完成數(shù)據(jù)的存儲(chǔ);②MapReduce編程模式,提供分布式并行編程環(huán)境進(jìn)行數(shù)據(jù)處理;③大規(guī)模分布式數(shù)據(jù)庫BigTable,提供分布式大規(guī)模數(shù)據(jù)庫管理系統(tǒng)。第2章1.解釋說明什么是非結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù)?答:非結(jié)構(gòu)化數(shù)據(jù)是數(shù)據(jù)結(jié)構(gòu)不規(guī)則或不完整,沒有預(yù)定義的數(shù)據(jù)模型,不方便用數(shù)據(jù)庫二維邏輯表來表現(xiàn)的數(shù)據(jù),包括所有格式的辦公文檔、文本、圖片、圖像和音頻/視頻信息等。半結(jié)構(gòu)化數(shù)據(jù)是介于完全結(jié)構(gòu)化數(shù)據(jù)(如關(guān)系型數(shù)據(jù)庫、面向?qū)ο髷?shù)據(jù)庫中的數(shù)據(jù))和完全無結(jié)構(gòu)的數(shù)據(jù)之間的數(shù)據(jù),XML、HTML文檔屬于半結(jié)構(gòu)化數(shù)據(jù),它一般是自描述的,數(shù)據(jù)的結(jié)構(gòu)和內(nèi)容混在一起,沒有明顯的區(qū)分。2.大數(shù)據(jù)價(jià)值鏈的三大構(gòu)成是什么?答:數(shù)據(jù)本身、技能與思維。3.大數(shù)據(jù)的4V特征是什么?答:①多樣性(Variety);②規(guī)模性大(Volume);③快速性(Velocity);④價(jià)值密度低(Value)。4.簡述云計(jì)算與大數(shù)據(jù)的關(guān)系?答:云計(jì)算與大數(shù)據(jù)是一對相輔相成的概念,它們描述了面向計(jì)算時(shí)代信息技術(shù)的兩個(gè)方面,云計(jì)算側(cè)重于描述資源和應(yīng)用的網(wǎng)絡(luò)化交付方法,大數(shù)據(jù)側(cè)重于描述面向數(shù)據(jù)時(shí)代由于數(shù)據(jù)量巨大所帶來的技術(shù)挑戰(zhàn)。云計(jì)算的核心是業(yè)務(wù)模式,本質(zhì)是數(shù)據(jù)處理技術(shù)。數(shù)據(jù)是資產(chǎn),云為數(shù)據(jù)資產(chǎn)提供了存儲(chǔ)、訪問的場所和計(jì)算,即云計(jì)算更偏重海量存儲(chǔ)和計(jì)算,以及提供的云服務(wù),運(yùn)行云應(yīng)用。云計(jì)算是基礎(chǔ)設(shè)施架構(gòu),大數(shù)據(jù)是靈魂資產(chǎn)。第3章1.什么是虛擬化?答:虛擬化是一個(gè)廣義的術(shù)語,對不同的行業(yè)或不同的人有著不同的意義。在計(jì)算機(jī)科學(xué)領(lǐng)域中,虛擬化意味著對計(jì)算機(jī)資源的抽象。簡單來說,虛擬化是模擬真正的(或者稱物理的)計(jì)算機(jī)資源,模擬CPU、內(nèi)存、存儲(chǔ)、網(wǎng)絡(luò)等用戶可見的物理的硬件資源。2.為什么要使用虛擬化?答:使用虛擬化的原因主要有以下四點(diǎn):(1)使用虛擬化可以共享資源,而相互不受影響。(2)使用虛擬化可以將很多零散的資源集中到一處,而使用的用戶則感覺像是一個(gè)整體。(3)使用虛擬化可以動(dòng)態(tài)維護(hù)資源的分配,動(dòng)態(tài)擴(kuò)展或減少某個(gè)用戶所使用的資源。(4)使用虛擬化易于管理資源,易于發(fā)布版本,易于部署版本,易于測試版本等。3.常見的虛擬化技術(shù)有哪些?答:常見的虛擬化技術(shù)有:CPU虛擬化,內(nèi)存虛擬化,全虛擬化,半虛擬化,硬件輔助虛擬化,存儲(chǔ)虛擬化等虛擬化技術(shù)。第4章1.數(shù)據(jù)中心的發(fā)展經(jīng)歷了_________、________、_______、_______四個(gè)階段。答:巨型機(jī)時(shí)代、微型計(jì)算機(jī)/PC時(shí)代、互聯(lián)網(wǎng)時(shí)代、云計(jì)算與大數(shù)據(jù)時(shí)代。2.數(shù)據(jù)中心的選址主要考慮_________、_________、_________、_________等因素。答:地質(zhì)條件、氣候環(huán)境、電力供給、網(wǎng)絡(luò)帶寬。3.數(shù)據(jù)中心的主要組成部分有_________、_________、_________、_________。答:基礎(chǔ)設(shè)施、硬件設(shè)施、基礎(chǔ)軟件、管理支撐軟件。4.云存儲(chǔ)系統(tǒng)的結(jié)構(gòu)模型主要包括_________、_________、_________、_________。答:存儲(chǔ)層,基礎(chǔ)管理層,應(yīng)用接口層,訪問層。5.云存儲(chǔ)的實(shí)現(xiàn)前提是什么?答:寬帶網(wǎng)絡(luò)的發(fā)展;Web2.0技術(shù)的出現(xiàn);應(yīng)用存儲(chǔ)的發(fā)展;集群技術(shù)、網(wǎng)格技術(shù)和分布式文件系統(tǒng);CDN內(nèi)容分發(fā)、P2P技術(shù)、數(shù)據(jù)壓縮技術(shù)、重復(fù)數(shù)據(jù)刪除技術(shù)、數(shù)據(jù)加密技術(shù);存儲(chǔ)虛擬化技術(shù)、存儲(chǔ)網(wǎng)絡(luò)化管理技術(shù)。6.云存儲(chǔ)的特性是_________、_________、_________、_________、_________。答:可靠性,安全性,管理方便,可擴(kuò)展性,數(shù)據(jù)訪問。第5章1.解釋說明什么是并行計(jì)算?簡要概括并行計(jì)算的發(fā)展如何?答:在計(jì)算機(jī)術(shù)語中,并行性指的是把一個(gè)復(fù)雜問題分解成多個(gè)能同時(shí)處理子問題的能力。并行計(jì)算(ParallelComputing)是指同時(shí)使用多種計(jì)算資源解決計(jì)算問題的過程,是提高計(jì)算機(jī)系統(tǒng)計(jì)算速度和處理能力的一種有效手段。20世紀(jì)70年代,第一臺(tái)并行計(jì)算機(jī)于1972年產(chǎn)生(ILLIACIV,伊利諾依大學(xué)),由64個(gè)處理器組成,可擴(kuò)展性好,但可編程性差;20世紀(jì)80年代,并行計(jì)算機(jī)進(jìn)入百家爭鳴狀態(tài),以多指令多數(shù)據(jù)流MIMD(MultipleInstructionstreamMultipleDatastream)并行計(jì)算機(jī)為主;20世紀(jì)90年代,并行計(jì)算體系結(jié)構(gòu)框架趨于統(tǒng)一,基本以分布式共享存儲(chǔ)(DistributedSharedMemory,DSM)、大規(guī)模并行處理結(jié)構(gòu)(MassivelyParallelProcessing,MPP)、工作站機(jī)群(ClusterofWorkstations,COW)為代表;21世紀(jì)初,并行計(jì)算得到了前所未有的大踏步發(fā)展,以COW為原型的由大規(guī)模商用普通PC機(jī)構(gòu)成的機(jī)群為主;今天,越來越多的并行計(jì)算機(jī)系統(tǒng)采用商品化的微處理器加上商品化的互連網(wǎng)絡(luò)構(gòu)造,這種分布存儲(chǔ)的并行計(jì)算機(jī)系統(tǒng)稱為集群(NOW),并行計(jì)算進(jìn)入了一個(gè)新的時(shí)代,并行計(jì)算的應(yīng)用達(dá)到了前所未有的廣度和深度。2.簡要說明集群的概念和集群系統(tǒng)的分類。答:集群是一組獨(dú)立的計(jì)算機(jī)(結(jié)點(diǎn))的集合體,結(jié)點(diǎn)間通過高性能的網(wǎng)絡(luò)相連接,各結(jié)點(diǎn)除了作為一個(gè)單一的計(jì)算資源供用戶使用外,還可以協(xié)同工作,并表示為一個(gè)單一的、集中的計(jì)算資源,供并行計(jì)算使用。集群是一種造價(jià)低廉、易于構(gòu)建并且具有較好可擴(kuò)展性的體系結(jié)構(gòu)。集群系統(tǒng)按功能和結(jié)構(gòu)可以分為如下四類:(1)高可用性集群系統(tǒng)(2)負(fù)載均衡集群系統(tǒng)(3)高性能集群系統(tǒng)(4)虛擬化集群系統(tǒng)。3.并行計(jì)算的分類有哪些?答:并行計(jì)算技術(shù)在高速發(fā)展的今天,出現(xiàn)了各種不同的技術(shù)方法,同時(shí)也出現(xiàn)了不同的分類方法,包括按指令和數(shù)據(jù)處理方式的Flynn分類、按存儲(chǔ)訪問結(jié)構(gòu)的分類、按應(yīng)用計(jì)算特征的分類。4.簡要說明并行計(jì)算的四類設(shè)計(jì)模型?答:并行計(jì)算的設(shè)計(jì)模型主要有四類:隱式并行(ImplicitParallel)、數(shù)據(jù)并行(DataParallel)、共享變量(SharedVariable)、消息傳遞(MessagePassing)。(1)隱式并行是程序員用熟悉的串行語言編程,編譯器或運(yùn)行支持系統(tǒng)自動(dòng)轉(zhuǎn)化為并行代碼。其特點(diǎn)是語義簡單、可移植性好、單線程、易于調(diào)試和驗(yàn)證正確性,但效率很低。(2)數(shù)據(jù)并行是SIMD的自然模型,是局部計(jì)算和數(shù)據(jù)選路操作。其特點(diǎn)是單線程、并行操作于聚合數(shù)據(jù)結(jié)構(gòu)(數(shù)組)、松散同步、單一地址空間、隱式交互作用和顯式數(shù)據(jù)分布。(3)共享變量是PVP、SMP、DSM的自然模型。其特點(diǎn)是多線程(SPMD、MPMD)、異步、單一地址空間、顯式同步、隱式數(shù)據(jù)分布、隱式通信。(4)消息傳遞是MPP、COW的自然模型。其特點(diǎn)是多線程、異步、多地址空間、顯式同步、顯式通信、顯式數(shù)據(jù)映射和負(fù)載分配。5.并行程序設(shè)計(jì)方式主要有哪幾種并分別說明。答:實(shí)現(xiàn)并行編程常見方法有以下三種。但三者可混合使用,如對以SMP為節(jié)點(diǎn)的Cluster來說,可以在節(jié)點(diǎn)間進(jìn)行消息傳遞,在節(jié)點(diǎn)內(nèi)進(jìn)行共享變量編程。(1)線程模型:OpenMP、POSIX。(2)消息傳遞模型:PVM(ParallelVirtualMachineComputing)、MPI(MessagePassingInterface)。(3)數(shù)據(jù)并行模型:HPF。第6章1.簡述OpenStack主要的組成模塊有哪些?答:OpenStack由幾個(gè)大模塊組成:DASHBOARD、COMPUTE、BLOCKSTORAGE、NETWORKING、IMAGESERVICE、OBJECTSTORAGE、IDENTIFYSERVICE等。2.簡述網(wǎng)絡(luò)服務(wù)模塊Neutron的功能。答:Neutron在OpenStack環(huán)境中管理所有虛擬網(wǎng)絡(luò)基礎(chǔ)設(shè)施(VirtualNetworkingInfrastructure,VNI),即Neutron將網(wǎng)絡(luò)、子網(wǎng)、端口和路由器等物理網(wǎng)絡(luò)基礎(chǔ)設(shè)施(PhysicalNetworkingInfrastructure,PNI)抽象化,之后啟動(dòng)的虛擬主機(jī)就可以連接到這個(gè)虛擬網(wǎng)絡(luò)上。3.簡述Nova的功能?答:COMPUTE計(jì)算服務(wù)項(xiàng)目名為Nova。是OpenStack不可缺少的核心模塊,為用戶提供計(jì)算平臺(tái),主要負(fù)責(zé)與虛擬化平臺(tái)的接口對接,如KVM,Xen等接口。Nova作為OpenStack的核心模塊主要完成計(jì)算,它主要負(fù)責(zé)虛擬服務(wù)的管理。OpenStack計(jì)算是IaaS(InfrastructureasaService,基礎(chǔ)設(shè)施即服務(wù))的一個(gè)主要部分,它與其它組件有著非常緊密的聯(lián)系。4.簡述Swift和Cinder的區(qū)別。答:OpenStack組件Swift和Cinder的區(qū)別主要有三點(diǎn):Cinder在OpenStack平臺(tái)中提供塊存儲(chǔ)服務(wù)。設(shè)計(jì)它的目的就是為了終端用戶使用的,即由Nova模塊管理的虛擬機(jī)實(shí)例模塊使用。實(shí)現(xiàn)塊存儲(chǔ)服務(wù)一般都會(huì)用到與LVM相關(guān)的技術(shù)或者使用自定義的驅(qū)動(dòng)方式來存儲(chǔ)。(2)Swift在OpenStack中還有另一個(gè)名字叫做對象存儲(chǔ)項(xiàng)目,它是一個(gè)云存儲(chǔ)軟件,通過一個(gè)簡單的API你就可以實(shí)現(xiàn)很多數(shù)據(jù)的獲取與存儲(chǔ)。設(shè)計(jì)它的目的是為了解決擴(kuò)展并優(yōu)化整個(gè)數(shù)據(jù)集的持久性、可用性以及并發(fā)性。Swift用于存儲(chǔ)那些非結(jié)構(gòu)化的數(shù)據(jù)是非常理想的,用戶根本就不需要擔(dān)心數(shù)據(jù)會(huì)太多引起問題。(3)簡單來說,Cinder像硬盤塊,直接掛載到虛擬機(jī)上。Swift像軟件,它通過接口存儲(chǔ)與獲取數(shù)據(jù)。第7章1.請描述Docker容器是如何分層的?Docker鏡像是由文件系統(tǒng)疊加而成。類似于虛擬機(jī)中的鏡像,但不同點(diǎn)在于其通過分層結(jié)構(gòu)使得用戶的寫操作僅針對為用戶單獨(dú)生成的讀寫層。Docker將這樣的文件系統(tǒng)稱為鏡像。當(dāng)用戶要構(gòu)建一個(gè)容器時(shí),守護(hù)進(jìn)程生成鏡像棧,并根據(jù)用戶指定的鏡像從倉庫中拉取,并分層推入鏡像棧中,位于下面的鏡像稱為父鏡像,其中最底部的鏡像稱為基礎(chǔ)鏡像。2.Dockerfile文件常用命令有哪些?FROM、MAINTAINER、RUN、CMD是四個(gè)基礎(chǔ)命令。FROM命令指定了基礎(chǔ)鏡像。MAINTAINER命令說明了維護(hù)者信息。RUN命令對基礎(chǔ)鏡像作進(jìn)一步操作。CMD命令指定了對啟動(dòng)容器執(zhí)行執(zhí)行何命令。其他命令還有EXPOSE命令告訴Docker服務(wù)端容器暴露的端口號(hào),供互聯(lián)系統(tǒng)使用。ENV命令用于指定一個(gè)環(huán)境變量。ADD命令將復(fù)制指定的<src>到容器中的<dest>。COPY命令將復(fù)制本地主機(jī)的<src>(為Dockerfile所在目錄的相對路徑)到容器中的<dest>。VOLUME命令用于創(chuàng)建一個(gè)可以從本地主機(jī)或其他容器掛載的掛載點(diǎn)。WORKDIR命令配置工作目錄。ENTRYPOINT命令用于配置容器啟動(dòng)后執(zhí)行的命令。3.有了容器,為什么還需要Kubernetes呢?它可以幫助用戶省去應(yīng)用容器化過程的許多手動(dòng)部署和擴(kuò)展操作。Kubernetes可以將運(yùn)行Linux容器的多組主機(jī)聚集在一起,從而輕松高效地管理這些集群。而且,這些集群可跨公共云、私有云或混合云部署主機(jī)。因此,對于要求快速擴(kuò)展的云原生應(yīng)用而言,Kubernetes是理想的托管平臺(tái)。Kubernetes擁有一個(gè)龐大且快速增長的生態(tài)系統(tǒng)。Kubernetes的服務(wù)、支持和工具廣泛可用。第8章1.HDFS上默認(rèn)的一個(gè)數(shù)據(jù)塊(Block)大小是多少?答:64M。2.畫出HDFS的基礎(chǔ)架構(gòu)圖并簡單概述其原理。答:基礎(chǔ)架構(gòu)圖:HDFS是一個(gè)典型的主從(Master/Slave)架構(gòu)。Master主節(jié)點(diǎn)(NameNode)也叫元數(shù)據(jù)節(jié)點(diǎn)(MetadataNode),可以看作是分布式文件系統(tǒng)中的管理者,存儲(chǔ)文件系統(tǒng)的meta-data。包括文件系統(tǒng)的命名空間(NameSpace),訪問控制信息,塊當(dāng)前所在的位置,集群配置信息。從節(jié)點(diǎn)也叫數(shù)據(jù)節(jié)點(diǎn)(DataNode),提供真實(shí)文件數(shù)據(jù)的物理支持。Hadoop集群中包含大量的DataNode,DataNode響應(yīng)客戶機(jī)的讀寫請求,還響應(yīng)MetadataNode對文件塊的創(chuàng)建、刪除、移動(dòng)、復(fù)制等命令。3.簡要概述MapReduce編程模型。答:MapReduce編程模型主要由兩個(gè)抽象類構(gòu)成,即Mapper和Reducer抽象類,Mapper用以對切分過的原始數(shù)據(jù)進(jìn)行處理,Reducer則對Mapper的結(jié)果進(jìn)行匯總,得到最后的輸出。在數(shù)據(jù)格式上,Mapper接受<key,value>格式的數(shù)據(jù)流,并產(chǎn)生一系列同樣是<key,value>形式的輸出,這些輸出經(jīng)過相應(yīng)處理,形成<key,{valuelist}>的形式的中間結(jié)果;之后,由Mapper產(chǎn)生的中間結(jié)果再傳給Reducer作為輸入,把相同key值的{valuelist}做相應(yīng)處理,最終生成<key,value>形式的結(jié)果數(shù)據(jù),再寫入HDFS中。4.列式數(shù)據(jù)庫HBase有哪些特征?答:HBase是一個(gè)類似BigTable的分布式數(shù)據(jù)庫,大部分特性和BigTable一樣,是一個(gè)稀疏的、長期存儲(chǔ)的、多維度的、排序的映射表。5.搭建Hadoop開發(fā)環(huán)境,并實(shí)現(xiàn)。答:搭建開發(fā)環(huán)境:(1)修改主機(jī)名。(2)修改IP地址,并綁定主機(jī)名與IP。(3)關(guān)閉防火墻并關(guān)閉防火墻開機(jī)啟動(dòng)。(4)安裝jdk并將java添加到環(huán)境變量中。(5)安裝hadoop,并分別修改hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml五個(gè)配置文件,并將hadoop添加到環(huán)境變量。(6)初始化HDFS(格式化文件系統(tǒng))。(7)啟動(dòng)hadoop。(8)實(shí)現(xiàn)(此處以測試程序WordCount為例)。①先在hadoop用戶當(dāng)前目錄下新建文件夾WordCount,在其中建立兩個(gè)測試文件file1.txt,file2.txt。自行在兩個(gè)文件中填寫內(nèi)容。file1.txt文件內(nèi)容為:Thisisthefirsthadooptestprogram!file2.txt文件內(nèi)容為:Thisprogramisnotverydifficult,butthisprogramisacommonhadoopprogram!②在Hadoop文件系統(tǒng)上新建文件夾“input”,并查看其中的內(nèi)容:hadoopfs–mkdir/inputhadoopfs–ls/③將WordCount文件夾中file1.txt、file2.txt文件上傳到剛剛創(chuàng)建的“input”文件夾:hadoopfs–put/home/hadoop/WordCount/*.txt/input④運(yùn)行Hadoop的示例程序wordcount,運(yùn)行命令如下:hadoopjarhadoop-mapreduce-examples-2.4.1.jarwordcountintputoutput=5\*GB3⑤查看輸出結(jié)果的文件位置和WordCount的結(jié)果:hadoopfs-ls/output使用如下指令查看WordCount的結(jié)果:hadoopfs–cat/output/part-r-00000顯示信息如下:This2a1common1difficult,but1first1hadoop2is3not1program2program!2test1the1this1very1第9章1.Storm采用的三進(jìn)程架構(gòu)包括什么?答:Nimbus、Supervisor、Zookeeper2.Storm中用戶每實(shí)現(xiàn)一個(gè)任務(wù),需要構(gòu)造哪兩類的拓?fù)浣M件?答:Spout和Bolt。3.簡述搭建Storm的開發(fā)環(huán)境。答:步驟如下:(1)安裝準(zhǔn)備,解壓所需工具的壓縮包storm.tar.gz;(2)安裝依賴文件,配置JDK;(3)安裝Zookeeper;(4)安裝ZeroMQ;(5)安裝Storm;(6)啟動(dòng)Storm。第10章1.請陳述RDD的五大特征。答:Partition(分區(qū))、Compute函數(shù)、Dependencies(依賴)、Partitioner(分區(qū)函數(shù))、PreferedLocations(優(yōu)先位置)。2.簡述Spark的運(yùn)行模式。答:Spark的運(yùn)行模式有很多種,當(dāng)部署在單機(jī)上時(shí),既可以用本地模式運(yùn)行,也可以用偽分布模式運(yùn)行;當(dāng)部署在分布式集群上時(shí),根據(jù)集群的實(shí)際情況,也有眾多的運(yùn)行模式可供選擇。底層的資源調(diào)度既可以使用外部資源調(diào)度框架,也可以使用Spark內(nèi)建的Standalone模式。目前常用的外部資源調(diào)度框架有Yarn模式和Mesos模式。3.Spark的生態(tài)系統(tǒng)包括哪些。答:Spark的生態(tài)系統(tǒng)主要包括以SparkCore為基礎(chǔ)的四個(gè)核心子框架:處理結(jié)構(gòu)化數(shù)據(jù)的SparkSQL、對實(shí)時(shí)數(shù)據(jù)流進(jìn)行處理的SparkStreaming、用于圖計(jì)算的GraphX、機(jī)器學(xué)習(xí)算法庫MLlib。第11章1.什么是CloudSim?答:CloudSim是澳大利亞墨爾本大學(xué)云計(jì)算與分布式系統(tǒng)實(shí)驗(yàn)室開發(fā)的一種通用、可擴(kuò)展的云計(jì)算仿真框架,也是一個(gè)云計(jì)算仿真工具集,提供了用于描述數(shù)據(jù)中心、虛擬機(jī)、應(yīng)用、用戶、計(jì)算資源和管理策略等核心類。2.CloudSim使用的模型場景有哪些?答:CloudSim可以對云數(shù)據(jù)中心的很多方面做場景模擬,比如網(wǎng)絡(luò)、電力、虛擬機(jī)的運(yùn)行情況等等。最主要分為以下兩大類,云數(shù)據(jù)中心能耗模型以及云數(shù)據(jù)中心的經(jīng)濟(jì)模型。3.簡述CloudSim仿真的主要步驟。答:(1)初始化CloudSim程序包;(2)創(chuàng)建數(shù)據(jù)中心;(3)創(chuàng)建數(shù)據(jù)中心(用戶)代理;(4)創(chuàng)建虛擬機(jī)和云事務(wù),并將其傳遞給數(shù)據(jù)中心代理;(5)創(chuàng)建云任務(wù)、開始仿真;(6)結(jié)束仿真、統(tǒng)計(jì)結(jié)果。4.使用CloudSim完成以下數(shù)據(jù)中心的仿真。仿真兩個(gè)數(shù)據(jù)中心,每個(gè)數(shù)據(jù)中心分別有10臺(tái)物理機(jī)(5臺(tái)雙核,5臺(tái)4核)。兩個(gè)數(shù)據(jù)中心總共有100臺(tái)虛擬機(jī),每臺(tái)虛擬機(jī)的運(yùn)算能力(100-500)不相同。這兩個(gè)數(shù)據(jù)中心總共需要處理1000個(gè)外部負(fù)載(負(fù)載能力10000-100000)任務(wù)。答:packageorg.cloudbus.cloudsim.examples;importjava.text.DecimalFormat;importjava.util.ArrayList;importjava.util.Calendar;importjava.util.LinkedList;importjava.util.List;importjava.util.Random;importorg.cloudbus.cloudsim.Cloudlet;importorg.cloudbus.cloudsim.CloudletSchedulerTimeShared;importorg.cloudbus.cloudsim.Datacenter;importorg.cloudbus.cloudsim.DatacenterBroker;importorg.cloudbus.cloudsim.DatacenterCharacteristics;importorg.cloudbus.cloudsim.Host;importorg.cloudbus.cloudsim.Log;importorg.cloudbus.cloudsim.Pe;importorg.cloudbus.cloudsim.Storage;importorg.cloudbus.cloudsim.UtilizationModel;importorg.cloudbus.cloudsim.UtilizationModelFull;importorg.cloudbus.cloudsim.Vm;importorg.cloudbus.cloudsim.VmAllocationPolicySimple;importorg.cloudbus.cloudsim.VmSchedulerTimeShared;importorg.cloudbus.cloudsim.core.CloudSim;importvisioners.BwProvisionerSimple;importvisioners.PeProvisionerSimple;importvisioners.RamProvisionerSimple;/***Anexampleshowinghowtocreate*scalablesimulations.*/publicclassCloudSimExercise{ /**Thecloudletlist.*/ privatestaticList<Cloudlet>cloudletList; /**Thevmlist.*/ privatestaticList<Vm>vmlist; privatestaticList<Vm>createVM(intuserId,intmips[]){ //CreatesacontainertostoreVMs.Thislistispassedtothebrokerlater LinkedList<Vm>list=newLinkedList<Vm>(); //VMParameters longsize=10000;//imagesize(MB) intram=512;//vmmemory(MB) //intmips=1000; longbw=1000; intpesNumber=1;//numberofcpus Stringvmm="Xen";//VMMname //createVMs Vm[]vm=newVm[mips.length]; for(inti=0;i<mips.length;i++){ vm[i]=newVm(i,userId,mips[i],pesNumber,ram,bw,size,vmm,newCloudletSchedulerTimeShared()); //forcreatingaVMwithaspacesharedschedulingpolicyforcloudlets: //vm[i]=Vm(i,userId,mips,pesNumber,ram,bw,size,priority,vmm,newCloudletSchedulerSpaceShared()); list.add(vm[i]); } returnlist; } privatestaticList<Cloudlet>createCloudlet(intuserId,longcloudlets[]){ //CreatesacontainertostoreCloudlets LinkedList<Cloudlet>list=newLinkedList<Cloudlet>(); //cloudletparameters //longlength=1000; longfileSize=300; longoutputSize=300; intpesNumber=1; UtilizationModelutilizationModel=newUtilizationModelFull(); Cloudlet[]cloudlet=newCloudlet[cloudlets.length]; for(inti=0;i<cloudlets.length;i++){ cloudlet[i]=newCloudlet(i,cloudlets[i],pesNumber,fileSize,outputSize,utilizationModel,utilizationModel,utilizationModel); //settingtheowneroftheseCloudlets cloudlet[i].setUserId(userId); list.add(cloudlet[i]); } returnlist; } //////////////////////////STATICMETHODS/////////////////////// /** *Createsmain()torunthisexample */ publicstaticvoidmain(String[]args){ Log.printLine("StartingCloudSimExercise..."); try{ //Firststep:InitializetheCloudSimpackage.Itshouldbecalled //beforecreatinganyentities. intnum_user=1;//numberofgridusers Calendarcalendar=Calendar.getInstance(); booleantrace_flag=false;//meantraceevents //InitializetheCloudSimlibrary CloudSim.init(num_user,calendar,trace_flag); //Secondstep:CreateDatacenters //DatacentersaretheresourceprovidersinCloudSim.WeneedatlistoneofthemtorunaCloudSimsimulation @SuppressWarnings("unused") Datacenterdatacenter0=createDatacenter("Datacenter_0"); @SuppressWarnings("unused") Datacenterdatacenter1=createDatacenter("Datacenter_1"); //Thirdstep:CreateBroker DatacenterBrokerbroker=createBroker(); intbrokerId=broker.getId(); //Fourthstep:CreateVMsandCloudletsandsendthemtobroker Randomrand=newRandom(); int[]mips=newint[100]; for(inti=0;i<mips.length;i++){ mips[i]=rand.nextInt(401)+100; } vmlist=createVM(brokerId,mips);//creating20vms long[]len=newlong[1000]; for(inti=0;i<len.length;i++){ len[i]=rand.nextInt(90000)+10000; } cloudletList=createCloudlet(brokerId,len);//creating40cloudlets broker.submitVmList(vmlist); broker.submitCloudletList(cloudletList); //Fifthstep:Startsthesimulation CloudSim.startSimulation(); //Finalstep:Printresultswhensimulationisover List<Cloudlet>newList=broker.getCloudletReceivedList(); CloudSim.stopSimulation(); printCloudletList(newList); Log.printLine("CloudSimExercisefinished!"); } catch(Exceptione) { e.printStackTrace(); Log.printLine("Thesimulationhasbeenterminatedduetoanunexpectederror"); } } privatestaticDatacentercreateDatacenter(Stringname){ //HerearethestepsneededtocreateaPowerDatacenter: //1.Weneedtocreatealisttostoreoneormore //Machines List<Host>hostList=newArrayList<Host>(); //2.AMachinecontainsoneormorePEsorCPUs/Cores.Therefore,should //createalisttostorethesePEsbeforecreating //aMachine. List<Pe>peList1=newArrayList<Pe>(); intmips=1000; //3.CreatePEsandaddtheseintothelist. //foraquad-coremachine,alistof4PEsisrequired: peList1.add(newPe(0,newPeProvisionerSimple(mips)));//needtostorePeidandMIPSRating peList1.add(newPe(1,newPeProvisionerSimple(mips))); peList1.add(newPe(2,newPeProvisionerSimple(mips))); peList1.add(newPe(3,newPeProvisionerSimple(mips))); //Anotherlist,foradual-coremachine List<Pe>peList2=newArrayList<Pe>(); peList2.add(newPe(0,newPeProvisionerSimple(mips))); peList2.add(newPe(1,newPeProvisionerSimple(mips))); //4.CreateHostswithitsidandlistofPEsandaddthemtothelistofmachines inthostId=0; intram=16384;//hostmemory(MB) longstorage=1000000;//hoststorage intbw=10000; for(inti=0;i<5;i++){ hostList.add( newHost( hostId, newRamProvisionerSimple(ram), newBwProvisionerSimple(bw), storage, peList1, newVmSchedulerTimeShared(peList1) ) ); hostId++; } for(inti=0;i<5;i++){ hostList.add( newHost( hostId, newRamProvisionerSimple(ram), newBwProvisionerSimple(bw), storage, peList2, newVmSchedulerTimeShared(peList2) ) ); } Stringarch="x86";//systemarchitecture Stringos="Linux";//operatingsystem Stringvmm="Xen"; doubletime_zone=10.0;//timezonethisresourcelocated doublecost=3.0;//thecostofusingprocessinginthisresource doublecostPerMem=0.05; //thecostofusingmemoryinthisresource doublecostPerStorage=0.1; //thecostofusingstorageinthisresource doublecostPerBw=0.1; //thecostofusingbwinthisresource LinkedList<Storage>storageList=newLinkedList<Storage>(); //wearenotaddingSANdevicesbynow DatacenterCharacteristicscharacteristics=newDatacenterCharacteristics(arch,os,vmm,hostList,time_zone,cost,costPerMem,costPerStorage,costPerBw); //6.Fin
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版城市綜合體停車場委托管理與物業(yè)管理合同3篇
- 二零二五年度股東股權(quán)分配與公司知識(shí)產(chǎn)權(quán)許可合同
- 二零二五年度燃?xì)馄髽I(yè)數(shù)字化轉(zhuǎn)型服務(wù)合同
- 二零二五年度城市綜合體地下車庫共享車位租賃合同
- 2025年度企業(yè)股權(quán)代持法律風(fēng)險(xiǎn)防范合同
- 2025年度短視頻演員網(wǎng)絡(luò)短視頻推廣合作合同
- 2025年度車輛保險(xiǎn)代理合作經(jīng)營合同
- 2025年度液化氣配送站經(jīng)營權(quán)及區(qū)域代理權(quán)轉(zhuǎn)讓合同
- 二零二五年度老年公寓護(hù)理員勞動(dòng)合同與護(hù)理技能競賽協(xié)議
- 2025年度版檔口租賃與城市綜合體運(yùn)營合同
- 二零二五年度無人駕駛車輛測試合同免責(zé)協(xié)議書
- 2025年湖北華中科技大學(xué)招聘實(shí)驗(yàn)技術(shù)人員52名歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 高三日語一輪復(fù)習(xí)助詞「と」的用法課件
- 毛渣采購合同范例
- 2023中華護(hù)理學(xué)會(huì)團(tuán)體標(biāo)準(zhǔn)-注射相關(guān)感染預(yù)防與控制
- 五年級(jí)上冊小數(shù)遞等式計(jì)算200道及答案
- 2024年廣東高考政治真題考點(diǎn)分布匯 總- 高考政治一輪復(fù)習(xí)
- 燃?xì)夤艿滥甓葯z驗(yàn)報(bào)告
- GB/T 44052-2024液壓傳動(dòng)過濾器性能特性的標(biāo)識(shí)
- FZ/T 81013-2016寵物狗服裝
- JB∕T 14089-2020 袋式除塵器 濾袋運(yùn)行維護(hù)技術(shù)規(guī)范
評論
0/150
提交評論