تجربه ارائه دسکتاپ بوسیله PCoIP

برای ارائه دسکتاپ مجازی یکی از مهم ترین فاکتورها چگونگی و کیفیت ارسال صفحه برای دستگاه های End-point ی می باشد که به دیتاسنتر ما وصل هستند. برای انجام اینکار VMware Horizon View از PCoIP (PC over Internet Protocol) استفاده می نماید.

معرفی PCoIP:
PCoIP پروتکلی است که کارایی بسیار بالایی برای نمایش دارد. طراحی و توسعه این پروتکل توسط شرکت Teradici صورت پذیرفت. هدف از ساخت PCoIP ارائه دسکتاپ مجازی با بهترین و ایده آل ترین شرایط برای کاربرانی است که در شبکه های LAN و یا WAN حضور دارند. بوسیله PCoIP تمام محتوای صفحه نمایش قبل از ارسال فشرده سازی، رمزگذاری شده و سپس ارسال می گردد.

PCoIP رزولوشن های بالا، full frame rate، 3d Graphics، HD media، چند صفحه نمایش (تا 4 عدد صفحه نمایش) و High Definition Audio را پشتیبانی میکند. بر خلاف برخی از پروتکل های قدیمی که فقط برای application ایجاد شده بودند PCoIP از ابتدای طراحی و ساخت توجه ویژه ای به ارائه کامل دسکتاپ داشت. یکی از ویژگی هایی که در Zero Client های ساخته شده با تراشه Teradici وجود دارد graphic acceleration موجود در تراشه این دستگاه ها می باشد. استفاده از PCoIP قطعا یکی از تجربیات جالب کاربران خواهد بود. بدون در نظر گرفتن موقعیت مکانی آنها خواه در LAN باشند خواه در WAN. PCoIP به صورت داینامیک با شرایط شبکه و پالسی های کاربر سازگار می باشد.

PCoIP host rendering
برای شروع نگاهی داشته باشیم به تفاوت های مدل های مختلف rendering. با یک کامپیوتر Desktop برنامه ها، سیستم عامل و درایورهای گرافیکی به صورت لوکال با یکدیگر کار می نمایند تا بهترین کارایی را بر روی PC ارائه نمایند. این حالت با نام Local client rendering شناخته می شود. اگر مدل Client rendering را کنار بگذاریم، شبکه ای بین کامپوننت ها معرفی می شود. تصاویر از طریق شبکه برای دستگاه های endpoint ارسال می شوند و با استفاده از منابع لوکال پردازش صورت می پذیرد. استفاده از این مدل در کاهش کارایی برنامه ها تاثیر زیادی دارد. Host rendering چیست؟ در سناریو host rendering تقریبا همان حالت محیط دسکتاپ PC می باشد که قبلا توضیح داده شد. بدین معنی که برنامه ها به صورت نرمال بر روی PC فیزیکال کار میکنند و rendering بر روی هاست صورت میگیرد. PCoIP بوسیله ی رمزنگاری encrypt پیکسل هایی که بر روی ماشین مجازی آنها view agent نصب شده است کار میکند و برای دستگاه هایی ارسال می شود که بر روی آنها View Client اجرا شده است یا Zero Client هایی که سخت افزار teradici را دارند.

استفاده از این مدل به آسانی توسعه پذیر است، نیازی به دستگاه ویندوزی نمی باشد و وابستگی برنامه به دستگاه هایی که روی آن اجرا شده است از بین می رود.

Multi-Codec Support with PCoIP:
اگر نگاهی داشته باشیم به چگونگی ساخت تصویر و اینکه چطور محتوای تصاویر ارائه می شود متوجه خواهید شد که بعضی از کامپوننت های تصاویر جهت نمایش دارای کدک های متفاوتی می باشند البته این موضوع بستگی به نوع تصاویر دارد. مثلا برای نمایش text از یک نوع کدک استفاده می شود و برای نمایش ویدئو از یک کدک دیگر استفاده می شود. PCoIP دارای قابلیتی می باشد که بوسیله آن تفاوت بین مدیا ایمیج ها را آنالیز کرده و برای هر پیکسل قبل از فشرده سازی، رمزنگاری و ارسال برای endpoint ها کدک مناسب را اعمال می نماید. این روش به PCoIP اجازه می دهد پیکسل های موثری را ارسال نماید که در نهایت سبب کاهش Bandwidth شده و کارایی بهتری را به همراه دارد. شما می توانید محتوای کیفیت تصویری که قرار است ارسال شود را کنترل نمایید.

کنترل کیفیت تصویر
کیفیت تصویری که PCoIP ارسال می نماید توسط Group Policy اکتیودایرکتوری و Smart Policy قابل کنترل می باشد. برای مثال وقتی شما در حال استفاده از ورد مایکروسافت هستید واقعا نیازی به یک تصویر عالی با پیکسل های فراوان ندارید. جهت مدیریت استفاده از پهنای باند، بر اساس پالسی اعمال شده PCoIP به صورت خودکار کیفیت تصویر بر روی یک شبکه کند را تنظیم می نماید. وقتی شبکه از سرعت مناسبی برخوردار باشد بیشینه مقدار کیفیت تصویر اعمال می گردد. بوسیله PCoIP فقط پیکسل ها جابجا می شوند. در PCoIP از پروتکل UDP استفاده می شود. همان گونه که میدانید در UDP چک کردن خطاها و یا تصحیح آنها کاربردی ندارد بنابراین بار اضافی برای چک کردن و اصلاح پکت ها از بین می رود. همچنین از تاخیری که در فرآیند ارسال مجدد در پروتکل TCP وجود دارد خبری نیست .

پروتکل های دیگر نمایش:
چند پروتکل اصلی دیگر وجود دارد. پروتکل های اصلی که امروزه زیاد استفاده می شوند و تمام ما با آن آشنا هستیم RDP- Remote Desktop Protocol می باشد همچنین پروتکل مربوط به Citrix با نام مخفف ICA- Independent Computing Architecture است.

Remote Desktop Protocol (RDP):
پروتکل RDP توسط مایکروسافت توسعه پیدا کرد و یکی از پروتکل های مهم جهت اتصال به سرورها، کامپیوترها و ماشین های مجازی می باشد که از TCP/IP جهت اتصال استفاده می نماید. RDP در حال حاضر بسیار شناخته شده تراز Remote Desktop Connection است. اگر دقت کرده باشید شما روزانه جهت اتصال به سرورها و زیرساخت خود از این پروتکل استفاده می نمایید.

وقتی به یک remote desktop یا machine متصل می شوید اساسا به یک کامپوننت ترمینال سرویس متصل می شوید و پس از آن محتوای صفحه ی کلاینت را مشاهده کرده و کنترل کیبورد و موس را برعهده میگیرید.

Independent Computing Architecture (ICA):
پروتکل دیگر ICA می باشد که مورد استفاده Citrix است. Citrix از این پروتکل در محصولات XenDesktop و XenApp بهره می برد. ICA از نظر طراحی شبیه به سایر پروتکل های رایج بوده و کاربرد آن جهت ارائه محتویات صفحه به کلاینت ها تحت TCP/IP می باشد. با استفاده از پروتکل ICA کلاینت شما به سرور متصل شده و citrix receiver بر روی دستگاه نصب می گردد. محتویات فایل شامل اطلاعاتی در مورد سیستمی می باشد که شما به آن متصل می شوید.

PCoIP offloading with the Teradici Apex 2800:
علاوه بر راهکارهای نرم افزاری، Teradici پیشنهاد آفلود کردن کارت سروری با نام Apex 2800 را می دهد. این PCI کارت بر روی سروی نصب می شود که ماشین های مجازی روی آن قرار دارند.

اولین نکته ای که باید در مورد این کارت بیان شود این است که کارت موجود Graphic Processor Unit (GPU) نمی باشد. اغلب کاربران دچار این اشتباه شده و انتظار دارند با نصب این کارت از قابلیت های OpenGL و DirectX استفاده کنند اما موضوع اینگونه نمی باشد. با استفاده از این کارت عملکرد کلی شما بهبود پیدا میکند اما قابلیت ها و توانایی های GPU را نخواهید داشت. هدف از نصب این کارت در زمان پردازش تصویر صرفا در جهت منتقل کردن Load از CPU به هاست می باشد . آفلود کردن رمزنگاری تصاویر بر روی کارت سخت افزاری پیک استفاده از CPU را کاهش می دهد. چرخه آزاد سازی CPU، بار زیادی که بر روی CPU وجود دارد را کاهش داده و در نتیجه شرایط بهتری را برای دسکتاپ های مجازی به ارمغان می آورد و همین امر سبب ایجاد VMهای بیشتری بر روی هاست می شود. معمولا شما متوجه می شوید که با انجام این کار چیزی در حدود 1.2 برابر بر سرعت CPU افزوده می شود.

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

15 دیدگاه
  1. arsalan681 says

    تشکر مطلب آموزنده ای بود.

  2. ketan says

    عالی

  3. یوسف says

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

  4. رضا says

    مقاله جالبی بود.

  5. mali_Zamani19 says

    عالی

  6. فرشید علی اکبری says

    سلام
    ضمن تشکر از مطلب خوبی که به اشتراک گذاشتید میخواستم بدونم آیا به غیر از این کارت، در این زمینه نیاز به نصب سخت افزارهای دیگه ای روی سرور هست؟
    آیا مدل های متفاوتی از این PCI کارت بسته به نوع سرور ویا تعداد کلاینت استفاده کننده از اون سرور باید فاکتوری برای انتخاب اون کارت باشه؟ (چون میدونید که اکثر شرکتها وکارخانجات کوچک تنها به پائین آوردن هزینه ها و بدست آوردن بیشترین کیفیت در این زمینه فکر میکنند و امکان خرید ایندسته از کارتها برای مدیران هرشرکتی امکان پذیر نیست بخصوص شرکتهای نوپا).

    1. AshkanOnline says

      با سلام … دوست عزیز تا اونجایی که بنده در مورد این کارت سرچ کردم دو مدل در بازار موجود می باشد که یکی از این مدل ها مخصوص سرورهای اچ پی بوده و در مورد محدودیت کاربران اصلا صحبتی نشده است. اطلاعات بیشتر رو از پی دی اف زیر می توانید بدست آورید
      http://www.teradici.com/docs/default-source/Product-Finder-DataSheets/pcoip-hardware-accelerator-1pg-hp-dec12.pdf?sfvrsn=0

  7. stager says

    ممنون از مطلب کاربردی
    سوالی درباره ThinApp داشتم آیا از این کامپوننت می توان از نصب برنامه های بزرگ مثل VS 2015 و یا برنامه های Adobe مثل Captivate و Photoshop و Autocad 2015 بر روی سیستم و یا ماشین کاربر جلوگیری کرد؟
    چون برنامه های شرکت Adobe هم از نظر نصبی و هم از نظر اکتیو کردن پر دردسر و زمان بر است حال تصور کنید در یک سازمان بیش از 50 تا کاربر به پکیج Adobe دارند استفاده از RemoteApp مایکروسافت را تست کردم نصب برنامه بر روی کلاینت را حذف میکند ولی بار بر روی سرور Remote APP بسیار بالا می رود …. من می خواستم از ThinApp برای ورچوال کردن برنامه وجلوگیری از نصب مجدد برنامه ها برای کلاینت ها استفاده کنم که Sandbox را بروی Shared Folder بزارم و اجرای برنامه ها بر روی سیستم لوکالی انتقال پیدا کند که از منابع لوکالی استفاده کند … برای ساختن پکیج آفیس 2016 بیش از 8 گیگ Sandbox ایجاد شد و هنگام اجرای کاربر هم کل ترافیک شبکه مصرف می شود و ارور …….حال برای برنامه های Adobe که سنگینتر از افیس است راه حلی می خواستم
    VMware مدعی است که بیش از 80 درصد برنامه ها را می تونه Thinapp کند ولی من تا این لحظه مشکل باهاش دارم

    1. ketan says

      سلام
      چرا از citrix xen app رو تست نمیکنین .به نظر من به امتحانش می ارزه .ورژن 7.11 هم تو همین سایت خوب تک نت 24 هستش.

    2. AshkanOnline says

      خواننده محترم در مورد سوال شما در مطالب آتی فراوان توضیحات خواهیم داد

  8. حمیدرضا says

    سلام
    ممنون از مقاله خوبتون
    میخواستم بپرسم آیا تجربه پیاده سازی Horizon رو برای نرم افزار هایی مثل AutoCAD و 3DMAX دارید؟
    اصلا بازدهی قابل قبولی داره؟
    و اینکه آیا کارت های apex2800 در ایران موجود هستن؟

    1. AshkanOnline says

      خواننده محترم من تجربه پیاده سازی را نداشتم ولی دوستانی که در این زمینه فعالیت داشتند کاملا راضی بودند منتهی با نصب کارت گرافیک های گران قیمت بر روی سرورها
      در مورد سوال دوم کارت های Apex2800 در صورت اوردر گذاری قابل تهیه می باشند.

      1. حمیدرضا says

        با سلام مجدد
        آیا با خرید کارت های GTX و یا Quadro امکان راه اندازی برای تعداد بالای کاربر به وسیله ی اشتراک گذاری کارت گرافیک وجود داره؟
        طبق اطلاعات من کارت هایی که برای این کار ساخته شدن کارت های GRID K2 هستن که علاوه بر هزینه سخت افزار نیاز به لایسنس نرم افزاری هم دارن
        ممنون میشم بیشتر توضیح بدید که برای (به عنوان مثال) 10 کاربر که نیاز به نرم افزار های گرافیکی دارند چه کارتی و چه تعداد کارتی مورد نیاز هست
        و اینکه آیا استفاده از VDI کار درستی هست یا نه

  9. reza says

    تشکر مهندس

  10. محمد قاصدی says

    سلام
    بنده حدود یک سالی هست که در شرکتمان Vmware horizon را راه اندازی کردم متاسفانه تنها مشکل بزرگی که دارم سرعت انتقال فایل بر روی فلش می باشد.
    سناریو به این صورت هستش که وقتی از روی NAS و یا هرجای دیگر یک فایل بر روی فلش که از بستر PCoIP استفاده میشود میریزم بسیار کند میباشد. تین کلاینت هایی هم که دارم HP T310 میباشد.
    لطفا مرا راهنمایی کنید واقعا این موضوع برای من حیاتی هستش.

دیدگاه

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