گاهی اوقات در دنیای فناوری، پردازش ها آنچنان سنگین می شوند که محاسبه این پردازش ها در توان قدرتمندترین سرورها نیز نمی باشد. از این رو راهکارهایی ارایه شده اند که که مبتنی بر پردازشهای موازی بر روی چندین سرور می باشند. به این تکنولوژی HPC یا High Performance Computing میگویند.
High Performance Computing یا HPC:
در تکنولوژی HPC با تکیه بر تقسیم بار پردازشیِ مربوط به یک تسک، بین سرورهای مختلف، که گاها تعداد آنها تا صدها سرور نیز میرسد، پردازش ها به صورت موازی روی سرورهای مختلف انجام می شوند و نهایتا خروجی ها با یکدیگر تلفیق شده و نتیجه را به دست می آورند. بدیهی است ممکن است در این میان خروجی سرورها نیاز به تبادل با سرورهای دیگر داشته باشد و هر عملیاتی میتواند به صورت لحظه ای متاثر از خروجی پردازش سرورهای دیگر باشد.
برای دست یابی به این زیرساخت، باید از راهکارهای منحصر به فردی استفاده کرد که تا کنون از آنها استفاده نکرده ایم. یکی از این راهکارها استفاده از تکنولوژی RDMA یا Remote Direct Memory Access می باشد.
Remote Direct Memory Access یا RDMA:
همانطور که از نام این تکنولوژی پیداست، با استفاده از آن یک سرور می تواند به صورت ریموت به مموری یا حافظه موقت سرور دیگر دسترسی پیدا کند. نکته جالب در RDMA این است که این تکنولوژی به صورت کامل، مستقل از توانایی تجهیزات پردازشی است و آن بخشی که این فناوری را برای ما به ارمغان می آورد، کارت های شبکه یا NIC هایی هستند که این تکنولوژی را پشتیبانی میکنند.
این کارت شبکه ها از به صورت مستقیم و بدون واسطه ی CPU و یا سیستم عامل، میتواند به memory Buffer دسترسی داشته باشند و در صورتی که سرورهای دیگر نیز دارای کارت شبکه با قابلیت پشتیبانی از RDMA باشند، می توانند داده ها را به صورت مستقیم از طریق شبکه بین واحدهای Memory تبادل کنند. این عملیات هم می تواند شامل خواندن و هم نوشتن باشد.
البته باید دقت شود که هر دو کارت شبکه مبدا و مقصد، می بایست از پروتکل انتقال یکسان استفاده کنند به عنوان مثال هر دو RoCE و یا RDMA over infiniband را ساپورت کنند.
نکته: در زیرساخت هایی که از نرم افزارهای Memory Caching یا In-Memory Database مانند Redis استفاده می کنند، استفاده از RDMA می تواند به شدت در افزایش سرعت و پرفورمنس تاثیر مثبت داشته باشد.
فعال سازی و به کار گیری RDMA در VMware:
همانطور که گفتیم، در صورتی که کارت شبکه دارای قابلیت پشتیبانی از RDMA باشد، می توانیم از این تکنولوژی برای ایجاد زیرساخت HPC و یا هر مورد دیگری که با دسترسی مستقیم سرورها به مموری یکدیگر باعث افزایش کارایی گردد، استفاده کنیم.
خبر خوب این است که این امکان در زیرساخت VMware vSphere و از نسخه 6.5 به بعد، وجود دارد و میتوان با فعال سازی قابلیت PVRDMA و یا Paravirtual RDMA بر روی کارت شبکه از آن استفاده کرد. البته در واقع این عملیات با همکاری vmkernel و کارت شبکه صورت میگیرد.
بیشتر بخوانید : ساخت ماشین مجازی در VMware vSphere
برای دیدن پیش نیازهای فعال سازی این تکنولوژی می توانید از این لینک استفاده کنید.
نکته: این امکان در حال حاضر برای سیستم عامل لینوکس امکان پذیر است.
برای فعال سازی این قابلیت پس از رعایت پیش نیازها باید مراحل زیر را به ترتیب انجام دهید:
- انتخاب یکی از vmkernel ها و فعال کردن PVRDMA بر روی آن
برای این منظور در قسمت Advanced Setting مربوط به هر هاست، آیتم Net.PVRDMAVmknic را جستجو کنید و در قسمت مقابل آن نام vmkernel ی را که قرار است این عملیات را انجام دهد را تایپ کنید.
- افزودن کارت شبکه به VM و انتخاب نوع آداپتور از نوع PVRDMA و همچنین انتخاب نوع Transfer Protocol.
در این قسمت حتما توجه کنید که کارت شبکه ابتدا باید به یک Distributed port group متصل شود و نوع سیستم عامل هم باید از نوع Linux 64bit باشد.
امیدواریم این مطلب برای علاقه مندان مفید واقع شود. بی صبرانه منتطر شنیدن نظرات و سوالات شما عزیزان در بخش نظرات می باشیم.