هوشمندسازی محیطهای ابری

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

الگوریتمهای یادگیری ماشین عبارتند از: درخت تصمیم - شبکه عصبی - ماشینهای بردار پشتیبان - یادگیری تقویتی - یادگیری عمیق . . .

الگوریتمهای مکاشفه ای عبارتند از: الگوریتمهای ژنتیک - سخت شدن تدریجی - هوش جمعی ذرات - کلونی مورچگان - خفاش - ماهی ها . . .

روش برنامه نویسی Cloudsim و iFogsim در نت بینز

1- دانلود و نصب   JDK  و نت بینز 

 

2- دانلود کتابخانه کلودسیم و باز نمودن فایل از حالت فشرده

3- اجرای نت بینز

4- ایجاد یک پروژه جدید جاوا در نت بینز:

File/New Project/java/java Application

5- کپی پوشه src یا org از مسیر کلودسیم به Source Packeage داخل نت بینز.

6- راست کلیک روی Libraries در نت بینز و انتخاب گزینه Add/JAR Folder و انتخاب فایلهای JAR از پوشه Lib یا jar مسیر کلودسیم.

7- هر فایلی در مسیر پکیجهای Example موجود در Source package کلودسیم را می توانید تغییر و یا با راست کلیک روی فایل مربوطه و انتخاب گزینه Run File اجرا نمود.

8- همچنین می توانید با ایجاد یک فایل جاوا در Source Packege جاری، کد مورد نظر خود را نوشته و اجرا نمایید.

آشنایی با موضوعات مطرح در رایانش ابری

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

کد زمانبندی جریان کاری در WorkFlowSim

/**
 * Start this entity (WorkflowScheduler)
 */@Overridepublicvoid startEntity(){
Log.printLine(getName()+" is starting...");
// this resource should register to regional GIS.
//int gisID = CloudSim.getEntityId(regionalCisName);
int gisID =-1;if(gisID ==-1){
        gisID =CloudSim.getCloudInfoServiceEntityId();}
// send the registration to GIS
    sendNow(gisID,CloudSimTags.REGISTER_RESOURCE, getId());}

کد مهاجرت ماشین مجازی در کلودسیم

/**
 * Adds the migrating in vm.
 * 
 * @param vm the vm
 */publicvoid addMigratingInVm(Vm vm){
	vm.setInMigration(true);if(!getVmsMigratingIn().contains(vm)){ 
if(getStorage()< vm.getSize()){
Log.printLine("[VmScheduler.addMigratingInVm] Allocation of VM #"+
 vm.getId()+" to Host #"+ getId()+" failed by storage");
System.exit(0);}
if(!getRamProvisioner().allocateRamForVm(vm, vm.getCurrentRequestedRam())){
Log.printLine("[VmScheduler.addMigratingInVm] Allocation of VM #"+ 
vm.getId()+" to Host #"+ getId()+" failed by RAM");System.exit(0);}
if(!getBwProvisioner().allocateBwForVm(vm, vm.getCurrentRequestedBw())){
Log.printLine("[VmScheduler.addMigratingInVm] Allocation of VM #"+ 
vm.getId()+" to Host #"+ getId()+" failed by BW");System.exit(0);}

		getVmScheduler().getVmsMigratingIn().add(vm.getUid());
if(!getVmScheduler().allocatePesForVm(vm, vm.getCurrentRequestedMips()))
{Log.printLine("[VmScheduler.addMigratingInVm] Allocation of VM #"+
 vm.getId()+" to Host #"+ getId()+" failed by MIPS");System.exit(0);}

		setStorage(getStorage()- vm.getSize());

		getVmsMigratingIn().add(vm);
		getVmList().add(vm);
		updateVmsProcessing(CloudSim.clock());
		vm.getHost().updateVmsProcessing(CloudSim.clock());}}

آزمایشگاه محاسبات ابری و سیستمهای توزیع شده دانشگاه ملبورن استرالیا

CLOUDS Laboratory

دانلود جدیدترین نسخه کلودسیم

دانلود نسخه رسمی کلودسیم

رایانش ابری

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

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

 

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

زمینه های تحقیقاتی

* محاسبات ابری Cloud Computing - محاسبات مه Fog Computing - محاسبات توزیع شده Distributed Computing - اینترنت اشیا Internet of Things

* شبکه های حسگر بیسیم Wireless Sensor Network

* امنیت شبکه - رمزنگاری Cryptography و پنهان نگاری داده ها Steganography

* داده کاوی Data Mining - وب کاوی Web Mining

* مسائل پیش بینی، تخمین و تشخیص به روشهای یادگیری ماشین

* طراحی و پیاده سازی الگوریتمهای هوش مصنوعی در محاسبات ابری و توزیع شده