سایت مرجع دانلود پایان نامه -پشتیبانی 09199970560

پایان نامه كارشناسي ارشد رشته کامپيوتر نرم افزار : الگوریتم خوشه بندی

ارسال شده در رشته کامپیوتر(نرم افزار ، سخت افزار و فناوری اطلاعات)

تعداد صفحات پایان نامه: 140 صفحه

دانلود متن کامل این پایان نامه با فرمت ورد word

پايان نامه کارشناسي ارشد کامپيوتر

گرايش نرم افزار

موضوع:

ارائه یک الگوریتم خوشه بندی برای توزیع مناسب کار و ارزیابی کارایی آن

 استاد راهنما:

دکتر سعيد پارسا

 استاد مشاور :

مهندس معظمی

نگارش:

سید علی اسحقی

چکيده

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

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

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

مقدمه

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

افزايش نياز به سيستم هایی با کارائی بسيار زياد و سرعت فوق العاده بالاي شبکه ها (شبکه هاي ترابيتی) سبب جلب علاقه محققان به پردازش هاي موازي و توزيع شده، شده است. از جمله دلايل افزايش توجه به سيستم های توزيع شده می توان به موارد زير اشاره کرد:

1: پيشرفت تکنولوژي پردازش.

2: سرعت بالاي شبکه ها.

3: انجام تحقيقات گسترده براي ارائه محيطهائی برای انجام محاسباتي توزيع شده.

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

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

فصل اول

 مفاهيم اوليه

1-1. سيستم های توزيع شده

در حالت کلی تعريف زير را می توان برای يک سيستم توزيع شده ارائه کرد:

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

 مزایا و معایب سيستم های توزيع شده

سيستم هاي کامپيوتري توزيع شده به وسيله پژوهشگران به طور گسترده مطالعه شده و مزاياي زيادي در رابطه با آن گزارش شده است. به عنوان مثال پيشرفت هاي اخير در تکنولوژی شبکه ها و پردازه ها، دستيابي به مزاياي زير را امکان پذير ساخته است :

  1. افزايش کارايي: وجود چندين کامپيوتر در يک سيستم توزيع شده به برنامه کاربردي امکان پردازش و اجرا به صورت موازي را مي دهد بنابراين سرعت اجراي برنامه کاربردي و کارايي سيستم افزايش مي يابد براي مثال کارايي يک سيستم فايل مي تواند به وسيله تکرار توابع آن بر روي چندين کامپيوتر بيشتر شود. تکرار سيستم فايل باعث مي شود چندين برنامه کاربردي به سيستم فايل به صورت موازي دسترسي داشته باشند بعلاوه تکرار فايل ها ترافيک شبکه را بين سايت هاي مختلف توزيع کرده و تاخير ناشي از صف بندي را کاهش مي دهد.
  2. به اشتراک گذاري منابع: به اشتراک گذاري منابع مقرون به صرفه بودن و امکان دسترسي کارا به منابع سيستم را فراهم ميکند يعني کاربران در عرض چند دقيقه مي توانند منابع سخت افزاري و نرم افزاري گران و خاص منظوره را مانند سرورهاي پايگاه داده ها، سرورهاي پردازش، سرورهاي پرينترو… را به اشتراک بگذارند.
  3. افزايش توسعه پذيري: سيستم هاي توزيع شده مي توانند به صورت سازگار با محيط طراحي شوند مثلا براي يک محاسبه سنگين، سيستم خود را به گونه اي سازمان دهي مي کند که شامل تعداد زيادي از کامپيوترها و منابع باشد در صورتيکه براي پردازشهای کوچکتر فقط از چند منبع استفاده خواهد کرد بعلاوه در صورت لزوم محدوديتهائی مانند ظرفيت سيستم فايل و قدرت محاسبتی سيستم را مي توان به سادگی با اضافه کردن کامپيوترها يا سرورهاي بيشتر افزايش يابد.
  4. افزايش قابليت اطمينان، دسترسي راحت و تحمل پذيري خطا: وجود چندين منبع ذخيره سازي و محاسباتي در يک سيستم، ساخت سيستم توزيع شدۀ تحمل پذير خطا را مقرون به صرفه و جالب مي کند.

سيستم مي تواند خرابی يک کامپيوتر را به وسيله تخصيص وظايف آن به کامپيوتر ديگر تحمل کند بعلاوه سيستم مي تواند به وسيله تکرار توابع يا منابع، در کامپيوتر های مختلف، خطر از دست دادن آنها را برطرف کند.

  1. مقرون به صرفه گي: کارايي کامپيوترها تقريباً هر دو سال يک بار دو برابر شده، در صورتيکه قيمت آنها در دهه اخير تقريبا در هر سال نصف شده است بعلاوه شبکه هايي با سرعت بسيار زياد نيز به وجود آمده است که ساخت سيستم هاي توزيع شده را نسبت به سيستم هاي موازي بر اساس نرخ قيمت به کارايي مقرون به صرفه تر کرده است.

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

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

يک سيستم توزيع شده حداقل بايداهداف زير را برآورده کند:     1- به سادگی منابع موجود در شبکه را در اختيار کاربران قرار دهد.

2- کاربران نبايد از اين موضوع که منبع مورد استفاده آنها در کامپيوتر ديگری در شبکه قرار دارد مطلع شوند.(شفافيت)   3- سيستم توزيع شده بايد باز باشد.

4- سيستم توزيع شده بايد مقياس پذير باشد.

شفافيت می تواند در جنبه های مختلف سيستم های توزيع شده مطرح شود.

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

 

مسائل مربوط به مقياس پذيری نیز تا حد زيادی به ميزان مولفه های متمرکز سيستم بستگی دارد. هر چه اين ميزان زياد باشد مقياس پذير کردن سيستم مشکل تر خواهد بود.

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

  •  انگیزش

     ايده شي گرايي از محبوب ترين روش هاي توليد نرم افزار است,كه براي طراحي، توصيف و پياده سازي سيستم هاي توزيع شده نيز بسيار سودمند است. مزيت اين روش براي ساخت سيستم هاي توزيع شده اين است كه ميتوان كدهاي برنامه را در اشيا كپسوله كرده و سپس اشيا را به ماژول هاي مستقلي دسته بندي كرد و هر ماژول را بر روي يك منبع محاسباتي مجزا مستقر نمود. با اين حال به عنوان يک اصل توليد يک برنامه توزيع شده، همواره سخت تر از ايجاد يک برنامه غير توزيع شده است, که عملکردی معادل آن را دارد. به طوري كه ساخت يك سيستم توزيع شده ميتواند به يك كار خسته كننده و مملو از خطا تبديل شود. با وجود اينكه امروزه ابزار ها و تكنيك هاي بسيار مفيدي مانند RPC ، CORBA و DCOM جهت ساخت سيستم هاي توزيع شده با كارايي بالا ارائه گشته اند، اما در حالت كلي فرايند ساخت يك سيستم توزيع شده از بدو پيدايش سيستم هاي توزيع شده تغير اندكي كرده است : برنامه نويس برنامه را به ماژول هاي مختلفي تقسيم كرده، هر ماژول را به صورت مجزا پياده سازي كرده و امكان برقراري ارتباط بين آنها را ايجاد مي كند و در نهايت هر ماژول را در يك كامپيوتر مستقل در شبكه مستقر ميكند. برخي از چالش هايي كه در رابطه با ساخت سيستم هاي توزيع شده پيش روي يك برنامه نويس يا طراح نرم افزار مي تواند قرار گيرد عبارت اند از:

  • پيچيدگي طراحي و پياده سازي سيستم هاي توزيع شده.
  • پيدايش نوع جديدي از خطاها مانند خطاهاي ناشي ازهمروندي و همگام سازي پردازه ها.
  • مشكلات ناشي از سازگاري داده ها در كل سيستم.
  • موازنه كار بارگذاري شده در منابع موجود در سيستم.

     لذا اتوماتيک سازی فرايند تبديل يک برنامه ترتيبی به يک برنامه قابل اجرا برروی يک محيط محاسباتی توزيع شده همواره به عنوان يک مساله باز تحقيقاتی مطرح بوده است. امروزه شبکه‌هاي کامپيوتري به واسطه پيشرفت تکنولوژي ارتباطات توانسته‌اند جايگزين کامپيوترهاي گران قيمت موازي­­گردند.

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

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

 

 متن کامل را می توانید دانلود نمائید چون فقط تکه هایی از متن پایان نامه در این صفحه درج شده (به طور نمونه)

ولی در فایل دانلودی متن کامل پایان نامه

همراه با تمام ضمائم (پیوست ها) با فرمت ورد word که قابل ویرایش و کپی کردن می باشند

موجود است

 

 

با فرمت ورد word

 

 

 

فایل ها برای اینکه حجم آنها پایینتر شود وراحتتر دانلود شوند با فرمت rar یا zip فشرده شده اند

برای دریافت پسورد فایل اینجا کلیک کنید

دانلود کامل پایان نامه ارائه یک الگوریتم خوشه بندی برای توزیع مناسب کار و ارزیابی کارایی آن

 

مطالب مشابه را هم ببینید

141985615752731

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

aca@

academicbooks@

دانلود بیش از 200 پایان نامه فناوری اطلاعات
پایان نامه تریگرهای فازی در پایگاه داده فعال رشته نرم افزار کامپیوتر
پایان نامه رشته کامپیوتر: طراحی سایت مجتمع عالی آموزشی و پژوهشی خراسان
دانلود پایان نامه ارشد:تکنولوژيNET
دانلود تحقیق:تحقیقات بازاریابی پیوسته و آنلاین