Graphic در زیرساخت Desktop Virtualization

 

یکی از مشکلات مهمی که سازمانها هنگام پیاده سازی زیرساخت Desktop Virtualization و نرم افزار با آن رو به رو هستند استفاده از Graphic در زیرساخت Desktop Virtualization می باشد. بسیاری از نرم افزارها و حتی سیستم عاملی چون Microsoft Windows 10 بسیار به پردازش Graphic نیازمند می باشند. به بیان دیگر در صورتیکه یک راهکار برای شتابدهی به Graphic وجود نداشته باشد، کاربران نمی توانند به درستی به فعالیتهای خود در سازمان بپردازند. در صورتی هم که کاربران نتوانند به درستی به فعالیتهای خود بپردازند، سازمان با مشکل رو به رو خواهد شد. Desktop Virtualization و نرم افزار برای افزایش سرعت و بهره‌وری کارکنان در سازمان پیاده سازی می شود، اما در صورت به وجود آمدن یک پیچیدگی راحتی کار از کاربران گرفته می شود و خطرات ناشی از آن برای سازمان خوب نمی باشد.

همانطور که در بالا بیان کردیم استفاده از Graphic یکی از مهمترین فاکتورهایی است که می تواند یک زیرساخت Desktop Virtualization را به اوج امکانات خود برساند. پیش از ورود مجازی سازی Graphic با تکنولوژی NVidia vGPU سه روش اصلی برای رفع مشکل Graphic در زیرساخت Desktop Virtualization و نرم افزار به کار گرفته می شد و می شود. در این مقاله تمرکز ما بر راهکارهای افزایش عملکرد نرم افزارهای Graphic است، تا کاربران با مشکل برخورد نکنند. در این مقاله سه روش مورد بررسی قرار خواهند گرفت: Soft3D, vSGA, vDGA. سه راهکار اصلی در زیرساخت Desktop Virtualization و نرم افزار برای افزایش عملکرد نرم افزارهای Graphic است. بنابراین مدیران زیرساخت Desktop Virtualization و نرم افزار که با استفاده از VMware Horizon 7 Platform و مجموعه مجازی سازی vSphere می توانند با استفاده از این سه روش به افزایش عملکرد نرم افزارهای Graphic بپردازند.

استفاده از Soft 3D در زیرساخت Desktop Virtualization

Soft 3D با ارائه VMware View 5 معرفی شد. Soft 3D ازDriver SVGA که به صورت خودکار با VMware Tools نصب می شود، استفاده می کند. در این روش تمامی پردازشهای Graphic هم به سمت CPU ارسال خواهد شد. به این ترتیب این CPU است که باید تمامی کارها را انجام دهد. در این شرایط شما نباید انتظار زیادی داشته باشید.

استفاده از تکنولوژی vSGA در زیرساخت Desktop Virtualization

به منظور استفاده از این تکنولوژی شما باید یک Graphic Card بر روی سرور خود داشته باشید. این تکنولوژی هم از Driver SVGA استفاده می کند. اما در این حالت با استفاده از راهکار Xorg فرآیند Rendering را Graphic Card انجام خواهد داد. می توانید Xorg را به عنوان یک Interface بین Driver SVGA و Graphic Card فرض کنید. در این روش شما حتماً باید vib متناسب با Graphic Card خود را در ESXi نصب کنید. از طرف دیگر برای استفاده از قابلیتهای vSGA Virtual Machine باید به حافظه Graphic Card نیز دسترسی داشته باشد. حداکثر مقدار حافظه که می توان به Video Memory اختصاص داد در ESXi 6.5 به 512MB می باشد. بنابراین در صورتیکه ما یک Graphic Card 8GB  مانند Nvidia Quadro P4000  داشته باشیم، می توانیم ۳۲ کاربر را پشتیبانی کنید. محاسبات اینگونه است که ما می توانیم 512MB به کاربر بدهیم. 8GB برابر است با 8192MB، در صورتیکه بخواهیم به هر کاربر 512MB ویدئو Memory اختصاص دهیم باید  256MB آن را از Graphic Card بگیریم که در اینصورت با تقسیم ۸۱۹۲ بر ۲۵۶ به عدد ۳۲ خواهیم رسید. البته این راهکار هم محدودیتهای خود را دارد که در انتها به آن خواهیم پرداخت.

استفاده از تکنولوژی vDGA در زیرساخت Desktop Virtualization

راهکار vDGA در ESXi به شما این امکان را می دهد که Graphic Card را مستقیماً و با استفاده از قابلیت Pass-Through به Virtual Machine متصل کنید، بنابراین حالا Virtual Machine مستقیماً به سخت افزار دسترسی دارد و عملاً Hypervisor را دور می زند. حال که Virtual Machine مستقیم به Graphic Card متصل است می تواند از Driver اصلی Graphic Card استفاده کند. این قابلیت گسترده پذیری بالایی نخواهد داشت چرا که Pass-Through یک قابلیت یک به یک است. به این معنا و مفهوم که شما در صورتیکه بخواهید به دو Virtual Machine Graphic بدهید باید دو Graphic Card هم داشته باشید. از طرف دیگر به دلیل این که شما اکنون با سخت افزار درگیر شده اید نمی توانید از یک سری قابلیتهای ESXi چون vMotion استفاده کنید. یک نکته ای که می توانیم در این بخش بگوئیم، اینست در صورتیکه Graphic Card شما دارای چند GPU باشد شما می توانید هر یک راه به صورت جداگانه و با قابلیت Pass-Through به Virtual Machine انتقال دهید. پس به عنوان نمونه Nvidia GRID M40 16 GB GDDR5  دارای چهار GPU یا همان GPU است، بنابراین می تواند به چهار Virtual Machine اختصاص داده شود که در اینصورت سهم هر Virtual Machine 4GB خواهد بود. استفاده از راهکار vDGA در زیرساختهایی که ازCitrix XenApp  و یا Horizon RDSH App  استفاده می کنند می تواند مفید باشد. به اینصورت که Graphic Card را با قابلیت Pass-Through به Virtual Machine اختصاص خواهید داد و پس از آن اقدام به استفاده از آن یک ماشین و انتشار نرم افزارهای آن برای کاربران خواهید کرد. نمونه دیگر استفاده برای برخی از کاربران خاص است. در هر سازمانی بعضی از کاربران به پردازنده های Graphic پرقدرت نیازمند هستند که می توان برای این افراد از راهکار vDGA استفاده کرد.

و در نهایت درباره Graphic در زیرساخت Desktop Virtualization

استفاده از Graphic در زیرساخت Desktop Virtualization چه زیرساختهای Citrix XenDesktop و Citrix XenApp چه VMware Horizon 7 بسیار مهم است. می توانم بگوئیم که استفاده و یا عدم استفاده از Graphic در زیرساخت Desktop Virtualization موفقیت پروژه و یا شکست پروژه را سبب خواهد شد، چرا که Graphic ارتباط مستقیمی با کاربران نهایی دارد و ما زیرساخت Desktop Virtualization و نرم افزار را برای کاربران نهایی پیاده سازی می کنیم، آنها هستند که باید خوششان بیاید. به عنوان سخن پایانی استفاده از Graphic کاملاً با نیاز سازمانها مرتبط است. البته این موضوع که امروزه سیستم عاملهای پرکاربردی مثل Windows 10 و نرم افزارهایی مانند Microsoft Office نیاز به GPU هستند، اما تمامی تصمیمها در خصوص راه اندازی زیرساختهای Citrix XenDesktop و یا Citrix XenApp و همینطور VMware Horizon با استفاده از کارتهای Graphic ارتباط مستقیمی با نیازهای یکتای سازمانها دارد. در حال حاضر هر تولید کننده پردازنده های Graphic برای خود تکنولوژی جداگانه Desktop Virtualization و نرم افزار بیرون داده است.

پیش از Desktop Virtualization و بعد از آن

امروزه یکی از مهمترین نیازهای سازمانها استفاده از Graphic است. با توجه به این که نرم افزارها و سیستم عاملها چون مجموعه Microsoft Office و همچنین Windows 10 به GPU نیاز دارند. قبل ازDesktop Virtualization و مجازی سازی نرم افزار و ورود راهکارهای تخصصی چون VMware Horizon، Citrix XenDesktop و Citrix XenApp مشکل خاصی وجود نداشت. سازمانها برای هر کاربر یک کامپیوتر و یا لپ تاپ تهیه می کردند که این دستگاهها دارای یک GPU خوب بودند.

Graphic کی یک چالش شد؟

با استفاده از راهکارهای Desktop Virtualization چون VMware Horizon وCitrix XenDesktop در سازمانها تفاوتی جدی ایجاد شد. جای کامپیوترهای کاربران از دستگاههای کوچکی به نام Zero Clientها استفاده شد. در برخی از موارد هم که دیگر کاربران از دستگاههای شخصی خود استفاده می کنند. از طرف دیگر، دیگر دستگاهها مسئول پردازشهای Graphic نیستند و تنها یک نمایشگر محسوب می شوند، بنابراین تمامی پردازشها به سمت سرور باز می گردد. مجازی سازی سرور در حوزه Memory و CPU بسیار خوب عمل کرده است، اما مجازی سازی Graphic چه؟

راهکارهای اولیه مجازی سازی Graphic

با استفاده از زیرساخت مجازی سازی vSphere شما قادر به استفاده از روشهای مختلف برای انتقال پردازشهای Graphic به GPU خواهید بود. به طور پیش فرض یک Driver Graphic به نام SVGA در Virtual Machin نصب خواهد شد. با استفاده از این Driver می توان کارهایی کرد که اصلاً هم نمی شود اسمش را گذاشت کار، و عملاً کار خاصی با این Driver نمی توانید انجام دهید. راهکار بعد vSGA است که در این راهکار Virtual Machin بسیاری از پردازشها را توسط واسط به GPU سخت افزاری منتقل کرده تا این GPU اقدام به پردازش کند. راهکار بعدی که عملکرد بالایی دارد، اما محدودیت گسترش پذیری دارد.

جدید ترین Platformهای مجازی سازی Graphic

تکنولوژیهای مجازی سازی Graphic مختلف هستند. به این معنا که مثلاً VMware یک تکنولوژی برای مجازی سازی Graphic ارائه نکرده است، بلکه کمپانیهای ارائه کننده کارتهای Graphic هر یک تکنولوژیهای خود را برای مجازی سازی Graphic ارائه کردند. مثلاً nVIDIA تکنولوژی vGPU را ارائه کرده است،AMD  تکنولوژی MxGPU و اینتل هم Intel® GVT را ارائه کرده است.

تکنولوژی vGPU راهکاری نوپا

تکنولوژی مجازی سازی Graphic vGPU توسط nVIDIA ارائه شد و واقعاً از مزیتهای vDGA و vSGA در یک سطح بالاتر و با ویژگیهای بیشتر استفاده می کند. در این حالت به هر Virtual Machin بخشی از GPU داده خواهد شد، اما بر خلاف vSGA که توسط یک واسط با GPU ارتباط دارد، در این حالت Virtual Machin مستقیماً با GPU در ارتباط است، که به این ترتیب شما قادر خواهید بود از Driver اصلی استفاده کنید. به هر Virtual Machin یک vGPU توسط نرم افزار GRID Manager که در Hypervisor نصب شده است، اختصاص داده می شود. به همین دلیل Virtual Machin vGPU را به عنوان یک GPU فیزیکی می بیند. در حال حاضر دو Graphic Card nVIDIA GRID K1 و nVIDIA GRID K2 از تکنولوژی vGPU پشتیبانی می کنند. در جدول زیر انواع پروفایلها در vGPU بررسی شده است.

Platformهای VMware Horizon و Citrix XenDesktop کجا هستند؟

خوب این سئوال را کم و بیش در اول این مقاله بیان کردیم. این کافی نیست که شما Graphic را در Server و Virtual Machin فعال کرده و از آن استفاده کنید. به عنوان نمونه شما نمی توانید با فعال کردن Graphic و یک Remote Desktop اقدام به بازی کردن با Virtual Machin کنید، بازی مثل Far Cry و از این دست بازیها. شما باید از پروتکلی برای اتصال به Virtual Machin استفاده کنید که تکنولوژیهای مجازی سازی Graphic چون vGPU و vSGA و حتی تکنولوژی vDGA را پشتیبانی کند. در اینجاست که از راهکارهای Desktop Virtualization یعنی VMware Horizon و Citrix XenDesktop  استفاده می شود. پروتکلهای این راهکارها به طور کامل از تکنولوژیهای Graphic استفاده شده در زیرساخت vSphere می توانند پشتیبانی کنند. درست است که Citrix XenDesktop از تکنولوژیهای مجازی سازی Graphic هم پشتیبانی می کند، اما استفاده از VMware Horizon به عنوان Platform کاملاً سازگار و عضوی از خانواده VMware می تواند بهترین انتخاب باشد. هماهنگی بین VMware Horizon و دیگر محصولات VMware فوق العاده است. می توان بگوئیم که این هماهنگی مانند هماهنگیهای محصولات Microsoft است. با استفاده از یک محصول کنار محصولات دیگر ویژگیهای جدیدی فعال می شود که قدرت محصول را خارق العاده می کند.

پیش نیازهای استفاده از تکنولوژی vGPU

برخلاف تصور برخی از مدیران شبکه باید گفت که شما علاوه بر اینکه باید از نسخه های پشتیبانی شده vSphere و Horizon 7 استفاده کنید، باید از کارتهای Graphic که از این تکنولوژیها پشتیبانی می کنند، استفاده کنید. لیست کارتهای Graphic پشتیبانی شده در سایت VMware ارائه شده است. با استفاده از این لیست می توانید به راحتی تصمیم بگیرید.

مزیتها و معایب راهکارهای مجازی سازی Graphic

Soft 3D

هیچ هزینه ای ندارد و محدودیت تعداد کاربران بر هر CPU هم ندارد. اما از نظر عملکرد بسیار ضعیف و در حد خیلی کمی عمل می کند و از CPU برای پردازشهای Graphic استفاده می کند. به طور کلی برای استفاده در زیرساخت Desktop Virtualization زیاد کاربردی نیست.

vSGA

هزینه کم، تعداد کاربران بالا در هر Graphic Card و عملکرد خوبی در ارائه نرم افزارهای Graphic از مزیتهای vSGA  می باشند. محدودیت در پشتیبانی از API و عملکرد ضعیف در نرم افزارهایی که پردازشهای Graphic و 3D سنگین دارند، از جمله معایب این راهکار است.

vDGA

این راهکار از نظر عملکرد و ارائه یک تجربه کاربری عالی عمل می کند. اما شما هزینه بالایی باید کنید از طرف دیگر یک GPU را باید به یک Virtual Machine اختصاص دهید و همچنین چون با سخت افزار ارتباط برقرار کردید، تحریم می شوید و از ویژگیهایی چون vMotion نمی توانید استفاده کنید.

اما تکنولوژی vGPU

مزیتهای دو راهکار vSGA و vDGA را دارد، اما بزر‌گترین مشکل آن هزینه بالای آن است. در صورتیکه شرکت و سازمان شما می تواند از پس هزینه های آن برآید، پیشنهاد می شود از این تکنولوژی استفاده کنید. البته باید گفت با توجه به جدید بودن این تکنولوژی و نوپا بودن آن هزینه بالایی دارد، در آینده ای بسیار نزدیک هزینه استفاده از این تکنولوژی هم کاهش خواهد یافت و شما می توانید به راحتی اقدام به پیاده سازی این تکنولوژی با قیمتی مناسب کنند.

در آخر باید گفت:

به عنوان سخن پایانی باید بگوئیم که بررسی تکنولوژیهای مجازی سازی Graphic می تواند مدیران شبکه را در انتخاب راهکار مناسب کمک شایانی کند، به همین دلیل این موضوع اینجا تمام نخواهد شد...

برچسب ها: vDGA, vSGA, Soft3D, Desktop Virtualization, VMware View 5, Xorg, nVIDIA Quadro P4000, nVIDIA GRID M40, AMD, MxGPU, Intel® GVT, Platform, nVIDIA vGPU, Horizon RDSH App, Rendering