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

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

دسته بندی ها

904 سوال

854 پاسخ

365 نظر

1.4k کاربر


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

    با سلام چرا وقتی از متد getProcessingCost() در کلادلت استفاده میکنم صفر چاپ  میشود؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

     

     cloudlet1.getProcessingcost()

    با تشکر

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

    1 پاسخ

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

    شما می تونید برنامتونو دیباگ کنید و مرحله به مرحله جلو برید ببینید کجا اشتباه کردید. تو کلود سیم بصورت پیش فرض داخل این تابع هزینه ترانسفر داده رو می آد حساب می کنه و شاید شما حجم فایل های ورودی و خروجی تون صفر که هزینه رو صفر برمی گردونه

    بوسیله ی (کاربر معمولی) (215 امتیاز)
    انتخاب شده بوسیله ی
    با تشکر از پاسخ شما کلادلت رو به صورت زیر تعریف کردم
     int id = 0;
                long length = 40000;
                int pesNumber = 1;
                long fileSize = 20000;
                long outputSize = 3000;
                UtilizationModel utilizationModel = new UtilizationModelFull();
                              
                Cloudlet cloudlet1 = new    Cloudlet(id, length, pesNumber, fileSize, outputSize, utilizationModel, utilizationModel, utilizationModel,file1);
                cloudlet1.setUserId(brokerId);
                List<String> file3;
    الان که costperBW رو اضافه کردم هزینه صفر نمیشه و فقط حجم فایل خروجی در costperBW ضرب میشه   با توجه به این که
    Cloudlet Processing Cost = input data transfer + processing cost + output transfer cost .
    چطور میتونم input data transfer و processing cost رو صفر بدست نیارم
    ممنون میشم اگه پاسخ بدید.
    شما پکیج کلود سیم رو اضافه کردی به پروژتون یا سورس اصلیشو؟
    اگه سورس اصلیشو اضافه کرده باشین خیلی راحت می تونید هر طور که مد نظرتون هست تغییر بدیدن.
    اگه سورس اصلی رو ببین به این صورته
    // cloudlet cost: execution cost...
            // double cost = getProcessingCost();
            double cost = 0;
            // ...plus input data transfer cost...
            cost += accumulatedBwCost;
            // ...plus output cost
            cost += costPerBw * getCloudletOutputSize();
            return cost;

    که همون طور که مشاهده می کنید هزینه پردازش رو کامنت کرده و صفر در نظر می گیره  و هزینه فایل  ورودی با
    accumulatedBwCost که چون صفر میشه و جایی مقدار دهی نشده صفر در نظر می گیره. شما کل کد مربوز به کلود لت رو نگا کنید متوجه می شید.
    شما حتما نیاز نیست که از این تابع استفاده کنید می تونید این موارد رو خودتون بدست بیارید.
    با توجه به اینکه شما پهنای باند رو می دونید و اندازه فایل ورودی و خروجی رو هم می دونید و طول تسک رو هم دارید و mips ماشین مورد نظر رو هم دارید.
    Cloudlet Processing Cost =costperBW*(cloudlet1.getCloudletfilesize()/bw)+cloudletl.length/vm.getMips()*costperSec+costPerBw *(cloudlet1.getCloudletOutputSize()/pw
    (
    با تشکر از پاسخ شما
    ...