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

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

دسته بندی ها

892 سوال

854 پاسخ

364 نظر

1.1k کاربر


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

    چطور می توان در Cloudsim میزان بهره وری پردازنده برای هر ماشین مجازی را به دست آورد؟

    این سوال توسط یکی از اعضای لیست ایمیل به آن ارسال شده است

    بوسیله ی (کاربر معمولی) (1.3k امتیاز)
    برای یافتن پاسخ های بیشتر، سئوال را به اشتراک بگذارید:

    2 پاسخ

    +2 امتیاز
    سلام
    جواب این سوال یک کلمه ایی نیست
    کد نمونه که توسط پاردو نوشته شده  را برایتان گذاشتم
    broker
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    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();
            }
        }
    }
     
     
    بوسیله ی (کاربر معمولی) (112 امتیاز)
    +2 امتیاز

    رونوشت پاسخ آقای دکتر دشتی از میلینگ لیست

    سلام

    اگر منظورتان بهره وری ماشین مجازی تابع زیر
    vm.getTotalUtilizationOfCpuMips(CloudSim.clock());
    اما برای سوال شما یکم محاسبه لازم است
    یکی از راه حل ها این است که مقدار میپس اختصاصی به ماشین مجازی را از تابع زیر بدست آورید
                    vm.getCurrentAllocatedMips()
    سپس با توجه به توابع مشابه در میزبان (host)مقدار کل میپس میزبان(host) محاسبه را انجام دهید،البته اگر هر میزبان چندتا هسته پردازشی(PE) داشته باشد باید آنها را نیز در نظر بگیرید
     
    التماس دعا از تمام دوستان عزیز در این ماه مبارک رمضان و مخصوصا شبهای قدر
    برای تمام دوستان آرزوی موفقیت دارم

     

    بوسیله ی (کاربر معمولی) (1.3k امتیاز)
    سلام دوستان
    چرا میزان utilization cpu در زمان پاسخگویی به کلادلت ها بی تاثیر است؟
    به عبارتی ماشینی که میزان بهرهوری cpu آن بیشتر از ماشینی است که این میزان در آن کمتر است بازهم سرعت پاسخگویی دوکلادلت یکسان در آنها یکسان است؟
    ...