رزفایل

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

رزفایل

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

پایان نامه بررسی الگوریتم های زمان بندی وظیفه در محیط محاسبات ابری

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

پایان نامه بررسی الگوریتم های زمان بندی وظیفه در محیط محاسبات ابری


پایان نامه بررسی الگوریتم های زمان بندی وظیفه در محیط محاسبات ابری

بررسی الگوریتم های زمان بندی وظیفه در محیط محاسبات ابری

 

 

 

 

چکیده :

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

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

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

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

واژه های کلیدی:

محاسبات ابری،الگوریتم های زمان بندی،قابلیت اطمینان ، الگوریتم PPDD

 

فهرست مطالب
فصل 1 مقدمه    1
1-1 مقدمه        2
1-2    تعریف مساله و بیان سوال های اصلی تحقیق    3
1-3    سابقه و ضرورت انجام تحقیق    3
1-4    فرضیه ها        5
1-5    هدف ها        5
1-6    کاربردها        5
1-7    جنبه نوآوری تحقیق    6
1-8    روش تحقیق        6
1-9    مراحل انجام تحقیق    7
1-10    ساختار پایان نامه    7
فصل 2  محاسبات ابری    8
2-1 مقدمه        9
2-2 ویژگی های احساسی محاسبات ابری    10
2-3 مزایا و معایب محاسبات ابری    11
2-3-1 مزایای محاسبات ابری    11
2-3-2 معایب محاسبات ابری    12
2-4 مولفه های محاسبات ابری    14
2-5 ابر        14
2-6 روش های پیاده سازی محاسبات ابری    15
2-7 مدل های محاسبات ابری    18
2-7-1 نرم افزار به عنوان سرویس (SaaS)    20
2-7-2 بستر به عنوان سرویس(PaaS)    21
2-7-3 زیر  ساخت به عنوان سرویس (IaaS)    21
2-7-4 سخت افزار به عناوان یک سرویس (HaaS)    22
2-8 چالش های موجود در محاسبات ابری    22
2-9 جمع بندی        25
فصل3 الگوریتم‌های زمان‌بندی    26
3-1 مقدمه        27
3-2 گردش کاری        27
3-3 زمان بندی گردش کاری    28
3-4 پارامترهای الگوریتم های زمان بندی    29
3-5 چند نمونه الگوریتم زمان بندی معروف    30
3-5-1 الگوریتم Min-Min با بار متعادل شده (LBMM)    31
3-5-2 الگوریتم توزیع زمان- هزینه (DCT)    32
3-5-4 الگوریتم زمان بندی منبع مجتمع و پویا (DARIS)    34
3-5-5 الگوریتم توافق زمان هزینه CTC    36
3-5-6 بزرگ ترین تکه ابر،سریع ترین عنصر پردازشی (LCFP )    39
3-5-7 الگوریتم قیمت گذاری بر اساس فعالیت بهبود یافته (ABC)    39
3-5-8 الگوریتم زندگی زنبورها (BLA )    41
3-5-9 چندین گردش کاری با چندین محدودیت QOS (MQMW )    42
3-5-10 الگوریتم کاهش تعادل (BAR )    43
3-5-11 الگوریتم زود ترین زمان پایان ناهمگن(HEFT )    44
3-5-12 الگوریتم زمان بندی آگاه از منبع (RASA )    45
3-6 مقایسه اول        46
3-7 قابلیت اطمینان        48
3-8 قابلیت اعتماد        50
3-9 استراتژی مدیریت درست زمان بندی(STM )    51
3-10 الگوریتم هایی در مورد قابلیت اطمینان    54
3-10-1 بالاترین قابلیت اطمینان(Maxre)    54
3-10-2 آگاهی از قابلیت اطمینان-منبع-مهلت زمانی (DRR )    56
3-10-3 یادگیری تقویتی (RL)    57
3-10-4 الگوریتم زمان بندی مبتنی بر ارتباط با ماکزیمم تحمل خطا (FMCED )    59
3-10-5 زمان بندی سطح پویا با قابلیت اطمینان (RDLS )    61
3-10-6 الگوریتم ژنتیک جلورونده (LAGA )    64
3-10-7 PRMS و MCMS    67
4-5-7-1 زمان بند تطابقی با حداقل هزینه (MCMS)    67
4-5-7-2 زمان بند با حداکثر قابلیت اطمینان به طور تصاعدی (PRMS )    68
3-11 جمع بندی        70
فصل 4 قابلیت اطمینان در الگوریتم PPDD    71
4-1 مقدمه    72
4-2 الگوریتم PPDD    73
4-2-1 فلوچارت الگوریتم PPDD    74
4-3 فاکتور قابلیت اطمینان در PPDD    77
4-4 مثال الگوریتم PPDD با پرارمتر قابلیت اطمینان    79
4-5 مقایسه و نتیجه گیری    81
4-6 جمع بندی        82
فصل 5  نتیجه گیری و پیشنهادها    83
5-1 مقدمه        84
5-2 نتایج حاصل از تحقیق    84
5-3 پیشنهادها        86
مراجع    87
واژه نامه    91
واژهنامه فارسی به انگلیسی    92
واژهنامه انگلیسی به فارسی    93












فهرست شکل‌ها
شکل 2-1. ساختار ابری سه لایه                                 15
شکل 2-1 لایه های محاسبات ابری                                18
شکل 2-3. مدل سرویس                                 22
شکل 3-1 مروری بر زمان بندی گردش کاری                         29
شکل 3-2 مقایسه دو الگوریتم LBMM و Min-Min                         32
شکل 3-3 فلوچارت الگوریتم DARIS                            35
شکل 3-4- مروری بر گردش کاری زمان‌بند                             42
شکل 3-5. طبقه‌بندی قابلیت اعتماد                                50
شکل 3-6. فرآیند فیلتر کردن منبع                                52
شکل 3-7. نتایج شبیه‌سازی سیاست مدیریت درست زمان‌بندی                     53
شکل 4-1. شبکه درختی تک سطحی با چندین بار                        73
شکل 4-2 فلوجارت الگوریتم PPDD                            75
شکل 4-3. الگوریتم ppdd با پردازنده Front-end                        76
شکل 4-4. الگوریتم ppdd بدون پردازنده Front-end                        76
شکل 4-5 نمودار زمان برای مثال بالا بدون داشتن پارامتر قابلیت اطمینان                80
شکل 4-6. نمودار مدت زمان برای مثال بالا با داشتن پارامتر قابلیت اطمینان                81







فهرست جدول‌ها
جدول 3-1 پارامترهای چند الگوریتم زمان‌بندی                        46
جدول 3-2 الگوریتم زمان بندی موجود                             47
جدول 3-3. مقایسه الگوریتم‌های زمان‌بندی با فاکتور قابلیت اطمینان                70
جدول 4-1. مثالی از بار و توان پردازشی الگوریتم PPDD بدون قابلیت اطمینان            79
جدول 4-2 مدت زمان پردازش و اختلاف بار فعلی با بار ایده آل                 79
جدول 4-3. یافته‌های اجرای مثال آلگوریتم PPDD با قابلیت اطمینان                 81













فهرست علائم اختصاری
توافقنامه سطح سرویس    Service Level Agreement    SLA
ماشین‌های مجازی    Virtual Machine    VM
تعداد تراکنش‌های ماشین در هر ثانیه    Million Instruction Per Second    MIPS
گراف مدور جهت‌دار    Directed Acyclic Graph    DAG
کیفیت سرویس    Quality of Service    Qos
الگوریتم Min-Min با بار متعادل شده    Load Balanced Min-Min Algorithm    LBMM
توزیع زمان—هزینه    Dispensation Time-Cost    DTC
بهینه‌سازی ازدحام ذرات    Particle Swarm Optimization    PSO
الگوریتم زمان‌بندی منبع مجتمع پویا    Dynamic And Integrated Resource Scheduling    DAIRS
بودجه طراحی شده کاربر    User-designated Budget    UB
انتخاب بهترین مبنع    Resource Best Select    BRS
توزیع زمان هزینه    Distribution Cost-Time    DCT
اولین- رسیدن- اولین- سرویس    first-come-first-service    FCFS
توافق زمان- هزینه    Compromised-Time-Cost    CTC
توافق زمان- هزینه که هزینه اجرا را در مهلت زمانی تعیین شده مینیمم می‌کند    Compromised-Time-Cost algorithmMinimising execution Cost    CTC-MC
توافق زمان- هزینه که زمان اجرا مینیمم می‌کند    Compromised-Time-Cost algorithmMinimising execution Time    CTC-MT
بزرگ‌ترین تکه ابر، سریع‌ترین عنصر پردازشی    Longest Cloudlet Fastest Processing Element    LCFP
کوچک‌ترین تکه ابر، سریع‌ترین عنصر پردازشی    Shortest Cloudlet Fastest Processing Element    SCFP
عناصر پردازشی    Processing Element    PE
قیمت‌گذاری بر اساس فعالیت بهبود یافته    Activity Based Costing    ABC
تعداد تراکنش‌های ماشین    Machine Instruction    MI
الگوریتم زندگی زنبورها    Bees Live Algorithm    BLA
چندین گردش کاری با چندین محدودیت QQS    Multiple QoS of Multi-Workflows    MQMW
الگوریتم کاهش- تعادل    BAlance-Reduce    BAR
الگوریتم زودترین زمان پایان ناهمگن    Heterogeneous Earliest Finish Time    HEFT
الگوریتم زمان‌بندی آگاه از منبع    Resource Aware Scheduling Algorithm    RASA
مدیریت درست زمان‌بندی    Scheduling Trust Management    STM
نقاط آبروی    Reputation  Points    RP
بهره‌وری ماکزیمم    Utility Maximun    UM
بالاترین قابلیت اطمینان    Maximum Reliability    Maxre
آگاهی از قابلیت اطمینان- منبع- مهلت زمانی     Deadline-Reliability-Resources    DRR
یادگیری تقویتی    Reinforcement Learning    RL
الگوریتم زمان‌بندی مبتنی بر ارتباط ماکزیمم تحمل خطا    Failure-Tolerant Maximom Commonication Efficiency Driven    FMCED
الگوریتم قابلیت اطمینان‌گرای تحمل خطای کارا    Efficience Fail Tolerant Reliability Driven    EFRD
زما‌بندی سطح پویا با قابلیت اطمینان    Reliable Dynamic Level Service    RDLS
زما‌بندی سطح پویا    Dynamic Level Service    DLS
سیستم محاسبات توزیع‌شده غیر همگن    Heterogeneous Distributed Computing System    HDCS
الگوریتم ژنتیک جلورونده    Look-Ahead Genetic Algorithm    LAGA
قابلیت اطمینانگرا    Reliability Driven    RD
الگوریتم ژنتیک    Genetic Algorithm    GA
الگوریتم ژنتیک دو هدفه    Biobjective Genetic Algorithm    BGA
زمان‌بند تطابقی با حداقل هزینه    Minimum Cost Match Schedule    MCMS
زمان‌بند با حداکثر کردن قابلیت اطمینان به طور تصاعدی    Progressive Reliability Maximization Schedule    PRMS


دانلود با لینک مستقیم


پایان نامه بررسی الگوریتم های زمان بندی وظیفه در محیط محاسبات ابری

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

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

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


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

دانلود متن کامل این پایان نامه با فرمت ورد 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 که قابل ویرایش و کپی کردن می باشند

موجود است


دانلود با لینک مستقیم


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