ترجمه مقاله برنامه¬ریزی زمانی اسلک-آگاه در آرایه¬های دانه درشتِ با قابلیت پیکربندی مجدد
چکیده
آرایههای دانه درشتِ با قابلیت پیکربندی مجدد (CGRA ها) معماری نویدبخشی هستند که انعطافپذیری و بازدهرا به همراه یکدیگر دارند. به دلیلِ اجرای موازی و توپولوژی پراکندهیاتصال داخلی در این معماریها، ابداع روششناسیِ کارآمد برای نگاشت اپلیکیشنها بر رویCGRA ها کاری دشوار است. در این مقاله، چارچوب زمانبندی را پیشنهاد میکنیم که قادر به نگاشت موثرِ عملیات بر رویمعماریهایCGRA است. این چارچوب تأخیرهای متفاوتِ عملیات گوناگون را کهیک معماری باپیکربندی مجددقادر است تا همیشه در زمان اجرا مشخص کند برای مسیریابی دادهها به صورت کارآمد در نظر میگیرد. این قابلیت را «اسلک آگاه» میخوانیم. شواهد تجربی مزایای زمانبندی اسلک آگاه را در آرایههای دانه درشتی با قابلیت پیکربندی مجدد نشان میدهد. زمانبندی اسلک آگاه در قیاس با پیشرفتهترین روشهای زمانبندی، اپلیکیشنهای پیچیدهتری را برای اندازۀ مش معین نگاشت میکند و به زمانبندیهای موثرتری دست مییابد.
آرایههای دانه درشت پیکربندی مجدد[1] (CGRA ها) با FPGAهای[2] قدیمی تفاوت دارند، زیرا این آرایههاعناصر بنیادینِ درشتتری دارند، و معمولاً یک یا چند واحد محاسبه و منطق (ALU) دارند. بدین ترتیب، CGRA ها انعطافپذیری در سطح بیتی را برای بهبود بازده تغییر میدهند، طوری که میتوان از این آرایهها به عنوان واحدهای کارکردی با قابلیت پیکربندی مجدد یا شتابدهندههای پیکربندی مجددبرای اجرای اپلیکیشنهای با کارکرد بسیار مهم استفاده کرد.
نگاشت اپلیکیشن بر رویCGRA ها کاری پیچیده است، و راهبردهای بسیاری برای این کار پیشنهاد شده است. با این حال، تمام مطالعات پیشین زمان را گسسته در نظر میگیرند، و فرض میکنند که هر عملیاتی که در کاشی[3]CGRA انجام میشود سیکل ساعت کاملی میبرد. دستاورد تحقیقمان برای این حوزۀ تحقیقاتی آن است کهبجای استفاده از اسلک، اختلاف بین دورۀ زمانی[4] ساعت و مسیر حیاتی اجرای عملیاترا برای محاسبۀ زنجیره و مسیریابی به صورت همزمان استفاده میکنیم.
تحقیقات پیشین استفاده از اسلک را در سنتز سطح بالا مطالعه کردهاند [1]، که معمولاً در جایگذاری و مسیریابی FPGA استفاده میشود، اما زمانبندهایCGRA پیشرفته از کاربرد اسلک غفلت کردهاند.
در شکل 1، ایدۀ رویکردمان را توضیح دادهایم: در صورتی که ثبتِ ارتباط بین سلولها اجباری باشد، عملیات B باید سه سیکل بعد از عملیات A شروع شود. از سوی دیگر، در صورتی که زمان سیکل اجازه دهد، و بتوان ارتباط را ثبت نکرد، میتوان عملیات B را فوراً بعد از عملیات A اجرا کرد. در صورتی که عملیات A و مسیریابی دادهها در سلولها از کندترین عملیاتی که در مش انجام میشود به میزانی سریعتر باشد،این راهبرد در فرکانس بیشینۀ ساعت هیچ مشکلی ایجاد نمیکند.
در این مقاله، راهبرد زمانبندی بدیعی را ارائه میکنیم، که هر دو نوع ارتباط ثبتشده و ثبتنشده را میان کاشیها در نظر میگیرد، و منجر به مصرفبهینۀ منابع محاسباتی میشود. بنابراین، میتوان نگاشتِ کرنلهای پیچیدهتر از پیشرفتهترین شیوههای بی توجه به اسلک انجام داد، و عملکرد اجرای بهتری داشت.
در این مقاله، الگوریتم کنونیِ نگاشت بر روی آرایۀ دانه درشتِ با قابلیت پیکربندی مجدد [2] [3] را ارزیابی میکنیم. در این معماری، نمونههای بسیار متفاوتی را میتوان به صورت پارامتری بدست آورد، که شامل سلولهای نامتجانس است و هیچ محدودیتی روی آرایش این نمونهها اعمال نمیشود.
[1]Coarse Grained Reconfigurable Arrays
[2]Field Programmable logic Gate Array: آرایۀ دریچهای برنامه پذیر منطقی
[3]Tile
[4]Period