این قسمت دوم سخنرانی عملی ما است، که در اینجا در مورد مقدمهای بر زمانبندی برنامهنویسی C حرف میزنیم. در قسمت اول، نگاهی کوتاه به اصول اولیهای از کامپایل کردن یک برنامه ساده C داشتیم. حالا در این قسمت، قصد داریم به برنامههای موازی HPC بپردازیم.
برای استفاده از MPI و OpenMP، که دو روش پردازش موازی معروف هستند، باید برنامههای C را به این فناوریها منطبق کنیم. برنامههای Cبهطور گسترده در سیستمهای HPCاستفاده میشوند به دلیل قابلیت پردازش موازی بالا و توانایی اجرا در محیطهای مختلف با تعداد بالایی از پردازندهها و هستهها.
در این سخنرانی، ما به تفاوتها و استفادههای واقعی برای زبانهای برنامهنویسی مختلف میپردازیم. سیستمهای HPCبه طور کلی از زمانبندی و مدیریت منابع بهره میبرند که این امر میتواند در بهینهسازی اجرای برنامههای پیچیده مانند شبیهسازیهای پیشبینی آب و هوا و CFD (تحلیل جریان مایعات محاسباتی) مؤثر باشد.
در ادامه، در سخنرانی بعدی به بررسی موارد مختلفی از جمله پردازش موازی و استفاده از GPU و تکنیکهای هماهنگسازی برنامهها در HPC خواهیم پرداخت. این اطلاعات به شما کمک خواهد کرد تا برنامههای خود را برای اجرا در سیستمهای HPC بهینهسازی کنید.
برای شما واضح نیست که بخوانید، اما خواهیم دید که در رابطه با mpiio و سخنرانیهای بعدی که اساساً از فردا میآیند نگاه میکنیم. میبینید که این دنیای HPCدر طول سالها بسیار سریع در حال تکامل است.
در اینجا ببینید که چگونه ما اکنون اساساً به ایده امروز خود برای داشتن این میرویم. این ایده یک ابررایانه ماژولار است که در آن شما واقعاً به این نوع ماژولهای مختلف در خوشه جواهرات و مقیاسپذیر دوگانه نیاز دارید. و اکنون اساساً میبینیم که ما این روند را در کامپیوتر ادامه میدهیم، سیستمهای جدیدتر و اساساً مهارت دسترسی سیستم مشتری از آن مدلها مشتق میشود.
امم، این چیزی است که شما اساساً میخواهید. ماژولهای مختلفی دارید، یکی بسیار بیشتر ماژولهای خوشهای هدف کلی و سپس یکی از تقویتکنندهها، بهطوریکه در جایی که واقعاً به آن فکر میکنید. داشتن چیزی بسیار مقیاسپذیر، تعداد زیادی GPUs در دسترس و غیره، بنابراین آنچه که من میگویم این است که داشتن آن به مدتی قبل برمیگردد و در پایان چیزی که من میخواهم عملاً در این سخنرانی عملی بیاورم این است که این سیستمها باید توسعه یابند. سیستمهای نمونه اولیه هستند HPCاصلا لپ تاپ نمیخرد، در جایی در یک تولید کننده معمولی، و شما با لپتاپ به آنجا میروید همه چیز خوب و براق است این سیستمها اینجا و آنجا هستند، در ابتدا پروژههای تحقیقاتی بسیاری از آنها باید باشد. شما اساساً میدانید آماده برای کار کردن و اساساً نصب تمام نرمافزارهای سیستمی است و سپس معیارها را برای اولین بار در 500 رتبه برتر قرار میدهیم، اما سپس به مهمتر از همه برنامههای مختلف فکر میکنیم و این نکته ای است که اکنون به سخنرانی عملی میپردازیم.
من میخواهم اساساً با این انگیزه ایجاد کنم، بنابراین پیام کلیدی اینجا چند کاربر است، زیرا شما نمیتوانید چنین سیستمی را بپردازید اگر فقط یک کاربر بپردازد و بگوید خوب برنامه خوبی است.
این یک نمودار گرافیکی است که کمی به آن اشاره دارد، بنابراین شما در اینجا ابررایانههای مختلف مانند ماژول خوشه کشیدن، ماژول تقویت کننده Duraco یا حتی سیستم جواهر را میبینید که در آن همه این قطعات کوچک مختلف نشان دهنده کاربران مختلفی هستند که سیستم محاسباتی یکسانی دارند.
و این اشتراکگذاری بارگیری میشود، شما میتوانید تصور کنید، بنابراین هر کس دارای مقادیر متفاوتی از GPUs یا CPU است که از آن استفاده میکند، آن کار را ارسال میکند و این چیزی است که امروز یاد میگیریم. این کار و زمانهای مختلف را در طول روز ارسال کنید، بنابراین همه اینها باید در انزوا از یکدیگر باشید، بنابراین یک محیط واقعاً چند کاربره است که ما در مورد آن صحبت میکنیم و در اینجا ایدههایی وجود دارد که چگونه میتوانید اساساً همه اینها را سازماندهی کنید.
مشاهده کنید بنابراین بارگذاری سیستمهای مختلف را در یک نقطه خاص از زمان به شما نشان میدهد. همچنین کمی نشان میدهد که اگر فکر میکنید همه این قفسهها به صورت مجازی هستند، میبینید که تقریباً 99.9٪ پر شدهاند اما همچنین بیشتر در تولید به عبارت دیگر به نوعی شما مهمترین صفحه نمایش را در اینجا میبینید هر چند که نشان میدهد که سیستمها واقعاً توسط کاربران بسیار بسیار متفاوتی استفاده میشوند که توجه به این امر ضروری است.