بررسی سخت افزارهای گرافیکی در Horizon View – بخش اول

در نسخه های اولیه از دسکتاپ مجازی، شرکت VMware با چالشی پررنگی با نام ارائه دسکتاپ برای کابران با کیفیت بالا مواجه گردید. سرورها برای ارائه و رندر تصاویر با کیفیت و سایز بالا طراحی نشده بودند. بهتر است قبل از ادامه صحبت مروری گذرا به تاریخچه این تکنولوژی داشته باشیم. تکنولوژی پشتیبانی از گرافیک های سطح بالا در چند فاز مختلف ارائه گردید. اولین آن برای پشتیبانی از گرافیک 3D بود. در vSphere 5 با View 5.0 رندرینگ نرم افزاری رخ میداد. این قابلیت به ما این امکان را میداد تا از ویژپی هایی مانند Aero ویندوز استفاده نماییم. اما فراموش نکنید که به قدر کافی قوی و مناسب نبود. در فاز بعدی برای تعدادی از کاربران با نیازهای گرافیکی سطح بالا  تامین سخت افزار بر اساس GPU راهکاری بود که با vSphere 5.1  ارائه گردید. با این قابلیت امکانی ایجاد می شود که کارت GPU ی که بر روی سرور نصب گردیده در لایه Hypervisor به اشتراک گذاشته شده و توسط ماشین مجازی مورد استفاده قرار میگیرد.

اگر درخواست کارت گرافیکی با توانایی بالا در محیط مجازی سال ها پیش به واحد IT ارجاع داده می شد  قطعا راه حلی برای مشکل وجود نداشت. ولی شما در حال زندگی می کنید و می توانید امیدوار باشید که راه حل های زیادی پیش رو دارید. در محیط VDI، گرافیک با استفاده از راه حل های مجازی سازی ارائه می گردد. درایور کارت گرافیکی یک قسمتی از Hypervisor می باشد. فراموش نکنید همان گونه که از سرورها برای ارائه دسکتاپ استفاده می نماییم از قدرت کارت گرافیکی آنها نیز برای ارائه ماشین های مجازی و دسکتاپ ها بهره مند می شویم اما GPU سرورها ضعیف بوده و برای تامین قابلیت های سنگین گرافیکی طراحی نشده اند و محدودیت های زیادی جهت استفاده وجود دارد. در دنیای امروز هر روزه ما شاهد تغییرات گسترده ای در حوزه تکنولوژی می باشیم. با ارئه View 5.2 در انتهای سال 2013 ارائه گرافیک سخت افزاری تبدیل به یکی از ویژگی های این محصول شد که با دو حالت زیر ارائه گردید:

  • Virtual Shared Graphics Acceleration (vSGA)
  • Virtual Dedicated Graphics Acceleration (vDGA)

  Virtual Shared Graphics Acceleration (vSGA):

پیاده سازی قابلیت vSGA این امکان را می دهد تا کارت GPU بر روی یک سرور فیزیکی نصب و برای تعداد زیادی دسکتاپ مجازی به اشتراک گذاشته شود. در این مدل، دسکتاپ مجازی دسترسی مستقیم و اختصاصی به GPU کارت سرور ندارد و در عوض VMware SVGA 3D Graphic Driver بخشی از VMware Tools نصب شده بر روی سیستم عامل دسکتاپ مجازی می باشد. SVGA Driver بعنوان یک VMware driver بوده که پشتیبانی از Direct X9.0c و OpenGL 2.1 را فراهم می نماید. GPU به صورت سخت افزاری در سرور ESXi قرار گرفته است. در این پیکربندی در عوض اینکه درایو کارت گرافیکی بر روی سیستم عامل ماشین مجازی نصب شود به صورت VIB فایل بر روی Hypervisor قرار می گیرد. کارهای گرافیکی ( دستورات گرافیکی ) از session های کاربران توسط درایور دریافت شده و به Hypervisor ارسال می گردد. این اتفاقات زمانی رخ می دهد که کنترل های GPU بر روی سرور ESXi قرار دارد.

دیاگرام زیر نشان دهنده معماری vSGA می باشد:

vSGA از برنامه هایی که بر اساس OpenGL2.1 و DirectX 9 هستند و دسکتاپ هایی که ویندوز آنها 7 و یا 8 می باشد پشتیبانی بعمل می آورد.

vSGA از سازندگان کارت های GPU زیر پشتیبانی میکند:

  • Intel HD Graphics P4700
  • Tesla M6 and M60
  • Grid K1 and K2
  • AMD FirePro S4000X, S7000, S9000, S9050 and W7000

[icon type=”vector” icon=”brankic-icon-link” align=”right” size=”28″ icon_color=”#0071c1″ hover_animation=”border_increase” ]برای مشاهده آخرین وضعیت سازگاری سخت افزاری این لینک را مشاهده بفرمایید.

چه تعدادی دسکتاپ مجازی از طریق تکنولوژی vSGA پشتیبانی می شود؟

یکی از سوالات و دغدغه های افراد درگیر با Horizon  این است که با سخت افزار گرافیکی موجود در یک محیط View چه تعدادی دسکتاپ می توانیم ایجاد نماییم؟ همان طوری که می دانید در Horizon View بر اساس موارد استفاده می توانید دسکتاپ poolهای مختلفی داشته باشید که در آینده مفصل توضیح خواهیم داد. وقتی یکی از Desktop pool ها برای کاربرانی است که استفاده زیادی از کارت گرافیکی دارند و کارهای سنگین گرافیکی مد نظرشان می باشد شما نمی توانید دسترسی به GPU را فقط برای این کاربران در نظر بگیرید. به همین دلیل یک دسکتاپ Pool برای این مورد خاص ایجاد می نمایید.

با توجه به توضیحات بالا برای پاسخ به این سوال تعداد دسکتاپ های مجازی که می توانید به یک GPU تخصیص دهید محدود می شود به مقدار Video RAM (VRAM) که به هر دسکتاپ می دهید. تنها موردی که باید در خاطر داشته باشید اشتراک گذاری منابع در محیط مجازی می باشد بقیه موارد به صورت معمول انجام می پذیرد. نیمی از ویدئو مموری تخصیص داده شده به ماشین مجازی از مموری GPU بوده و نیمی دیگر ازمموری هاست می باشد. وقتی اقدامات اولیه جهت sizing سرور را انجام می دهید دقت زیادی داشته باشید تا مطمئن شوید به اندازه کافی مموری به سرور تخصیص داده اید. همچنین مقدار مموری کارت گرافیکی هم کاملا متناسب با نیازها باید سفارش داده شود. با توجه به توضیحات بالا و نظر به تعداد دسکتاپ های مجازی و بر اساس VRAM تخصیص داده شده باید محاسبه کنیم که امکان ارائه چه تعداد دسکتاپ وجود دارد.

مثلا مقدار پیش فرض VRAM تخصیص داده شده به دسکتاپ مجازی 128 MB می باشد. در این مثال 64 MB از GPU و 64MB مابقی از سرور تامین می گردد. اگر کارت GPU با ظرفیت 4 GB رم تهیه نمایید قابلیت ارائه 64 عدد دسکتاپ مجازی را خواهید داشت. 4 GB یا 4096 MB تقسیم می شود به 64 MB از GPU که مساوی با 64 دسکتاپ مجازی است. در Horizon View نهایتا می توانیم 512 MB از VRAM را به هر دسکتاپ مجازی اختصاص بدهیم. اگر این درخواست را به مثال قبلی تعمیم دهیم تعداد ماشین های قابل ارائه به 16 عدد کاهش پیدا می کند. 4 GB یا 4096 MB تقسیم می شود به 256 MB از GPU که مساوی با 16 دسکتاپ مجازی است. با استفاده از برند AMD، ماکسیمم تعداد دسکتاپ قابل پشتیبانی برای هر GPU برابر با 15 می باشد.

حال به این قضیه فکر کنید که اگر دسکتاپ های شما با کمبود منابع مواجه شوند چه اتفاقی رخ خواهد داد؟  اگر شما Desktop pool بیش از ظرفیت GPU روی سرور ایجاد نمایید دسکتاپ های ساخته شده بوت نمی شوند…

تجربه ارائه دسکتاپ بوسیله PCoIP
بررسی پروتکل Blast Extreme
بررسی سخت افزارهای گرافیکی در Horizon View – بخش دوم
پشتیبانی از ارتباطات یکپارچه (Unified Communication) در Horizon View
 توضیحاتی در مورد طراحی و پیاده سازی راهکار Horizon View

3 دیدگاه
  1. علی رضا says

    عالی بود مهندس

  2. reza says

    تشکر از مطلب متفاوت که ارائه میدین

  3. حمیدرضا says

    بسیار عالی
    مشتاقانه منتظر ادامه مطلب هستم

دیدگاه

آدرس ایمیل شما منتشر نخواهد شد.