شماره ركورد
26889
پديد آورنده
حسين ابراهيم پور
عنوان
ارائه يك رويكرد ابتكاري آگاه به بستههاي نرمافزاري براي زمانبندي توابع به منظور برقراري مصالحه بين شروع سرد و هزينه در محيطهاي محاسباتي تابع به عنوان خدمت
مقطع تحصيلي
كارشناسي ارشد
رشته تحصيلي
مهندسي كامپيوتر
سال تحصيل
1398
تاريخ دفاع
1401/4/21
استاد راهنما
دكتر مهرداد آشتياني
دانشكده
دانشكده مهندسي كامپيوتر
چكيده
با مهاجرت معماري نرمافزارهاي تجاري به كانتينرها و ميكروسرويس، ارائهكنندگان سامانههاي ابري از سال 2014 با شروع از آمازون، مدلهاي محاسباتي جديدي را در بستر محاسبات ابري به نام «تابع به عنوان خدمت» به خدمات خود اضافه كردند. در اين بسترها توسعهدهندگان به جاي توسعه نرمافزارهاي درشت دانه، به توسعه مجموعهاي از توابع ريزدانه با مدت زمان اجراي كمتر ميپردازند و همچنين مديريت منابع سيستم و خدمتدهندهها به ارائهكنندگان خدمات ابري سپرده شده است. پس از آمازون سامانههاي تابع به عنوان خدمت مختلف زيادي مانند Azure Functions، OpenFaaS، OpenWhisk و غيره به وجود آمدند كه هر كدام از آنها ويژگيها و محدوديتهاي خاص خود را دارند اما همگي در برخي از چالشها مشتركاند.
اگرچه اين مدل محاسباتي از مزاياي بسيار زيادي چون كاهش هزينهها برخوردار است، اما در اين مسير با چالشهايي در سطح سيستم، نظير موازنه كردن هزينه و كارايي، مدلهاي برنامهنويسي و تطابق ابزارهاي موجود با اين مدل جديد محاسباتي، چالشهاي زمانبندي مانند پيشبيني زمان اجرا و حل مشكل شروع سرد، ذخيره دادهها در حافظه نهان و مسائل امنيتي و حريم شخصي نيز مواجه است. ما در اين پژوهش به طور خاص به حل مشكل زمانبندي و شروع سرد اين سامانهها و بهينهسازي آنها ميپردازيم.
مصالحه زماني ايجاد ميشود كه روشن نگهداشتن محيطهاي اجرايي گرم ميتواند زمان شروع سرد را كاهش دهد اما از طرف ديگر هزينه را افزايش ميدهد. در اين پژوهش با استفاده از يك روش ابتكاري و با ساخت گراف وابستگي صدازدهشدن توابع، بسامد صدا زدهشدن آنها و ساير پارامترهاي محيطي سعي ميكنيم كه اين مصالحه را با استفاده از چهار نوع تصميم مختلف در زمان اجرا بهينهسازي كنيم. روش ارائه شده در اين پژوهش بهبودي 32 درصدي نسبت به روش روشن نگهداشتن به مدت زمان ثابت (روش OpenWhisk) دارد. اين مقايسه از ديد سنجه تجمعي كه تركيبي از زمان پاسخ، زمان برگشت، هزينه و بهرهوري است انجام گرفته، و اندازهگيري آن توسط شبيهسازي انجام شده كه به طور سفارشي براي اين مساله و با استفاده از يك زبان برنامهنويسي تابعي توسعه دادهشده است.
تاريخ ورود اطلاعات
1401/06/05
عنوان به انگليسي
A heuristic-based package-aware function scheduling approach for creating a trade-off between cold-start time and cost in the FaaS computing environments
تاريخ بهره برداري
7/12/2023 12:00:00 AM
دانشجوي وارد كننده اطلاعات
حسين ابراهيم پور
چكيده به لاتين
With the migration of the enterprise applications to micro-services and containers, providers of the cloud services starting with Amazon in 2014, announced a new computational model called "Function as a Service". In this model, developers create fine-grained functions with smaller execution times than developing coarse-grained software. Besides that, the management of system resources and servers is not an issue for developers anymore, but it would be a task for the cloud providers. After Amazon's AWS Lambda, corporates and open-source communities started to develop some other well-known FaaS systems like Azure Functions, OpenFaaS, OpenWhisk and so on. Although they have their own specific limits, but they have a lot of issues and challenges in common. Even though this model has many benefits like reducing costs, it still has many challenges like balancing cost and performance, programming-models and using current dev tools, scheduling challenges like execution time prediction, solving container cold start, saving data in caches, security issues, and privacy concerns. In this report, we talk about scheduling and cold start problems in particular.
Trade-off happens when we want to keep the warm containers on to reduce the cold start time, but this can increase the cost of the service. In this document we use a heuristic method by constructing a cooperation network between functions, tracking function call frequencies, and environment variables to optimize this trade-off using four different decisions at runtime. The method in this document performs 32% better than the static waiting approach (as in Amazon). This comparison is done using an aggregate measure of response-time, turnaround-time, cost, and utilization, and measured using a custom simulator written for this program in a functional programming language.
كليدواژه هاي فارسي
زمانبندي , محاسبات ابري , تابع به عنوان خدمت , محاسبات بدون سرويس دهنده
كليدواژه هاي لاتين
Scheduling , Cloud computing , Serverless computing , Function-as-a-Service
Author
Hossein Ebrahimpour
SuperVisor
Dr Mehrdad Ashtiani