سرورهای ابری آروان برای ارایهی بیشترین کارایی و پایداری ممکن، دارای قابلیتی به نام «ضریب اشتراک CPU» هستند. به کمک این ویژگی، سروری که پردازندهی بیشتری دارد، میتواند نسبت به سروری با پردازندهی کمتر مدت زمان طولانیتری از CPU سرور فیزیکی استفاده کند. این موضوع کمک میکند تا میزان استفاده از پردازنده بهشکل منصفانهتری تقسیم شود و کاربر در سطح سیستمعامل کمتر با مشکل CPU Steal روبهرو باشد.
هر چند فرآیند CPU Share به تقسیمبندی درست پردازنده کمک میکند، اما راهحلی برای کاربرانی که کمتر از میزان خریداریشده از پردازندهها استفاده میکنند، ندارد. به همین دلیل ابر آروان در نسل جدید سرورهای خود امکان مصرف منصفانه از پردازنده یا مصرف بر اساس عملکرد پایه را توسعه داده است. به این ترتیب شما فقط به میزان مصرف پایهی پردازنده هزینه پرداخت خواهید کرد و زمانی که کمتر از میزان پایه، از پردازنده استفاده کنید، اعتبار آن بهشکل خودکار برای شما ذخیره خواهد شد. در نتیجه تمامی سرورها در این نوع مصرف، اگر زیر خط پایهی مصرف باشند، به طور مداوم اعتبار کسب میکنند و میتوانند در آینده و در زمان پیک کاری (CPU Burst) از این اعتبار استفاده کنند. میزان مصرف این اعتبارها به نوع استفاده از پردازنده، بر میگردد:
بنابراین به کمک این اعتبارها علاوهبر اینکه به اندازهی بستهی خریداریشده از زمان پردازنده استفاده خواهید کرد، میتوانید امکان پیک زدن بدون هزینهی اضافی را هم داشته باشید.
استفاده از CPU: این متریک، درصد چرخههای اختصاصدادهشدهی CPU به یک سرور در واحدهای محاسباتی مشخص را اندازهگیری میکند. این واحد اندازهگیری در حال حاضر ۵ ثانیه است و در محاسبهی CPU Utilization و برای اندازهگیری میزان اعتبارهای کسبشده و مصرفشده مورد استفاده قرار میگیرد.
اشتراک CPU: به کمک این متریک، میزان استفادهی بستههای مختلف از پردازندهی سرور فیزیکی مشخص میشود. محاسبهی مقدار اشتراک CPU کاملن شناور و بر اساس تعداد و اندازهی سرورهای قرار گرفته روی یک سرور فیزیکی است. در بخش جدول اشتراک پردازنده این مفهوم بهشکل کامل شرح داده خواهد شد.
اعتبار CPU یا CPU Credit:
اعتبار CPU واحد اندازهگیری vCPU-time یا زمان پردازنده است. برای نمونه:
1CPU credit = 1 vCPU * 100% utilization * 1 minute
1CPU credit = 1 vCPU * 100% utilization * 1 minute
1CPU credit = 1 vCPU * 50% utilization * 2 minutes
1CPU credit = 2 vCPU * 25% utilization * 2 minutes
استفاده از اعتبار پایه یا Baseline Utilization: اعتبار پایه، سطحی است که در آن می توان از CPU با موجودی یا اعتبار صفر استفاده کرد. یعنی زمانی که تعداد اعتبارهای کسبشدهی CPU با تعداد اعتبارهای استفادهشدهی CPU مطابقت داشته باشد. استفاده از خط پایه بهشکل درصدی از استفاده از vCPU بیان و بهشکل زیر محاسبه میشود: Baseline utilization % = (number of credits earned/number of vCPUs)/60 minutes
اعتبار کسبشده:
به اعتباری گفته میشود که بهشکل خودکار و طی بازهی زمانی ۶۰ دقیقهای، کسب میشود.
Credit earned per hour = % baseline * number of vCPUs * 60 minutes
برای مثال اگر یک سرور با بستهی g1-small2 (دو پردازنده) بسازید، میزان اعتبار بهدستآمده بهوسیلهی شما در ۱ ساعت بهشکل زیر خواهد بود:
2vCPU * 8.33% baseline * 60 min = 9.996
اعتبار مصرفشده: به اعتباری گفته میشود که به وسیلهی یک سرور، در حال مصرف است و بهشکل زیر محاسبه میشود: CPU credits spent per minute = Number of vCPUs * CPU utilization * 1 minute
اعتبار انباشهشده: به اعتبار ذخیره شده در زمانی گفته میشود که یک سرور، کمتر از میزان Baseline از پردازنده استفاده کند. بنابراین: اعتبار انباشته = اعتبار کسبشده – اعتبار مصرف شده در مثال بالا، اگر شما از سرور g1-small2 که Baseline آن روی ۸/۳۳ ٪ است، به میزان ۲٪ استفاده کنید، اعتبار انباشتهشده، بهشکل زیر محاسبه خواهد شد: Accrued CPU credits = (Earned credits per hour – Used credits per hour) = (2 * 8.33% * 60) – (2 * 2% * 60) = 9.996 – 2.4 = 7.596
حد اعتبار انباشتهشده: به حداکثر تعداد اعتبار کسبشده طی ۲۴ ساعت گفته میشود. بنابراین تمامی اعتبارهای انباشتهشده برای ۲۴ ساعت معتبر خواهند بود.
اعتبار راهاندازی: بعضی از بستههای سرور ابری آروان به میزان مشخصی اعتبار مازاد دارند تا کاربر از اول و بدون کسب اعتبار، بتواند پیک پردازنده را بزند و بیشتر از Baseline از پردازنده استفاده کند.
اعتبار مازاد: این اعتبار برای سرورهایی که دارای حالت نامحدود هستند استفاده میشود تا بتواند تضمین کند که اگر اعتبار انباشتهشدهی کاربر به اتمام رسید، همچنان امکان CPU Burst وجود داشته باشد.
حالت استاندارد: در حال حاضر همهی سرورها در این وضعیت هستند. در این حالت یک سرور میتواند به اندازهی اعتبار انباشتهشده، بیشتر از میزان Baseline از پردازنده استفاده کند.
حالت نامحدود: در این حالت کاربر میتواند تا هر اندازه بیشتر از اعتبار پایه از پردازنده استفاده کند و هزینهی آن را در هر دورهی زمانی بپردازد.
مدل پردازندههای آروان: مدل پردازندههای ابر آروان پیوسته بهروزرسانی میشوند تا اطمینان پیدا کنیم، بهترین سختافزار در اختیار کاربران قرار خواهد گرفت. در حال حاضر مدلهای زیر در زیرساخت سرورهای ابری آروان در حال استفاده و یا در حال تهیه برای نصب هستند.
مدل پردازنده | رشتهها (Threads) | فرکانس |
Intel 2697v4 | ۳۶ | ۲/۳۰ GHz |
Platinum 8358 | ۶۴ | ۲/۶۰ GHz |
AMD 75F3 | ۶۴ | ۲/۹۵ GHz |
متریک CPU Share به میزان استفادهی بستههای مختلف از پردازندهی هر سرور فیزیکی گفته میشود. محاسبهی این متریک کاملن شناور و بر اساس تعداد و اندازهی سرورهای قرار گرفته روی یک سرور فیزیکی است.
برای نمونه فرض کنید یک سرور فیزیکی داریم که روی آن ۴ سرور قرار دارد که هر کدام دارای بستههای زیر هستند: Server #1 = ‘G1-Small1’ = 1 vCPU Server #2 = ‘G1-Medium1’ = 4 vCPU Server #3 = ‘G1-Large1’ = 8 vCPU Server #4 = ‘G1-Xlarge1’ = 16 vCPU
زیرساخت CPU Share برای جلوگیری از بروز CPU Steal در سرورها و ارایهی منصفانهی پردازنده به هر کاربر (کاربری که vCPU بیشتری دارد و هزینهی بیشتری پرداخت میکند، میتواند بیشتر از پردازنده استفاده کند)، هر چرخهی پردازنده (CPU Cycle) را با فرض اینکه این چرخه ۱ دقیقه (یا بهشکل دقیقتر، ۶۰۳۰۶ میلیثانیه) است، بهشکل زیر در اختیار این ۴ سرور قرار میدهد: Server #4 = 49152 ms Server #3 = 6288 ms Server #2 = 4098 ms Server #1 = 768 ms
این مدل بهشکل شناور و با توجه به تعداد ابرکهایی که روی هر سرور فیزیکی قرار دارد محاسبه خواهد شد. میزان CPU Share برای هر بسته بر اساس اعدادی مشخص میشود که در جدول زیر نوشته شده است.
* مقادیر این جدول برای همهی نسلهای سرور ابری آروان شامل G3 ،G2 ،G1 و ... یکسان است.
نام بسته | جزییات بسته | تعداد vCPU | اشتراک vCPU |
Small1 | ۱-۱-۲۵ | ۱ | ۲۵۶ (۱/۴) |
Small2 | ۲-۱-۵۰ | ۱ | ۲۵۶ (۱/۴) |
Small3 | ۳-۱-۶۰ | ۱ | ۲۵۶ (۱/۴) |
Small4 | ۲-۲-۶۰ | ۲ | ۵۱۲ (۱/۴) |
Small5 | ۴-۲-۸۰ | ۲ | ۵۱۲ (۱/۴) |
Medium1 | ۸-۴-۱۶۰ | ۴ | ۱۳۶۶ (۱/۳) |
Medium2 | ۱۲-۴-۲۴۰ | ۴ | ۱۳۶۶ (۱/۳) |
Medium3 | ۱۶-۶-۳۲۰ | ۶ | ۲۰۴۸ (۱/۳) |
Medium4 | ۲۴-۶-۴۶۰ | ۶ | ۲۰۴۸ (۱/۳) |
Large1 | ۳۲-۸-۶۴۰ | ۸ | ۲۰۹۶ (۱/۲) |
Large2 | ۴۸-۱۲-۹۶۰ | ۱۲ | ۶۱۴۴ (۱/۲) |
XLarge1 | ۶۴-۱۶-۱۲۸۰ | ۱۶ | ۱۶۳۸۴ (۱) |
XLarge2 | ۹۶-۲۰-۱۹۲۰ | ۲۰ | ۲۰۴۸۰ (۱) |
XLarge3 | ۱۲۸-۲۴-۲۵۶۰ | ۲۴ | ۲۴۵۷۶ (۱) |
هر سرور بهشکل پیوسته (در مقیاس میلیثانیه) بسته به اندازهی نمونه (که در حال حاضر ۵۰۰۰ میلیثانیه است)، مجموعهای از اعتبارهای CPU را در ساعت به دست میآورد. فرآیند محاسبه برای انباشت یا مصرف اعتبارها نیز در مقیاس میلیثانیه اتفاق میافتد؛ بنابراین لازم نیست نگران هزینه کردن بیش از حد اعتبارهای CPU باشید. یک پیک کوتاه از پردازنده یا CPU Burst، از بخش کوچکی از اعتبار CPU استفاده میکند.
اگر یک سرور از منابع CPU کمتری نسبت به Baseline استفاده کند (مانند زمانی که بیکار است)، اعتبارهای CPU مصرفنشده در ماندهی اعتبار CPU جمع میشود، اما اگر یک سرور نیاز داشته باشد مصرفی بیشتر از سطح استفاده از Baseline داشته باشد، اعتبارهای انباشتهشده را مصرف میکند.
جدول زیر انواع بستهها، نرخ کسب اعتبارهای CPU در ساعت، حداکثر تعداد اعتبارهای CPU به دست آمده که یک سرور می تواند جمع آوری کند، تعداد vCPU در هر بسته و Baseline به عنوان درصدی از یک نمونه را فهرست میکند.
* مقادیر این جدول برای همهی نسلهای سرور ابری آروان شامل G3 ،G2 ،G1 و ... یکسان است.
نام بسته | اعتبارهای کسبشده در ساعت | حداکثر اعتبار قابل انباشت | تعداد vCPU | مصرف پایه به ازای vCPU |
Small1 | ۴/۹۹۸ | ۱۱۹/۹۵۲ | ۱ | ۸/۳۳ % |
Small2 | ۴/۹۹۸ | ۱۱۹/۹۵۲ | ۱ | ۸/۳۳ % |
Small3 | ۴/۹۹۸ | ۱۱۹/۹۵۲ | ۱ | ۸/۳۳ % |
Small4 | ۲۰/۰۰۴ | ۴۸۰/۰۹۶ | ۲ | ۱۶/۶۷ % |
Small5 | ۲۰/۰۰۴ | ۴۸۰/۰۹۶ | ۲ | ۱۶/۶۷ % |
Medium1 | ۳۱/۶۸۰ | ۷۶۰/۳۲۰ | ۴ | ۱۳/۲۰ % |
Medium2 | ۳۱/۶۸۰ | ۷۶۰/۳۲۰ | ۴ | ۱۳/۲۰ % |
Medium3 | ۷۱/۲۸۰ | ۱,۷۱۰/۷۲۰ | ۶ | ۱۹/۸۰ % |
Medium4 | ۷۱/۲۸۰ | ۱,۷۱۰/۷۲۰ | ۶ | ۱۹/۸۰ % |
Large1 | ۶۱/۰۵۶ | ۱,۴۶۵/۳۴۴ | ۸ | ۱۲/۷۲ % |
Large2 | ۲۶۸/۴۱۶ | ۶,۴۴۱/۹۸۴ | ۱۲ | ۳۷/۲۸ % |
XLarge1 | ۲۵۶/۰۳۲ | ۶,۱۴۴/۷۶۸ | ۱۶ | ۲۶/۶۷ % |
XLarge2 | ۳۹۹/۹۶ | ۹,۵۹۹/۰۴۰ | ۲۰ | ۳۳/۳۳ % |
XLarge3 | ۵۷۶/۰۰۰ | ۱۳,۸۲۴/۰۰۰ | ۲۴ | ۴۰/۰۰ % |
توجه داشته باشید که طول دورهی زمانی که یک سرور میتواند اعتبار انباشتهشدهی خود را نگهداری کند، ۲۴ ساعت است.
تعداد اعتبارهای کسبشدهی CPU در هر ساعت بر اساس اندازهی بستهی سرور مشخص میشود. به عنوان مثال، یک سرور g1-small5 در هر ساعت تقریبن ۲۰ واحد کسب میکند، در حالی که یک سرور با بستهی g1-medium3 در هر ساعت تقریبن ۷۱ واحد کسب می کند.
هر بسته میتواند به میزان مشخصی اعتبار کسب کند. در نتیجه جمعآوری اعتبار بیشتر از موارد ذکر شده در جدول قبل برای هیچ بستهای میسر نیست. توجه داشته باشید حداکثر اعتباری که قابل جمعآوری خواهد بود، اعتباری است که در ۲۴ ساعت جمع شود.