منابع فیزیکی و مجازی عمومی در دسترس
زمانبند
کتابخانه کاربر
اجرا کنندهها
زمانبند ها
ابر عمومی
منابع مجازی (VPN)
شکل ۶-۱: آرایش رایجی ازAneka ]43[.
سرویسهای فابریک، واسط منابع روی میزبان هستند و مسئول اعمال سطح پایین میباشند. سرویسهای پایه هسته محیط اجرایی هستند و سرویسهای اجرایی، اجرای برنامه کاربردی را مدیریت می کنند. سرویسهای نوسنجی در تمامی سطوح عمل کرده و حمایتهایی را برای امنیت و پایایی فراهم می کنند. میتوان سرویسهای خاص و اضافی را به راحتی توسط بروز کردن یک فایل پیکربندی در ظرف قرار داد. این عملیات هم میتوانند توسط یک روال خودکار انجام شود و هم میتوان آنها را به صورت دستی انجام داد. Aneka به برنامه های کاربردی متفاوت اجازه اجرا روی ساختار گرید مشابه را میدهد و به منظور ارائه چنین حالت منعطفی، از مجردسازیهای متفاوتی استفاده شده است که از طریق آن میتوان برنامه های کاربردی توزیعشده را پیادهسازی کرد.
(( اینجا فقط تکه ای از متن درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. ))
این مجردسازیها به مدلهای اجرایی متفاوتی نگاشت میشوند. در حال حاضر Aneka از سه مدل اجرایی متفاوت اجرای وظیفه[۳۲]، اجرای نخ و اجرای نگاشت کاهش حمایت می کند. هر مدل اجرایی از چهار عنصر واحد کاری، زمانبند، اجرا کننده و مدیر تشکیل شده است. واحد کاری، پیمانهای بودن مدل را تعریف می کند، به بیانی دیگر کوچکترین واحد محاسباتی را که مستقیماً توسط فراساختار Aneka اجرا می شود تعریف می کند. در Aneka مجموعه ای از واحدهای کاری مرتبط، یک برنامه کاربردی را میسازند. زمانبند مسئول سازماندهی اجرای واحدهای کاری شکلدهنده برنامه کاربردی است و واحدهای کاری را به گرههای متفاوت داده و نتایج را از آنها پس گرفته و در اختیار کاربر نهایی قرار میدهد. اجرا کننده مسئول اجرای یک یا چند واحد کاری است. مدیر یک مؤلفه سمت کلاینت است که با سیستم Aneka ارتباط برقرار می کند تا یک برنامه کاربردی اجرا شود و نتایج برگردانده شوند. شکل ۶-۳ نمایی کلی از سیستم را نشان میدهد.
نیازمندیهای سیستم: نیازمندیهای اصلی سیستم برای نصب سرویس Aneka به دو دسته نیازمندیهای سختافزاری و نرمافزاری تقسیم میشوند که در ادامه شرح داده شده است.
نیازمندی های سخت افزاری: یک گیگابایت حافظه و ۴۰ مگابایت فضای دیسک.
نیازمندی های نرم افزاری: Microsoft Windows XP Professional Edition Sp2، Microsoft .NET framework 2.0، IIS5.0+ (این گزینه اختیاری است)،Microsoft SQL Server 9.0.x/SQL Server Express 9.0.x /MySQL Server 5.1.3.0 (این مورد اختیاری است).
شکل ۶-۲: پشته سرویسهای Aneka ]43[.
شکل ۶-۳: نمایی کلی از سیستم Aneka ]44[.
۶-۲-۲ CloudSim
کلودسیم یک چارچوب شبیهسازی قابل توسعه و عمومی شده است که مدلسازی یکپارچه و شبیهسازی زیرساختهای محاسبات ابری و سرویسهای ابزارهای کاربردی ظهور کرده را ممکن میسازد و میتوان از آن برای مدل کردن محیطهای رایانش ابری و تست کارایی سرویسهای کاربردی استفاده کرد. با بهره گرفتن از این ابزار محققان و توسعهدهندگان صنایع میتوانند بر مسائل مربوط به طراحیهای سیستمهای خاص خود تمرکز کنند، بدون این که نیاز به توجه به جزئیات سطح پایین زیرساختها و سرویسهای ابر داشته باشند. کلودسیم نرمافزاری مبتنی بر زبان جاوا و مبتنی بر رویداد[۳۳] است، یعنی موجودیت هایی که درآن تعریف می شوند از طریق فرستادن رویداد با یکدیگر ارتباط برقرار می کنند.کلودسیم، مدلسازی رفتار مؤلفه های سیستم مانند مرکز داده ها، VMها و سیاستهای آماده سازی منابع را پشتیبانی می کند [۴۵]. جدول ۶-۱ برخی ویژگیهای کلودسیم را نشان میدهد.
جدول ۶-۱: ویژگیهای کلودسیم.
پشتیبانی از مدلسازی و شبیهسازی مرکز داده های محاسبات ابری در مقیاس بزرگ |
پشتیبانی از مدلسازی و شبیهسازی میزبانهای سرور مجازیشده با سیاستهای سفارشیشده برای تهیه منبع میزبان VMها |
پشتیبانی از مدلسازی و شبیهسازی منابع محاسباتی مبتنی بر انرژی |
پشتیبانی از مدلسازی و شبیهسازی توپولوژیهای شبکه مرکز داده ها و ابزارهای کاربردی عبور پیام |
پشتیبانی از مدلسازی و شبیهسازی ابرهای متحد شده |
پشتیبانی از درج پویای المانهای شبیهسازی توقف و بازیابی شبیهسازی |
پشتیبانی از سیاستهای تعریفشده کاربران برای تخصیص میزبانها به VMها و سیاستهایی برای تخصیص منابع به VMها |
نیازمندیهای نصب نرمافزار: نیازمندیهای اصلی سیستم برای نصب کلودسیم شامل ۱) جاوا سان نسخه ۱.۷ یا بالاتر، (نسخههای قدیمی جاوا سان و یا جاوای غیر از سان مثل J++ و یا gcj کامپایل نمی شوند) ۲) نرمافزارهایی مثل Netbeans یا Eclips است.
نصب کلودسیم: کلودسیم یک کتابخانه است و دارای واسط کاربر گرافیکی نمی باشد و برای اجرای از آن از نرمافزارهایی مثل Eclips یا Netbeans استفاده می شود. امروزه نرم افزارهایی مثل CloudReport و CloudAnalyst ]48[ ساخته شده اند که بسته کلودسیم را به همراه یک GUI دارند. بسته کلودسیم را که به صورت یک فایل فشرده شامل مثال های کلودسیم، مستندات API، آرشیو فایلهای Jar، کد منبع و واحدهای تست کلودسیم است را میتوان از سایت http://CloudSim.googlecode.com/files/CloudSim-3.0.3.zip دانلود کرد. بعد از دانلود بسته باید آنرا از حالت فشرده خارج کرده و سپس با توجه به اینکه از Eclips یا Netbeans استفاده می شود قسمت های مورد نیاز را در برنامه وارد کرد.
ساختار لایهای کلودسیم: ساختار لایهای کلودسیم در شکل ۶-۴ نشان داده شده است. در پایینترین سطح، موتور شبیهسازی زمان گسسته SimJava[34] قرار دارد که قابلیت های هستهای مورد نیاز برای چارچوبهای شبیهسازی سطحهای بالاتر یعنی GridSim را پیادهسازی می کند. از جمله این قابلیتها میتوان به صفبندی و پردازش رویدادها، ایجاد مؤلفه های سیستمی مانند سرویسها، میزبانها، مرکز داده ها، دلالها و VMها و یا قابلیت های ارتباط بین مؤلفه ها و مدیریت کلاک شبیهسازی اشاره کرد، به عبارت دیگر وظیفه رسیدگی به رویدادها و ارسال پیامها بر عهده این لایه است. لایه بعدی GridSim است که مؤلفه های نرمافزاری سطح بالا را برای مدل کردن چندین زیر ساخت گرید مانند شبکه ها، پروفایلهای کاربران، ترافیک شبکه و مؤلفه های بنیادی گرید مانند منابع، مجموعه داده ها، سرویس اطلاعات گرید۲ و تأثیرات بار کاری ارائه می کند.
لایه سوم به وسیله برنامه نویسی، قابلیت های هستهای لایه GridSim را به ارث میبرد. این لایه مدلسازی و شبیهسازی محیطهای مرکز داده مبتنی بر ابر مانند واسطهای مدیریت اختصاصی ماشینهای مجازی، حافظهها و پهنای باند را انجام میدهد و همچنین موجودیتهای اصلی مثل ماشینهای مجازی، میزبانها، مرکز داده ها و کاربردها را در طی شبیهسازی، نمونهسازی و اجرا می کند. از جمله قابلیت های آن، ارائه میزبانها به ماشینهای مجازی بر اساس درخواستهای کاربران، مدیریت اجرای کاربردها و نظارت پویای آنهاست. همه این کارها برای یک ارائهدهنده سرویس که میخواهد کارایی سیاستهای مختلف را بررسی کند باید در بخش آماده سازی ماشینهای مجازی از طریق برنامه نویسی انجام شود.
کلودسیم مجموعه ای از APIها (۱۲ بسته) را فراهم می کند. هر API شامل تعدادی بسته است و هر بسته شامل واسطها، کلاسها، استثناءها، خطاها و انواع حاشیهنویسی است. این بستهها شامل مواردی از قبیل Org.cloudbus.cloudSim، Org.cloudbus.cloudSim.love و Org.cloudbus.clodsim.power است. جدول ۶-۲ مقایسه ای بین دو نرمافزار معرفی شده را نشان میدهد. برای استفاده از Aneka علاوه بر داشتن مهارت برنامهنویسی به زبان .NET باید کار با واسط گرافیکی آن نیز فراگرفته شود. این نرمافزار دارای تنظیماتی مربوط به ظرف، کارفرما۳، برده۴ و پایگاه داده است که تنظیمات دقیق و درست هر یک از این بخشها بر روند اجرای برنامه کاربر تاثیر میگذارد. همانطور که گفته شد کلودسیم دارای تعدای API است و بخشهای مربوط به مرکزداده و زمانبند برنامهنویسی شده و در خود بسته موجود میباشد، بنابراین برای استفاده از کلودسیم تنها کافی است بخشهای کد منبع و Jar را در Eclips یا Netbeans وارد کرده و سپس با برنامهنویسی بخشهای مورد نیاز را تغییر داد. نرم افزار کلودسیم در سراسر دنیا رایجتر است و از اینرو برای رفع مشکلهای احتمالی وبسایتهاو افراد زیادی برای کمکرسانی وجود دارند در حالیکه افراد کمی با Aneka آشنایی دارند. در ایران نیز کلودسیم رایج است و حتی بسیاری از افراد که با محیطهای ابری آشنایی دارند نام Aneka برایشان ناآشناست. در این پایان نامه از کلودسیم برای شبیه سازی و از Eclips برای کار با کلودسیم استفاده شده است. جدول ۶-۳ برخی از بستههای کلودسیم که برای پیادهسازی در این پایان نامه ازآنها استفاده شده است را شرح داده است.
کد کاربر
مشخصه شبیه سازی
سناریوی ابر