Warning: ob_start(): output handler 'ob_gzhandler' conflicts with 'zlib output compression' in /home/occc/domains/occc.ir/public_html/ask/qa-include/qa-index.php on line 170 Notice: ob_start(): failed to create buffer in /home/occc/domains/occc.ir/public_html/ask/qa-include/qa-index.php on line 170 Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/occc/domains/occc.ir/public_html/ask/qa-include/qa-db.php on line 66 من میخام برای مثلا در پایان اجرای 20 task مقدارutilization cpu را در هر vm محاسبه کنم؟ - پرسش و پاسخ درباره رایانش ابری

جامعه آزاد رایانش ابری
بورد جامعه آزاد رایانش ابری
حمایت مالی برای توسعه جامعه
دانشنامه آزاد رایانش ابری ایران
آرشیو وبینارها و جلسات آنلاین جامعه
در صورت ایجاد کاربر جدید در سایت حتما پوشه اسپم خود را چک کنید و برای دریافت ایمیل های بعدی از این سایت در خصوص پاسخ های مطرح شده، تنظیمات رفع اسپم در صندوق پست الکترونیک خود را انجام دهید.

همیشه توجه داشته باشیم که با رأی مثبت خود می توانیم از دوستانمان تشکر کنیم!

865 سوال

847 پاسخ

363 نظر

882 کاربر


فعال ترین کاربران
این ماه:
    Gute Mathe-Fragen - Bestes Mathe-Forum

    من میخام برای مثلا در پایان اجرای 20 task مقدارutilization cpu را در هر vm محاسبه کنم؟

    0 امتیاز
    سوال شده 27 دی 1396 بوسیله ی maryam.ahmadi (114 امتیاز)
    برای یافتن پاسخ های بیشتر، سئوال را به اشتراک بگذارید:

    1 پاسخ

    0 امتیاز
     
    بهترین پاسخ

    درود

    broker

    import org.cloudbus.cloudsim.Cloudlet;
    import org.cloudbus.cloudsim.CloudletSchedulerSpaceShared;
    import org.cloudbus.cloudsim.Datacenter;
    import org.cloudbus.cloudsim.DatacenterBroker;
    import org.cloudbus.cloudsim.Host;
    import org.cloudbus.cloudsim.Log;
    import org.cloudbus.cloudsim.Pe;
    import org.cloudbus.cloudsim.Vm;
    import org.cloudbus.cloudsim.core.CloudSim;
    import org.cloudbus.cloudsim.core.CloudSimTags;
    import org.cloudbus.cloudsim.core.SimEvent;
    import org.cloudbus.cloudsim.lists.VmList;
    /**
      * @author Mário Pardo
     */
    public class HirenBroker extends DatacenterBroker {
     
        public HirenBroker(String name) throws Exception {
            super(name);
        }
     
        @Override
        public void submitCloudlets() {
            int vmIndex = 0;
            int delay = 10;
            for (Cloudlet cloudlet : getCloudletList()) {
                Vm vm;
     
                if (cloudlet.getVmId() == -1) {
                    vm = getVmsCreatedList().get(vmIndex);
                } else {
                    vm = VmList.getById(getVmsCreatedList(), cloudlet.getVmId());
     
                    if (vm == null) {
                        Log.printLine(CloudSim.clock() + ": " + getName() + ": Postponing execution of cloudlet "
                                + cloudlet.getCloudletId() + ": bount VM not available");
                        continue;
                    }
                }
               Log.printLine(CloudSim.clock() + ": " + getName() + ": Sending cloudlet "
                        + cloudlet.getCloudletId() + " to VM #" + vm.getId());
                cloudlet.setVmId(vm.getId());
                schedule(getVmsToDatacentersMap().get(vm.getId()), delay, CloudSimTags.CLOUDLET_SUBMIT, cloudlet );
                //sendNow(getVmsToDatacentersMap().get(vm.getId()), CloudSimTags.CLOUDLET_SUBMIT, cloudlet);
                cloudletsSubmitted++;
                vmIndex = (vmIndex + 1) % getVmsCreatedList().size();
                getCloudletSubmittedList().add(cloudlet);
                //Cloudlet was submitted...checking VM Status 
                
                if (vm!=null){
                    vm.updateVmProcessing(CloudSim.clock(), null);
                    Host h = vm.getHost();
                    double hostCurrentCPUUse = 0.0;
                    for (Vm vmIt : h.getVmList()) {
                      hostCurrentCPUUse += vmIt.getTotalUtilizationOfCpu(CloudSim.clock());
                    }
                    hostCurrentCPUUse /= h.getVmList().size();
                    
                    double vmCurrentCPU = vm.getTotalUtilizationOfCpu(CloudSim.clock());
                    int CurrentRam = vm.getCurrentAllocatedRam();
                    //TO-DO -> Use currentCPU to your business rules...
                    //This will be done after you send each cloudlet
                    System.out.println("Cloudlet: " + cloudlet.getCloudletId() + " - VM: " + vm.getId()
                            + " - Current HOST Cpu MIPS Usage Percent: " + hostCurrentCPUUse +
                            " - Current VM CPU Usage Percent: " + vmCurrentCPU*100+" Ram:  "+ CurrentRam);
                }
                this.pause(delay);
                CloudSim.runClockTick();}}}

     

    پاسخ داده شده 27 دی 1396 بوسیله ی الهام هرمزی (720 امتیاز)
    انتخاب شده 25 بهمن 1396 بوسیله ی maryam.ahmadi
    ...