2-1- اهمیت الگوریتمهای کنترل همروندی پایگاه دادهها……………………… 7
2-2- برخی از انواع پایگاه دادهها……………………… 8
2-3- انواع روشهای پیادهسازی و مدلسازی الگوریتمهای کنترل همروندی…………….. 9
2-3-1- پیادهسازی در مقیاس کوچک………………………… 9
2-3-2- مدلسازی و شبیهسازی توسط مدل مارکف………………………… 11
2-3-3- مدلسازی و شبیهسازی توسط شبکههای پتری……………………….. 12
2-4- پارامترهای ارزیابی……………………….. 14
2-4-1- پارامترهای منابع سیستم………………………. 14
2-4-2- پارامترهای حجم کاری……………………….. 15
2-5- پارامترها و آزمایشهای انجام شده……………………… 16
2-6- برخی از مزایا و معایب روشهای مدلسازی و شبیهسازی……………………….. 18
2-7- لزوم انجام تحقیق……………………….. 20
فصل سوم: تکنیکهای کنترل همروندی
مقدمه………………………. 22
3-1- تکنیکهای کنترل همروندی و انواع آنها ………………………22
3-2- تکنیکهای قفلگذاری و انواع آنها……………………… 23
3-2-1- تعریف قفل……………………….. 24
3-2-2- اندازههای واحد قفلشدنی……………………….. 24
3-2-3- ساختار قفل……………………….. 25
3-2-4- مثالی برای لزوم قفلگذاری……………………….. 26
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] است. این تکنیک کنترل همروندی از طریق قفلگذاری روی دادهها انجام میشود. قفلگذاری روی دادهها به تدریج که نیاز به
[پنجشنبه 1398-07-11] [ 01:23:00 ب.ظ ]
|