بخشی از مقاله

چکیده

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

از طرفی در محیط محاسبات ابر، بزرگترین چالشهای فراهمکنندههای سرویس، برآورد توافقنامههای سطح سرویس میباشد. اما به علت زمانبربودن فرایند تأمین و بارگذاری اطلاعات زمینه، سرعت اجرای نرمافزارهای آگاه از زمینه به شدت کاهش مییابد و درنتیجه باعث کاهش سود فراهمکنندگان ابر می-گردد. بنابراین زمانبندی مناسب این سرویسها با توجه به محدودیت زمانی مصرفکنندگان امری ضروری است. لذا در این مقاله جهت کاهش متوسط زمان پاسخ و افزایش کارایی سرور میزبان نرمافزاری آگاه از زمینه پر درخواست، الگوریتم زمانبندی مبتنی بر امتیازگذاری پویای درخواستها پیشنهاد شده است. ارزیابی الگوریتم پیشنهادی از طریق مقایسه با الگوریتم زمانبندی مبتنی بر gi-FIFO برای اجرای درخواستها مورد بررسی قرار گرفته است. نتایج حاصله کارایی روش را تأیید میکند.

-1 مقدمه

محاسبات ابری از سال 2007 بخش عظیمی از صنعت فناوری اطلاعات را دگرگون کرده و به یکی از پرآوازهترین کلمات در صنعت کامپیوتری تبدیل شده است. طبق تعریف موسسه ملی استانداردها و فناوری آمریکا[1] 1 محاسبات ابری مدلی است که با استفاده از آن کاربران قادر خواهند بود از طریق شبکه به مجموعهای از منابع محاسباتی به اشتراک گذاشته شده با قابل پیکربندی مثل شبکهها، سرورها، فضای ذخیرهسازی، برنامه-های کاربردی و سرویسها را هنگام تقاضا دریافت کنند.

این منابع با حداقل تلاش مدیریتی یا نیاز به تعامل با فراهم کننده خدمات، خیلی سریع میتواند تهیه و آزاد گردد. همچنین براساس تعریف آنها پنج مشخصه اصلی محاسبات ابری شامل: سرویس خودکار مبتنی بر تقاضا، دسترسی وسیع از طریق اینترنت، مخزن نامحدود منابع، کشسانی سریع2 و اندازهگیری خدمات میباشد. [2] محاسبات ابری براثر سیر تکاملی و پیشرفتهای صورت گرفته در تکنولوژیهای محاسبات گریدی و سودآوری3، محاسبات خودمختار4، مجازیسازی سختافزارها5، معماری سرویسگرا6، وبسرویسها و ارتباطات آنها پدید آمده است .

[3] در این فناوری تمامی خدمات به صورت سرویسهای متفاوتی ارائه میشود و معماری سیستم محاسبات ابری به صورت یک ساختار سه لایه از پایین به بالا به صورت زیرساخت به عنوان سرویس7، سکو به عنوان سرویس8 و نرمافزار به عنوان سرویس9 توصیف میشود.[2,3] در دهه اخیر، با رشد نرمافزارهای آگاه از زمینه و ظهور مفهوم محاسبات ابری، محاسبات ابری به عنوان یک زیرساختی مناسب برای سرویس-های آگاه از زمینه جهت غلبه بر محدودیتهای دستگاههای محاسباتی کاربران معرفی شده است.[

4] یک سرویس آگاه از زمینه، بطور مداوم اطلاعات زمینه را از محیط جمعآوری کرده و عملکرد خود را با وضعیت محیط تطبیق میدهد. لذا هنگامی که درخواستهایی برای نرمافزار آگاه از زمینه توسط مشتری به محیط توزیع شده محاسبات ابری ارسال میشود، پاسخ یک درخواست برای یک نرمافزار آگاه از زمینه تحت تأثیر بارگذاری مقدار زیادی دادههای زمینه از منابع چندگانه روی سرور انتخابی میباشد.[5,6] بنابراین موقع اجرا، کارایی این نرمافزارها به شدت کاهش مییابد. از طرفی کاربران این سرویسها با توجه به هزینههای پرداختی به کلاسهای متفاوت طبقهبندی میشوند.

مدیریت درست این سرویسها بهگونهای است که بتوان به کاربرانی که هزینه بیشتر پرداخت میکنند، سرویسهایی با کیفیت بالاتر ارائه داد. در این محیط محاسباتی، از جمله بزرگترین چالشهای فراهم کنندههای ابر، برآورد توافقنامههای سطح سرویس میباشد که یکی از شاخصهای کیفیت سرویسهای ابر، متوسط زمان پاسخ است. ارائهدهنده سرویس نرمافزیاربه اختصار اِی اِس پی10 در طول دوره زمانی مشخص سعی میکند منابع را طی درصد متوسط زمان پاسخ که توافق شده در اختیار مشتریان قرار دهد و در صورت عدم برآورد جریمه باید پرداخت کند، در نتیجه باعث کاهش سود آنها میشود.[2,3]

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

-2 کارهای مرتبط

در ذیل تعدادی از پژوهشهای مرتبط گذشته با این تحقیق تشریح میگردد: بلور11 و همکارانش تحقیقی در ارتباط زمانبندی و تخصیص پویا درخواستها برای مدیریت نرمافزارهای آگاه از زمینه در محیط توزیع شده محاسبات ابر انجام دادهاند.[5,6] در این پژوهش محیط توزیع شده ابر به صورت چند مرکز داده مدل شده است. پیشنهاد الگوریتم زمانبندی مبتنی بر gi-FIFO برای سرورها، که این الگوریتم به صورت حریصانه سعی در زمانبندی درخواستهای کلاسی با بیشترین جریمه دارد، سپس درمیان همه درخواستهای صف شده آن کلاس، انتخاب درخواستی با بیشترین زمان انتظار اما زمان پاسخ آن کمتر یا مساوی مهلت زمان پاسخ درخواست مربوطه باشد، اگر هیچ درخواستی وجود نداشت انتخاب درخواستی با بیشترین زمان انتظار و زمان پاسخ آن بیشتر از مهلت زمان پاسخ آن درخواست باشد.

همچنین با تخصیص درخواستها براساس امتیازدهی پویا و آگاه از زمینه به سرورها، طرح سیاست جایگزینی سطح زمینهای حافظه پنهان، در هنگام بارگذاری اطلاعات زمینهای جدید جهت جایگزینی در زمینههای قبلی هنگام پر بودن حافظه پنهان و در نظر گرفتن توافقات سطح سرویس با هدف صرفهجویی در زمان، سعی در کاهش مجموع جریمههای متهم شده به ابر شده است. ساد اِل کیانی و همکارانش در مقاله [7]، یک معماری تحت عنوان C-CAST12 جهت مدیریت زمینه در محیط محاسبات ابری ارائه دادند. در این معماری مؤلفه واسطه زمینه، مؤلفهای اصلی و هماهنگکنندهای است که جریان زمینه را بین مؤلفههای موجود سیستم مدیریت میکند.

در این معماری جهت بهبود کارایی سیستم مدیریت زمینه، از حافظه پنهان در واسطه زمینه استفاده شده است. در این سیستم حافظه پنهان، مؤلفه-ای است که حاوی اطلاعات زمینهای میباشد که اخیراً جهت پاسخ به درخواستهای کاربران بارگذاری شده است و واسطه زمینه را در تسریع یافتن اطلاعات زمینه مورد نیاز کاربران یاری میدهد.[7] همچنین در مقاله [8] جهت مدیریت نرمافزار آگاه از زمینه، یک مکانیسم جدید مدیریت حافظه پنهان در محیط ابر ارائه دادند، در این مکانیسم با توجه به متفاوت بودن نوع اطلاعات زمینه، دوره زمانی اعتبار و الگوهای دسترسی، حافظه پنهان را به صورت پویا بخشبندی کرده و با بکارگیری سیاستهای زمانبندی متناسب برای هر بخش کارایی کل سیستم را افزایش دادند.

ویشو زو و همکارانش در مقاله [9] چهارچوبی جهت جریان منطقی و سازماندهی شدهای برای سرویسها در محیط محاسبات ابری ارائه داده- اند، بهگونهای که سرویسها قابلیت آن را داشته باشند که در زمان اجرا خود را با تغییرات زمینهای محیط وفق دهند و از اطلاعات و منابع محاسبات ابر استفاده کنند. در مقاله دیگری [10] یک معماری تحت عنوان 13CB-SeCجهت ترکیب سرویس مبتنی بر زمینه در محیط محاسبات فراگیر ارائه شده است. معماری پیشنهادی از چهار لایه تحت عنوان لایههای فیزیکی، زمینه، میانافزار و کاربرنهایی تشکیل شده است. در این معماری، ماشین حافظه پنهان در لایه سرویسهای میانافزار قرارگرفته است.

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

آسونکا و همکارانش در مقاله [11] جهت از عهده برآمدن محدودیت منابع در محیطهای موبایل از زیرساخت محاسبات ابری استفاده کردند. در این مقاله با ترکیب تکنولوژیهای آگاه از زمینه و زمانبندی کارهای قابل تطبیق یک زمانبند آگاه به زمینه ارائه دادند. در الگوریتم زمانبند پیشنهادی، هنگامی که گیرندههای حساس و سنسورهای زمینه محلی، فراهمکنندگان ابر را از تغییرات زمینه محلی آگاه میسازد، ابلاغهای مربوط به تغییرات زمینه محلی توسط مؤلفه مانیتورینگ زمینه دریافت و در مخازن اطلاعات زمینه ذخیره میگردد. زمانبند کار به محض دریافت چنین رویدادی، زمانبندی را برای هر کاری که اطلاعات زمینه کاربران آن تغییر یافته است تکرار مینماید.

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

-3 پیشزمینه

در این بخش چند مفهوم مرتبط با این تحقیق تشریح میگردد.

-1-3 سرویس آگاه از زمینه

برای اولین بار در سال 1994، اسکیلت14 و همکارانش به معرفی و بحث در رابطه با محاسبات آگاه از زمینه پرداختند. در تعریف آنها یک نرم-افزار آگاه از زمینه، نرمافزاری است که با توجه به مکان کاربر، مجموعه افراد و اشیائی که در مجاورت او قرار گرفتهاند و تغییراتی که در طول زمان برای اشیاء مذکور اتفاق میافتد، خود را مطابقت میدهد.[12] از آن زمان تا به حال تلاشهای زیادی برای تعریف مفهوم آگاه از زمینه و بکارگیری آن در کاربردهای مختلف انجام گرفته است.

از بین تعاریف مختلف ارائه شده جامعترین و پراستنادترینتعریف توسط دی و اِبود15 ارائه شده است. طبق تعریف آنها زمینه اطلاعاتی است که میتواند برای توصیف وضعیت یک موجودیت استفاده شود. یک موجودیت میتواند شخص، مکان یا شی باشد که در تعامل بین کاربر و برنامه کاربردی در نظر گرفته شده است و خود کاربر و برنامه کاربردی را نیز شامل میشود .[13] همچنین آنها انواع زمینه را در دو گروه طبقهبندی کردند.[13] مهمترین انواع اولیه زمینه را مکان، زمان، فعالیت و هویت دانسته و آنها را انواع زمینه اصلی در لایه اول نام نهادهاند. انواع دیگر زمینه را در لایه دوم قرار نهادند که انواع اولیه زمینه16 میتواند به عنوان منبعی جهت استخراج دیگر انواع زمینه ثانویه17 همان موجودیت و اطلاعات زمینهای اولیه موجودیتهای دیگر استفاده شود.[13]

یک سرویس ابر آگاه از زمینه، بطور مداوم اطلاعات زمینه را از محیط جمعآوری کرده و عملکرد خود را با وضعیت محیط ابر تطبیق می-دهد.[14] بنابراین بکارگیری اطلاعات زمینه در محاسبات ابری به دو علت اصلی بکارگرفته میشود - 1 :[14] زمینهای که برای شخصیسازی سرویس تقاضا شده به وسیله یک مشتری سرویس استفاده میشود - 2 زمینهای که به صورت پویا مشکل پایین بودن کیفیت سرویس 18 را جبران میکند. این سرویسها سعی میکنند خودشان را با محیط اطراف تطبیق بدهند و در زمان اجرای سرویس چنانچه مشکلی ایجاد شد، خودشان را بر اساس فاکتورهایی اصلاح کنند.

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید