دانلود مقاله تحلیل الگوریتم شاخه و قید موازی آسنکرون

Word 62 KB 403 32
مشخص نشده مشخص نشده کامپیوتر - IT
قیمت قدیم:۱۴,۸۵۰ تومان
قیمت با تخفیف: ۱۰,۰۰۰ تومان
دانلود فایل
  • بخشی از محتوا
  • وضعیت فهرست و منابع
  • - خلاصه:

    در این مقاله توضیحی درباره کامپیوترهای موازی می‌دهیم و بعد الگوریتمهای موازی را بررسی می‌کنیم. ویژگیهای الگوریتم branch & bound را بیان می‌کنیم و الگوریتمهای b&b موازی را ارائه می‌دهیم و دسته‌ای از الگوریتمهای b&b آسنکرون برای اجرا روی سیستم MIMD را توسعه می‌دهیم. سپس این الگوریتم را که توسط عناصر پردازشی ناهمگن اجرا شده است بررسی می‌کنیم.

    نمادهای perfect parallel و achieved effiency را که بطور تجربی معیار مناسبی برای موازی‌سازی است معرفی می‌کنیم زیرا نمادهای قبلی speed up (تسریع) و efficiency (کارایی) توانایی کامل را برای اجرای واقعی الگوریتم موازی آسنکرون نداشتند. و نیز شرایی را فراهم کردیم که از آنومالیهایی که به جهت موازی‌سازی و آسنکرون بودن و یا عدم قطعیت باعث کاهش کارایی الگوریتم شده بود، جلوگیری کند.

    2- معرفی:

    همیشه نیاز به کامپیوترهای قدرتمند وجود داشته است. در مدل سنتی محاسبات، یک عنصر پردازشی منحصر تمام taskها را بصورت خطی (Seqventia) انجام میدهد. به جهت اجرای یک دستورالعمل داده بایستی از محل یک کامپیوتر به محل دیگری منتقل می‌شد، لذا نیاز هب کامپیوترهای قدرتمند اهمیت روز افزون پیدا کرد. یک مدل جدید از محاسبات توسعه داده شد، که در این مدل جدید چندین عنصر پردازشی در اجرای یک task واحد با هم همکاری می‌کنند. ایده اصل این مدل بر اساس تقسیم یک task به subtask‌های مستقل از یکدیگر است که می‌توانند هر کدام بصورت parallel (موازی) اجرا شوند. این نوع از کامپیوتر را کامپیوتر موازی گویند.

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

    اولاً: این امکان وجود ندارد که هر taskی را بطور دلخواه به تعدادی زیر task‌های مستقل تقسیم کنیم. چون همواره تعدادی زیر task های وابسته وجود دارد که بایستی بطور خطی اجرا شوند. از اینرو زمان مورد نیاز برای اجرای یک task بطور موازی یک حد پایین دارد.

    دوماً: هر کامپیوتر موازی که عملاً ساخته می‌شود شامل تعداد معینی عناصر پردازشی (Processing element) است. به محض آنکه تعداد taskها فراتر از تعداد عناصر پردازشی برود، بعضی از sub task ها بایستی بصورت خطی اجرا شوند و بعنوان یک فاکتور ثابت در تسریع کامپیوتر موازی تصور می‌شود.

    الگوریتمهای B&B مسائل بهینه سازی گسسته را به روش تقسیم فضای حالت حل می‌کنند. در تمام این مقاله فرض بر این است که تمام مسائل بهینه سازی مسائل می‌نیمم کردن هستند و منظور از حل یک مسئله پیدا کردن یک حل ممکن با مقدار می‌نیمم است. اگر چندین حل وجود داشته باشد، مهم نیست کدامیک از آنها پیدا شده.

    الگوریتم B&B یک مسئله را به زیر مسئله‌های کوچکتر بوسیله تقسیم فضای حالت به زیر فضاهای (Subspace) کوچکتر، تجزیه می‌کند. هر زیر مسئله تولید شده یا حل است و یا ثابت می‌شود که به حل بهینه برای مسئله اصلی (Original) نمی‌انجامد و حذف می‌شود. اگر برای یک زیر مسئله هیچ کدام از این دو امکان بلافاصله استنباط نشود، آن زیر مسئله به زیرمسئله‌های کوچکتر دوباره تجزیه می‌شود. این پروسه آنقدر ادامه پیدا می‌کند تا تمام زیر مسئله‌های تولید شده یا حل شوند یا حذف شوند.

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

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

    با این حال اگر قدرت محاسبه یک کامپیوتر موازی با اضافه کردن عناصر پردازشی اضافه افزایش پیدا کند. اجرای الگوریتم b&b بطور آشکاری تغییر می‌کند (به عبارت دیگر ترتیبی که در آن زیر برنامه‌ها انشعاب پیدا می‌کنند تغییر می‌کند). بنابراین حل مسائل بهینه‌سازی گسسته سرسع بوسیله یک کامپیوتر موازی نه تنها باعث افزایش قدرت محاسبه کامپیوتر موازی شده است بلکه باعث گسترش الگوریتمهای موازی نیز گشته است.

    3- کامپیوترهای موازی (Parallel computers):

    یکی از مدلهای اصلی محاسبات Control drivenmodel است، در این مدل کاربر باید صریحاً ترتیب انجام عملیات را مشخص کند و آن دسته از عملیاتی که باید به طور موازی اجرا شوند را تعیین کند. این مدل مستقل از عناصر پردازش به صورت زیر تقسیم‌بندی می‌شود:

    - کامپیوترهای SISD، که یک عنصر پردازشی وجود دارد و توان انجام فقط یک عمل را در یک زمان دارد.

    - کامپیوترهای MIMD، دارای چندین عنصر پردازشی هستند که بطور موازی دستورالعمل‌های متفاوت را روی دیتاهای متفاوت انجام می‌دهند.

    - کامپیوترهای SIMD، همه عناصر پردازشی‌شان یک دستور یکسان را در یک زمان بر روی داده‌های متفاوتی انجام می‌دهند. اگر چه امکان پنهان کردن عناصر پردازشی وجود دارد. عنصر پردازشی پنهان شده نتیجه عملی را که انجام داده ذخیره نمی‌کند.

    سیستمهای SIMD بر اساس نحوه ارتباط و اتصال عناصر پردازشی به یکدیگر خود به بخشهایی تقسیم می‌شوند: اگر تمام عناصر پردازشی به یکدیگر متصل باشند و از طریق یک حافظه مشترک ارتباط داشته باشند، به آن tightly coupled system گویند.

    و اگر عناصر پردازش حافظه مشترک نداشته باشند اما از طریق شبکه‌ای بهم متصل باشند و بروش message passing با هم ارتباط داشته باشند، به آن loosely coupled system گویند.

    حافظه مشترک در tightly coupled system ها هم نقطه قوت و هم نقطه ضعف این سیستمها است. امکان به اشتراک گذاشتن راحت و سریع اطلاعات بین عناصر پردازشی مختلف را فراهم می‌کند. ارتباط به عملیات ساده read و wite روی حافظه مشترک خلاصه می‌شود و هر عنصر پردازشی مستقیماً با دیگر عناصر پردازشی ارتباط برقرار می‌کند. با این حال، اگر تعداد عناصر پردازشی متصل به حافظه مشترک افزایش یابد، حافظه مشترک تبدیل به گلوگاه (Bottleneck) می‌شود.

    بنابراین تعداد عناصر پردازشی در یک سیستم tightly coupled محدود است. به جهت اینکه تمام عناصر پردازشی بایستی به ان حافظه مشترک متصل باشند، این سیستمها بصورت کامل از پیش ساخته هستند و امکان اضافه کردن عناصر پردازش به سیستم وجود ندارد.

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

    در مقابل compactness بودن سیستمهای tightly coupled ، عناصر پردازشی در یک سیستم loosely coupled می‌توانند در تمام نقاط توزیع شوند. لذا فاصله فیزیکی که یک پیام باید طی کند، بیشتر می‌شود. به جهت این حقیقت که عناصر پردازشی برای ارتباط در یک شبکه از یک پروتکل استفاده می‌کنند، lossely coupled system می‌توانند شامل انواع مختلفی از عناصر پردازشی باشند. امکان اضافه کردن عناصر پردازشی اضافه‌تری به سیستم وجود دارد. در حالت کلی عناصر پردازشی خودشان یک کامپیوتر کاملی هستند.

    مثالی از سیستمهای loosely coupled، Distributed Processing utilities Package است که بعداُ به تفضیل درباره آنها توضیح می‌دهیم.

    4- الگوریتم های موازی (Parallel Algorithm):

    یک الگوریتم موازی شامل sub taskهایی است که باید انجام شود. بعضی از این sub taskها بصورت موازی اجرا می‌شوند، اما گاهی sub taskهایی هم وجود دارد که باید بصورت خطی اجرا شوند. اجرای هر sub task توسط یک پروسس مجزا انجام می‌شود. از ویژگیهای مهم یک الگوریتم موازی نحوه محاوره این پروسسها، سنکرون بودن و قطعی بودن الگوریتم است. دو پروسس با یکدیگر محاوره (interact) دارند، اگر خروجی یکی از آندو پروسس ورودی دیگری باشد. نحوه محاوره دو پروسس می‌تواند بطور کامل مشخص شده باشد یا نباشد. اگر مشخص شده باشد، این دو پروسس فقط زمانی می‌توانند ارتباط داشته باشند که هر دو مایل به انجام ارتباط باشند. اگر گیرنده هنوز آماده ارتباط نباشد، فرستنده نمی‌تواند اقدامی انجام دهد.

    در حین اجرای یک الگوریتم سنکرون تمام پروسسها باید قبل از محاوره با یکدیگر همزمان شوند. سنکرون شدن در اینجا یعنی قبل از آغاز subtask جدید، آنها باید منتظر کامل شدن عمل دیگر پروسسها باشند. وقتی یک الگوریتم آسنکرون اجرا می‌شود، پروسسها لازم نیست که منتظر یکدیگر شوند تا taskهایشان را تمام کنند. البته این امکان وجود دارد که یک الگوریتم آسنکرون تا حدی سنکرون شود.

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

  • فهرست:

    ندارد.


    منبع:

    ندارد.

خلاصه : اين مقاله يک الگوريتم ژنتيکي سازگار (AGA) را همراه با تابع لياقت ديناميکي، براي مسائل چند هدفه (MOPs) در محيط ديناميکي تشريح مي کند. به منظور ديدن اجراي الگوريتم، اين روش براي دو نوع از مسائل MOPs بکار گرفته شده است. اولا اين روش براي پيدا

«کارايي الگوريتم مسيريابي شکسته شده براي شبکه هاي چندبخشي سه طبقه» چکيده: اين مقاله شبکه هاي سويچنگ سه طبقه clos را از نظر احتمال bloking براي ترافيک تصادفي در ارتباطات چند بخشي بررسي مي کند حتي چنانچه سويچ هاي ورودي توانايي چند بخشي را نداشته ب

تحليل مساله کوتاهترين مسير در گراف جهت دار اگر يک گراف جهت دار باشد فرض کنيد هر لبه با وزن مشخص مي گردد و هزينه رفتن مستقيم از گره i به j را مشخص ميسازد بزودي الگوريتم دايجسترا را که براي يافتن کوتاهترين مسير در گراف با وزن هاي مثبت کاربرد دارد

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

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

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

مفيد بودن شبکه عصبي آنالوگ مصنوعي بصورت خيلي نزديکي با ميزان قابليت آموزش پذيري آن محدود مي شود . اين مقاله يک معماري شبکه عصبي آنالوگ جديد را معرفي مي کند که وزنهاي بکار برده شده در آن توسط الگوريتم ژنتيک تعيين مي شوند . اولين پياده سازي VLSI ارائه

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

الگوريتم مرتب‌سازي، در علوم کامپيوتر و رياضي، الگوريتمي است که ليستي از داده‌ها را به ترتيبي مشخص مي‌چيند. پر استفاده‌ترين ترتيب‌ها، ترتيب‌هاي عددي و لغت‌نامه‌اي هستند. مرتب‌سازي کارا در بهينه سازي الگوريم‌هايي که به ليست‌هاي مرتب شده نياز دارند (مث

خوشه بندي روشي است که داده هاي يک مجموعه داده را به گروه يا خوشه تقسيم مي کند . از مرسوم ترين روش هاي خوشه بندي،الگوريتم هاي خوشه بندي k-Means وfuzzy k-Means مي باشند.اين دو الگوريتم فقط روي داده هاي عددي عمل مي کنند و به منظور رفع اين محدوديت، الگو

ثبت سفارش
تعداد
عنوان محصول