پایان نامه ارشد رشته کامپیوتر: ارزیابی برخی الگوریتمهای كنترل همروندی در سیستم مدیریت پایگاه دادهها، از طریق مدلسازی با پتری … |
3-2-5- مدیر قفل و مراحل انجام شده برای قفل گذاری……………………….. 27
3-2-6- نحوه در اختیار قرار دادن قفل توسط مدیر قفل……………………….. 28
3-2-7- قفل چند اسلوبی……………………….. 28
3-2-7-1- ماتریس همایندی یا سازگاری قفل های چند اسلوبی……………………….. 28
3-2-7-2- پروتکل قفل چند اسلوبی برای یک تراکنش…………………………. 29
3-2-7-3- تغییر قفل……………………….. 30
3-2-7-4- قفل چند اسلوبی و توالی پذیری……………………….. 30
3-2-7-5- خصوصیات قفل چند اسلوبی……………………….. 30
3-2-8- تکنیک قفل گذاری دو مرحله ای مبنایی……………………….. 30
3-2-8-1- مشکلات تداخل کنترل نشده ………………………31
3-2-8-2- خصوصیات و مشکلات 2PL مبنایی……………………….. 32
3-2-8-3- تغییر قفل در پروتکل 2PL………………………..
3-2-8-4- تأثیرعملیات درج در کنترل همروندی……………………….. 33
3-2-8-5- تأثیرعملیات حذف در کنترل همروندی……………………….. 33
3-3- بن بست………………………… 34
3-3-1- راه حل های مشكل بن بست………………………… 35
3-3-2- تکنیک های زمان مهر………………………. 36
3-3-2-1- الگوریتم WD………………………..
3-3-2-2- الگوریتم WW…………………………
3-3-2-3- خصوصیات الگوریتم WD و WW…………………………
فصل چهارم: شبکه های پتری
مقدمه………………………. 39
4-1- مختصری در مورد شبکه های پتری……………………….. 39
4-2- تفاوت UML و پتری……………………….. 39
4-3- تاریخچه شبکه های پتری……………………….. 40
4-4- ویژگی های شبکه های پتری……………………….. 40
4-5- اجزای شبکه ی پتری……………………….. 40
4-5-1- تعریف اجزای شبکه ی پتری………………………. 41
4-5-2- وظایف اجزای شبکه ی پتری……………………….. 41
4-6- تعریف چهارگانه شبکه های پتری……………………….. 42
4-7- گراف شبکه پتری……………………….. 42
4-8- چند مثال از گراف شبکه پتری……………………….. 43
4-9- رفتار شبکه های پتری……………………….. 43
4-10- گذار توانا……………………… 44
4-11- مثالی از اجرای یک شبکه پتری……………………….. 44
4-12- قوانین مربوط به فایر شدن گذار، در شبکه پتری……………………….. 45
4-13- شبکه های پتری به بن بست رسیده، زنده و غیر زنده……………………… 46
4-14- انواع شبکه های پتری و نحوه ی نشانه گذاری آن ها……………………… 47
4-15- فلوچارت ها و شبکه های پتری……………………….. 47
4-16- انواع پتری……………………….. 48
4-16-1- شبکهپتری رنگی……………………….. 48
4-16-2- شبکه پتری زمانی……………………….. 49
4-16-3- شبکه پتری سلسله مراتبی……………………….. 50
فصل پنجم: نحوه ی مدل سازی مکانیزم های 2PL، WW و WD با پتری رنگی
مقدمه………………………. 52
5-1- مختصری در مورد مدل سازی مکانیزم های 2PL، WW و WD………………
5-1-1- مدل 2PL………………………..
5-1-2- مدل های WW و WD………………………..
5-2- مجموعه های رنگ………………………… 53
5-2-1- مجموعه های رنگ در مدل 2PL………………………..
5-2-2- مجموعه های رنگ در مدل های WW و WD………………………..
5-2-3- توضیحات مجموعه های رنگ………………………… 55
5-3- نشانه گذاری اولیه………………………. 58
5-3-1- نشانه گذاری اولیه در مدل 2PL………………………..
5-3-2- نشانه گذاری اولیه در مدل های WW و WD………………………..
5-3-3- توضیحات نشانه گذاری اولیه………………………. 59
5-4- متغیرها……………………… 61
5-4-1- متغیرهای مدل 2PL………………………..
5-4-2- متغیرهای مدل های WW و WD………………………..
5-5- شرح توابع مدل و عملکردهای آن ها……………………… 62
5-5-1- شرح توابع مشترک بین مدل های 2PL، WW و WD………………………..
5-5-2- شرح توابع مدل 2PL………………………..
5-5-3- شرح توابع مدل های WW و WD………………………..
5-6- اولویت های معین شده برای تعیین فایر شدن گذار مورد نظر از بین گذارهای فعال…….. 72
5-7- نحوه ی مدل سازی ها……………………… 73
5-7-1- نحوه مدل سازی مدل 2PL………………………..
5-7-2- نحوه مدل سازی مدل های WW و WD………………………..
فصل ششم: ارزیابی مدل های 2PL، WW و WD
مقدمه………………………. 79
6-1- مختصری در مورد اهمیت ارزیابی پایگاه دادهها……………………… 79
6-2- پارامتر تعداد تراکنش های وارد شونده به سیستم………………………. 80
6-2-1- بررسی مدل 2PL………………………..
6-2-2- بررسی مدل WW………………………..
6-2-3- بررسی مدل WD………………………..
6-2-4- مقایسه ی مدل های 2PL، WW و WD براساس پارامتر تعداد تراکنش ها…….. 82
6-3- پارامتر تعداد دستورات هر تراکنش…………………………. 83
6-3-1- بررسی مدل 2PL………………………..
6-3-2- بررسی مدل WW…………………………
6-3-3- بررسی مدل WD………………………..
6-3-4- مقایسه مدل های 2PL، WW و WD براساس پارامتر تعداد دستورات تراکنش ها ……..86
6-4- پارامتر تعداد داده های مشترک و غیر مشترک تراکنش ها ………………………88
6-4-1- بررسی مدل 2PL………………………..
6-4-2- بررسی مدل WW…………………………
6-4-3- بررسی مدل WD………………………..
6-4-4- مقایسه مدل های 2PL، WW و WD براساس پارامتر تعداد داده های مشترک و غیر مشترک تراکنش ها….. 91
6-5- پارامتر تعداد داده های مشترک در تراکنش هایی بدون داده غیر مشترک……………. 92
6-5-1- بررسی مدل 2PL………………………..
6-5-2- بررسی مدل WW…………………………
6-5-3- بررسی مدل WD………………………
6-5-4- مقایسه مدل های 2PL، WW و WD براساس پارامتر تعداد داده های مشترک در تراکنش هایی بدون داده غیر مشترک…. 96
6-6- نتیجه گیری……………………….. 97
6-7- پیشنهادات……………………….. 100
مراجع……………………….. 102
چکیده:
مسئله ی كنترل همروندی در پایگاه دادهها امری ضروری و با اهمیت است. اجرای همروند تراكنشها در یك سیستم مدیریت پایگاه داده، ممكن است منجر به ناسازگاری شود. ناسازگاری بر اثر مقادیر نادرستی است كه برای دادههای موجود، بر اثر تعارض و تداخل اجرای تراكنش ها به وجود میآید. الگوریتم های كنترل همروندی، جهت تضمین اجرای همروند چندین تراكنش كه به صورت همروند با دادههای مشترك كار میكنند طراحی شدهاند. در زمینه ی كنترل همروندی پایگاه دادهها، تحقیقات فراوانی صورت گرفته است كه نتیجه آن، الگوریتم های متنوع كنترل همروندی میباشد. با توجه به الگوریتم های متنوع در این زمینه و این واقعیت كه روز به روز بر اهمیت آن ها افزوده میشود، در حوزه ارزیابی الگوریتم های کنترل همروندی جای کارِ بسیاری وجود دارد.
در این پایان نامه ابتدا الگوریتم های کنترل همروندی قفل گذاری دو مرحله ای مبنایی و همچنین تکنیک های زخمی كردن-منتظر گذاشتن و منتظر گذاشتن-میراندن که جزء تکنیک های پیش گیری از بن بست هستند، مدل سازی شده اند. از آنجا که شبکه پتری رنگی قابلیت های مدل سازی بالایی دارد و یکی از بهترین روش ها برای تحلیل مکانیزم های کنترل همروندی است؛ مدل سازی ها با استفاده از پتری رنگی و نرم افزار CPN Tools ارائه شده اند. یک مطالعه موردی ساده به عنوان مثال برای درک بهتر ارائه گردیده که مثال ذکر شده شامل سه تراکنش و دو منبع است. سپس الگوریتم های ذکر شده ارزیابی گردیده اند. ارزیابی بر اساس پارامترها و معیارهایی مثل تعداد تراکنش های وارد شونده به سیستم، تعداد دستورات هر تراکنش، تعداد داده های مشترک و غیر مشترک بین تراکنش ها و تعداد داده های مشترک در تراکنش هایی بدون داده غیر مشترک، صورت گرفته است.
آزمایش ها چندین بار تکرار و نتایج میانگین گیری شدند. با مقایسه و انجام بررسی ها، این نتیجه به دست آمد که در حالت کلی الگوریتم زخمی كردن-منتظر گذاشتن نسبت به دو الگوریتم دیگر زمان اجرای بهتری دارد. الگوریتم منتظر گذاشتن-میراندن از نظر زمان اجرا با اختلاف زیادی در سطح بدتری نسبت به دو الگوریتم دیگر قرار دارد و الگوریتم قفل گذاری دو مرحله ای مبنایی به دلیل امکان رخ دادن بن بست، مشکلات فراوانی دارد.
فصل اول: مقدمه
1-1- مقدمه
اجرای همروند تراکنش ها در پایگاه داده ها با مشکلات بسیاری مواجه است. مکانیزم های کنترل همروندی، برای حفظ انزوا و عدم دخالت اجرا در میان تراکنش های متعارض و حفظ سازگاری پایگاه داده ها استفاده می شوند (a-Pashazadeh, 2012)، (b-Pashazadeh, 2012) و (Shu, and Young, 2002). به عبارت دیگر الگوریتم های کنترل همروندی، الگوریتم هایی هستند که باعث می شوند اجرای همروند چند تراکنش و اجرای متوالی آن معادل شود. مسئله ی كنترل همروندی در پایگاه دادهها امری ضروری و با اهمیت میباشد (Shu, and Young, 2002). در این زمینه مطالعات و تحقیقات فراوانی صورت گرفته است كه نتیجه ی آن، به وجود آمدن الگوریتم های متنوع كنترل همروندی میباشد. همچنین با توجه به گسترش روزافزون انواع پایگاه داده ها در سراسر جهان، نیاز به بررسی پروتکل های کنترل همروندی پایگاه داده ها، بیشتر نمایان می شود.
مدل سازی رسمی[1] از الگوریتم های کنترل همروندی در مطالعه ویژگی های مختلف آن ها بسیار مفید است (a-Pashazadeh, 2012) و (b-Pashazadeh, 2012). بررسی ها نشان می دهد که شبکه های پتری (PNs)[2] روش مناسبی برای مدل سازی رسمی مکانیزم های کنترل همروندی می باشند. شبکه های پتری انواع مختلفی دارند که یکی از آن ها شبکه پتری رنگی (CPN)[3] است. شبکه های پتری رنگی یکی از بهترین ابزارها برای مدل سازی الگوریتم های کنترل همروندی هستند (a-Pashazadeh, 2012) و (b-Pashazadeh, 2012). به همین دلیل در این پایان نامه نیز از این روش برای مدل سازی ها استفاده خواهد شد.
یکی از اصلی ترین مکانیزم های کنترل همروندی تکنیک قفل گذاری دو مرحله ای مبنایی (2PL)[4] است. این تکنیک کنترل همروندی از طریق قفل گذاری روی داده ها انجام می شود. قفل گذاری روی داده ها به تدریج که نیاز به دستیابی به آن ها پیش می آید صورت می گیرد و قفل گشایی از آن ها پس از دریافت تمام قفل های تراکنش رخ خواهد داد. در این تکنیک امکان رخ دادن بن بست وجود دارد، به همین دلیل دو مکانیزم پیش گیری از بن بست نیز مورد بررسی قرار خواهد گرفت.
مکانیزم منتظر گذاشتن-میراندن (WD)[5] یکی از الگوریتم های پیش گیری از بن بست است که در آن حق تقدم زمانی تراكنش ها براساس زمان مهر و لحظه ی ورودشان به سیستم رعایت نمی شود. یعنی در مکانیزم WD هیچ قانونی وجود ندارد که تراکنشی که زودتر وارد سیستم شده است اولویت بیشتری برای زودتر دریافت کردن قفل های مورد نیازش داشته باشد، به همین دلیل به آن الگوریتم نابازدارنده می گویند. در سمت مقابل، مکانیزم زخمی كردن-منتظر گذاشتن (WW)[6] وجود دارد که یکی از الگوریتم های پیش گیری از بن بست است که در آن حق تقدم زمانی تراكنش ها براساس زمان مهر و لحظه ورودشان به سیستم رعایت می شود. یعنی در مکانیزم WW تراکنشی که زودتر وارد سیستم شده است اولویت بیشتری برای زودتر دریافت کردن قفل های مورد نیازش دارد، به همین دلیل به آن الگوریتم بازدارنده می گویند.
در این پایان نامه تلاش بر این است که با مدل سازی مکانیزم های 2PL، WD و WW، امکان بررسی اجرای تراکنش ها از دیدگاه ها و جوانب مختلفی را فراهم کنیم. سپس به ارزیابی این الگوریتم ها بپردازیم و آن ها را با استفاده از پارامترهای مختلفی که در جدول 1-1، اشاره شده است بررسی کنیم. در این جدول، در ستون اول پارامترهایی که قرار است ما در این پایان نامه بر اساس آن ها مدل ها را ارزیابی کنیم مشاهده می شود. سپس در ستون های بعدی نام الگوریتم هایی که قبلاً توسط این پارامترها مورد ارزیابی قرار گرفته بوده اند، نحوه ی پیاده سازی یا مدل سازی آن ها و همچنین مراجعشان را مشاهده می کنید.
در هنگام مدل سازی یک مطالعه موردی ساده به عنوان مثال برای درک بهتر ارائه گردیده است. مثال ذکر شده شامل سه تراکنش و دو منبع است.
مدل سازی ها با استفاده از پتری رنگی و نرم افزار CPN Tools ارائه شده اند. در نهایت به ارزیابی هر سه الگوریتم پرداخته شده است و الگوریتم ها با معیارهای بیان شده در فوق مورد بررسی قرار داده شده اند. آزمایش ها چندین بار تکرار گردیده و از مقادیر میانگین گیری به عمل آمده است. نمودارهای لازم نیز جهت مقایسه ی آسان تر ترسیم و بررسی گردیده اند.
2-1- ساختار پایان نامه
این پایان نامه به فرم زیر سازماندهی شده است.
در فصل دوم پیشینه ی تحقیق و مطالب مرتبط آورده شده است. در این فصل یکمرورکلی بر کلیات مطلب، اهداف، پیشینه ی تحقیق و سایر کارهای انجام شده در این زمینه خواهیم داشت. در پیشینه تحقیق، می پردازیم به این که تا کنون چه الگوریتم هایی ارائه شده، ارزیابی از طریق چه روش هایی صورت گرفته است و مانند آن ها. همچنین تعدادی از پارامترها و معیارهای ارزیابی الگوریتم های کنترل همروندی را بررسی خواهیم نمود. علاوه بر آن بعضی روش های پیاده سازی و شبیه سازی موجود مانند پیاده سازی در مقیاس کوچک، شبیه سازی از طریق مدل مارکف، شبیه سازی از طریق شبکه های پتری و مانند آن ها را بررسی می کنیم و به مزایا و معایب آن ها اشاره ای خواهیم داشت. همچنین روش تجزیه و تحلیل از طریق صف نیز بطور مختصر مورد بررسی قرار می گیرد.
فرم در حال بارگذاری ...
[چهارشنبه 1399-10-17] [ 06:21:00 ب.ظ ]
|