کد مقاله کد نشریه سال انتشار مقاله انگلیسی نسخه تمام متن
566096 1452133 2015 8 صفحه PDF دانلود رایگان
عنوان انگلیسی مقاله ISI
Accelerating engineering software on modern multi-core processors
ترجمه فارسی عنوان
افزایش سرعت نرم افزارهای مهندسی در پردازنده‌های چند هسته ای مدرن
کلمات کلیدی
برنامه ریزی موازی، پردازش موازی، دسترسی حافظه یکسان به حافظه پنهان، روش های عنصر محدود پردازنده های چند هسته ای، حافظه مشترک
فهرست مطالب مقاله
چکیده

کلمات کلیدی

1.مقدمه

2.    پیش زمینه و کار مربوطه

شکل 1: سیستم چند پردازشی متقارن 

شکل 2: سیستم ‌حافظه دسترسی غیر‌یکپارچه با کش

3.    محاسبات موازی اعمال شده به FEM

شکل 3: مکعب با عناصر چهار وجهی استفاده شده برای تحلیل

4.    نتایج آزمایشی

شکل 4: عناصر مکعب گروه بندی شده درچهار زیر ساختار

شکل 5: بررسی سیستم ازمایشی (memory bank= بانک حافظه؛ node=گره؛ processor= پردازنده) 

شکل 6: بررسی واحد محاسباتی (pipeline = پایپ لاین یا خط لوله، compute unit= واحد محاسباتی)

شکل 7: مقیاس پذیری عملکرد تجزیه Cholesky موازی

4.1    بررسی مسائل عملکردی  

شکل 8 تحلیل اولیه با استفاده از ابزار perf

4.2    تخصیص حافظه بر سیستم‌های ccNUMA 

4.3    تغییر سیاست تخصیص حافظه 

شکل 9: مقیاس پذیری عملکرد تجزیه Cholesky موازی : سیاست اولین تماس در برابر جاگذاری

4.4    زمان بندی نخ و کنترل تخصیص حافظه 

شکل 10: مقیاس پذیری عملکرد تجزیه Cholesky موازی در زمان کنترل تخصیص حافظه و زمان بندی با کتابخانه libnuma

4.5    کپی بر نخ: کپی داده بر بانک‌های حافظه محلی

4.6    برازش مجموعه داده‌ها در کش‌های پردازنده

شکل 11: مقیاس پذیری عملکرد تجزیه Cholesky موازی: کپی بر نخ در برابر رویکردهای دیگر

شکل 12: مقیاس پذیری عملکرد تجزیه Cholesky موازی در زمان تجزیه یک ماتریس کوچک (615 KB)

شکل 13: مقیاس پذیری تجزیه Cholesky موازی در زمان تجزیه ماتریس substructuring مسئله واقعی

4.7    بهبودهای عملکرد بر NeoPZ

5.    نتیجه گیری

 
ترجمه چکیده
طراحی‌های چند هسته ای اخیر از چند پردازشی متقارن به معماری‌های ‌حافظه دسترسی غیر ‌یکپارچه منسجم کش کاهش یافته است. در این مقاله ما بر مسائل عملکردی بحث کردیم که در زمان طراحی برنامه‌های المان محدود موازی برای یک کامپیوتر 64-هسته ای ccNUMA بروز کرده اند و راه حل‌های این مسئله را بررسی کردیم. ابتدا یک بررسی کلی بر معماری کامپیوتر ارائه دادیم و نشان دادیم که کد به شدت موازی که جنبه‌های مقیاس‌های سازمان حافظه سیستم را به صورت ضعیفی در نظر می¬گیرد، تنها در زمان اجرای 64 نخ، 2.8* افزایش سرعت داشته است. سپس، بحث کردیم که چگونه منابع سربار را شناسایی کنیم و سه راه حل ممکن را برای مسئله ارزیابی می¬کنیم. همچنین نشان می¬دهیم که اولین راه حل، در حالی که افزایش سرعت کسب شده 10.6* است، نیازی ندارد که کد اپلیکیشن اصلاح شود. دومین راه حل عملکرد را تا سرعت 30.9* بالا می-برد، به هر حال، نیاز است که برنامه نویسی به صورت دستی نخ‌ها را زمان بندی کند و داده‌های مربوطه بر CPU‌های محلی و بانک‌های حافظه را تخصیص دهد و بر کتابخانه اگاه از ccNUMA تکیه کند که در همه سیستم عامل‌های قابل حمل نیست. همچنین ما یک راه حل "کپی بر نخ"، را بر راه حل‌های جایگزینی که افزایش سرعت عملکرد تا 25.5* را بدون تکیه بر کتایخانه تخصصی و بدون نیاز به تخصیص داده خاص یا زمان بندی نخ امکان پذیر می سازد را پیشنهاد دادیم و ارزیابی کردیم. سرانجام، استدلال کردیم که مسائل گزارش شده تنها برای مجموعه داده‌های بزرگ رخ میدهد و نتیجه گیری مقاله با توصیه‌هایی برای کمک به برنامه نویسی برای الگوریتم‌های طراحی و برنامه‌هایی که در این نوع ماشین‌ها به خوبی اجرا می¬شوند ارائه شده است.
موضوعات مرتبط
مهندسی و علوم پایه مهندسی کامپیوتر نرم افزار
چکیده انگلیسی

Recent multi-core designs migrated from Symmetric Multi Processing to cache coherent Non Uniform Memory Access architectures. In this paper we discuss performance issues that arise when designing parallel Finite Element programs for a 64-core ccNUMA computer and explore solutions for these issues. We first present the overview of the computer architecture and show that highly parallel code that does not take into account the aspects of the system memory organization scales poorly, achieving only 2.8× speedup when running with 64 threads. Then, we discuss how we identified the sources of overhead and evaluate three possible solutions for the problem. We show that the first solution does not require the application’s code to be modified, however, the speedup achieved is only 10.6×. The second solution enables the performance to scale up to 30.9×, however, it requires the programmer to manually schedule threads and allocate related data on local CPUs and memory banks and rely on ccNUMA aware libraries that are not portable across operating systems. Also, we propose and evaluate “copy-on-thread”, an alternative solution that enables the performance to scale up to 25.5× without relying on specialized libraries nor requiring specific data allocation and thread scheduling. Finally, we argue that the issues reported only happen for large data sets and conclude the paper with recommendations to help programmers to design algorithms and programs that perform well on such kind of machine.

ناشر
Database: Elsevier - ScienceDirect (ساینس دایرکت)
Journal: Advances in Engineering Software - Volume 84, June 2015, Pages 77–84
نویسندگان
, , , ,