معرفی سخت افزارهای سرور قسمت چهارم – تکنولوژی های حافظه

زمانیکه در خصوص حافظه یا RAM سرورها صحبت می کنیم دو مفهوم اصلی و مهم به نامهای parity و NUMA را بایستی به خوبی درک کنیم . خوب ابتدا آموزش خود را با مفهوم NUMA شروع می کنیم . NUMA مخفف شده کلمه Non Uniform Memory Access است ، شاید به نظر مفهوم این کلمه کمی سخت باشد اما پایه و اساس منطق کاری آن نسبتا ساده است . اگر در رشته کامپیوتر تحصیل کرده اید حتما به خاطر دارید که در تمامی کتابهای درسی ما اعم از دانشگاهی و غیره ، همیشه از حافظه یا همان RAM به عنوان سریعترین جزء کامپیوتر نام برده می شود . اما توجه کنید که بیشتر این بحث ها در خصوص کامپیوترهای معمولی یا PC ها صدق می کند و این مفهوم در خصوص supercomputer ها صادق نیست ، در حال حاضر این مفهوم دیگر برای اکثر سرورهای شبکه نیز صادق نیست . امروزه CPU یا همان پردازنده کمی سریعتر از حافظه فعالیت می کند . بنابراین سریعترین عضو یک سخت افزار در سرور ، CPU آن سرور است .

تفاوت سرعت بین CPU و سرعت RAM زمانی بیشتر مطرح می شود که مشکل کارایی سرور به میان می آید . بیشتر کاربرد و کارکرد CPU انجام عملیات و دستورات بر روی داده ها می باشد ، دقت کنید که داده ها بر روی RAM قرار دارند ، این یعنی اینکه هر چقدر سرعت CPU شما بیشتر از RAM شما باشد در نهایت بایستی با سرعتی کار کند که RAM شما می تواند اطلاعات یا داده ها را در اختیارش قرار دهد ، این دقیقا همان مثالی است که در خصوص کارت های شبکه نیز بکار برده می شود ، اگر در دو سمت شبکه ، دو کارت شبکه با سرعت های ۱۰ مگابیت بر ثانیه و ۱۰۰ مگابیت بر ثانیه داشته باشیم در نهایت ایندو با چه سرعتی ارتباط برقرار خواهند کرد ؟ پاسخ قطعا سرعت ۱۰ مگابیت بر ثانیه می باشد . توجه کنید که این درست است که داده ها و اطلاعات ما می تواند بر روی هارد دیسک یا هر دستگاه ذخیره سازی اطلاعات دیگر ذخیره شده باشد اما برای اینکه بتواند اجرا شود بایستی ابتدا وارد RAM شده و سپس اجرا شود.

بعد از مدتی تولید کنندگان کامپیوتر متوجه این موضوع شدند که هر چقدر هم که سرعت CPU های خود را بالا و بالاتر ببرند در حقیقت بیشتر زمان و قدرت CPU صرف انتظار کشیدن برای دریافت اطلاعات و داده ها از RAM می شود و به این شکل سرعت CPU در سرعت سیستم بی تاثیر می شود . این مشکل برای سرورهایی که فقط یک CPU داشتند بسیار مشکل ساز بود ، اما سرورهای امروزی دارای چندین هسته CPU یا CPU Core هستند و این مشکل برای این سرورها بیشتر محسوس بود . همچنین در بسیاری از سرورهای امروزی شما شاهد این هستید که ضمن اینکه سرور دارای چندین CPU فیزیکی است ، هر کدام از این CPU ها به خودی خود دارای چندین هسته هستند ، هر CPU فیزیکی می تواند دست کم از چهار تا چند ده عدد هسته داشته باشد . من سرورهایی با ۶۴ هسته را نیز مشاهده کرده ام که در مراکز داده بانک های بزرگ مورد استفاده قرار می گیرند ، هر کدام از این هسته ها به عنوان یک Logical CPU مورد استفاده قرار می گیرند.

خوب وجود چندین CPU و هسته های آن به نظر بسیار مفید می آید و طبیعتا بایستی سرعت سیستم را افزایش دهند ، اما نکته در اینجاست که دسترسی به محل RAM صرفا می تواند از طریق یک CPU در لحظه انجام شود. این یعنی اینکه ضمن اینکه CPU ها بایستی منتظر دریافت داده ها از RAM بمانند ، بایستی منتظر بمانند تا کار یکی از CPU ها با RAM تمام شود تا آنها بتوانند از RAM سیستم استفاده کنند ، این یعنی یک صف انتظار طولانی که باعث کندی هر چه بیشتر سیستم می شود . یکی از راهکارهای اصلی که تولید کنندگان سرور در دنیا برای رفع مشکل ذکر شده بکار بردند معرفی تکنیک یا بهتر بگوییم فناوری حافظه NUMA بود. حافظه NUMA بصورت اختصاصی به قسمت های مجزایی به نام NUMA Node تقسیم می شود . در این حالت برای هر یک از CPU ها یک NUMA Node اختصاصی مجزا ارائه خواهد شد.

در بیشتر موارد NUMA Node ها بر اساس هر CPU فیزیکی تخصیص داده می شوند و نه بر اساس هر هسته CPU ، معمولا یک ارتباط یک به یک بین سوکت CPU فیزیکی و یک NUMA Node برقرار می شود و در این مورد معمولا توجهی به تعداد هسته های موجود در CPU مورد نظر نمی شود . البته این بدین معنا نیست که استثنائی هم وجود ندارد ، سرورهایی وجود دارند که برای CPU هایی که دارای تعداد هسته های بابایی هستند ( مثلا ۱۲ هسته ای ) دو عدد NUMA Node اختصاصی می دهند. اختصاص NUMA Node ها به صورت مجزا به هر یک از CPU های موجود بر روی سرور به دو روش کارایی سرور و CPU را بالا می برند.

مطلب پیشنهادی  معرفی سخت افزارهای سرور قسمت دوم - خنک کننده ها فیلترها و پورت ها

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

البته توجه کنید که آنچه ما در این مقاله توضیح دادیم در واقع یک مفهوم و یک ایده در خصوص NUMA بود و در محیط های واقعی کاملا به این شکل انجام نمی شود . در محیط واقعی CPU ها فقط از NUMA Node ها استفاده نمی کنند ، برای درک بهتر این موضوع توجه کنید که ممکن است که یک CPU در محیط کار واقعی به بیشتر از مقدار حاقظه ای که توسط یک NUMA Node به او اختصاص داده است ، احتیاج داشته باشد و در اینجاست که CPU بایستی از چندین NUMA Node استفاده کند . برخی از نرم افزارهای کاربردی نیز وجود دارند که CPU را مجبور می کنند که از چندین NUMA Node استفاده کند. البته برای CPU این کار چندان سختی نیست که از یک NUMA Node غیر محلی یا Non-Local استفاده کند اما قاعدتا استفاده از NUMA Node های غیر محلی در مقابل NUMA Node های محلی سرعت کمتری دارند.

توازن حافظه یا Memory Parity

در ابتدای همین مقاله به این موضوع اشاره کردیم که در خصوص حافظه دو مفهوم اساسی و بسیار مهم به نام های NUMA و Parity وجود دارد که در خصوص NUMA توضیحاتی دادیم . خوب در ادامه بایستی در خصوص Parity یا توازن صحبت کنیم ، در ساده ترین تعریف ممکن برای Parity می توان گفت که Parity مکانیزمی برای تشخیص خطاهای حافظه است .توجه کنید که اگر خطاهای حافظه تشخیص داده نشوند و مرتبا تکرار شوند می توانند باعث بروز خطاهایی مثل از دست رفتن اطلاعات یا تخریب اطلاعات و یا حتی تخریب سیستم و حافظه شما شوند.

مکانیزم Parity حافظه سالهاست که مورد استفاده قرار می گیرد اما با اشکال و روش هایی که در طی سالها در حال تغییر بوده است . چندین نوع شکل مختلف از Parity ها وجود دارند که در بیشتر سرورها مورد استفاده قرار می گیرند ، مرسوم ترین و در واقع رایجترین نوع Parity که امروزه در سرور ها مورد استفاده قرار میگیرد به نام Error Correction Code یا ECC شناخته می شود . خوب همانطور که خودتان هم می دانید داده ها در حافظه بصورت کدهای دودویی یا باینری نگهداری می شوند . هر کدام از بین ها در مبنای دودویی می توانند عدد یک یا صفر را در خود جای دهند . ساختار ECC برای تشخیص خطاهای بیتی مورد استفاده قرار میگیرد و می تواند خطاهای موجود در یک Bit خاص را تشخیص دهد. به زبان ساده تر اگر قرار باشد که بیتی که بر روی حافظه قرار میگیرد یک باشد و در حال حاضر بصورت صفر ذخیره شده است ، مکانیزم تشخیص خطای ECC بایستی این موضوع را تشخیص داده و اعلام خطا کند . در برخی اوقات ECC نقش ترمیم کننده یا تصحیح کننده را نیز بر عهده می گیرد البته این تنها در مواردی است که خطای رخ داده تنها در یکی از Bit ها باشد و نه بیشتر.

مطلب پیشنهادی  توزیع بار در Load Balancing Exchange Server 2016

البته همین تشخیص و تصحیح خطا در یک Bit از حافظه هم می تواند بسیار مفید باشد اما تکنولوژی هایی در حال حاضر وجود دارند که بسیار دقیقتر و پیشرفته تر در این زمینه کار می کنند . یکی از این تکنولوژی های که برگرفته ای از همان تکنولوژی ECC است به نام Single Device Data Correction یا SDDC سناخته می شود . SDDC می تواند بیش از یک خطا را در حافظه تشخیص داده و آن را درست کند . SDDC مشابه RAID Level 5 عمل می کند . داده هایی که بر روی حافظه قرار میگیرند بصورت پراکنده بر روی چندین Chip نوشته می شوند ، بر روی هر یک از Chip ها یک مقدار داده بیشتر در خصوص سایر داده های موجود بر روی دیگر Chip ها قرار میگیرد . این بدین معناست که اگر مشکلی برای یکی از Chip ها به وجود بیاید ، داده های از طریق سایر Chip ها قابل بازیابی هستند و خطای رخ داده قابل ترمیم خواهد بود ، دقیقا کاری که در RAID Level 5 انجام می شود.

بعضی از سرورها پای خود را فراتر از اینها نیز گذاشته اند و برای حافظه های سرور ، حافظه های یدکی یا کمکی قرار داده اند . در این موارد علاوه بر حافظه اصلی نصب شده بر روی سرور ، یک سری سوکت اضافه برای نصب حافظه های بیشتر وجود دارد ، با نصب کردن حافظه های یدکی در سوکت های مربوطه و انجام تنظیمات ، به محض اینکه حافظه اصلی دچار اختلال یا مشکلی شود ، سرور بصورت خودکار حافظه یدکی را به عنوان حافظه اصلی به CPU معرفی کرده و به فعالیت خود ادامه می دهد. یک نکته بسیار مهم که تا حدودی هم در همین پاراگراف به آن اشاره کردیم این است که همینکه شما حافظه هایی که از تکنولوژی ECC بهرمند هستند را سرجای خود در سوکت ها قرار دهید همیشه به این معنی نیست که دیگر از خطاها در امان خواهید بود و ECC به درستی کار می کند . در این خصوص دو نکته را فراموش نکنید ، اول اینکه سرور شما نیز بایستی از تکنولوژی ECC پشتیبانی کند و به دلیل اینکه این فناوری گرانقیمت است ممکن است سرور شما دارای چنین قابلیتی نباشد ، بنابراین اگر بر روی این سرور RAM های ECC را نصب کنید قظعا تفاوت خاصی را مشاهده نخواهید کرد . از طرفی دیگر اگر سرور شما هم از این فناوری پشتیبانی می کند ، دقت کنید که بعد از نصب اینگونه RAM ها بر روی سرور حتما بایستی تنظیمات مربوط به ECC در BIOS سرور شما انجام شود تا به درستی کار کند.

نتیجه

در این مقاله در خصوص دو مفهوم اصلی که در حافظه های سرور نقش اصلی را ایفا می کنند صحبت کردیم و نقاط ضعف و قوت سرورها در صورت وجود و عدم وجود این فناوری ها را مورد بررسی قرار دادیم .توجه کنید که شما به عنوان کسی که به عنوان مدیر شبکه قرار است در یک مرکز داده کار کند بایستی تا حدودی مفاهیم اینگونه مسائل را به خوبی یاد بگیرید تا در صورت لزوم بتوانید به درستی از مزایای این تکنولوژی ها استفاده کنید . در مقاله بعدی در خصوص دستگاه ها و سیستم های ذخیره سازی اطلاعات یا همان Storage ها صحبت خواهیم کرد ، امیدوارم که مورد توجه شما دوستان قرار گرفته باشد.

مطلب پیشنهادی  عناصر تشکیل دهنده CPU

نویسنده : محمد نصیری
منبع : انجمن حرفه ای های فناوری اطلاعات ایران

تجارت سرور ماندگار – تکنولوژی های حافظه , تجارت سرور ماندگار – ارائه دهنده و پشتیبان تخصصی سرور HP ،سرور اچ پی، قیمت سرور، قیمت سرور HP، قیمت سرور اچ پی، تعمیرات سرور، تعمیر سرور، تجارت سرور ماندگار – تکنولوژی های حافظه ، فروش سرور، سرور g8، مدل DL380، مدل ML310، هارد سرور، رم سرور، CPU سرور، سرور قوی، سرور ارزان، مدل سرور، HP Proliant Server , سرور hp , سرور اچ پی , تعمیرات سرور hp , نصب و راه اندازی شبکه , سرور ML310 , تعمیرات تخصصی سرور hp , فروش سرور , فروش سرور hp , hp proliant server ml310e g8 v2 , voip , ram hp , hard , power , نصب و راه اندازی voip , نصب و راه اندازی شبکه , قیمت سرور , dl380p , dl320 , شبکه سرور HP | سرور اچ پی | تعمیرات سرور | server hp | cartridge hp| notebook hp| laptop hp| scanner hp| printer hp | hp iran | ارائه دهنده محصولات اصلی HP| نمایندگی اچ پی | نمایندگی DL380 | ML370 | Proliant | HP Proliant | HP DL380 | انحصاری HP | پرینتر HP | اسکنر HP | لپ تاپ HP | کارتریج HP | پلاتر HP | سرور HP | اچ پی HP | HP Iran | تعمیرات HP | HP | proliant proliant server | proliant dl 5620 |اچ پی | سرور اچ پی | رک | Memory | هارد | hp hard  HP Memory | | power|750w | G7 G8 | hp proliant dl380 | hp proliant ml370 |HP server dl | فروش سرور hp | نمایندگی hp | شرکت HP| محصولات HP| ماشینهای اداریHP | تعمیراتHP | گارانتیHP | نمایندگیHP | وارد کننده hp | خدمات HP| اخبار HP| لیست قیمت محصولات HP| فروش سرور | اچ پی | اچپی | سرور اچ پی | نمایندگی hp| فروش سرورhp | فروش سرور اچ پی | قیمت سرور | قطعات سرور hp| تعمیرات پرینتر | تعمیر پلاتر hp| سرورhp | سرور hp | فروش سرور hpفروش سرور HP| سرور HP| فروش سرور | خرید سرور | خریدسرور| فروش سرور اچپی | فروش سرور اچ پی | نمایندگی اچ پی | فروش سرور | گارانتی اچ پی | فروش سرور | ماشینهای اداری اچ پی | ماشینهای اداری hp | تعمیرات اچ پی | تعمیرات hp | نمایندگی تعمیرات اچ پی | نمایندگی تعمیرات hp | سرور hp | proliant dl380p g8 | proliant dl380g7 | سرور | hp proliant dl380g6 | سرور hp proliant | خرید سرور | سرور hp| خرید hp | سرور اچ پی | سرور hp| مرکز hp | فروش hp | قیمت hp | server hp | HP ProLiant DL380p G8 Server Series | HP ProLiant DL380 G7 Server series | ProLiant DL370 G6 Server series | HP ProLiant DL500 Servers | Proliant Tower Server | server hp ML310e g8Server HP | hp proliant server dl160 g8 | سرور ML310 | VMware | سرور DL380 | قیمت سرور | قیمت Server | سرورML350 |HP ProLiant Server ML310e G8 | HP ProLiant Server ML310e G8 V2 | HP ProLiant Server ML350e G8 | محصولات اچ پی |HP ProLiant Server ML350e G8 V2 | HP ProLiant Server ML350p G8 | سرور اچ پی ML350e G8 V2 |HP ProLiant Server ML370 G6 | HP ProLiant Server DL320e G8 V2 | تکنولوژی های حافظه – سرور HP | سرور اچ پی ML350p G8 | HP ProLiant Server DL380p G8 | HP ProLiant Server DL380p G8 V2 | سرور اچ پی DL320e G8 V2 |HP ProLiant Server DL560 G8 | HP ProLiant Server DL580 G7 | سرور اچ پی DL380p G8 | سرور اچ پی DL380p G8 V2 | محصولات HP | VMware San Solution DAS NAS HP Proliant | شرکت HP | شرکت اچ پی | فروش Ram | voip|Voip|VOIP| | شبکه | تجارت سرور ماندگار – ارائه دهنده و پشتیبان تخصصی سرور | SSHD | تجارت سرور ماندگار – تکنولوژی های حافظه |