乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      云計(jì)算仿真工具CloudSim介紹和使用

       funson 2010-06-23

      云計(jì)算仿真工具CloudSim介紹和使用

      文章分類:Java編程

      CloudSim介紹和使用
      本文主要介紹一下CloudSim,希望能對有需要的朋友們有所幫助~
          2009年4月8日,澳大利亞墨爾本大學(xué)的網(wǎng)格實(shí)驗(yàn)室和Gridbus項(xiàng)目宣布推出云計(jì)算仿真軟件,稱為CloudSim。它是在離散事件模擬包SimJava上開發(fā)的函數(shù)庫,可在Windows和Linux系統(tǒng)上跨平臺運(yùn)行,CloudSim繼承了GridSim的編程模型,支持云計(jì)算的研究和開發(fā),并提供了以下新的特點(diǎn): (1)支持大型云計(jì)算的基礎(chǔ)設(shè)施的建模與仿真;(2)一個(gè)自足的支持?jǐn)?shù)據(jù)中心、服務(wù)代理人、調(diào)度和分配策略的平臺。其中CloudSim 獨(dú)特功能有:一是提供虛擬化引擎,旨在數(shù)據(jù)中心節(jié)點(diǎn)上幫助建立和管理多重的、獨(dú)立的、協(xié)同的的虛擬化服務(wù);二是在對虛擬化服務(wù)分配處理核心時(shí)能夠在時(shí)間共享和空間共享之間靈活切換。CloudSim平臺有助于加快云計(jì)算的算法、方法和規(guī)范的發(fā)展。CloudSim的組件工具均為開源的。CloudSim的軟件結(jié)構(gòu)框架和體系結(jié)構(gòu)組件包括SimJava、GridSim、CloudSim、UserCode四個(gè)層次。
          CloudSim是在GridSim模型基礎(chǔ)上發(fā)展而來,提供了云計(jì)算的特性,支持云計(jì)算的資源管理和調(diào)度模擬。云計(jì)算與網(wǎng)格計(jì)算的一個(gè)顯著區(qū)別是云計(jì)算采用了成熟的虛擬化技術(shù),將數(shù)據(jù)中心的資源虛擬化為資源池,打包對外向用戶提供服務(wù),CloudSim體現(xiàn)了此特點(diǎn),擴(kuò)展部分實(shí)現(xiàn)了一系列接口,提供基于數(shù)據(jù)中心的虛擬化技術(shù)、虛擬化云的建模和仿真功能。通常,數(shù)據(jù)中心的一臺主機(jī)的資源可以根據(jù)用戶的需求映射到多臺虛擬機(jī)上,因此,虛擬機(jī)之間存在對主機(jī)資源的競爭關(guān)系。CloudSim提供了資源的監(jiān)測、主機(jī)到虛擬機(jī)的映射功能。CloudSim的CIS(Cloud Information Service)和DataCenterBroker實(shí)現(xiàn)資源發(fā)現(xiàn)和信息交互,是模擬調(diào)度的核心。用戶自行開發(fā)的調(diào)度算法可在DataCenterBroker的方法中實(shí)現(xiàn),從而實(shí)現(xiàn)調(diào)度算法的模擬。
          依據(jù)CloudSim源代碼介紹幾個(gè)核心類:
          (1)Cloudlet類:構(gòu)建云環(huán)境下的任務(wù)。
          (2)DataCenter類:數(shù)據(jù)中心,提供虛擬化的網(wǎng)格資源,處理虛擬機(jī)信息的查詢,包含虛擬機(jī)對資源的分配策略,云計(jì)算采用VMProvisioner處理虛擬機(jī)。
          (3)DataCenterBroker類:隱藏了虛擬機(jī)的管理,如創(chuàng)建、任務(wù)提交、虛擬機(jī)的銷毀等。
          (4)Host類:擴(kuò)展了機(jī)器對虛擬機(jī)除處理單元(PE)之外的參數(shù)分配策略,如帶寬、存儲(chǔ)空間、內(nèi)存等,一臺Host可對應(yīng)多臺虛擬機(jī)。
          (5)VirtualMachine類:虛擬機(jī)類,運(yùn)行在Host上,與其它虛擬機(jī)共享資源,每臺虛擬機(jī)由一個(gè)擁有者所有,可提交任務(wù),并由VMScheduler類定制該虛擬機(jī)的調(diào)度策略。
          (6)VMScheduler類:虛擬機(jī)的調(diào)度策略,用來管理執(zhí)行任務(wù),實(shí)現(xiàn)了任務(wù)接口。
          (7)VMCharacteristics類:提供虛擬機(jī)描述。
          (8)VMMAllocationPolicy類:虛擬機(jī)監(jiān)視器策略類,描述同一Host上的多臺虛擬機(jī)共享資源的策略。
          (9)VMProvisioner類:實(shí)現(xiàn)數(shù)據(jù)中心的主機(jī)到虛擬機(jī)的映射。

      2、CloudSim環(huán)境配置
      (1)JDK安裝和配置
      http://java./ 下載JDK最新版本jdk1.6.0_13,CloudSim需要運(yùn)行在JDK1.6版本以上。安裝下載的JDK,設(shè)置環(huán)境變量。在Path中加入路徑:C:\Program Files\Java\jdk1.6.0_13\bin; ClassPath中加入路徑:C:\Program Files\Java\jdk1.6.0_13\lib\dt.jar; C:\Program Files\Java\jdk1.6.0_13\lib\tools.jar; 。
      (2)CloudSim配置
      http://www./cloudsim/ 下載CloudSim 1.0 beta版,下載的是一個(gè)Zip包,解壓壓縮包即可。設(shè)置環(huán)境變量,在ClassPath中加入路徑:C:\CLOUDSIM\jars\cloudsim.jar; C:\CLOUDSIM\jars\gridsim.jar; C:\CLOUDSIM\jars\simjava2.jar; 。

      3、CloudSim的擴(kuò)展
          CloudSim是開源的,可以在windows Xp和linux上運(yùn)行,用戶可以根據(jù)自己的研究內(nèi)容自行擴(kuò)展CloudSim,加入自己的代碼后,需要重新編譯并發(fā)布平臺。下面給出編譯和生成平臺的方法:
          從http://ant./ 下載Ant工具,解壓到目錄D:\apache-ant-1.7.1,設(shè)置環(huán)境變量,在PATH中加入:D:\apache-ant-1.7.1\bin;。將命令行切換到擴(kuò)展的CloudSim路徑(build.xml所在目錄),在命令行下鍵入命令D:\CloudSim>ant,批量編譯CloudSim源文件,生成的文件按照build.xml的設(shè)置存儲(chǔ)到指定位置,編譯成功后在命令行下鍵入D:\CloudSim>ant makejar命令打包生成new_cloudsim.jar。擴(kuò)展的CloudSim平臺生成成功。重設(shè)環(huán)境變量,在ClassPath中增加路徑:D:\CloudSim\jars\new_cloudsim.jar;D:\CloudSim\jars\cloudsim.jar;D:\CloudSim\jars\g-ridsim.jar; D:\CloudSim\jars\simjava2.jar;,下一步在新的平臺下編寫自己的仿真驗(yàn)證程序。

      4、使用CloudSim仿真的一般步驟
      (1) 初始化GridSim 庫
      GridSim.init(num_user, calendar, trace_flag, exclude_from_file,exclude_from_processing, report_name);
      (2) 創(chuàng)建數(shù)據(jù)中心,在CloudSim仿真平臺中,一個(gè)數(shù)據(jù)中心由一個(gè)或多個(gè)Machine組成,一個(gè)Machine是由一個(gè)或多個(gè)PEs或CPUs組成。
      DataCenter datacenter0 = createDatacenter("Datacenter_0");
      (3) 創(chuàng)建代理Broker
      DatacenterBroker broker = createBroker();
      int brokerId = broker.get_id();
      (4) 創(chuàng)建虛擬機(jī)
      vmlist = new VirtualMachineList();
      //創(chuàng)建時(shí)為虛擬機(jī)指定Broker
      VirtualMachine vm1 = new VirtualMachine(
      new VMCharacteristics(vmid,brokerId,size,memory,bw,vcpus,priority,vmm,
      new TimeSharedVMScheduler()));
      //將虛擬機(jī)加入虛擬機(jī)列表
      vmlist.add(vm1);
      //向相應(yīng)代理Broker提交虛擬機(jī)列表
      broker.submitVMList(vmlist);
      (5) 創(chuàng)建云任務(wù)
      cloudletList = new CloudletList();
      //創(chuàng)建時(shí)指定任務(wù)的用戶ID,BrokerID          
      Cloudlet cloudlet1 = new Cloudlet(id, length, file_size, output_size);
          cloudlet1.setUserID(brokerId);
      ……
      //將任務(wù)加入任務(wù)列表
      cloudletList.add(cloudlet1);
      ……
      //向代理Broker提交任務(wù)列表
      broker.submitCloudletList(cloudletList);
      (6) 啟動(dòng)仿真
      GridSim.startGridSimulation();
      (7) 在仿真結(jié)束后統(tǒng)計(jì)結(jié)果
      CloudletList newList = broker.getCloudletList();
      GridSim.stopGridSimulation();
      printCloudletList(newList);
      datacenter0.printDebts();
          若是根據(jù)自己研究對平臺進(jìn)行了擴(kuò)展,平臺重生成后,就可以在仿真程序中調(diào)用自己編寫的類、方法、成員變量等。

      本文來自CSDN博客,轉(zhuǎn)載請標(biāo)明出處:http://blog.csdn.net/rolinzcy12/archive/2009/07/21/4367631.aspx

        本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多