02191692679
ورود ثبت نام
آزمایش تصادفی تولید برای سیستم های چند پردازنده ای

آزمایش تصادفی تولید برای سیستم های چند پردازنده ای

WORD شناسه : 21032 تعداد صفحات : 13


35,000 تومان
اشتراک گذاری محصول
توضیحات محصول

آزمایش تصادفی در سیستم های چند پردازنده ای نقش کلیدی در بهینه سازی عملکرد دارد. این مقاله به موازنه های زمانی، پیچیدگی های پردازشی و روش های کنترل رفتارهای تصادفی می پردازد.

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

در این مقاله، به بررسی موازنه های زمانی (trade-offs)، پیچیدگی های پردازشی و رفتارهای تصادفی در ابزارهای مختلف آزمایش تصادفی در چندپردازنده ها می پردازیم. همچنین، بر نقش نرم افزار RAVEN در فرایند تولید و طراحی ابزارهای چندپردازنده ای و تصمیم گیری های کلیدی در طول توسعه این نسخه ها تأکید شده است.

1- روشهای اشتراکی حافظه
مشکلات اساسی در تولید چندپردازنده ها به صحت و درستی چرخش دستیابی به حافظه مرتبط است. معماری چندپردازنده ای یک روش قدیمی محسوب می شود که بر اساس انواع اشتراک گذاری حافظه به دسته های مختلفی تقسیم می شود. این تقسیم بندی ها هنگام اثبات رفتار صحیح سیستم در هر مرحله از پردازنده های قدیمی نقش مهمی ایفا می کنند و پیش شرطی برای اطمینان از عملکرد صحیح در مراحل پیشرفته تر به شمار می روند.

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

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

1-2- FALSE SHARING
دراین سطح چندپردازنده ای میتوانددسترسی پیداکندبه حافظه دریک قسمت یکسان حافظه بادیگر پردازنده ها ولی ۲پردازنده بدرستی نمیتوانند به آدرس مشابه دسترسی پیدا کنند.این دستیابیها برای آزمایشات یکسان ارتباط است ولی معرفی رفتارهای معین یانیازبرای سمافرها.این آزمایشات میتوانند به سرعت اجرا شود وبه آسانی دباگ شود.

1-3- TRUE SHARING
این روش نسبت به استفاده از سمافرها پیشرفته تر است. در این ساختار، چندین پردازنده مجاز به دسترسی به آدرس های مشترک حافظه هستند، اما این دسترسی تحت کنترل قرار دارد، به گونه ای که وضعیت پردازنده در مرزهای سمافر مشخص و ثابت باقی می ماند. ماهیت دسترسی، اعم از خواندن یا نوشتن، در این روش نقش کلیدی دارد. در این سطح از پردازش چندپردازنده ای، امکان بررسی و آزمایش عملکرد پردازنده ها فراهم می شود که شامل تعامل بین کش ها بوده و نسبت به روش های بعدی، شناسایی و مدیریت آسان تری دارد. همچنین، در این سطح از اشتراک، پشتیبانی از کد جستجوی عرضی امکان پذیر است.

1-4- NON-DETERMINISTIC TRUE SHARING
در این روش، پردازنده ها به طور همزمان از موقعیت های یکسان حافظه می خوانند و در آنها می نویسند. با این حال، مقدار خوانده شده از حافظه و انتقال آن به ثبات ها را نمی توان در یک دستگاه تست به طور قطعی شبیه سازی کرد. این ویژگی باعث می شود که اثبات درستی این سطح دشوارتر شده و رفتار پردازنده ها پیچیده تر و نگران کننده تر باشد. با وجود این عدم قطعیت، لازم است که از روش های رایج برای کنترل و محدودسازی بیشتر استفاده شود. از سوی دیگر، این رفتار غیرقابل پیش بینی می تواند باعث کاهش اعتبار برخی آزمایش ها شود.

1-5- روش های چند اشتراکی
در یک آزمایش چندپردازنده ای، پردازنده ها لزوماً به یک نوع اشتراک محدود نمی شوند. به عنوان مثال، در یک سیستم ۸ پردازنده ای، ممکن است ترکیب های مختلفی از اشتراک وجود داشته باشد: یک پردازنده در حالت غیر اشتراکی، سه پردازنده در حالت False Sharing، دو پردازنده در حالت Deterministic True Sharing و دو پردازنده دیگر در حالت Non-Deterministic True Sharing.

در فرآیند اجرا، هر پردازنده اشتراکی می تواند به منابع پردازنده های دیگر وابسته شود و محدودیت های لازم را با دقت مدیریت کند. به عنوان مثال، یک پردازنده اشتراکی ممکن است امکان تعامل در سطح کش با یک پردازنده در وضعیت False Sharing را داشته باشد، اما نه در یک آدرس حافظه یکسان، حتی اگر پردازنده موردنظر در وضعیت True Sharing باشد.

ادامه این روش های اشتراکی، فرآیند تست تولیدات را کامل تر و پایدارتر می کند، بدون آنکه پیچیدگی اضافی به هر یک از روش های آزمایشی تحمیل کند.

2- تولید پردازنده
پردازنده ها می توانند به دو روش تولید شوند: تولید Round Robin و تولید ترتیبی.

در روش Round Robin، پردازنده ها به صورت چرخشی دستورات را اجرا می کنند. به عنوان مثال، آزمایش با CPU1 آغاز می شود که یک دستورالعمل ساده را تولید و اجرا می کند، سپس CPU2 دستورالعمل بعدی را اجرا کرده و این روند ادامه پیدا می کند. در مراحل بعدی، تولید می تواند به CPU1 بازگردد تا دستورالعمل دوم را اجرا کند و این فرآیند به همین ترتیب ادامه می یابد.

در روش تولید ترتیبی، تمام دستورالعمل ها برای هر پردازنده به صورت متوالی تولید می شوند و در هر چرخه پردازشی اجرا می گردند. هر پردازنده نسبت به پردازنده های قبلی خود اطلاعات بیشتری دارد. به عنوان مثال، در یک تست با چهار پردازنده، CPU1 هیچ دانشی از سایر پردازنده ها ندارد، در حالی که CPU3 می تواند از اطلاعات CPU1 و CPU2 استفاده کند، اما نمی تواند از دانش CPU4 بهره ببرد.

این دو روش تقریباً معادل هستند، اما تفاوت هایی دارند. در روش Round Robin، سطح تعامل بین پردازنده ها در حین تولید افزایش می یابد و با افزایش تعداد دستورالعمل ها، این ارتباطات به طور قابل توجهی بیشتر می شوند. در مقابل، در روش تولید ترتیبی، CPU1 به سادگی در یک تست اولیه تولید و اجرا می شود، در حالی که پردازنده های اضافی باعث کاهش تداخل در استفاده از حافظه می شوند، که می تواند تأثیرات مثبتی بر کارایی کلی داشته باشد.

روش تولیدی بعدی، رویکردی انعطاف پذیرتر است که امکان توسعه آزمایشات چندپردازنده ای (MP) را فراهم می کند. همچنین، این روش اجازه می دهد که پردازنده های جدید جایگزین پردازنده های قبلی شوند، بدون نیاز به تولید مجدد تمامی پردازنده ها. به عنوان مثال، در یک آزمایش دو پردازنده ای، امکان گسترش آن به چهار پردازنده وجود دارد، بدون آنکه نیاز باشد پردازنده های CPU1 و CPU2 یا CPU3 و CPU4 از نو تولید شوند. این انعطاف پذیری ناشی از وابستگی پردازنده ها به ترتیب تولید آنها است، نه به تعداد پردازنده های موجود.

جدیدترین محصولات

محصولات پیشنهادی


امتیاز و دیدگاه کاربران

ایمیل
رای شما با موفقیت ثبت شد.
5.0 / 5 . تعداد رای : 82