فایل های مشابه شاید از این ها هم خوشتان بیاید !!!!
توضیحات محصول دانلود پاورپوینت آشنایی با انواع پروتکل های کنترل همروندی (کد13507)
دانلود پاورپوینت آشنایی با انواع پروتکل های کنترل همروندی
\nپروتکل های کنترل همروندی
\n\n عنوان های پاورپوینت :
\n\nآشنایی با انواع پروتکل های کنترل همروندی
\nپروتکل های کنترل همروندی
\n7/8 - پروتکل های مبتنی بر قفل ( lock- based )
\n7/9 - پروتکل های مبتنی بر گراف (gragh - based )
\n7/10 - پروتکل های مبتنی بر مهر زمانی
\n7/8 - پروتکل های مبتنی بر قفل ( lock- based )
\nحالت انتظار :
\n1-7/8 – سازگاری قفل ها
\nالف : قفل دو حالتی ( باینری – binary )
\nقفل اشتراکی – انحصاری (shared – exclusive)
\nجدول 7/2 : جدول سازگاری قفل های S و X
\n3-7/8- پروتکل قفل دو مرحله ای (2PL)
\nمرحله رشد ( growing)
\nمرحله نقصان یا عقب نشینی (shrinking)
\nپروتکل B2PL :
\nپروتکل C2PL :
\nپروتکل S2PL :
\nمزیت اصلی این پروتکل
\nپروتکل SC2PL :
\nتوضیح B2PL :
\n7/9- پروتکل مبتنی بر گراف :
\n7/10- پروتکل های مبتنی بر مهر زمانی:
\n(W-TS (Q
\n(R-TS (Q :
\nقواعد خواندن :
\nقواعد نوشتن
\nبا پروتکل S2PL
\n2-7/8- بن بست (deadlock) و قحطی (starvation)
\n7/11 – روش های مدیریت بن بست
\n1-7/11 – چشم پوشی (ignore)
\n2-7/11 – فرصت (timeout)
\n3-7/11- پیشگیری (prevention)
\n4-7/11- اجتناب ( avoidance )
\nروش wait-die :
\nروش wound-wait :
\nنکته :
\n5-7/11- تشخیص و رفع بن بست
\nمهمتریت معیار های انتخاب قربانی عبارت اند از:
\n\n \n\n \n\n
\n\nقسمت ها و تکه های اتفاقی از فایل\n\n \n\n7/10- پروتکل های مبتنی بر مهر زمانی:\n\nاین پروتکل ها در بانک اطلاعات نامتمرکز به کار می رود .\n\nهر تراکنش به محض ورود به مهر زمانی تصاعدی ( مثلا زمان ورود تراکنش به سیستم ) تخصیص داده می شود .\n\nمهر زمانی تراکنش Ti را با Ts(Ti) نمایش می دهد .\n\nدو تراکنش Tiو Tj که Tj دیر تر وارد سیستم شده باشد Ts(Tj) > Ts(Ti).\n\nبر این اساس پروتکل های مبتنی بر مهر زمانی تراکنش ها را به ترتیب مهر زمانی آنها به صورت پی در پی پذیر اجرا می کند .\n\nادامه صفحه قبل\n\nدر سیستم های متمرکز مهر زمانی را با ساعت سیستم تولید می کند .\n\nدر سیستم های نامتمرکز از یک ساعت برای تخصیص مهر زمانی سراسری استفاده می کنند یا از زوج مرتب مهر زمانی محلی سایت و idخود سایت به عنوان مهر زمانی کمک گرفت.\n\nبرای هر داده Q مهر زمانی خواندن و نوشتن ان به صورت زیر تعریف می شود:\n\nW-TS(Q) : مهر زمانی نوشتن داده Q برابر است با بزرگترین مهر زمانی تراکنشی که به طور موفقیت آمیز روی Q نوشته شده است .\n\n(R-TS(Q : مهر زمانی خواندن داده Q برابر است با بزرگترین مهر زمانی تراکنشی که به طور موفقیت آمیز Q را خوانده .\n\nبا اعمال قواعد زیر پروتکل های مبتنی بر مهر زمانی تضمین می کنند که به دستوات R و Wکه با هم برخورد دارند به ترتیب مهر زمانی اجرا شوند و زمان بندی های مربوطه پی در پی پذیر باشند .\n\n1) – قواعد خواندن :\n\nفرض کنید تراکنش Ti شامل یک دستور read(Q) است.\n\nالف ): اگر TS(Ti) <= W-TS (Q) انگاه تراکنش Tiداده ای را می خواهد که مقدارش انگاه که بعدآ نوشته می شود پس در این صورت با دستور خواندن تراکنش موافقت نمی شود و تراکنش رد reject می شود .\n\nب) : اگر TS(Ti)>=W-TS(Q) آنگاه دستور خواندن تراکنش Ti اجرا می شود و مهر زمانی خواندن Q با ماکزیمم بین مهر زمانی Ti و مهر زمانی خواندن Q مقدار دهی می شود .\n\nتذکر : رد (REJECT) شدن تراکنش به معنی در انتظار ماندن یا سقوط یا شروع مجدد می باشد .\n\n2 ) قواعد نوشتن\n\nفرض کنید که تراکنش Tiشامل یک دستور write(Q) باشد .\n\nالف ) – اگر TS(Ti)<R-TS(Q) یاTS(Ti)<W-TS(Q) باشد انگاه با دستور نوشتن تراکنش موافقت نمی شود و تراکنش Ti رد reject) ) می شود .\n\nب )- در غیره این صورت دستور نوشتن اجرا می شود و مهر زمانی نوشتن Q نیز با TS(Ti) مقدار دهی میشود .\n\nشکل 7/4 لبه ها در گراف پی در پی پذیر پروتکل مبتنی بر مهر زمانی\n\nاگر هیچ تراکنشی به حالت انتظار نرود ( یعنی رد شدن تراکنش به معنی شروع مجدد باشد ) این پروتکل فاقد بن بست نیز خواهد بود اما ممکن است ترمیم پذیر نباشد .\n\nمثال : زمانبدی r1(B),r2(B),r1(B),w1(B),r3(C),w2(A) را با پروتکل S2PL و مهر زمانی بنویسید .\n\nحل :\n\nالف ) با پروتکل S2PL\n\nS1(A),r1(A),s2(B),r2(B),s1(B),r1(B),x1(B),s3(C),r3(C),c3,u3(C),x2(A)\n\nب) باپروتکل مهر زمانی می توان دید که .TS(T1)<TS(T2)<TS(T3) اجرای زمانبندی نیز در شکل زیر مشاهده می شود .\n\n2-7/8- بن بست (deadlock) و قحطی (starvation)\n\nزمانبندی زیر را در نظر بگیرید:\n\nانتظار x(A) T7 x(B)w(B)\n\nانتظار s(A)r(A)s(B) T8\n\nT8 در خواست قفلی می دهد که با قفل زده شده T7 روی B سازگاری ندارد و به حالت انتظار می رود. متقابلا همین مشکل برای T7 روی داده A پیش می آید. در این حالت یک انتظار چرخشی بین تراکنش های T7 T8 بوجود آمده که هیچ یک نمی توانند کار خود را ادامه دهند. این انتظار چرخشی منجر به وقوع بن بست شده است.\n\nدر حالت کلی این انتظار ممکن است بین چندین تراکنش روی دهد.\n\nادامه صفحه قبل\n\nیک راه حل بن بست این است که یکی از این تراکنش ها را ساقط کنیم تا قفل هایش آزاد شود و دیگری بتواند با گرفتن آن قفل به کارش ادامه دهد.\n\nمشکل دیگری که پیش می آید قحطی نام دارد.\n\nبدین صورت که مثلا یک تراکنش که قصد زدن قفل X روی داده ای را دارد منتظر دنباله ای از تراکنش ها بماند که همگی قفل S روی همان داده می زنند و این انتظار به پایان نرسد. در این صورت تراکنش درخواست دهنده قفل X دچار قحطی شده است.\n\n7/11 – روش های مدیریت بن بست\n\nسیستم وقتی دچار بن بست می شود که مجموعه ای از تراکنش ها برای همیشه منتظر یکدیگر باشند.\n\nمهمترین استراتژی های مدیریت به قرار زیر می باشند:\n\n1-7/11 – چشم پوشی (ignore)\n\nدر این حالت برخورد با بن بست به برنامه نویس یا مدیر سیستم یا ... واگذار می شود.\n\n2-7/11 – فرصت (timeout)\n\nتراکنشی که به حالت انتظار می رود فقط برای مدت زمان معینی منتظر بماند و پس از آن در صورت سرویس نگرفتن ساقط شود.\n\nاین روش بن بست را میشکند و روشی بسیار ساده است اما امکان بروز قحطی وجود دارد.\n\nتعیین مقدار مناسب برای فرصت کار مشکل و پیچیده ای است.\n\n3-7/11- پیشگیری (prevention)\n\nاین روش تضمین می کند که سیستم هرگز دچار بن بست نشود.\n\nبدین منظور می توان :\n\nاز پروتکل هایی استفاده نمود که در آن هر تراکنش قبل از شروع به اجرا تمام قفل های مورد نیازش را بگیرد. مثل (SC2PL , C2PL)\n\nبین داده ها ترتیبی در نظر گرفته و تراکنش ها بر اساس این ترتیب مجاز به قفل کردن باشند ( مثل پروتکل های مبتنی بر گراف)\n\n4-7/11- اجتناب ( avoidance )\n\nتراکنش ها به پیش می روند و هنگام درخواست داده احتمال وقوع بن بست بررسی و از آن اجتناب می شود.\n\nادامه صفحه قبل\n\nیکی از روش ها استفاده از مهر زمانی مخصوص بن بست است و یکی از روش های زیر را می توان اعمال کرد:\n\nروش wait-die : تراکنش پیرتر (با مهر زمانی کمتر) منتظر تراکنش جوان تر می ماند تا قفل مربوطه را آزاد کند. در مقابل تراکنش جوانتر هرگز منتظر نمی ماند بلکه ساقط می شود ( می میرد) ممکن است یک تراکنش چندین بار بمیرد.\n\nروش wound-wait : تراکنش پیرتر به جای انتظار تراکنش جوان تر را می کشد (قبضه ای preemptive )نام دارد. تراکنش جوان تر منتظر تراکنش پیرتر می ماند.\n\nدر این روش بر خلاف wait-die تراکنش پیرتر اولویت بالاتری دارد وبا کشتن تراکنش جوان تر فرایند اجرا را به قبضه خود در می آورد.\n\nنکته : روش wound-wait ممکن است کمتر منجر به ساقط شدن تراکنش ها شود زیرا از تعداد تراکنش های پیرتر کاسته می شود.\n\nدر هر دو روش فوق تراکنشی که ساقط می شود با همان مهر زمانی و اولیه خود آغاز به کار مجدد می کند که همین سبب می شود تراکنش جوان پس از چند بار مردن پیر محسوب شود و سریس بگیرد و از بروز قحطی ممانعت به عمل آید.\n\nمثال: فرض کنید T1 درخواست قفل روی داده Q دارد و T1 داده Q را قفل ناسازگار کرده است. در این صورت طبق جدول زیر عمل خواهد شد:\n\n5-7/11- تشخیص و رفع بن بست\n\nدر این روش چنانچه بن بستی اتفاق بیفتد مشخص و حل می گردد.\n\nبرای تشخیص بن بست گرافی به نام گراف انتظار رسم می کنیم که گره های آن تراکنش ها هستند و لبه Ti Tj در صورتی وجود دارد که تراکنش Ti منتظر Tj باشد.\n\nچنانچه گراف انتظار تراکنش ها فاقد حلقه (cycle) باشد بن بست وجود ندارد.\n\nتشخیص بن بست با یافتن حلقه در گراف انتظار انجام می شود و برای رفع آن باید این حلقه را از بین برد. برای شکستن یک حلقه می توان یکی از گره هایی که در این حلقه شرکت دارند را حذف کرد یعنی تراکنشی را به عنوان قربانی (victim) انتخاب و آن را ساقط کرد.\n\nانتخاب قربانی خود روش های مختلفی دارد معمولا سعی می کنیم تراکنشی را به عنوان قربانی انتخاب کنیم که ساقط کردن آن حداقل هزینه را به دنبال داشته باشد.\n\nمثال : گراف انتظار زمانبندی S10 با قفل باینری به صورت زیر می باشد:\n\nمی توان یکی از تراکنش ها را به عنوان قربانی ساقط نمود تا دیگری بتواند ادامه دهد.\n\nمهمتریت معیار های انتخاب قربانی عبارت اند از:\n\nتعداد حلقه هایی از گراف انتظار که این تراکنش در آن شرکت دارد و با ساقط شدن آن این حلقه ها شکسته خواهند شد.\n\nحجم کاری که تا کنون در آن تراکنش صورت گرفته است .\n\nتعداد بروز رسانی های انجام شده در آن\n\nحجم کاری از تراکنش که برای اتمام آن باقی مانده است.\n\nیک راهکار برای مشکل قحطی این است که تعداد دفعات ساقط شدن به عنوان فاکتوری در انتخاب قربانی در نظر گرفته شود.\n\nاگر با ساقط شدن یک قربانی بن بست از بین نرود قربانی بعدی را ساقط می کنیم.\n\n \n\n \n\n \n\n \n\n30 تا 70 درصد پروژه | پاورپوینت | سمینار | طرح های کارآفرینی و توجیهی | پایان-نامه | پی دی اف مقاله ( کتاب ) | نقشه | پلان طراحی | های آماده به صورت رایگان میباشد ( word | pdf | docx | doc )