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

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

دسته بندی ها

898 سوال

854 پاسخ

364 نظر

1.2k کاربر


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

    با سلام

    آیا میتوانیم یک فاصله زمانی مشخص بین ایجاد درخواست ایجاد ماشین مجازی ها و یا حتی بین کلادلت ها داشته باشیم؟

    لطفا راهنمایی کنید

     

     

     

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

    1 پاسخ

    +1 امتیاز

    بله شما با ایجاد گلوبال بروکر می توانید در فواصل مشخص (بسته به الگوریتمی که قرار می دید) بروکر، ماشین مجازی و کلادلت ایجاد کنید ولی فراموش نکنید که همزمانی ایجاد و اختصاص ماشین های مجازی و کلادلت ها مهم هست و هر ماشین مجازی در هنگام ایجاد باید یک کلادلت را حداقل میزبانی کند. در غیر اینصورت بدلیل نبود بار ماشین مجازی در بروزرسانی بعد از ایجاد، از بین می رود 

    بوسیله ی (کاربر معمولی) (245 امتیاز)
    ضمن تشکر
    من منظورم فاصله زمانی بین ایجاد کلادلت ها نبود بلکه هدفم ایجاد فاصله زمانی بین ایجاد ماشین های مجازی بود. لطفا در این زمینه راهنمایی فرمایید.
    منظور من هم ماشین مجازی و کلادلت باهم بود. همین طور که اطلاع دارید ماشین مجازی و کلادلت مفاهیم درهم تنیده ای در کلادسیم هستند. هردو در حین ایجاد بروکر اختصاص داده می شوند ودر هنگام ایجاد کلاستر رویدادهای پشت سرهمی در Simevent های کلاستر دارند ضمن اینکه در حین تولید ماشین مجازی کلادلت باید اختصاص داده بشه و پس از اتمام پردازش کلادلت هم ماشین مجازی از بین میره پس تولید مکرر ماشین مجازی باید حتما با تولید کلادلت همراه باشه. توصیه من به شما ایجاد globalbroker به عنوان موجودیت اولیه هست و در اون می تونید طی یک انحراف زمانی بطور مرتب بروکرهای جدیدی تولید کنید و طی اون ماشین مجازی و کلادلت ایجاد کنید.
    با بررسی و مطالعه کلاسها به این نتیجه رسیدم که  در کلاس datacenterbroker در تابع createVmsInDatacenter   پارامتر دوم از تابع send برای تاخیر استفاده میشود
    send(datacenterName,0, CloudSimTags.VM_CREATE_ACK, vm);
    اعلان تابع بصورت زیر است:
    send(String entityName, double delay, int cloudSimTag, Object data)
    مقدار این پارامتر بطور پیش فرض 0 است که با تغییر آن بین درخواستهای ایجاد ماشین مجازی تاخیر ایجاد میشود.
    اما نمیدونم درست تشخیص دادم یا نه البته در اجرا ظاهرا که درست جواب میده
    لطفا در این خصوص نظر بدید.
    ممنون
    کاملا درسته. این پارامتر مدت زمان انحراف برای ایجاد ماشین مجازی رو تولید می کنه. یعنی در زمان clock در صورت ارسال این دستور با پارمتر shift زمان بعدی ایجاد ماشین مجازی clock + shift خواهد بود. ولی این مکانیزم تنها یک بار ماشین مجازی رو ایجاد می کنه در صورتی که می خواید ماشین های مجازی رو مکرر تولید کنید بهتر به این صورت عمل کنید که طبق روش انجام شده توسط Buyya هم هست:
    1.  یک کلاس از Global Broker ایجاد کنید از اونجایی که در ابتدای برنامه ی شبیه سازی موجودیت ها ایجاد شده و متد startEntity فراخوانی می شود پس متد startEntity از Global Broker رو Override کرده و یک send مثل رابطه ای که نوشتید در اون قرار بدیدو توسط اون بجای یک رویداد با مقداری که خودتو عدد می دید رو فراخوانی کنید.
    2. برای همون مقداری که در بخش به عنوان رویدا دتعریف کردیدیک  Event در تابع processEvent در Global Broker خود  ایجاد کنید عملکرد اون درست مانند سایر موجودیت ها مثل Broker هست. بدین ترتیب با ایجاد Global Broker و با فراخوانی startEntity،  رویداد مورد نظر شما اجرا می شه.
    3. در رویدادی که پیشتر گفتیم حالا می تونید مکرر یک Broker با هر بار و ماشین مجازی دلخواه ایجاد کنید و در انتهای اون مجددا یک send رو برای فراخوانی مجدد خودش با یک تاخیر مجدد ایجاد کنید تا بطور پیوسته بارها و ماشین های مجازی رو تولید کنید.
    در صورتی که بخش هایی نامفهوم هست بگید تا توضیح بدم
    از توضیحات شما بسیار ممنونم
    ...