دستگاه DMA می تواند به عنوان استاد اتوبوس عمل کند و می تواند حافظه فیزیکی را بخواند و بنویسد. از دستگاه DMA می توان برای بارگیری نرم افزار و پردازنده ها از کپی کردن بخش های بزرگی از داده ها از یک مکان به حافظه دیگر استفاده کرد. این دستگاه DMA از دو حالت عملیاتی پشتیبانی می کند: لیست انتقال و جمع آوری پراکندگی. در حالت انتقال پیوسته ، دستگاه DMA تعدادی بایت را به صورت متوالی کپی می کند ، از یک آدرس فیزیکی شروع می شود و همان تعداد بایت را به آدرس فیزیکی دیگر منتقل می کند. در حالت پراکندگی جمع آوری بایت ها از ساختار داده ای که به عنوان لیست پراکندگی جمع آوری شده در یک منطقه مبهم حافظه شروع می شود ، از آدرس مقصد کپی می شود. لیست پراکندگی جمع بعداً در این بخش شرح داده شده است.
دستگاه DMA از طریق مجموعه ای از ثبت های حافظه 32 بیتی که در جدول 7. 1 شرح داده شده است ، کنترل می شود. این دستگاه از سفارش بایت بزرگ (شبکه) و سفارش بیت اندکی استفاده می کند.
جدول 7. 1. نمای کلی ثبت نام
| انحراف | ثبت نام | مستندات |
| 00 | کنترل DMA | ثبت کنترل |
| 04 | منبع DMA | آدرس منبع |
| 08 | مقصد DMA | آدرس مقصد |
ثبت کنترل DMA از قسمت های زیر تشکیل شده است ، که در آن اعداد موجود در براکت ها دامنه بیت یا بیت را به ترتیب بیت اندکی نشان می دهد:
en [31] dma قابل قبول. دستگاه DMA را با نوشتن 1 در این زمینه فعال کنید. اگر دستگاه فعال نباشد ، رجیسترها هنوز به روز می شوند اما هیچ عوارض جانبی رخ نمی دهد.
SWT [30] - ماشه انتقال نرم افزار. اگر بیت EN تنظیم شود ، معامله DMA را شروع می کند. نتیجه نوشتن 1 به SWT هنگامی که معامله در حال انجام است تعریف نشده است.
ECI [29] - تکمیل پذیرش. اگر روی 1 تنظیم شود ، هنگام اتمام انتقال ، وقفه ایجاد می شود. اگر روی 0 تنظیم شود ، هیچ وقفه ای ایجاد نمی شود.
TC [28] transfer کامل. از این بیت برای نشان دادن اتمام انتقال استفاده می شود. این بیت هنگام اتمام انتقال توسط دستگاه DMA روی 1 تنظیم می شود و اگر بیت ECI نیز روی 1 تنظیم شود ، در حال حاضر یک وقفه مطرح می شود. برای پاک کردن وضعیت ، نرم افزار فقط مجاز به نوشتن 0 برای این بیت است. پاکسازی بیت TC همچنین هرگونه وقفه ای را که در حال حاضر فعال است کاهش می دهد.
SG [27] input لیست لیست جمع آوری شده. اگر روی 1 تنظیم شود ، ثبت نام منبع DMA به اولین ورودی در لیست پراکندگی جمع می شود و نه یک بلوک از داده ها.
ERR [26] خطای انتقال DMA. اگر خطایی در هنگام انتقال رخ داده است ، این بیت توسط دستگاه DMA تنظیم شده است-برای مثال ، اگر یک ساختار داده نادرست جمع آوری پراکنده به دستگاه عرضه شده باشد.
TS [15: 0] - اندازه انتقال. تعداد کلمات 32 بیتی برای انتقال از آدرس (یا لیست پراکندگی) که توسط ثبت منبع DMA به آدرس اشاره شده توسط ثبت مقصد DMA اشاره شده است.
توصیف عملکردی
برای شروع یک عملیات کپی DMA ، ابتدا یک آدرس فیزیکی را به ثبت های DMA Source و DMA Destination می نویسد. آدرس در ثبت مقصد DMA آدرس شروع است که در آن داده ها کپی می شوند و همیشه یک بلوک متناوب است. ثبت نام منبع DMA می تواند آدرس را به یک بلوک متناقض یا لیست پراکنده جمع کند. بیت SG در رجیستری کنترل DMA چگونه دستگاه DMA داده ها را در آدرس منبع تفسیر می کند.
برای شروع عملیات کپی ، نرم افزار ثبت نام کنترل DMA را با یک مقدار nonzero برای EN Bit ، SWT Bit و قسمت TS می نویسد. پس از اتمام ، کنترلر DMA بیت TC را تنظیم می کند و اگر بیت ECI تنظیم شود ، یک وقفه ایجاد می کند.
اگر دستگاه در حالت پراکندگی جمع آوری شده (SG BIT SET) پیکربندی شده باشد ، روش کپی به شرح زیر است. در یک لیست پراکنده جمع آوری ، داده ها در چندین بلوک پخش می شود. این بلوک ها می توانند از دو نوع باشند: بلوک داده و بلوک های پسوند. یک بلوک داده به سادگی بخشی از داده های خاص برنامه است ، در حالی که یک بلوک فرمت حاوی اشاراتی به بلوک های دیگر است. بلوک های پسوند فقط از آخرین ردیف در یک بلوک پسوند دیگر قابل ارجاع هستند. نمونه ای از ساختار داده پراکنده جمع در شکل 7. 1 نشان داده شده است.

طرح یک بلوک پسوند در شکل 7. 2 نشان داده شده است. زمینه های فردی به شرح زیر است:

آدرس: اشاره گر به یک بلوک.
طول: طول داده های معتبر در آدرس+افست.
افست: داده ها از آدرس+افست شروع می شود.
پرچم ها: اگر بیت 0 تنظیم شده باشد ، آدرس را به یک بلوک پسوند منتقل کنید. اگر بیت 0 تنظیم نشده باشد ، آدرس را به یک بلوک داده آدرس دهید.
هنگام استفاده از حالت پراکندگی جمع آوری ، ثبت منبع DMA حاوی آدرس بلوک سر پراکنده جمع است. بلوک سر در شکل 7. 3 نشان داده شده است. بلوک سر به اولین بلوک پراکنده جمع اشاره می کند ، که همیشه یک بلوک پسوند است. قسمت طول طول داده های معتبر در بلوک فرمت اول است.

بیشتر بخوانید URL: https://www. sciencedirect. com/science/article/pii/b978012800725900007x
تاریخچه محاسبات GPU
دوره خطوط لوله گرافیکی با عملکرد ثابت
از اوایل دهه 1980 تا اواخر دهه 1990 ، سخت افزار گرافیک عملکرد پیشرو خطوط لوله ثابت بود که قابل تنظیم بودند ، اما قابل برنامه ریزی نبودند. در همان دوره ، کتابخانه های اصلی برنامه نویسی برنامه نویسی گرافیک (API) محبوب شدند. API یک لایه استاندارد از نرم افزار است ، یعنی مجموعه ای از توابع کتابخانه ای که به برنامه ها (به عنوان مثال ، بازی ها) اجازه می دهد تا از نرم افزار یا خدمات و عملکرد سخت افزاری استفاده کنند. به عنوان مثال ، یک API می تواند به یک بازی اجازه دهد تا دستورات را به یک واحد پردازش گرافیکی ارسال کند تا اشیاء را روی صفحه بکشد. یکی از این موارد API DirectX است ، API اختصاصی مایکروسافت برای عملکرد رسانه ها. مؤلفه Direct3D DirectX توابع رابط را برای پردازنده های گرافیکی فراهم می کند. API اصلی دیگر OpenGL است ، یک API استاندارد باز که توسط چندین فروشنده و محبوب در برنامه های کارگری حرفه ای پشتیبانی می شود. این دوره خط لوله گرافیکی با عملکرد ثابت تقریباً با هفت نسل اول DirectX مطابقت دارد.
دسترسی مستقیم به حافظه
سیستم های رایانه ای مدرن از مکانیسم سخت افزاری تخصصی به نام دسترسی مستقیم حافظه (DMA) برای انتقال داده ها بین دستگاه I/O و DRAM سیستم استفاده می کنند. هنگامی که یک برنامه از یک عمل I/O درخواست می کند ، می گویند خواندن از یک درایو دیسک ، سیستم عامل با تنظیم یک عملیات DMA تعریف شده توسط آدرس شروع داده ها در حافظه بافر دستگاه I/O ، آدرس شروع کار را تنظیم می کند. حافظه DRAM ، تعداد بایت های کپی شده و جهت کپی.
استفاده از یک مکانیسم سخت افزاری تخصصی برای کپی کردن داده ها بین دستگاه های I/O و DRAM سیستم دو مزیت اصلی دارد. اول ، CPU با کپی کردن داده ها سنگین نیست. بنابراین ، در حالی که سخت افزار DMA در حال کپی کردن داده ها است ، CPU می تواند برنامه هایی را اجرا کند که به داده های I/O بستگی ندارد.
دومین مزیت استفاده از یک مکانیسم تخصصی سخت افزار برای کپی کردن داده ها این است که سخت افزار برای انجام کپی طراحی شده است. سخت افزار بسیار ساده و کارآمد است. در حین انجام نسخه ، هیچ سربار از دستورالعمل های واکشی و رمزگشایی وجود ندارد. در نتیجه ، نسخه می تواند با سرعت بالاتر از آنچه بیشتر پردازنده ها می توانند انجام شوند.
همانطور که بعداً یاد خواهیم گرفت ، DMA در عملیات کپی داده بین CPU و GPU استفاده می شود. این امر به حافظه پین شده در DRAM نیاز دارد و پیامدهای ظریف در نحوه اختصاص برنامه ها باید حافظه داشته باشد.
شکل 2. 1 نمونه ای از خط لوله گرافیکی با عملکرد ثابت را در GPU های اولیه Nvidia GeForce نشان می دهد. رابط میزبان دستورات گرافیکی و داده ها را از CPU دریافت می کند. دستورات به طور معمول توسط برنامه های کاربردی با فراخوانی یک عملکرد API ارائه می شوند. رابط میزبان به طور معمول حاوی یک سخت افزار تخصصی DMA برای انتقال کارآمد داده های فله به و از حافظه سیستم میزبان به خط لوله گرافیکی است. رابط میزبان همچنین داده ها و داده های نتیجه اجرای دستورات را به شما ارتباط می دهد.

قبل از توصیف مراحل دیگر خط لوله ، باید روشن کنیم که اصطلاح راس معمولاً به معنای "گوشه" یک چند ضلعی است. خط لوله Geforce Graphics برای ارائه مثلث طراحی شده است ، بنابراین از Vertex به طور معمول برای مراجعه به گوشه های یک مثلث استفاده می شود. سطح یک شی به عنوان مجموعه ای از مثلث ها ترسیم می شود. هرچه اندازه مثلث ها ظریف تر باشد ، کیفیت تصویر به طور معمول بهتر می شود. مرحله کنترل راس در شکل 2. 1 داده های مثلث پارامتری را از CPU دریافت می کند. مرحله کنترل Vertex داده های مثلث را به شکلی تبدیل می کند که سخت افزار آن را درک می کند و داده های آماده شده را در حافظه vertex قرار می دهد.
مرحله سایه زنی ، تبدیل و روشنایی (VS/T& L) در شکل 2. 1 ، راس ها را تغییر می دهد و مقادیر هر آراء را اختصاص می دهد (رنگ ها ، نرمال ها ، مختصات بافت ، مماس و غیره). سایه توسط سخت افزار Pixel Shader انجام می شود. سایه بان Vertex می تواند یک رنگ را به هر راس اختصاص دهد اما تا بعد از آن برای پیکسل های مثلث اعمال نمی شود. مرحله تنظیم مثلث بیشتر معادلات لبه ای را ایجاد می کند که برای درون یابی رنگ ها و سایر داده های در هر vertex (به عنوان مثال ، مختصات بافت) در سراسر پیکسل های لمس شده توسط مثلث استفاده می شود. مرحله شطرنجی تعیین می کند که پیکسل ها در هر مثلث موجود هستند. برای هر یک از این پیکسل ها ، مرحله شطرنجی مقادیر هر vertex لازم را برای سایه زدن پیکسل ، که شامل رنگ ، موقعیت و موقعیت بافت است که بر روی پیکسل سایه می زنند ، درون یابی می کند.
مرحله سایه بان در شکل 2. 1 رنگ نهایی هر پیکسل را تعیین می کند. این می تواند به عنوان یک اثر ترکیبی از بسیاری از تکنیک ها ایجاد شود: درون یابی رنگ های راس ، نقشه برداری بافت ، ریاضیات روشنایی در هر پیکسل ، بازتاب ها و موارد دیگر. بسیاری از اثرات که باعث می شود تصاویر ارائه شده واقع بینانه تر شوند ، در مرحله سایه بان گنجانیده شده اند. شکل 2. 2 نقشه برداری از بافت ، یکی از ویژگی های مرحله سایه بان را نشان می دهد. این نمونه ای را نشان می دهد که در آن یک بافت نقشه جهانی بر روی یک شیء کره نقشه برداری می شود. توجه داشته باشید که شیء کره به عنوان مجموعه بزرگی از مثلث ها توصیف شده است. اگرچه مرحله سایه بان فقط باید تعداد کمی از محاسبات تبدیل مختصات را انجام دهد تا مختصات دقیق نقطه بافت را که در یکی از مثلث ها که شیء کره را توصیف می کند ، روی یک نقطه نقاشی کند ، تعداد پیکسل های تحت پوشش توسط این حوزه است. تصویر به مرحله سایه بان نیاز دارد تا تعداد بسیار زیادی از تبدیل مختصات را برای هر فریم انجام دهد.

مرحله ROP (عملیات شطرنجی) در شکل 2. 2 عملیات شطرنجی نهایی را روی پیکسل ها انجام می دهد. این عملیات شطرنجی رنگی را انجام می دهد که رنگ اشیاء همپوشانی/مجاور را برای شفافیت و اثرات ضد آلیاژ مخلوط می کند. همچنین اشیاء قابل مشاهده را برای یک دیدگاه معین تعیین می کند و پیکسل های انسداد را دور می کند. پیکسل هنگامی که توسط پیکسل ها از سایر اشیاء با توجه به دیدگاه داده شده مسدود شود ، مسدود می شود.
شکل 2. 3 ضد آلیاژ ، یکی از عملیات مرحله ROP را نشان می دهد. سه مثلث مجاور با پس زمینه سیاه وجود دارد. در خروجی بی نظیر ، هر پیکسل رنگ یکی از اشیاء یا پس زمینه را فرض می کند. وضوح محدود باعث می شود لبه ها کج و شکل اشیاء تحریف شده به نظر برسند. مشکل این است که بسیاری از پیکسل ها تا حدودی در یک شی و بخشی از آن در یک شیء دیگر یا پس زمینه قرار دارند. مجبور کردن این پیکسل ها برای فرض رنگ یکی از اشیاء ، اعوجاج را در لبه های اشیاء معرفی می کند. عمل ضد علیا به هر پیکسل رنگی می دهد که از رنگ همه اشیاء و پس زمینه که تا حدی پیکسل را همپوشانی می کند ، مخلوط یا به صورت خطی ترکیب می شود. سهم هر شی در رنگ پیکسل به مقدار پیکسل است که شیء با هم همپوشانی دارد.

سرانجام ، مرحله رابط بافر فریم (FBI) در شکل 2. 1 حافظه را از طریق حافظه بافر قاب نمایش می نویسد و می نویسد. برای نمایشگرهای با وضوح بالا ، در دسترسی به بافر فریم ، یک پهنای باند بسیار بالا وجود دارد. چنین پهنای باند توسط دو استراتژی حاصل می شود. یکی این است که خطوط لوله گرافیکی به طور معمول از طرح های حافظه ویژه ای استفاده می کنند که پهنای باند بالاتری را نسبت به خاطرات سیستم ارائه می دهند. دوم ، FBI همزمان چندین کانال حافظه را که به چندین بانک حافظه متصل می شوند ، مدیریت می کند. بهبود پهنای باند ترکیبی کانال های متعدد و ساختارهای حافظه ویژه به بافر قاب پهنای باند بسیار بالاتری نسبت به خاطرات سیستم معاصر خود می دهد. چنین پهنای باند حافظه بالا تا به امروز ادامه دارد و به ویژگی متمایز طراحی مدرن GPU تبدیل شده است.
طی دو دهه گذشته ، هر نسل از سخت افزار و نسل مربوط به آن از API پیشرفت های افزایشی را در مراحل مختلف خط لوله گرافیکی به ارمغان آورد. هر نسل منابع سخت افزاری و پیکربندی را در مراحل خط لوله معرفی می کند. با این حال ، توسعه دهندگان پیشرفته تر در حال رشد بودند و از ویژگی های جدید تر از آنچه می توان به عنوان عملکردهای ثابت داخلی ارائه شد ، درخواست می کردند. مرحله بعدی بارز این بود که برخی از این مراحل خط لوله گرافیکی را به پردازنده های قابل برنامه ریزی تبدیل کنیم.
بیشتر بخوانید URL: https://www. scienceirect. com/science/article/pii/b978012415992100002x
معماری DSP
دسترسی مستقیم به حافظه (DMA)
دسترسی مستقیم حافظه قابلیت ارائه شده توسط معماری های اتوبوس رایانه ای DSP است که اجازه می دهد داده ها مستقیماً از یک دستگاه متصل (مانند درایو دیسک یا حافظه خارجی) به سایر مکان های حافظه در فضای آدرس DSP ارسال شود. DSP از درگیری با انتقال داده آزاد می شود ، بنابراین عملکرد کلی رایانه را سرعت می بخشد.
دستگاه های DMA تا حدی پردازنده های وابسته به آن هستند که انتقال داده ها را از پردازنده اصلی بارگیری می کنند. DMA قابلیت عملکرد بالایی را به DSP ها ارائه می دهد. کنترل کننده های مدرن DSP DMA مانند TMS320C6X می توانند داده ها را تا 800 mBytes/sec (پایدار) منتقل کنند. این کنترلر DMA می تواند هر چرخه یک کلمه 32 بیتی را بخواند و بنویسد. بارگیری کار انتقال داده ها به CPU اجازه می دهد تا روی محاسبات تمرکز کند. انواع معمولی نقل و انتقالات که DMA ممکن است کنترل کند عبارتند از:
حافظه به حافظه (داخلی به خارجی).
انتقال از دستگاه های I/O به حافظه.
انتقال از حافظه به دستگاه های I/O.
انتقال از/به درگاه های ارتباطی و حافظه.
انتقال از/به درگاه های سریال و حافظه.
راه اندازی DMA
راه اندازی یک عملیات DMA به CPU نیاز دارد تا در چندین رجیستری DMA بنویسد. اطلاعات راه اندازی شامل اطلاعاتی مانند آدرس شروع داده ها ، تعداد کلماتی که باید منتقل شوند ، نوع انتقال و حالت آدرس دهی مورد استفاده ، جهت نقل و انتقالات و آدرس مقصد یا محیطی برای داده ها قرار می گیرند. سیگنال های CPU به کنترلر DMA در صورت تکمیل درخواست معامله.
انتقال واقعی داده ها شامل مراحل زیر است:
DMA هنگام آماده شدن برای شروع انتقال ، اتوبوس را درخواست می کند.
CPU هرگونه معاملات حافظه را که در حال حاضر در حال کار است ، انجام می دهد و اتوبوس را به کنترلر DMA اعطا می کند.
DMA کلمات را تا زمانی که انتقال کامل نشود یا CPU درخواست اتوبوس را منتقل می کند.
اگر DMA قبل از اتمام انتقال ، اتوبوس را به عقب برگرداند ، باید دوباره درخواست کند تا معامله را تمام کند.
هنگامی که کل بلوک منتقل شد ، DMA ممکن است به صورت اختیاری از طریق قطع CPU به CPU اطلاع دهد.
مدیریت درگیری ها و درخواست های متعدد
کنترل کننده های DMA برای کاهش درگیری با اتوبوس یا منابع ، ویژگی هایی را ایجاد کرده اند. بسیاری از کنترل کننده های DMA از طریق وقفه ، انتقال را به منبع یا مقصد همگام می کنند. کنترل کننده های DMA به برنامه نویس اجازه می دهند تا داده ها را از تراشه به سمت تراشه یا جلو و عقب در حافظه خارج از تراشه و روی تراشه منتقل کند. DSP های مدرن خاطرات و درگاه های مختلفی را برای استفاده DMA ارائه می دهند. DSP ها داده های مستقل را اجرا می کنند و اتوبوس ها را برای جلوگیری از درگیری اتوبوس با CPU اجرا می کنند. Texas Instrument TMS320CX ، Motorola DSP96002 و دستگاه های آنالوگ ADSP-2106X خانواده ها همه نوعی قابلیت DMA را پیاده سازی می کنند.
قابلیت DMA چند کانال DMA به DSP اجازه می دهد تا چندین درخواست معامله را به طور همزمان با تصمیمات داوری برای نقل و انتقالات زیر بلوک بر اساس اولویت و همچنین در دسترس بودن مقصد و منبع مدیریت کند (شکل 5. 9). فروشندگان DSP از این قابلیت به عنوان چندین کانال یاد می کنند اما در واقعیت این یک انتزاع معامله است و نه یک مسیر سخت افزار فیزیکی. هر کانال DMA دارای رجیسترهای کنترل خاص خود برای نگه داشتن اطلاعات معامله است. به عنوان مثال ، تگزاس Instrument TMS320C5X DSP دارای قابلیت شش کانال DMA است (شکل 5. 8).

DMA موجود در برخی از DSP ها اجازه می دهد تا جریان داده های موازی و/یا سریال به بالا و/یا پایین بارگیری شود و از حافظه داخلی و/یا خارجی بارگیری شود. این به CPU اجازه می دهد تا به جای حرکت داده ها ، روی پردازش وظایف متمرکز شود.
بیشتر بخوانید URL: https://www. scienceirect. com/science/article/pii/b9780750677592500077
پردازنده های سیگنال دیجیتال
9. 2. 2. 4 دسترسی مستقیم به حافظه
دسترسی مستقیم حافظه (DMA) فرآیند انتقال داده ها بدون درگیری خود پردازنده است. این ماده اغلب برای انتقال داده ها به/از دستگاه های ورودی/خروجی استفاده می شود. برای کنترل انتقال ، یک کنترلر جداگانه DMA لازم است. کنترل کننده به پردازنده DSP اطلاع می دهد که برای انتقال آماده است. سپس پردازنده از کنترل اتوبوس حافظه خارجی خود چشم پوشی می کند و کنترل اتوبوس را به کنترلر DMA اعطا می کند. سپس کنترلر DMA مقدار مشخصی از داده ها را منتقل می کند و پس از اتمام انتقال ، پردازنده را سیگنال می دهد.
Texas Instrument TMS320C3X ، TMS320C4X ، Motorola DSP96002 و دستگاه های آنالوگ ADSP2106X خانواده تراشه های DSP پیچیده تر همگی دارای یک کنترلر DMA روی تراشه هستند.
بیشتر بخوانید URL: https://www. sciencedirect. com/science/article/pii/b9780750657983500096
شبکه ها و MPI برای محاسبات خوشه ای
Ryan E. Grant ، Stephen L. Olivier ، در موضوعاتی در محاسبات موازی و توزیع شده ، 2015
6. 3. 2 مقدمه RDMA
RDMA مکانیسمی است که به یک گره محاسباتی اجازه می دهد تا مستقیماً به حافظه گره محاسباتی دیگر از طریق شبکه دسترسی پیدا کند. به طور معمول ، RDMA برای جلوگیری از وقفه در CPU در حالی که مشغول کار برای رسیدگی به داده های شبکه ورودی است ، استفاده می شود. روشهای متنوعی برای اجرای RDMA وجود دارد. RDMA به روشی بسیار شبیه به درخواست های دسترسی مستقیم حافظه (DMA) کار می کند. تفاوت اصلی این است که آغازگر درخواست DMA سیستم دیگری است و درخواست باید از طریق شبکه به کنترلر DMA از راه دور ارسال شود. نمونه ای از این سناریو در شکل 6. 9 نشان داده شده است

RDMA معمولاً از طریق مدل صف-جفت انجام می شود. مدل queue-pair از جفت صف های متصل هم در مبدا و هم در هدف استفاده می کند. هر فرآیند دارای یک صف ارسال (SQ) و همچنین یک صف دریافت (RQ) است. SQ و RQ را می توان با عناصر صف کار پر کرد (WQE که معمولاً "wookies" تلفظ می شود). هر یک از این عناصر با یک وظیفه ارتباطی مطابقت دارد. نتایج این عملیات را می توان در یک صف تکمیل (CQ) قرار داد که در برخی از طرح های RDMA، صف رویداد (EQ) نیز نامیده می شود. فرآیندهای میزبانی که از دستگاه RDMA استفاده می کنند می توانند هم WQE را به SQ/RQ ارسال کنند و هم موارد را از CQ/EQ بخوانند/حذف کنند. این طراحی به فرآیندها/رشته هایی که از شبکه استفاده می کنند اجازه می دهد تا عناصری را که پیام هایی را توصیف می کنند به سخت افزار شبکه محلی ارسال یا دریافت کنند و سپس به کار بر روی سایر وظایف بازگردند. سخت افزار شبکه تلاش می کند بدون نیاز به فراخوانی برنامه به کتابخانه به پیشرفت مستقل دست یابد تا امکان پیشرفت ارتباطات را فراهم کند. برنامه می تواند در هر زمان با بررسی CQ/EQ پیشرفت انجام شده را بررسی کند تا مشخص کند چه چیزی به پایان رسیده است. طراحی اصلی جفت های صف و CQ/EQ مرتبط در شکل 6. 10 نشان داده شده است.

دو مدل به طور کلی پذیرفته شده برای فعال کردن RDMA وجود دارد، یکی از آنها send-recv نامیده می شود و نیاز دارد که گره هدف اطلاعاتی درباره مکان قرار دادن پیام های دریافتی مطابق با WQE در RQ ارسال کند. آغازگر یک درخواست ارسال به SQ خود ارسال می کند و سخت افزار RDMA ارسال WQE را می بیند و آن را پردازش می کند. این یک پیام به هدف ارسال می کند. سخت افزار هدف پیام را دریافت می کند و آن را با ورودی RQ مربوطه مطابقت می دهد. سپس هدف از اطلاعات موجود در RQ WQE برای قرار دادن پیام در محل مورد نظر استفاده می کند.
مدل RDMA دیگر RDMA Writ/Read نام دارد ، جایی که گره منبع اطلاعاتی دارد که قبلاً با گره هدف رد و بدل شده است. این اطلاعات حاوی جزئیاتی در مورد حافظه موجود در گره هدف است که می تواند از (RDMA خوانده شده) یا برای (نوشتن RDMA) خوانده شود. بدیهی است که نگرانی های امنیتی در مورد اجازه RDMA وجود دارد ، و در حالی که این موارد می توانند با استفاده از انواع طرح های امنیتی مختلف مورد بررسی قرار گیرند ، RDMA معمولاً فقط در LAN های با کارایی بالا استفاده می شود. RDMA به طور معمول با کتابخانه های ارتباطی سطح کاربر (دسترسی مستقیم به سخت افزار شبکه بدون نیاز به مداخله از هسته) جفت می شود. این تکنیک ها برای تأخیر کم ضروری هستند (تغییر زمینه به هسته سیستم عامل مدتی طول می کشد) و توان. بسیاری از برنامه های محاسباتی با کارایی بالا مقادیر زیادی از داده ها را ارسال می کنند و به منظور ارائه سطح بالایی از عملکرد ، نیاز به ارتباط تأخیر بسیار کمی دارند. در این دامنه ، شبکه های RDMA می توانند به تأخیر در زیر میکروسکوند دست یابند ، بنابراین تکنیک های پیشرفته مانند RDMA و بای پس سیستم عامل ضروری هستند. این دو روش را می توان به طور خلاصه همراه با بحث در مورد محاسبات خوشه ای و تفاوت بین آن و انواع دیگر محاسبات موازی معرفی کرد. یک مکان طبیعی برای معرفی این مطالب هنگام بحث در مورد دسترسی به حافظه و DMA به طور خاص است. جزئیات دقیق روشهای RDMA لازم نیست معرفی شود ، اما دانش آموزان باید آگاه باشند که روش های انجام RDMA وجود دارد ، حتی اگر آنها تمام جزئیات اجرای را درک نکنند ، که قابل توجه و به احتمال زیاد فقط برای فارغ التحصیلان است-دوره سطح
بیشتر بخوانید URL: https://www. scienceirect. com/science/article/pii/b9780128038994000067
انتشارات توصیه شده
نماد اطلاعات مجله مجله مجله مجله
معماری
قابلیت های DMA
دسترسی مستقیم حافظه (DMA) یک عملکرد سخت افزاری رایج در یک سیستم رایانه ای است که برای تسکین پردازنده یا پردازنده از بار کپی کردن بلوک های بزرگ داده ها استفاده می شود. برای جابجایی یک بلوک از داده ها ، اگر کسی از قبل وجود نداشته باشد ، یک بافر ایجاد و پر می کند ، و سپس یک توصیف کننده را در حلقه توصیف کننده کانال DMA می نویسد. یک توصیف کننده جزئیاتی از قبیل آدرس منبع و هدف حافظه و طول داده ها در خطوط حافظه پنهان را توصیف می کند. انتقال داده های زیر پشتیبانی می شود:
Intel Xeon Phi Coprocessor به Intel Xeon Phi Coprocessor Gddr5 Space (دیافراگم)
Intel Xeon Phi Coprocessor GDDR5 برای میزبانی حافظه سیستم
حافظه سیستم میزبان به Intel Xeon Phi Coprocessor GDDR5 (دیافراگم یا عدم حضور)
انتقال بلوک داخل GDDR5 در داخل پردازنده Intel Xeon Phi
یک حلقه توصیف کننده DMA توسط سیستم عامل Coprocessor یا درایور میزبان برنامه ریزی شده است. حداکثر هشت حلقه توصیف کننده را می توان با نرم افزار باز کرد. هر یک از آنها به عنوان کانال DMA گفته می شود. سیستم عامل COPOCESSOR یا درایور میزبان می تواند یک کانال DMA را به ترتیب در هر دو سیستم یا حافظه GDDR5 باز کند. یعنی تمام حلقه های توصیف کننده متعلق به درایور میزبان باید در حافظه سیستم وجود داشته باشد در حالی که حلقه های متعلق به سیستم عامل Coprocessor باید در حافظه GDDR5 وجود داشته باشد. یک طرح داوری قابل برنامه ریزی ، هنگامی که چندین کانال DMA برای منابع سیستم یا Intel Xeon Phi Coprocessor از طریق سیستم یا Intel Xeon Phi Coprocessor استفاده می کنند ، درگیری های دسترسی را برطرف می کند.
پردازنده COPOCESSOR از حافظه PCI Express Gen2/Gen1 ، I/O و پیکربندی مبتنی بر دستگاه ، پشتیبانی می کند. معاملات حافظه وارد شده توسط دستگاه COPOCESSOR را می توان از هسته های اجرای مستقیم یا با استفاده از موتور DMA در SBOX تولید کرد.
به طور خلاصه ، کنترلر DMA قابلیت های زیر را دارد:
هشت کانال DMA که به طور همزمان کار می کنند ، هر کدام دارای بافر حلقه سخت افزاری مستقل خود هستند که می توانند در هر دو پردازنده محلی یا حافظه سیستم زندگی کنند
از انتقال از هر جهت پشتیبانی می کند (دستگاه های میزبان/پردازنده)
از نقل و انتقالات آغاز شده توسط هر دو طرف پشتیبانی می کند
همیشه با استفاده از آدرس های فیزیکی منتقل می شود
نسل را پس از اتمام قطع کنید
دانه بندی 64 بایت برای تراز و اندازه
نوشتن برچسب های تکمیل شده به حافظه پردازنده محلی یا سیستم میزبان
بلوک DMA در فرکانس ساعت COPOCESSOR CORE کار می کند. هشت کانال مستقل وجود دارد که می توانند داده ها را جابجا کنند:
از حافظه GDDR5 گرفته تا حافظه سیستم
از حافظه سیستم گرفته تا حافظه GDDR5
از حافظه GDDR5 تا حافظه GDDR5
پردازنده نه تنها از 64 بایت (1 خط حافظه نهان) در هر معامله PCI Express پشتیبانی می کند ، بلکه حداکثر 256 بایت برای هر معامله DMA است. این امر مستلزم آن است که root-complex از معاملات 256 بایت پشتیبانی کند. برنامه نویسی MAX_PAYLOAD_SIZE در ثبت PCI_COMMAND_STATUS اندازه واقعی هر معامله را تعیین می کند.
داوری کانال DMA
هیچ تصوری از اولویت بین توصیف کننده ها در یک کانال DMA وجود ندارد. توصیف کننده ها به ترتیب پی در پی به کار می روند و به ترتیب انجام می شوند. اولویت بین توصیف کننده ها با باز کردن چندین کانال DMA و انجام داوری بین کانال های DMA به صورت دور رابین حل می شود.
نمای کلی حلقه توصیف کننده
حلقه توصیف کننده یک بافر دایره ای است که در شکل 8. 9 نشان داده شده است. طول حلقه توصیف کننده می تواند حداکثر ورودی های 128 کیلوبایت باشد و باید با نزدیکترین مرز خط حافظه نهان تراز شود. نرم افزار با پیشبرد یک نشانگر سر ، حلقه را مدیریت می کند زیرا حلقه را با توصیف کننده ها پر می کند. هنگامی که توصیف کننده ها کپی شده اند ، این نشانگر هدر به روز شده را در رجیستری DMA Head Pointer (DHPR0 - DHPR7) برای کانال DMA مناسب می نویسد. هر کانال DMA حاوی یک نشانگر دم است که به عنوان توصیف کننده ها در صف توصیف کننده محلی کانال قرار می گیرد. صف توصیف 64 مدخل است و می توان به عنوان یک پنجره کشویی روی حلقه توصیف کننده تصور کرد. نشانگر دم بطور دوره ای به حافظه نوشته شده است تا نرم افزار بتواند پیشرفت آن را ردیابی کند. پس از اولیه سازی ، نرم افزار هم نشانگر سر و هم نشانگر دم را تنظیم می کند تا به پایه حلقه توصیف کننده اشاره کند. از دیدگاه کانال DMA ، هنگامی که نشانگر دم به نشانگر سر نزدیک می شود ، به حالت خالی نزدیک می شود. از دیدگاه نرم افزار ، هنگامی که نشانگر سر به نشانگر دم نزدیک می شود ، یک وضعیت کامل نزدیک می شود.

نشانگرهای سر و دم آدرس هستند. اگر بیت مرتبه بالا 1 باشد ، توصیف کنندگان در حافظه سیستم ساکن هستند. در غیر این صورت آنها در حافظه پردازنده Intel Xeon Phi ساکن هستند. توصیف کننده ها در پنج قالب مختلف و طول آن 16 بایت هستند. در هنگام نوشتن توصیف کننده در حلقه ، محدودیت تراز وجود ندارد. با این حال ، هنگامی که توصیف کنندگان در مرزهای خط حافظه نهان شروع و پایان می یابند ، عملکرد بهینه می شود زیرا دسترسی به حافظه بر روی دانه های خط حافظه نهان ، چهار توصیف کننده در یک زمان انجام می شود.
بیشتر بخوانید URL: https://www. scienceirect. com/science/article/pii/b97801241041430086
Infiniband ، Iwarp و Roce
11. 7. 3 قالبهای بسته
11. 7. 3. 1 rdmap
RDMAP یک رابط برای برنامه های RDMA برای حمل داده ها از طریق زیرساخت IWARP اساسی است. از تعویض داده مستقیم لایه ای (DDP) استفاده می کند تا برنامه ها بتوانند در حافظه گره از راه دور (RDMA) بخوانند و بنویسند (شکل 11. 19).

11. 7. 3. 2 DDP
DDP می تواند داده ها را مستقیماً به حافظه گره مقصد (سینک داده) منتقل کند بدون اینکه به رابط شبکه نیاز داشته باشد تا داده ها را در یک بافر میانی کپی کند. این لایه عملکرد زیر را ارائه می دهد:
مدل بافر برچسب خورده: امکان نامگذاری بافر و به اشتراک گذاری آن اطلاعات با همسالان (این امکان قرار دادن داده ها به طور مستقیم در حافظه گره مقصد را فراهم می کند)
مدل بافر بدون استفاده: همچنین امکان انتقال داده به بافرهای ناشناس در سینک داده را فراهم می کند
قابل اعتماد ، تحویل در مرتبه
تقسیم و تنظیم مجدد پیام های ULP ؛بدون نیاز به کپی اضافی می تواند بخش های خارج از سفارش را کنترل کند
11. 7. 3. 3 MPa (نشانگر PDU تراز برای TCP)
TCP با ایجاد بخش هایی که دارای جریان بایت هستند ، پیام را از طریق شبکه منتقل می کند. به منظور شناسایی مرزهای یک پیام در جریان داده شده بایت ، MPA تعریف شده است. این شناسه های مرزی (نشانگرها) را در جریان TCP قرار می دهد تا یک گیرنده بتواند مرزهای پیام داده شده را شناسایی کند.
MPA هنگام اجرای DDP بیش از SCTP لازم نیست زیرا SCTP یک پروتکل پیام گرا است. MPA شامل یک بررسی CRC اضافی برای افزایش یکپارچگی داده در هنگام کار بیش از TCP است.
بیشتر بخوانید URL: https://www. sciencedirect. com/science/article/pii/b9780124016736000118
محاسبات با کارایی بالا
جیمز اوریلی ، در ذخیره سازی شبکه ، 2017
همگرا دسترسی به حافظه مستقیم از راه دور
RDMA در HPC کاملاً مهم است و احتمالاً طی چند سال به یک نیاز مطلق تبدیل می شود. سؤال این است که چه شکلی خواهد گرفت - infiniband ، اترنت ، Omnipath و غیره. مطمئناً چرخش ، اعتیاد به مواد مخدره و FUD توسط بازیکنان مختلف وجود دارد.
در بازار تجاری ، ما می توانیم انتظار داشته باشیم که اترنت با استفاده از پروتکل RDMA منطقه گسترده اینترنت (IWARP) به راحتی برنده شود. چند سال طول خواهد کشید ، اما همگرایی بر روی یک زیرساخت LAN واحد و علاوه بر این ، یکی از مواردی که با SDN دوستانه است ، این امر را اجتناب ناپذیر می کند. دقیقاً مانند کانال فیبر ، ابر آینده جایی برای Infiniband یا اتصال بیگانه دیگر نخواهد داشت.
این استدلال به نفع اترنت به همان اندازه که در دنیای HPC انجام می شود ، حفظ نمی شود. از کافه های ابر رایانه ای برای Infiniband استفاده می شود ، اکثر سوپرهای موجود در 500 برتر از آن استفاده می کنند ، هرچند که با یک حاشیه عظیم نیست ، و ما می توانیم انتظار داشته باشیم که با یک راه حل قابل اعتماد که به راحتی به دنده های موجود پیوند می یابد ، بمانیم.
مقایسه بین IB و دو RDMA بر روی پروتکل های اترنت ، IWarp و Roce (RDMA بیش از اترنت همگرا) ، تمایل دارد به جای اینکه کاملاً عینی باشد ، دیدگاه نویسنده را نسبت به جهان به نفع خود بگذارد ، اما این واقعیت که پروتکل ها اساساً از همان الکترونیک و خوش برخورد استفاده می کننداز نتایج ، اول ، اول ، فیزیک مسئولیت مسابقه را بر عهده دارد و دوم اینکه ما اساساً برای هر یک از این سه نتیجه یکسان هستیم.
این باعث می شود که انتخاب LAN بیشتر بر اساس عوامل غیر فنی مانند قیمت و تجربه خریدار تصمیم گیری شود. به عنوان مثال، حجم فروش نقش مهمی در قیمت گذاری NIC دارد، اما مهمتر از آن، گنجاندن یک فناوری در چیپست مادربرد است، جایی که هزینه افزایشی اساساً صفر است. تصمیم برای افزودن RDMA به چیپست های سرور نسل بعدی (اترنت) یا تمرکز اینتل بر روی OmniPath به استثنای سایرین، قیمت گذاری اتصالات شبکه را به یک مسئله مهم تبدیل می کند، به خصوص اگر این فناوری وارد بخش تجاری اصلی شود. هرکسی که در بخش تجاری برنده شود، مزیت بزرگی در سهام HPC RDMA نیز خواهد داشت.
چندین تاسیسات Big Science در افق وجود دارد. ما قبلاً چند بار به SKA و CERN اشاره کرده ایم و می توانیم فعالیت آشکار NSA را اضافه کنیم. ایالات متحده برای پس گرفتن عنوان سریعترین ابررایانه از چین تلاش خواهد کرد و آزمایشگاه های ملی بسیار فعال هستند [16]. با مزایای گسترده ابرهای ابررایانه ای، باید شاهد نصب سیستم های بیشتری در دانشگاه باشیم، اگرچه نفت و گاز احتمالاً خرید را کاهش خواهند داد.
با کنار هم قرار دادن این موارد، برخی از برنامه های شاخص وجود دارد که تمایل دارند رویکردهایی را در سال 2020 تعریف کنند. این امکان وجود دارد که همه آنها به سمت ذخیره سازی اشیاء حرکت کنند و اگر این اتفاق بیفتد ما باید اترنت بسیار بیشتری را در مقابل InfiniBand ببینیم. OmniPath می تواند همه اینها را خراب کند، اما برای پیروزی در برابر دو متصدی قدرتمند به ویژگی ها و عملکرد قوی نیاز دارد.
یک رقیب دیگر برای تاج ارتباطات داخلی فوتونیک مبتنی بر سیلیکون است [17]. فوتونیک سیلیکون برگرفته از آزمایش ها برای کاهش توان مورد استفاده برای راه اندازی رابط های تراشه های CPU، قدرت کم و اتصال مستقیم CPUها را بدون دخالت تراشه های PHY نوید می دهد.(PHYها مدارهایی هستند که سیگنال های داخلی سطح پایین را به توان بالاتر یا به پرتوهای نوری تبدیل می کنند که سپس اتصال رابط را هدایت می کنند). این باعث می شود CPU بسیار خنک تر شود و PHY های داغ نیز از معادله حذف شود.
فوتونیک نیاز به اتصالات فیبر مستقیم به CPU یا معادل مادربرد، یک لوله نوری نوری دارد. هر دوی اینها چالش های واقعی در فناوری هستند، با مواد و تکنیک های اولیه به خوبی درک شده اند، اما پیچیدگی های اتصال آنها به CPU و مسیریابی آنها بسیار دشوار است. سوئیچینگ فوتونیک برای انعطاف پذیری مورد نیاز است و مقیاس و تکرار کننده برای هر اتصال در پارچه مورد نیاز است. وضعیت هنر امروز این است که امکان ساخت پیکربندی های کوچک با طرح اتصال نقطه به نقطه وجود دارد، اما مقیاس پذیری بیش از دوازده مادربرد هنوز در مرحله تحقیق است.
فارکس وکسب درامد...
ما را در سایت فارکس وکسب درامد دنبال می کنید
برچسب :
نویسنده : مهدی اسدی
بازدید : <-PostHit->
تاريخ : جمعه
20 مرداد
1402 ساعت: 22:45