آشنایی با تکنولوژی NUMA – بخش دوم

آشنایی با تکنولوژی NUMA – بخش دوم

آشنایی با تکنولوژی NUMA – بخش دوم

در مقاله قبل به بررسی تاریخچه تکنولوژی CPU پرداختیم و به معماری SMP اشاره شد و فرق آن با معماری تکنولوژی NIMA کمی بررسی شد. در حقیقت ما میخواستیم چرایی تولد تکنولوژی NUMA را بفمیم و امیدوارم که به آن پی برده باشید.

در ادامه بررسی تکنولوژی NUMA و کارکرد آن به صورت تخصصی آن را برای شما خواهیم شکافت تا آن را به صورت کاربردی در سناریوهای خود پیاده‌سازی نمایید. پس تا آخر این مقاله با ما باشید تا هوش IT شما روزبه‌روز پربارتر از قبل شود.

تکنولوژی NUMA چیست ؟

اصطلاحاً به تکنولوژی NUMA حافظه دسترسی غیریکپارچه میگن و کل اصطلاح این تکنولوژی تشکیل شده است از: Non-Uniform Memory Access

کمی به معنا و اصطلاح این تکنولوژی دقت کنید همه چیز در درون خودش نهفته است. بگذارید قبل از ادامه بحث تکنولوژی NUMA چد اصطلاح را باهم بررسی کنیم.

 NUMA Node : حافظه NUMA به صورت کاملاً تفکیک شده و مجزا به ناحیه‌هایی تقسیم می‌شوند که هر CPU، حافظه محلی و Local خود و کانالهای ورودی/خروجی خود را دارا می‌باشد که به این نواحی NUMA Node گفته می‌شود.

در بیشتر موارد NUMA Node ها بر اساس هر CPU فیزیکی تخصیص داده می شوند و نه بر اساس هر هسته CPU.

Local Access یا حافظه محلی NUMA یا : حافظه RAM ای است که به صورت اختصاصی به تعدادی‌ CPU اختصاص دارد که همین عامل باعث سرعت بیشتر در پردازش CPU در سرور می‌شود.

Remote Access یا حافظۀ غیرمحلی NUMA: حافظۀ RAM یک CPU دیگر یا حافظه RAM مشترک بین CPUها می‌باشد.

به سور خلاصه با استفاده از تکنولوژی NUMA یک CPU می‌تواند به حافظه RAM محلی یا همان Local خود نسبت به حافظه Remote RAM سریعتر دسترسی داشته باشد و پردازش را انجام دهد.

QPI : گذرگاه و رابط بین CPU ها برای ارتباط بین آنها و استفاده از حافظه RAM به صورت نیز می‌باشد.

تکنولوژی NUMA چیست؟

تکنولوژی NUMA چیست؟

نحوه کارکرد تکنولوژی NUMA

با توجه به اختصاص NUMA Node به هر CPU و داشتن حافظه RAM ما بهترین کارکرد و سرعت را در سرورها به خاطر تعامل CPU و حافظه RAM به صورت محلی . Local خواهیم داشت اما باید گفت در صورت نیاز، هر CPU میتواند به حافظه RAM در NUMA Node های دیگر که به صورت Remote نیز خواهنده میشوند، دسترسی داشته باشد و از آنها استفاده نماید.

همان‌طور که در شکل زیر مشاهده می‌نمایید مطابق با و ما دارای دو عدد NUMA Node هستیم که هرکدام دارای ۱۹۶ GB حافظه RAM به صورت جداگانه می‌باشند. مطابق با CPU 0 از طریق ۴ کانال حافظه RAM مطابق با دارای حافظه RAM مختص به خود می‌باشد و همین شرایط برای CPU بخش و حافظه RAM بخش نیز حاکم است.

حال اگر CPU 0 نیاز به حافظه RAM بیشتر پیدا کرد می‌تواند از طریق بخش QPI با CPU 1 ارتباط برقرار کرده و تقاضای حافظه RAM از آن به صورت Remotely میکند و از آن که زمان بیشتری می‌برد، استفاده می‌نماید. اما درحقیقت باید گفت کارایی و پاسخگویی آن حافظه مطابق با حافظه خود CPU 0 نخواهد بود.

بهتر است بدانید نرم‌افزار SQL Server یکی از برنامه‌هایی است که به خوبی از تکنولوژی NUMA استفاده می‌کند و تاثیر بسزایی برروی سرعت آن خواهد داشت پس تو خود حدیث مفصل بخوان از این مجمل!

نحوه کارکرد تکنولوژی NUMA

نحوه کارکرد تکنولوژی NUMA

آیا سرور من از معماری NUMA پشتیبانی می‌کند؟

شما برای اینکه بفهمید سرور شما از معماری NUMA پشتیبانی می‌کند، باید از دستورات ذیل استفاده نمایید و اگر در خروجی دستور node 0 باشد، این بدین معنی است که سرور شما تکنولوژی NUMA را پشتیبانی نمی نماید.

SELECT DISTINCT memory_node_id
FROM sys.dm_os_memory_clerks

نتیجه‌گیری نحوه کارکرد تکنولوژی NUMA :

در این مقاله به صورت جز به جز شما را با بخش‌های مختلف تکنولوژی NUMA در CPU و RAM آشنا کردیم و در ادامه به نحوه کارکرد NUMA اشاره شد. امیدوارم باز هم مثل همیشه اگر مطالعه این مقاله برای شما راهگشا و موثر بود ما را از نظرات خوب خود بهره‌مند نمایید.

دوستدار شما: علیرضا دهقانی

مشاهده مقالات من:

بخش ۱ 

بخش ۲

نویسنده : علیرضا دهقانی
برچسب ها

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

پیاده سازی شده توسط هوش پلاس