امروزه همهی ما با نقش بسیار مهم سرورها در دنیای اینترنت آشنا هستیم. یکی از انواع مهم سرورها، سرور مجازی یا VPS است که منابع در آن با استفاده از روش مجازیسازی به افراد مختلفی اختصاص داده میشود. در این مطلب نسبتاً کوتاه قصد داریم تا در مورد پردازشگر مجازی یا vCPU و تفاوت آن با CPU صحبت کنیم و نکاتی را که در این زمینه نیاز دارید، به شما ارائه دهیم.
vCPU یا پردازشگر مجازی چیست؟
اولین و شاید مهمترین سؤال در بحث مجازیسازی پردازشگرها این است که اصولاً vCPU یا پردازشگر مجازی چیست و چه تفاوتی با CPU دارد؟ vCPU مخفف عبارت Virtual Centralized Processing Unit و به معنایِ واحدِ پردازشگر متمرکز مجازی است. در یک نگاهِ کلی، vCPU یک قسمت از یک CPU فیزیکی است که به یک ماشین مجازی خاص یا VM اختصاص داده شده است.
پردازشگر مجازی چطور کار میکند؟
سؤال بعدی که باید به آن پاسخ داد این است که vCPU چطور کار میکند؟ در پاسخ به این سؤال باید بدانید که سرورهای مجازی و تخصیص منابع آنها توسط Hypervisor کنترل میشود.
در واقع Hypervisor از بخشی از منابع محاسباتی پردازشگر فیزیکی استفاده کرده و آن را به یک پردازشگر مجازی اختصاص میدهد. برخی از کارشناسان فناوری اطلاعات کانسپت پشتِ vCPU ها را بهعنوان بخشی از زمان صرف شده رویِ هستهی پردازنده در نظر میگیرند. همچنین باید در نظر داشت که مدیران سیستم میتوانند از هایپروایزرها برای راهاندازی سیستم اختصاص منابع مختلف در جایی که ماشینهای مجازی خاص با قابلیتهایِ خاص vCPU پیکربنده شدهاند، استفاده کنند.
محاسبات پردازشگرهای مجازی
یکی از سؤالات مهم بهخصوص برای افرادی که قبلاً با ماشینهای مجازی آشنایی نداشتهاند، نحوهی محاسبات در پردازشگر مجازی است. در این قسمت میخواهیم با بیانی ساده در مورد جزئیات ریاضی پشت پردهی پردازشگرهای مجازی صحبت کنیم. داشتنِ درک صحیح از این موضوع میتواند باعث شود تا شما راحتتر به این جمعبندی برسید که برای سرورهای ابری خود به چه تعداد پردازشگر مجازی نیاز دارید.
اگر تجربهی قبلی در مورد مجازیسازی داشته باشید، حتماً به یاد میآورید که بر اساسِ یک سری محاسبات سرانگشتی، گفته میشد که در هر Core تعداد 8 پردازشگر مجازی وجود دارد. اگر چه این فرمول تا حد زیادی میتوانست کار راهانداز باشد، اما حالا دیگر اصولاً سازندهها تعداد vCPU ها را از طریق رابطهی سادهی زیر محاسبه میکنند:
تعداد پردازشگر مجازی = تعداد پردازشگر فیزیکی × تعداد Core ها × تعداد رشته (نخ) ها
بیایید موضوع را با یک مثال روشنتر کنیم. فرض کنید ما یک پردازشگر فیزیکی Intel Xeon E-2288G داریم. اطلاعات کلیدی در خصوص این پردازشگر بهصورت زیر است:
- تعداد هسته: 8
- تعداد رشته: 16
- سرعت مبنا (پایه): 3.7 گیگاهرتز
- توربو بوست: 5 گیگاهرتز
محاسبات مربوط به پردازشگر مجازی در این مثال بهصورت زیر انجام میشود:
تعداد پردازشگر مجازی = تعداد پردازشگر فیزیکی (1) × تعداد Core ها (8) × تعداد رشته (نخ) ها (16)
بنابراین در این مثال، برای تعداد پردازشگر مرکز به عدد 128 خواهیم رسید.
همچنین باید در نظر داشته باشید که معمولاً محدودیتهایی در اختصاصِ تعداد هستههای مجازی به ماشینهای مجازی وجود دارد. بهعنوان نمونه جالب است اگر بدانید که در ویندوز سرور RS 2008 تنها میتوانستید برای هر ماشین مجازی 4 پردازشگر مجازی داشته باشید. اما در ویندوز سرور 2012 این محدودیت به تعداد 64 ارتقا یافت.
جمعبندی
امروزه سرورها نقشی بسیار حیاتی هم در کسب و کارها و هم در بسیاری از امور روزمرهی ما بازی میکنند. تکنولوژیهای بسیار مهمی هم در این حوزه وارد عمل شدهاند تا کارکرد سرورها بسیار قدرتمندتر از گذشته شوند. یکی از انواع سرورها که توانسته است سهم بسیار زیادی را در بازار از آنِ خود کند، سرورهای مجازی است. در این سرورها منابع با استفاده از مجازیسازی به قسمتهای مختلفی تقسیم میشوند. در این مطلب کوشیده شده است تا در مورد پردازشگر فیزیکی و پردازشگر مجازی، تفاوت بین آنها و همچنین مبانی محاسباتی پردازشگرهای مجازی توضیح داده شود.
سؤالات متداول
1- پردازشگر مجازی (vCPU) چیست؟
در صورتیکه یک پردازشگر فیزیکی (CPU) با استفاده از تکنیکهای مجازیسازی به قسمتهای مختلفی تقسیم شود، به آنها پردازشگر مجازی گفته میشود.
2- نقش Thread در پردازشگرها چیست؟
Thread در فارسی به رشته یا نخ معنی شده است. اصولاً Thread های پردازشگرها این امکان را به شما میدهند تا بتوانید چندین کار را بهصورت همزمان انجام دهید. این موضوع میتواند نقش بسیار مهم و مؤثری در سرعت انجام کارها داشته باشد.
3- هایپروایزر چیست؟
Hypervisor واحدی است که سرورهای مجازی و تخصیص منابع به آنها را کنترل میکند.
منبع: ایرنا