پیام فرستادن

اخبار

March 11, 2021

حافظه خاص دامنه

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

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

پردازش خاص دامنه توسط سخنرانی تورینگ 2018 ، "یک دوره طلایی جدید برای معماری کامپیوتر" ، توسط جان هنسی و دیوید پترسون رواج یافت.اما پردازنده ها برای دهه ها توسط حافظه محدود شده اند.تغییر پردازش بدون تجدیدنظر در حافظه و سلسله مراتب حافظه ، قانون آمدال را نادیده می گیرد ، که یک رابطه ریاضی بین سرعت ممکن برای سیستم در صورت بهبود بخشهای خاصی از سیستم فراهم می کند.در اصل می گوید اگر فقط روی یک قطعه از سیستم تمرکز کنید به جای اینکه به سیستم بطور کلی نگاه کنید ، بازده کمتری خواهید داشت.

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

دیگران موافق هستند."حافظه های ویدئویی را به یاد دارید - DRAM با رجیسترهای شیفت داخلی؟"از مایکل فرانک ، همکار و معمار سیستم در Arteris IP می پرسد."شاید GDDR [1-5] ، حافظه های خاص برچسب حافظه پنهان ، یا خاطرات انجمنی مربوط به دوران TTL؟بسیاری از اینها واقعاً زنده نمانده اند زیرا عملکرد آنها بیش از حد خاص بوده است.آنها دستگاه منحصر به فردی را هدف قرار دادند.شما به دامنه کافی بزرگ احتیاج دارید و با کم هزینه بودن DRAM امروز که از مزیت تولید بالا و تولید در مقیاس بزرگ است ، می جنگید. "

گاهی اوقات عمیق تر از آن است.Saggurti از Synopsys می گوید: "شما ممکن است چیزی را به ROM متصل کنید."وی افزود: آنچه ما می بینیم تنظیم دقیق حافظه بیشتر افراد امروز است.به عنوان مثال ، با تبدیل فوریه یا تبدیل Z ، مردم کد را به گونه ای می نویسند که بتوانید ضرایب را به ترتیب خاصی ذخیره کنید.وقتی در حال ضرب ماتریسی هستید ، می توانید ضرایب را به ترتیب خاصی ذخیره کنید تا خواندن آن سریعتر انجام شود.در عوض ممکن است شما داده ها را در یک حافظه ذخیره نکنید ، آنها را در سه یا چهار حافظه مختلف قرار دهید تا بتوانید از طریق چندین مسیر داده ، چیزها را بخوانید.این موارد اخیراً اتفاق افتاده اند. "

تغییر سخت است.استیون وو ، مخترع برجسته و همکار در Rambus ، می گوید: "چالش این است كه در گذشته ، مردم برای تفكر در مورد سیستم های محاسباتی الگوی انتزاعی خوب و خوبی داشتند.""آنها هرگز واقعاً مجبور نبودند به حافظه فکر کنند.این برنامه به صورت رایگان ارائه شد و مدل برنامه نویسی آن را به گونه ای ساخت که وقتی به حافظه ارجاع می دادید ، این اتفاق می افتاد.هرگز لازم نبود درمورد آنچه انجام می دهید صریح و صریح باشد. "

در عملکرد کلی حافظه پیشرفت حاصل شده است.Arteris 'Frank می گوید: "كنترل كننده های حافظه و استانداردهای پیشرفته رابط كاربری ، آنچه شما می توانید از فناوری پیشرفته سیلیكون استخراج كنید ، به طرز چشمگیری بهبود یافته است.""این صف های عمیق و برنامه ریزهای پیشرفته را فعال کرده است.فن آوری های پیشرفته حافظه ، مانند حافظه با پهنای باند (HBM) و پهنای باند پشتیبانی شده انباشته که فکر می کنیم دستیابی به آنها فقط یک دهه قبل غیرممکن است.با این حال ارزان نیست.فناوری های زیر 10 نانومتر حافظه پنهان های بزرگ را نیز ممکن می سازد ، بنابراین شاید بتوانیم حافظه اختصاصی دامنه این مرد فقیر را بنامیم. "

اما اینها همه نمونه هایی از تغییرات افزایشی کوچک است.مت هورسنل ، مهندس ارشد اصلی تحقیق در گروه تحقیق و توسعه Arm می گوید: "معماری زیر سیستم های حافظه که در آن محاسبات اساساً داده ها را دنبال می کند ، نه برعکس ، نیاز به بازنگری قابل توجهی در بسیاری از احکامی دارد که معماران به آنها عادت کرده اند.""فرصتی وجود دارد که انتزاع برنامه نویسی را از لیست معمول عملیات امروز بر روی داده ها ، به یک فرم گسترش یافته که همزمان سازی و برخی از مفهوم فاصله نسبی بین واحدهای محاسبه و موارد داده را افزایش می دهد ، افزایش دهید.چنین انتزاعی می تواند تحولات لازم را برای هدف قرار دادن بهینه تر حافظه های خاص دامنه در هنگام تکامل سریع الگوریتم ها فراهم کند. "

مراکز داده در صندلی راننده
مراکز داده امروزه عامل بسیاری از روندهای فناوری هستند.Ravi Thummarukudy ، مدیر عامل شرکت Mobiveil می گوید: "یکی از سریعترین برنامه های کاربردی برای محاسبه در مراکز داده است که برنامه های نرم افزاری خواهان ظرفیت حافظه بیشتر ، پهنای باند با تأخیر کمتری هستند.""با ظهور آخرین استاندارد صنعت ، Compute Express Link (CXL) ، معماران سیستم می توانند حافظه مورد نیاز را بین حافظه اصلی در DDRn DIMMS و DDRn مبتنی بر CXL یا حافظه های جدیدتر مرتب کنند.تاخیر و خصوصیات اقتصادی این طبقات خاطره متفاوت است و این به معماران گزینه هایی می دهد تا خاطرات را متناسب با نیازهای آنها ترکیب و مطابقت دهند. "

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

قدرت را در نظر بگیرید.آرون ایانگار می گوید: "در معماری های فعلی ، 90٪ از انرژی بارهای هوش مصنوعی با جابجایی داده ها ، انتقال وزن و فعال سازی ها بین حافظه خارجی ، حافظه پنهان روی تراشه و در نهایت به خود عنصر محاسباتی (شکل 1 را ببینید) مصرف می شود." ، مدیر عامل Untether AI."فقط با تمرکز بر نیازهای شتاب استنباطی و به حداکثر رساندن بازده انرژی ، می توانیم عملکرد محاسباتی بی سابقه ای ارائه دهیم."

بهینه سازی حافظه مشکلی در سطح سیستم است که تمام جنبه های طراحی - سخت افزار ، نرم افزار و ابزار را لمس می کند.کوگل اضافه می کند: "استراتژی های بهینه سازی حافظه متنوع هستند و به دامنه برنامه بستگی دارند.""بهترین استراتژی این است که به طور کلی از دسترسی حافظه خارج از تراشه جلوگیری کنید.برای معماری های خاص دامنه ، این امر به طور معمول می تواند با افزایش حافظه موجود بر روی تراشه ، یا به صورت حافظه پنهان یا حافظه مدیریت شده توسط برنامه ، به دست آید.به خصوص در زمینه شتاب دهنده های یادگیری عمیق ، حافظه موجود بر روی تراشه یک پارامتر تعیین کننده طراحی است که بر نحوه ترکیب برنامه عصبی بر روی سخت افزار موردنظر نیز تأثیر می گذارد - به عنوان مثال کاشی کاری اپراتور کانولوشن. "

بسیاری از طرح ها به دنبال فراتر از این هستند.هورسنل ارم می گوید: "مفاهیم حافظه خاص دامنه در حوزه محاسبات مکانی مورد بررسی قرار می گیرند.""به عنوان مثال ، DSP ها مجموعه ای از حافظه های توزیع شده را ارائه می دهند كه اغلب مستقیماً در نرم افزار مدیریت می شوند و این می تواند برای نیازهای پهنای باند و الگوهای دسترسی برنامه های تخصصی نسبت به سیستم های حافظه اشتراك سنتی مناسب باشد.به منظور جبران شکاف کارایی با ASIC های عملکرد ثابت ، این پردازنده ها اغلب با ارائه پشتیبانی مستقیم از الگوهای دسترسی خاص (مانند N-buffering ، FIFO ، buffers line ، فشرده سازی و غیره) نوعی از تخصص حافظه را ارائه می دهند.یک جنبه مهم از هماهنگی در این سیستم ها ، و یک چالش در طراحی آنها ، تعیین دانه بندی مناسب برای دسترسی به داده ها است ، که می تواند هزینه های ارتباطی و همگام سازی را به حداقل برساند در حالی که همزمان به حداکثر می رساند.چالش های دیگر همچنان وجود دارد ، از جمله برنامه نویسی ، انسجام ، همگام سازی و ترجمه ، که به پیچیدگی نرم افزار می افزایند.با این حال ، یک مسیر احتمالی پیش رو اعتماد به زبانهای خاص دامنه (DSL) است که با صریح تر نشان دادن جریان داده برنامه ها ، می تواند کامپایلرها را قادر به شناسایی الگوهای دسترسی ویژه حافظه و نقشه برداری موثرتر از آنها بر روی سخت افزار کند.

همچنین پرداختن دقیق این خاطرات به خود هزینه دارد.Anand Thiruvengadam ، مدیر ارشد بازاریابی محصولات کارمندان در Synopsys ، می گوید: "سفارشی سازی بیش از حد ، روندی است که ما هنگام خاطرات می بینیم.""این به معنای خاطرات هدفمند برای برنامه های کاربردی مختلف است.حتی در یک برنامه نهایی خاص مانند هوش مصنوعی ، نیازهای مختلفی برای حافظه وجود دارد ، مانند آموزش یا استنباط ، استنباط در سرورها یا استنباط در لبه دور.هر یک از این برنامه ها نیازهای متفاوتی دارند و این بدان معنی است که شما باید خاطرات را شخصی سازی کنید.این سفارشی سازی به این معنی است که دیگر نمی توانید خاطرات را به عنوان کالاها یا محصولات خارج از قفسه مشاهده کنید.شما باید آن را برای یک برنامه خاص بسازید.آنجاست که سس مخفی شروع می شود. "

در بسیاری از موارد ، حافظه و اتصال به هم پیوسته هستند."در مورد ترکیب حافظه و فن آوری های اتصال متقابل برای تأمین نیازهای دسترسی به داده های بار کاری برنامه ، هر چیزی پیش می رود - به عنوان مثال ، چندین سطح خوشه بندی ترکیب پردازش با حافظه محلی برای استفاده از موقعیت مکانی در برنامه های جریان داده ، یا بزرگ SRAM های تراشه بانکی / چند پورت برای بافر در نقشه ویژگی های شتاب دهنده های CNN ، و سلسله مراتب حافظه پنهان عمیق با پروتکل های انسجام پیشرفته برای کاهش حجم کار ولرم مرکز کار داده ها. "

تغییرات کوچک می تواند نتایج بزرگی به همراه داشته باشد.فرانک می گوید: "فقط به معجزه كوچكی كه اپل با M1 انجام داده است نگاه كنید.""آنها فهمیدند كه چگونه می توان با استفاده از استراتژی caching هوشمند و یك سلسله مراتب cache بزرگ و چند سطح ، یک زیر سیستم حافظه را كه به چندین استاد ناهمگن خدمت می كند ، معماری كرد."

همانطور که اغلب اتفاق می افتد ، نرم افزار لنگر اینرسی است.Saggurti می گوید: "آنچه معمولاً اتفاق می افتد وجود الگوریتمی در محل است و ما راهی برای بهینه سازی آن ، بهینه سازی حافظه ، به طوری که الگوریتم بسیار بهتر اجرا شود ، می بینیم.""در طرف مقابل ، ما این انواع مختلف حافظه را داریم.آیا می توانید الگوریتم خود را تغییر دهید تا از این نوع خاطرات جدید استفاده کنید؟در گذشته ، استفاده از TCAM بیشتر یک ساختار دامنه شبکه برای جستجوی آدرس های IP بود.اخیراً ، موتورهای آموزشی شروع به استفاده از TCAM می کنند ، و این روش متفاوت است.این برای تغییر براساس انواع حافظه های موجود به نرم افزار یا سیستم عامل نیاز دارد.اما بیشتر اوقات ، نرم افزار ثابت می ماند و حافظه تغییر می کند تا نتیجه حاصل را بهتر کند. "

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

کوگل می گوید: "از نظر تاریخی ، معماری حافظه و ارتباط متقابل بر روی صفحات گسترده ایستا یا مدل های تحلیلی ساده مانند مدل عملکرد سقف طراحی شده اند.""برای برنامه های پیشرفته ، این بسیار پیچیده می شود.به عنوان مثال ، پیش بینی نیازهای حافظه هر لایه در CNN نیاز به در نظر گرفتن بهینه سازی کامپایلر مانند کاشی کاری و همجوشی لایه دارد.این روش های استاتیک برای پیش بینی و بهینه سازی بارهای سطح SoC با زیر سیستم های متنوع IP و سناریوهای کاربردی پویا ، پیچیده و نادرست می شوند.از طرف دیگر ، اجرای برنامه در بالای شبیه سازی سخت افزار یا سیستم نمونه سازی در مراحل توسعه برای ایجاد هرگونه تغییر شدید یا بهینه سازی عمده در طراحی حافظه خیلی دیر است. "

این امر تمرکز خود را بر روی حجم کار مورد نظر قرار می دهد.فرانك مي گويد: "كليد سيستم هاي فرعي حافظه ، آگاهي از حجم كار شماست.""درک اینکه چگونه رفتار می کند ، حتی ممکن است به شکلی شکل بگیرد که با محدودیت سلسله مراتب حافظه شما سازگارتر باشد ، اینجاست که معماری به چالش کشیده می شود.شتاب دهنده های خاص دامنه به سیستم های حافظه تنظیم شده احتیاج دارند - و هنر ساخت موتور تحول که "امپدانس" مطابق با انبوه تولید شده ، صفحه سازمان یافته ، DRAM دسترسی ناگهانی و الگوی دسترسی موتور به بینش در مورد رفتار سیستم ، ابزارهای مدل سازی و بسیاری از کارها نیاز دارد. بازی کردن.بعضی اوقات تغییر روش پردازش داده برای بارگذاری کار نیاز دارد تا بتوان سیستم کلی را بهبود بخشید.یک مثال خوب انتقال از رندر "مستقیم" به پردازش مبتنی بر کاشی در GPU ها بود. "

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

که اجازه می دهد تأثیر تغییرات الگوریتمی نیز دیده شود.Thiruvengadam می گوید: "نیاز به بازگشت و طراحی مجدد الگوریتم ها است.""آنها می توانند برای معماری میراث سنتی دوباره طراحی شوند ، یا می توانند برای معماری جدید ، سبک خاطرات جدید ، طعم دهنده های حافظه جدید دوباره طراحی شوند.این فشار مداوم برای مقیاس گذاری عملکرد ، مقیاس گذاری هزینه و همچنین توانایی تعادل بخشیدن به معاملات برای برنامه های مختلف وجود دارد.این اساساً دلیلی است که شما شاهد توسعه مستمر MRAM ها و FeRAM ها هستید.آنها در حال تلاش برای یافتن یک نقطه شیرین برای حداقل چند متغیر هستند ، اگر نه همه متغیرها.نیاز به طراحی مجدد الگوریتم ها همراه با معماری حافظه قطعاً مهم شده است. "

تعادل لازم است.فرانک می گوید: "شما باید در مورد مفهوم شدت محاسبات و نوع عملیات در نظر بگیرید.""الگوریتم های خاصی به پهنای باند سیری ناپذیر نیاز دارند ، در حالی که دیگران فقط داده های نسبتاً کمی را جابجا می کنند اما هزاران عملیات را روی آنها انجام می دهند.عملکرد در حافظه ممکن است برای پردازش از نوع SIMD ، جایی که پهنای باند دستورالعمل نسبت به پهنای باند داده کوچک است و بسیاری از عناصر با استفاده از همان دستور پردازش می شوند ، به خوبی کار کند.اما به محض اینکه وابستگی های پی در پی در جریان داده یا جریان داده نامنظم وجود داشته باشد ، سود حافظه خاص دامنه کاهش می یابد. "

حافظه سفارشی
در حالی که تغییرات معماری ممکن است نتایج بزرگی ایجاد کند ، اما بهینه سازی حافظه ها نیز می تواند دستاوردهایی داشته باشد.هورسنل می گوید: "بخش زیادی از قدرت و مساحت شتاب دهنده های امروزی روی حافظه استفاده می شود.""بنابراین هر گونه تأخیر / تراکم / انرژی به دست آمده توسط فن آوری های جدید حافظه می تواند تأثیر چشمگیری داشته باشد."

خاطرات سفارشی در حال تبدیل شدن به یک تجارت بزرگ است.Saggurti می گوید: "شما شروع به دیدن مواردی مانند محاسبه در حافظه ، محاسبه نزدیک به حافظه ، حافظه های خاص می کنید که ممکن است حافظه تمام صفر باشد - حافظه هایی که برای انواع خاصی از عملیات بهینه شده اند.""ما می بینیم که بسیاری از مشتریان از ما در مورد MRAM ، حتی سفارشی سازی بیشتر SRAM ، TCAM و برخی تغییرات خاص در TCAM از ما س askال می کنند."

با این وجود مشکلات همچنان وجود دارد.فرانک می گوید: "من در مورد طراحی حافظه سفارشی بحث های زیادی داشته ام ، جایی كه پردازش روی مموری ممكن است معماری" ایده آل "باشد."این می تواند پهنای باند بالا ، تأخیر کم و غیره را فراهم کند. همه چیز درست بود ، به جز این واقعیت که فرایند حافظه محدود کننده منطق بود - سه یا چهار لایه فلزی ، ترانزیستور کم مصرف ، اما کند.این به معنای ناکارآمدی موتور محاسباتی بود.فداکاری سرعت ساعت و پیچیدگی مدار به طور ناگهانی باعث شد ادغام موتور محاسبات دیگر چندان گزینه مناسبی نباشد. "

اما برخی از این تغییرات ضروری خواهد بود.ساگورتی می گوید: "مردم می خواهند فلش را روی تراشه بیاورند و آن را به یک فلش تعبیه شده تبدیل کنند.""سپس این سوال مطرح می شود ،" آیا حتی ممکن است؟ "در 28 نانومتری ممکن است بتوانید فلش تعبیه شده را انجام دهید ، اما مردم شروع به فکر کردن در مورد مواردی مانند MRAM در 22 نانومتر می کنند. "

هنوز هم روش های دیگری برای بررسی مسئله وجود دارد.Saggurti می افزاید: "تغییرپذیری فرآیند در یک ویفر و در سراسر قالب و حتی با گذشت زمان ، طراحی حافظه را محدود می کند.""هنگامی که شما یک حافظه ، یک SRAM ساده را طراحی می کنید ، تمایل دارید که برای مواردی طراحی کنید که سلول بیتی از یک جهت - کند - و محیط پیرامون از یک طرف دیگر سریع حرکت می کند.اگر برای آن طراحی می کنید و اگر اکثر سیلیکون شما معمولی باشد ، عملکرد و قدرت زیادی روی میز می گذارید.اگر می دانید در کجای محدوده فرآیند قرار دارید و طراح تراشه را قادر می سازد براساس آن اطلاعات عمل کند ، می توانید زمان بندی را متناسب با آن تنظیم کنید.طراحی شما می تواند بهینه تر باشد و شما مجبور نیستید برای بدترین حالت طراحی کنید. "

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

اطلاعات تماس