دسته بندی ها

با نمونه‌های AWS EC2 M6i، عملکرد روی میز را ترک نکنید

با نمونه‌های AWS EC2 M6i، عملکرد روی میز را ترک نکنید

چند هفته پیش، مقاله ای داشتیم که به تأثیر شتاب بر عملکرد می پردازد. هدف آن قطعه واقعاً این بود که به خوانندگان ما نشان دهد که شتاب مهم است و قرار است در آینده به بخش بزرگی از چشم انداز محاسبات تبدیل شود.

با نمونه‌های AWS EC2 M6i، عملکرد روی میز را ترک نکنیدبا نمونه‌های AWS EC2 M6i، عملکرد روی میز را ترک نکنید

از آن زمان، AWS پردازنده جدید Graviton3 خود را با شتاب بیشتری معرفی کرد. آن نمونه ها هنوز GA نیستند، اما برخی از بازخوردهایی که دریافت کردیم این بود که کمی شتاب را در پردازنده های امروزی بررسی کنیم.

هنوز بسیاری از افراد با “تردید شتاب” هستند که از شتاب دهنده های سخت افزاری موجود در CPU استفاده نمی کنند. در حالی که بسیاری برای فصل تعطیلات به پرواز در می آیند، برخی از زمان آزاد برای یادگیری و پروژه های سرگرم کننده استفاده می کنند و این ممکن است یکی از آنها باشد.

با نمونه‌های AWS EC2 M6i، عملکرد روی میز را ترک نکنید

این موضوع از منظری وسیع‌تر نیز حائز اهمیت است. استفاده از شتاب دهنده ها به این معنی است که می توان کار بیشتری با منابع موجود انجام داد. این بدان معناست که هزینه های کمتر و سرورهای کمتری برای اجرا در یک مرکز داده در جایی مورد نیاز است. استفاده از شتاب روندی مشابه با چرخش مجدد در دنیای بازیافت خواهد بود. همانطور که مردم احتمالاً می توانند بگویند، در STH ما با این قطعات کمپین خود را در برابر تردید در شتاب افزایش می دهیم.

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

AWS EC2 M6i.4xlarge Lscpu And Free Mh Output

با نمونه‌های AWS EC2 M6i، عملکرد روی میز را ترک نکنید

برای اینکه کاملاً واضح باشد، این از نمونه های AWS EC2 m6i.4xlarge استفاده می کند، اما همین امر در مورد سرورهای فلزی خالی نیز صدق می کند. همانطور که در مورد آخرین قطعه، من می خواهم به طور خاص از اینتل تشکر کنم. آنها برای نمونه ها پول می پردازند و برای اطمینان از تنظیم درست چیزها پشتیبانی می کنند.

در نتیجه، ما می خواهیم بگوییم که این اسپانسر است. در همان زمان، مانند همه چیز در STH، ما آزمایش و نوشتن/انتشار را بدون نظارت اینتل اجرا می کنیم، زیرا همه چیز در STH از لحاظ ویرایشی مستقل است. ما فقط می خواهیم توجه داشته باشیم که این یک همکاری است، زیرا از نظر واقع بینانه، بد است که در اینجا نتیجه نادرستی بگیریم و آن را به طور گسترده به اشتراک بگذاریم.

AWS EC2 M6i.4xlarge WordPress MariaDB Crypto Acceleration TPS And Throughput
کاری که من می‌خواستم انجام دهم این بود که به تعدادی از راهنماهایی که در حین تنظیم آن پیدا کردم پیوند دهم. به جای رفتن به آموزش در مورد هر یک، فکر من این بود که منابع را پیوند دهم. باز هم، اینتل برای این پیوندها پولی پرداخت نمی کند، من فقط نمی خواستم اسناد موجود را دوباره بنویسم زیرا این کار اضافی به نظر می رسد.

با نمونه‌های AWS EC2 M6i، عملکرد روی میز را ترک نکنید

فکر من این است که تأثیر بزرگ این است که خوانندگان ما می توانند این را ببینند و الهام بگیرند تا از هر آنچه که دارند (ابر یا فلز خالی) در طول تعطیلات برای پیشبرد سال 2022 استفاده کنند.

از زمان آخرین قطعه، برخی از افراد در مورد شیرجه عمیق با تمرکز بر شتاب دریاچه Xeon کمی بیشتر خواستند. این یک نکته بسیار معتبر است و ما می خواستیم به آن بپردازیم. باز هم، این مبتنی بر عملکرد oss است و از WordPress، NGINX با php-fpm و MariaDB به عنوان پایگاه داده استفاده می کند.

از نظر سایفری، ما از TLS_AES_256_GCM_SHA384 استفاده می کنیم و این در اوبونتو 20.04.3 LTS انجام می شود. هدف از این یکی آزمایش حداکثر شتاب رمزنگاری نبود، بلکه نشان دادن یک تنظیم نسبتاً رایج است که در آن بخشی از بار کاری شتاب می‌گیرد.

AWS EC2 M6i.4xlarge WordPress MariaDB Crypto Acceleration TPS And Throughput Close Up

با نمونه‌های AWS EC2 M6i، عملکرد روی میز را ترک نکنید

همانطور که می بینیم، تراکنش در ثانیه و توان عملیاتی به طور کلی 15 تا 18 درصد افزایش یافته است. از یک طرف، این یک افزایش 4 برابری مانند زمانی نیست که ما شتاب رمزنگاری را به تنهایی آزمایش می کردیم، اما از طرف دیگر کافی است که شما به طور موثر برای هر شش نمونه ای که از شتاب استفاده می کنند در مقابل عدم استفاده از شتاب، یک نمونه m6i.4xlarge اضافی را دریافت کنید.

. در اینجا یک نمای بزرگنمایی شده با محور Y غیر صفر وجود دارد تا بتوانید جزئیات را کمی بهتر ببینید:

AWS EC2 M6i.4xlarge WordPress MariaDB Crypto Acceleration Tail Latencies

شاید بزرگترین مورد در اینجا تأخیر باشد. تراکنش ها در ثانیه و اعداد توان عملیاتی خوب بودند، اما وقتی واقعاً به نسخه تسریع شده نگاه می کنیم، شاهد افت نسبتاً عظیمی در تأخیر در سراسر طیف هستیم. بسیاری به تأخیر در مقابل توان عملیاتی اهمیت می دهند، اگر نه بیشتر، بنابراین این مهم است. ما از چند کاربر پرسیدیم که آیا استفاده از شتاب دهنده ها به جای مسیر محاسباتی همه منظوره، تاخیر زیادی داشته است یا خیر. این یک مثال خوب برای مواردی است که اینطور نیست (ما به تأخیر در مثال TensorFlow نیز نگاه خواهیم کرد.)

با نمونه‌های AWS EC2 M6i، عملکرد روی میز را ترک نکنید

از نظر سختی، اجرای آن در تعطیلات تعطیلات، مطمئناً قابل انجام است. اگر می‌خواهید راهنمای دریافت شتاب nginx و HTTPS را بررسی کنید، در اینجا یک وایت پیپر در این بخش وجود دارد. این در واقع به جزئیات بیشتری نسبت به آنچه که ما در اینجا انجام می‌دهیم می‌پردازد، زیرا به اتصال قطع شبکه می‌رود، اما 3-4 صفحه دستورالعمل در مورد نحوه انجام آن دارد.

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

AWS EC2 M6i.4xlarge Tensorflow ResNet 40 Inference Throughput BS16

باز هم، مزایای اینجا بسیار زیاد است، بنابراین ما انتظار داریم که در سال 2022 شاهد کاهش بارگیری پردازنده‌های بیشتری برای تسریع HTTPS باشیم، این چیزی است که امروز می‌توانیم نشان دهیم.

با نمونه‌های AWS EC2 M6i، عملکرد روی میز را ترک نکنید

TensorFlow با استفاده از کیت هوش مصنوعی برای تجزیه و تحلیل
پیش‌زمینه این یکی این است که ما اغلب به شتاب هوش مصنوعی به عنوان حداکثر عملکرد در هر نمونه یا هر قطعه نگاه می‌کنیم. همانطور که می بینیم هوش مصنوعی به بخشی از برنامه های کاربردی تبدیل می شود، چیزی که می بینیم این است که استنباط هوش مصنوعی اکنون بخشی از بسیاری از بارهای کاری است. در حالی که بسیاری ممکن است به طور خودکار هوش مصنوعی را ببینند و به GPU فکر کنند، طرف دیگر این است که انجام مقادیر کمی استنتاج در برنامه‌های کاربردی روی CPU می‌تواند ارزان‌تر و سریع‌تر باشد.

این بدان معناست که می‌توان از نمونه‌های CPU کم‌هزینه استفاده کرد و ممکن است نیازی به پیمایش شبکه به یک نمونه GPU برای استنتاج نباشد. در اینجا، ما می خواهیم به تاخیر برای درخواست های نادر نگاه کنیم.

اول، ما به استنتاج FP32 با استفاده از اندازه دسته ای 16 نگاه می کنیم. این بیشتر شبیه چیزی است که معمولاً در معیارها نشان داده می شود. در اینجا، با استفاده از کیت هوش مصنوعی و دسترسی به شتاب، سرعت خوبی دریافت می کنیم.

با این حال، یکی از بزرگترها در حال تعویض به INT8 به عنوان نوع داده است. INT8 از نظر محاسباتی یک نوع داده بسیار کم هزینه تر است و بنابراین ما می توانیم دستاوردهای نسبتاً عظیمی را ببینیم. این موردی است که در آینده بیشتر مورد استفاده قرار می گیرد، فقط به این دلیل که مردم دریافته اند که جریمه دقت کوچک و در عین حال عملکرد بهتری را ارائه می دهد. باز هم، این روند سال 2022 است که در CPU های بیشتری شاهد آن خواهیم بود.

با نگاهی به اندازه دسته = 1 عدد، می توان تأثیر زمانی که یک برنامه نیاز به فراخوانی استنتاج و دریافت نتیجه فوری دارد، مشاهده کرد. اندازه‌های دسته‌ای بزرگ‌تر برای حداکثر توان عملیاتی هستند در حالی که BS=1 بیشتر یک آزمایش تأخیر است.

در اینجا ما یک مزیت نسبتاً بزرگ از حرکت به سمت شتاب دهنده ها و یک مزیت دیگر از حرکت به INT8 را می بینیم. این تأثیر در واقع کمی کمتر از آنچه در اندازه دسته بزرگتر دیده بودیم است، اما هنوز هم بسیار واضح است.

AWS EC2 M6i.4xlarge Tensorflow ResNet 40 Inference Throughput BS1

اگرچه بزرگ ترین آن از نظر تأخیر است. در اینجا، نمودار چشمگیر است. تأخیر استنتاج با مسیر شتاب کیت هوش مصنوعی و دوباره با INT8 بسیار کمتر است. همانطور که می بینید، با INT8 و BS=1 ما حدود 80٪ تاخیر کمتری نسبت به FP32 و بدون استفاده از شتاب دریافت می کنیم. این یک دلتای بزرگ است.

از آنجایی که اینتل دارای تعدادی فناوری شتاب دهنده هوش مصنوعی از جمله CPU، FPGA، ASIC اختصاصی و به زودی GPU است، این شرکت از اکوسیستم نرم افزار oneAPI خود برای آسان کردن کارها استفاده می کند. اگر می‌خواهید در این زمینه شروع کنید، بهترین مرجعی که می‌توانیم پیدا کنیم در اینجا است. در تئوری، چشم اندازی که اینتل برای oneAPI دارد این است که بدون توجه به تکه سیلیکون، یک رابط برای دسترسی به شتاب خواهد بود. این بیشتر خواندنی است، اما مختص Tensorflow و Ice Lake Xeons است.

AWS EC2 M6i.4xlarge Tensorflow ResNet 50 Inference Latency BS1

با نمونه‌های AWS EC2 M6i، عملکرد روی میز را ترک نکنید

NAMD و Hyper-Threading با استفاده از AVX-512
در نهایت، می‌خواهیم درباره NAMD و استفاده از AVX512 و Hyper-Threading بحث کنیم. برای این کار، به جای اینکه به شدت بهینه نشود، کیس پایه با AVX2 خواهد بود. NAMD معمولاً در فضای محاسباتی با کارایی بالا استفاده می شود و این افراد در استفاده از بهینه سازی ها بسیار خوب هستند. اولین موردی که قرار است از آن استفاده کنیم، معیار لیپید، پروتئین و آب ApoA1 است.

در اینجا می بینیم که با استفاده از AVX-512 حدود 50 درصد سرعت داشتیم. سپس با استفاده از یک الگوریتم کاشی (بیشتر شبیه به آنچه در پردازنده‌های گرافیکی استفاده می‌شود) با AVX-512، تقریباً 2.5 برابر سرعت می‌گیریم. این از 8 رشته از 16 رشته موجود در نمونه AWS m6i.4xlarge استفاده می کند. این تأثیر همه شانزده رشته است:

AWS EC2 M6i.4xlarge NAMD AVX 512 Acceleration Impact ApoA1 8T

با نمونه‌های AWS EC2 M6i، عملکرد روی میز را ترک نکنید

البته، با این بارهای کاری HPC، معمولاً از Hyper-threading برای افزایش کارایی استفاده نمی شود. Hyper-Threading در بارهای کاری دیگر، به ویژه در سمت سازمانی/ ابری، به خوبی عمل می کند، اما در سمت HPC، اغلب شاهد عدم استفاده از HT هستیم. در اینجا عملکرد نسبی آن چیزی است که با استفاده از نتیجه 16 رشته ای AVX2 به عنوان پایه 1 مشاهده کردیم:

جالب اینجاست که قاب غیرکاشی AVX-512 عملکرد نسبتاً نزدیکی داشت، اما هر دو قاب AVX2 و تایل زمانی که 16 رشته در مقابل 8 رشته را اجرا کردیم، از هم دورتر بودند.

AWS EC2 M6i.4xlarge NAMD AVX 512 Acceleration Impact ApoA1 16T

فقط برای داشتن کمی تنوع در اینجا، می‌خواهیم نگاهی به مورد STMV، یکی دیگر از معیارهای رایج بیندازیم. STMV مخفف ویروس موزاییک توتون ماهواره ای است. در این مورد، ماهواره چیزی در آبگرم بیرونی نیست.

AWS EC2 M6i.4xlarge NAMD AVX 512 Acceleration Relative Impact Hyper Threading

با نمونه‌های AWS EC2 M6i، عملکرد روی میز را ترک نکنید

CE در عوض، این ویروسی است که علائم ویروس دیگری را افزایش می دهد و از هر دو ویروس/سلول میزبان برای تولیدمثل استفاده می کند. افرادی که در زیست شناسی مولکولی بهتر هستند، می توانند در نظرات توضیح دهند. با این حال، این نتایج است:

AWS EC2 M6i.4xlarge NAMD AVX 512 Acceleration Impact STMV

به طور کلی، ما شاهد یک الگوی مشابه از نظر افزایش سرعت هستیم. قرار نیست هر حجم کاری نسبت به Hyper-Threading و AVX-512 حساس باشد. به همین ترتیب، بخش‌های زیادی وجود دارند که الگوریتم‌ها و رویکردهای تخصصی برای به حداکثر رساندن عملکرد سخت‌افزار مانند NAMD ندارند. در عین حال، این تنها نمونه‌ای از بهینه‌سازی با بلوغ بالاتر با استفاده از شتاب AVX-512 است که مدتی است منتشر شده است. بهینه سازی NAMD زیادی وجود دارد و یک مکان خوب برای شروع، صفحه NAMD در UIUC است.

کلمات پایانی
هدف از این کار، قبل از تعطیلات، این است که فقط به خوانندگان خود چیزی برای فکر کردن قبل از رسیدن به سال 2022 بدهیم. سال آینده، ما شاهد شتاب‌دهنده‌های بیشتری در پردازنده‌های سرور و مشتری خواهیم بود. در نتیجه، مردد بودن در شتاب موضعی است که در آینده هزینه بیشتری خواهد داشت. از طرفی یک فرصت هم هست.

امروزه وارد شدن به شتاب به این معنی است که خوانندگان STH می توانند کمی از بازار جلوتر باشند و در محل کار عالی به نظر برسند. 30 دقیقه اضافه کردن شتاب HTTPS NGINX در زمان استراحت می‌تواند عامل «WOW» را به رئیس و سازمان بدهد. از آنجایی که کمی وقت آزاد در پیش است، و این یک روند خواهد بود، ما می‌خواستیم به خوانندگان خود گوشزد کنیم تا بتوانند در این مورد از بقیه بازار جلوتر باشند.

 

منبع : https://www.servethehome.com/

‫2 نظر

  • حسن رمضانی گفت:

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

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

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