صفحه 1:
صفحه 2:
استفاده از تکثیر
از مباحث مهم در سیستم عامل های توزیع شده, تکثیر داده هاست.
ثير به عنوان تكنيكى است براى رسيدن به بسط پذیری (مقیاس پذیری: 563130[112)
بل استفاده از تکثیر
افزایش قابلیت اعتماد
در صورت آسیب دیدن یک کپی, با استفاده از کپی های دیگر می توان به کار دامه داد.
۳ با نگهداری چندین کپی. حفاظت بهتری در مقابل داده هاى تخريب شده به عمل مى آيد.
بهبود کارایی
تكثير برلى كارابى زمانى اهميت دارد. كه سيستم توزيع شده بايد از نظر تعداد و ناحيه جغرافيايى بسط بيدا كند.
ey
صفحه 3:
راز بهبود كارايي:
ملنی برای کارلیی اهمیت دارد. که سیستم توزیع شده از نظر تعداد و ناحیه جفرافیایی
بيدا كند.
در تعداد :
نتی تعداد زیادی از فرایندها نیاز به دستیابی به داده هایی دارند که توسط یک سرویس دهنده
دیریت می شوند.
این مور کارایی می تواند از طریق تکثیر سرویس دهنده و سپس تقسیم شبکه بهبود می یابد.
در اندازه ناحیه جغرافیایی :
ه اصلی لین است که با قرار دادن یک کپی در مجاورت فرایندی که از آن استفاده می کند.
ان دستیابی به داده ها کاهش می یابد؛ در نتيجه كارايى افزايش مى یابد.
هد
صفحه 4:
وجود چندین کپی ممکن است منجر به ناسازگاری شود.
سازگاری تضمین می شود اگر:
اصلاحات در ه رکپی» به تمام کپی ها اعمال شود
زمان و چگونگی انجام اصلاحات. مشخص کننده هزینه تکیر است.
سازگاری قوی consistency (/9):عملیات بهنگام سازی روی يك كبىء بايد
قبل از انجام عمليات ديكرء به تمام کبی ها پخش شود. 7
SN
صفحه 5:
لحه بين تکثیر و بسط دادن
ستفاده از تکثیر مشکل کارلیی را بهبود می دهد اما از طرفی کپی ها بلید سازگار باشند و برای
ازگاری آن ها پهنای باند بیشتری از شبکه مصرف می شود.
ایند ۳ را در نظر بگیرید که در هر ثانیه لا[ باربه کپی محلی دستیابی دارد. در حللی که خود
در هر ۷ ثانیه به هنگام می شود. اگر ۱۷ > > لا باشد. در لین صورت اتلاف پهنای باند
| داریم. چرا؟ چون کپی هلیی را داریم که اصلا توسط فرایند استفاده نمی شود و این معادل
است با اتلاف پهنای باند
اه حل :
ن است بهتر باشد كبى محلی در نزدیکی 0] تصب نشود و با
از سازكارى قوى بكذريم (قيدهاى سازكارى را كم كنيم) 5-01
صفحه 6:
مدل هاي سازگاري
(Data-centric consistency) oslo, (ste (s)5jle .١
فرضیه کانیت *
سازگاری دنباله ای
سازگاری علیتی .*
سازگاری مبتتی بر /6۱۸:۲9 (گروه بندی عملیات)
۲ سازگاری مبتنی بر گیرنده (60۳051506۳069 (Client-centric
* _. خواندن یکنواخت
نوشتن یکنواخت
سازگاری خواندن نوشتن ها
سازكارى نوشتن بعد از خواندن 5-01
صفحه 7:
ل سازگاری مبتنی بر داده
INTRIC CONSISTENCYMODE
Process Process Process
Local co}
Distributed data store
Store)osl> 0۵۴۵) می تواند به طور فیزیکی در چندین ماشین توزیع شده باشد.
می شود هر فرایندی که می تواند به داده های مخزن دستیابی داشته باشد. دارای یک کپی محلی از کل
ت های نوشتن به کپی های دیگر پخش می شوند. lp
SON
صفحه 8:
سازگاری مبتنی بر داده
مدل سا زکاری : قراردادی بین فرایندها و مخزن داده هاست.
این مدل بیان می کند که اگر فرایندها موافقت کنند که از قوانین خاصی پیروی
کننده مخزن متعهد می شود که به درستی fos نماید.
به طور عادی, فرآیندی که عملیات خواندن را روی اقلام داده انجام می دهد.
انتظار دارد که این عملیات مقداری را برگرداند که نتایج آخرین عملیات نوشتن
روی آن داده ها را نشان دهد.
ey
صفحه 9:
(CONTINUOS CONSISTENCY) گاری پیوسته
ری از ناسازگاری ها قابل تحمل هستند.
محور مستقل برای تعیین ناسازگاری استفاده می شود:
راف در مقادير عددى بين كبى ها
اتحراف عددی بر حسب تعددبه هنگام سازی هایی که به کپی خاصی اعمال شدند, درک می شود که توسط دیگران مشاهده تقنده.
ul
مثلا حافظه نهان وب ممکن است تعدادی از عملیاتهای انجام شده توسط سرویس دهنده وب را نبیند
راف در کهنگی بین کپی ها
به آخرين زمان به هدكام سازى كبى مربوط مئ شود
اف در ترتیب عملیات های به هنگام سازی
اين اتحراف ها براى ساخت سازكارى بيوسته استفاده مى کنند. 5-01
صفحه 10:
يه (CONIT) CS
واحدی را مشخص می کند که سازگاری باید روی آن اندازه گیری شود.
زان مثال کانیت در بورس : رکوردی که یک سهم را مشخص می کند.
ان مثال در زیر دو متغییر ۷,۷ بعنوان کانیت در نظر گرفته شده اند با مقادیر اولیه صفر
Replica A Replica B
Conit Conit
Result
[x=2]
Operation
= 5,85
Operation
+ هم [<8 5 >
> 8۸] ۷+2 208 +5[ 17251
y
| +لا»: 9 [حه 12>] | | مناد عمليات هاى به ١
]حم وي] | | هنكام سازی موفت در ۸
2
Vector clock A~ Vector clock B = (0, 11)
داد به هنگام سازی | Order deviation Order deviation = 2
هابی که اعمال نشی | Numerical deviation = (1, 5) — Numerical deviation = (3, 6)
ماكزيمم اختلاف بين مقادير تثبيت شده كلو لا در 4 ونتيجه حاصل ازعمليات در aati A bg jpn SB
صفحه 11:
Replica 8
Operation
ل ی[
کاس[ 0
ساءّت برداری : شامل ۲ مولفه است» که مولفه اول مربوط به کپی ۸٩ است و مولفه دوم مربوط به
cus! BEES
:(۱۵:۵)ساعت برداری ۸
۱۵-3 (۱۴ زمانانجام اخرین عملیات توسط کبی(/ است)
١ آبدیتی که از كبى8 به كبى 8 رسيده ندر زمان منطقی ۵ بوده است.
: (۱,۵) انحراف عددی ۸
مولقّه اول: تعداد عملیات هایی از کپی 9 است .که در کپی(/ دیده نشده است.
lg دوم :ماکزیمم اختلاف بین مقادیر تلبیت شده 6و ۷ در (/ و نتیجه حاصل از عملیات در 9 که هنوز توس ۸۵
نشده
jolie تبیت شده در guliy A: (X=2,y=0) حاصل از B که در ۵مشاهده نشده (2,۷<5-) :9است.
Max( [2-2] , [5-0] ) o
SN
صفحه 12:
(GRANULARITY ails cle Cis بين نكهداري
(FINE-GRAINED AND COARSE GRAINED) درشت
Conit
Data item
Replica 1 Replica 2
(a)
هر چقدر کائیت بزرگتر
رسیدن به حالت ناساز گاری سریعتر
ey
3
ن به حالت ناسازكارى كندتر
يت کانیت ها سخت تر
صفحه 13:
ب سازگاری عملیات ها
از جمله مدل های سازگاری مهم که بطور گسترده استفاده می شود:
7 سازگاری دنباله ای يا ترتیبی (Sequential)
* سازكارى عليتى (031ا351©)
صفحه 14:
صعملیات نوشتن توسط فرآیندأ بر روی قلم داده ۵ب مقدار 3
| عملیات خواندن .مقدار 0 توسط فرآیند ۳ . از قلم داده»
Pt: W(x)a
P2: R(X)NIL_ 2
1 مقار 2 رادر کپیاز مخزنداده که در حافظله محلی01 لستمینویسد
Client A/
Replica 1
Client B/
Wen Replica 2
W(x)1 W(x) 0
R(X)- NR) ROT ~R(x)0
صفحه 15:
ازگاری دنباله ای, یک مدل سازگاری مبتنی بر داده است.
ازگاری دنباله ای وقتی در مخزن داده وجود دارد که :
عملیات های خواندن و نوشتن توسط تمام فرایندها روی مخزن دادهد
at
دنباله ای اجرا شوند.
عملیات های هر فرایند. به ترتیبی که آن برنامه دار اجرا شود.
به عبارت دیگر : تمامی کلاینت ها کلیه عملیات ۷/۲16 را به یک ترتیب ببینند.
صفحه 16:
تعریف سازگاري دنباله اي
فرایندها به طور همزمان روی ماشین های مختلف اجرا می شوند. بايد تمامى
ها چند در میانی (1۳0۳6۲۱6۵۷۱۳9) یکسانی از عملیات را مشاهده کنند.
سازكارى دنباله اى» زمان نقشی ندارد و هیچ چیزی دربره آن گفته نمی شود.
هیچ ارجاعی به تازه ترین عملیات نوشتن روی قلم داده وجود ندارد.
۳1: ۷۵
Wixjb 1 Web
R(x)b 5۳02 g Rb Rwa ]
5000 ۵
Pt: ۵۵۵
مخزن داده با سازگاری دنبله ای:
نقض سازگاری دنبله ای :
3 به نظر می رسد عملیات نوشتن 32 قبل از PL
اتفاق مي افند.
صفحه 17:
دیگر از سازگاري دنباله اي
Process P2 Process P3
yet ۲
print(x, 2); print(x, y);
باله های اجرایی با چنددرمیانی های مختلف امکان پذیر است.
۶ دستورالعمل مستقل ۷۲۰ - (۶) دنباله ی اجرایی وجود دارد.
Process P1
xe;
print(y, 2);
صفحه 18:
دیگر از سازگاری دنباله ای
Process P1 Process P2 Process P3
xe 17 yeu ze1;
print(y, z); print(x, 2); print(x, y);
اد دنباله هایی که با X=L شروع می شوند : ۱۲۰ - (ها)
این تعداد در نیمی از دنباله ها PrIMt(X,Z) قبل از ۷/1 است: ۶۰ تا .که ترتیب برنامه را نقض می کند.
دنباله های باقی مانده در نیمی (/0۳1]0])26,۷ پیش از 21 است : ۳۰است .که باز ترتیب برنامه را نقض
کند.
با شروع از دستور ۰30 1 << دنباله سازکار و معتبر وجود دارد
دنله معتیر با شروع از 1 << و ۳۰ دنباله معتبر باشروع از1 > لا و ۳۰ دنباله معتبر باشروع از 1 2 امکنپذیر
ت.پس در کل ٩۰ دنباله اجرایی معتبر وجود دارد.
VN
صفحه 19:
WF ile له
x= x vat
print (y, 2); «۷ zat 4
y=; print (x2); print (x y): za
print (x, Z); print(y, 2); print (x, Z); print (x, 2);
z= z= <4; print (y, Z);
print &, ys print & yh print (y, 2); print (x, y)i
Prints: 001011 Prints: 101011. Prints: 010111 Prints: 119111
Signature: Signature: Signature:
001011 212011 410101 11
@) ات مم @
Signature=(y,z)(x,2)(x,
۰۰۱۰۰۱ از الکوها مجاز نیستند مثل ۰۰۰۰۰۰ و یا ter Sl FF op
مجاز نیست » زیرا موجب می شود دستورالعمل های چاپ قبل از دستورالعمل های انتساب اجرا شوند که این ۰۰۰۰۰
را که دستورالعمل ها به ترتیب برنامه اجرا شوند را نقص می کند.
صفحه 20:
اري عليتي
امدل سازگاری علیتی حالت ضعیف تری از سازگاری دنباله ای است.
بین رویدادهای که به طور علیتی به هم مرتبط هستند و آنهایی که ربطه علیتی ندارند. تفاوت قائل می شود.
اگر رویداد 0 ناشی یا تحت تأثیر رویداد قبلی 3 باشده بس بايد هر کس اول 3 و سپس 0 را ببیند.
برای اينکه مخزن دادهدرای سازگاری علیتی باشد باید:
اعملیات های که رابطه علیتی ندارند. همروند یا هممان(6006۷1۳۳6) نامیده می شوند.
نوشتن های همزمان ممکن است در ماشین های مختلف به ترتیب مختلفی دیده شوند.
صفحه 21:
8 از سازگاري عليتي
۷۷1](>,۷۷2](8 همزمانهستند پرلام نیستکه تسمام ف رلیندها نها را به
ترق مكسانى ب بينند
Wix)c ۷۷۵ :۳۱
P2: ٩۵02 ۷۷۵۵۵
P3: 8008 ٩0۵6 ۰ 0۵
PA: 5002 8000 ۰ ۶0
۳3: ۳002 ٩0۵۵6 ۰ 00۵
P4: 5008 ٩0 __ ۰
ste,
صفحه 22:
۲۵9 5
8005 0۵
(a)
فرآیندها باید آنها را به ترتیب یکسانی عدم رعایت سازگاری علیتی
Concurre
id
اندن حذف W1(x)a,W2(x)b lid aad ۳2
همزمان هستند. P3: 50۵0 R(xJa
Pa: ۴02 ۵۵
(b)
رعایت سازگاری علیتی
صفحه 23:
اين مدل سازكارى بجاى اينكه قيد ترتیب گذاری روی تک تک عملیات باشد ,ترتیب
ذاری روی گروهی از دستورات در نظر گرفته می شود.
در اين مدل مشاهده مى شود اين است که همزمانی بین برنامه هایی که داده های
ترك دارنده تحت كنترل راهكارهاى همكام سازى براى انحصار متقابل و تراكنش هاست.
احيه بحرانى)
متغيرهاى همكام سازى 0۲6۲۲5 و 68۷6_65]برای همگام سازی و ورود
ey
خروج از ناحیه بحرانی استفاده می شود.
صفحه 24:
ضروری برای همگام سازی صحیح
*شرط اول: وقتی فرایندی یک دستیابی را انجام میدهد. تا زمانی که داده های مشترک حفاظت
شده به هنگام نشده انده دستیابی نمی تواند کامل شود. به عبارت دیگر در دستیابی تمام تغییرات
شده باید قابل مشاهده باشد.
al, دور در داده های حفاظ
*شرط دوم: قبل از به هنگام سازی قلم داده مشترک» فرایند بلید در حللت انحصاری وارد ناحیه
il od شود قا مطمعن شود که هیچ فرایند دیگری سمی نمی کند همزمان داده مشترک را به
هنگام نماید.
*شرط سوم: اگر فرایندی می خواهد در حللت غیرانحصاری وارد ناحیه بحرلنی شود. ابتدا بليد با
مللى متثير همكام سازى حافظ ناحيه بدرانى جك كنف نا تازه ترين كبى های داده های
ترک که حفاظت شده را بدست آورد.(در صورتی چند فرآیند بطور همزمان در حللت بدون انحصار مى
تونند مالک یک متفییر همگام سازی باشند .که همگی در حال خواندن داد ها باشند و نه نوشتن)
SAV
صفحه 25:
توالی رویداد معتبر برای سازگاری ورودی
وه
PA: a (Acq(Lx} W(x)a [Acq(Ly) W(y)b Rel(Lx) Rel(Ly)
a 1
28: [AcaiLy} R(y)b
2 دستیابی به ۷ پیدا نکرده. پس مقداری که برای ۷ می خواند |1لا۱ است.
ey
صفحه 26:
ري اتفاقی با تدربجی با نهایی
(EVENTUAL CONSISTEN
خاصی از مخزن های داده توزیع شده وجود دارند که با عدم بهنگام سازی های
زمان مشخص می شوند, در اين نوع مخازن به هنگام سازی فقط به شکل محدودی
ام می گیرد.
ب فرآیندهاء داده ها را از بانک اطلاعاتی می خوانند و فقط یک. یا تعدادی از فرایندها
ات به هنگام سازی را انجام می دهند.
های اطلاعاتی تکثیر شده و توزیع شده ای وجود دارند که درجه بالایی از
ازكارى را تحمل مى كنند. مثل: سيستم نام كذارى جهانى 210/5آء وب جهانى و
نهان
1 اک
صفحه 27:
صفحه 28:
: سازگاري مبتني بر سرویس گیرنده
ری مبتنی بر سرویس گيرنده, تضمین هایی را برای تنهاه یک سرویس دهنده »که با به
ن داده سروکار دارد فراهم می آورد. هیچ تضمینی درباره دستیابی های همزمان توسط
یس گیرنده های مختلف فراهم نمی کند.
های سازگاری مبتنی بر سرویس گيرنده. با نمادگذاری های زیر توصیف می شود.
نسخه قلمداده 2 »را در کپیآا ,در يمان نشانمیدهد
([1] )۷۷5 نتیجه مجموعه لیاز عملیاتهاین-وشتوجر سا لستکه از مان مقنار دهیاولیه لنجام می
1۷ : عملیاتهایموجود در ([۷/5)0[]6 .که به کپیمحلی[ب] در یمان
“ae
SON
صفحه 29:
(MONOTONIC READS) ن یکنواخت
اولین مدل سازگاری مبتنی بر سرویس گیرنده .مدل خواند های یکنواخت است.
"گر فریندی مقدارقلم داده 2 را می خوان. هر عملیات خواندن موفق بعدی روی 76
توسط آن فرآینده همیشه همان مقدار یا جدیدترین مقدار را برمی گرداند.
"سازکاری خواندن یکنواخت تضمین می کند. که اگر فریندی مقدار 1 را در زمان 1
دار بعدا نسخه قدیمی تر 6 را نخواهد دید.
مثل : بانك اطلاعاتى يست الكترونيك توزيع شده
”كاريرى كه نامه هاى خود را در ايران مى خواند. سا زكارى خواندن يكنواخت تضمين مى كند كه
در مكان جغرافيابى ديكرى ope UES Jia همان بيغام ها را در صندوق بستى خود داشته باشد.
هه
صفحه 30:
ن یکنواخت
۱1: WS(x,) ۳0-۰
ا »قا :ها
(a)
۱1: WS(x,) ۳0
WS(x») = R(X) :ما
صفحه 31:
نن های یکنواخت (۷۷۲۳۲۲۶5 0۵۸۱0۲0۵۱۱۱)
"عملیات نوشتن توسط فرآیندی روی قلم داده ی ۵6 قبل از هر عملیات نوشتن بعدی موفق روی
X توسط همان قرایند. کامل می شود.
”مهم اين است كه عمليات های نوشتن به ترتیب درستی به تمام کپی های مخزن داده پخش
شوند.
سازگاری نوشتن یکنواخت شبیه سازگاری ۳۱۳0۵ مبتنی بر داده است.
مثل: به هنگام سازی توابع کتابخانه نرم افزاری
عمل بهنگام سازی در کتابخانه با جایگزینی یک یا چند تابع صورت می گرد که منجر به نسخه بعدی می شود.
سازگاری نوشتن یکنواخت تضمین می کند که .اگر بهنگام سازی روی کپی ی از کتابخانه انجام شودابتدا تمام بهنگام
سازیهای قبلی انجام می شود. L
م
صفحه 32:
(b)
~ W(x2)
صفحه 33:
“"اثر عمليات نوشتن روی قلم داده ۵6 همواره توسط عملیات خواندن بعدى 2 توسط
همان فرایند قابل مشاهده است.
عملیات نوشتن هميشه قبل از عملیات خواندن بعدی توسط همان فرآینده کامل می
شود و مهم نیست آن عمل خواندن در کجا انجام می شود.
بخواهیم رمز عبور خود را برای ورود به
و نتیجه اينکه در اين مدت کتابخانه قابل دسترس
ey
صفحه 34:
۱ ۱0
La: WS(x43X2)
fa)
صفحه 35:
"تضمین می شود. عملیات نوشتن روی قلم داده کا توسط یک فرآینده بعد از خواندن آخرین مقدار
توسط همان فرآیند انجام می شود.
هر عملیات نوشتن بعدی توسط فرآیندی روی قلم داده 6 بر روی کبی ای از اجرا می شود
که با تازه ترین مقدار خوانده شده توسط آن فرآیند به هنگام می شود.
۷سازکاری نوشتن ها بعد از خواندن هاء تضمین می کندکه واکنش به موضوعات, فقط در صورتی
درکپی محلی ذخیره می شوند. که موضوع اصلی در آنجا ذخیره شده باشد.
مثل : کاربران گروه های خبری شبکه,فقط پس از دیدن موضوع اصلی خبر می توانند,پست کردن پاسخ به این موضوع |
2
صفحه 36:
ري نوشتن بعد از خواندن ها
Lt: WS(x,) 50۸
Le: WS(x 3X2) »للا
مينى وجود ندارد كه عمليات انجام شده در 2-أروى كبى انجام شود كه باعمليات هاى انجام شده در 1-1
Li: WS(x,) ۳0
Le: WS(x>) ۰-۱۷۷
صفحه 37:
SEQUENTIAL CONSISTENCY
۱
Wixda
Client A
Client B
Client C
Client D
not sequential
Client A
Client B
Client C
Client D
sequential
ey
صفحه 38:
CAUSAL CONSISTENCY
(2 ۷)
R(x) &@ W(x) b
ات 8) (۶
2 )8 ط(د) 2
not causally consistent
(۵ Wixde
Wix)b
R(x)a R(x)b R(x)c
R(x)b R(x)a R(x)e
causally consistent
Client A
Client B
Client C
Client A
Client 8
Client C
Client D.
Client D
SON
صفحه 39:
در سیستمهای توزیعی که از تکثیر داده ها استفاده می کنند» بايد بدانيم جكونه
ودر چه زمانی نسخه های تکثیری ایجاد و مکان یابی می شوند تا بتوانیم
سازگاری نسخه ها را تامین کنیم.
ey
صفحه 40:
مکان با PLACEMENT
افتن مكان مناسب برای سرورتکثیر(سیستمی که نسخه تکثیر شده روی آن قرار
یگیرد) بیش از اینکه ريشه فنی وبهینه داشته باشد موضوع مدیریتی و تجاری است.
بطوركلى بايد از بين لاا محل موجود > محل مناسب انتخاب شود. برای اینکار
الا از روشهای ابتکاری استفاده میشود.
ر اينجا سه روش پیشنهادی را معرفی می کنیم.
صفحه 41:
سرور به دلخواه انتخاب می کنیم و کلاینتهایی که با آن حداقل فاصله را دارند را
می نماییم. (فاصله میتواند مواردی چون زمان تاخیر انتشار باشد)
این روش چون موقعیت کلاینتها مورد توجه قرار میگیرده روش کلاینت-آگاه
ey
صفحه 42:
این روش از سیستمهای خودگردان استفاده می کنیم.
نتم خود گردان: شبکه ای تحت مدیریت یک سازمان واحد که تمام گره های آن از
اتکل مسیریابی یکسان استفاده می کنند. در اینترنت هزاران سیستم خودگردان
سایی شده است.
اين روش ابتدا بزرگترین سیستم خودگردان را درنظرگرفته و یک سرور در بزرگترین
یریاب آن قرار می دهیم. سپس سراغ سیستم خودگردان بعدی میرویم.
ن روش چون موقعیت کلاینتها درنظرگرفته نمی شود به آن روش کلاینت-ناآگاه
بیم.
اک
صفحه 43:
روش در سال ۲۰۰۶ توسعه داده شد كه منطقه مناسب براى قراردادن نسخه هاى تكثيرى
با سرعت بالاترى نسبت به ديكر روشها انتخاب می کند. ایده اصلی این روش پیداکردن 1
وشه بزرگ و تعیین یک گره در هرخوشه بعنوان سرورتکثیر می باشد. برلی شناسایی این
شه ها کل فضا را به چندین سلول پارتیشن می کنیم.
Too small ‘Too large
Just right
صفحه 44:
۹ —> Serverinitiated replication
رد Client-initiated replication
Client-intiated replicas
سازماندهی منطقی انواع مختلف کپی های یک انبار
wy
داده
صفحه 45:
‘ex ۳ 5
نسخه های تکثیری دائمی
وب سایت میتواند فایلهای خود را روی تعداد محدودی سرور در یک محل واحد
کند و درخواستهای صفحات وب را به این سرورها هدایت کند. این روش خوشه
ازی است.
ینکه کل سایت روی تعداد معدودی سرور که از نظر جغرافیایی روی اینترنت
اکنده شده اند کپی شوند.فهرست این سرورها دراختیارکاربران قرارمیگیرد وآنها
لتوانند بنا به موقعیت خود یکی از آنها را انتخاب کنند.این روش به آینه سازی معروف
ت.همانطور که مشاهده می شود این روش از دید کاربران شفاف نیست.
دو روش معرفی شده دارای تعداد محدود نسخه تکثیری ودارای پیکربندی نسبتا
نسخه ها بعنوان پشتیبان یا تنها نسخه هایی که امکان دستکاری آن وجود دارد
ای تضمین سازگاری) ضروری است
VN
صفحه 46:
یک وب سایت که محل اصلی آن در نیویورک است را در نظر بگیرید.سرور این
سایت دراغلب موارد قادراست به ترافیک ورودی سایت پاسخ بدهد.ولی مواردی
پیش می آید که در چندروز خاص بایک موج بزرگ وناگهانی از درخواستها روبرو
شویم.درچنین مواقعی شاید ارزش داشته باشد که تعدادی نسخه های تکثیری
موقتی در مناطقی که این درخواستهای ناگهانی ازآنجا می آیند قرار دهیم.
ey
صفحه 47:
نسخه های 5 تکثیری سرور-منشا (ادامه)
Server without QO =
copy of file F
Client Server with
copy of F
9 File F
Server Q counts access from C1 and
Ce as if they would come from P
این زهیافت برای ایجاد کپی های فقط خواندنی در مجاورت محل
یان استفاده میشود.
محبوبیت این رهیافت روزیه روز درحال افزایش است بویژه در
١ السهاى ميزبانى وب كه در فصل 12 به أن بيشتر مپردان
~
صفحه 48:
نسخه های تکثیری کلاینتمنشا
نسخه هایی هستند که کلاینت ها تکثیر می کنند. این رهیافت را بیشتر با
نام حافظه پنهان می شناسیم.
حافظه پنهان: یک انبارموقتی برای ذخیره داده هایی است که کلاینت اخیرا
درخواست کرده.
مدیریت آن کاملا بر عهده خود کلاینت میباشد و انبارداده هیچ مسئولیتی
درقبال سازگاری آن ندارد.
با استفاده این رهیافت میتوان سرعت دسترسی به داده ها را بهبود بخشید.
ey
صفحه 49:
توزیع محتوبات
بعد ازتغييرات جه جيزى به دیگر نسخه های تکثیری باید منتشر شود؟
۱-انتقال یک داده از یک کپی به کپی دیگر
۲نتشار یک هشدارصرف درمورد بهنگام سازی
۳-نتشار عمل بهنگام سازی به کپی های دیگر
صفحه 50:
توزیع محتوبات (ادامه)
انتشار یک هشدار صرف در مورد بهنگام سازی:
انتشار هشدار همان کاری است که پروتکل بی اعتبارسازی انجام می دهد. در
این پروتکل فقط به سایر کپی ها اطلاع داده می شود که یک بهنگام سازی
صورت گرفته و داده ها یا بخشی از داده های آنها دیگر اعتبار ندارد.
از این رهیافت بهتراست در مواقعی استفاده شود که نرخ خواندن به نوشتن
پایین است.
ey
مهمترین مزیت این روش مصرف ناچیز پهنای باند است.
صفحه 51:
توزیع محتویات (ادامه)
ار عمل به هنگام سازی به کپی های دیگر:
این رهیافت هیچ داده ای به نسخه های دیگر فرستاده نمی شود بلکه فقط عمل به
ام سازی و پارامترهای آن به اطلاع آنها می رسد تا خود. اين تغييرات را اعمال
ند. به این روش تکثیرفعال میگویند.
ت آن مصرف ناچیز پهنای باند است.
ey
صفحه 52:
۳۱5۲-8۵5۴0 , پروتکلهای
PULL-BASED
رهیافت 0۱15۱-08560 که به 56۷6۲-08560 معروف است
بهنگام سازی بدون اطلاع و درخواست دیگر نسخه های تکثیری به آنها
فرستاده می شود.
از اين روش معمولا درنسخه های تکثیر دائمی یا سرور-منشا استفاده میشود.
اين روش درمواقعی که به درجه بالایی از سازگاری نیاز باشد کاربرد دارد که
البته بايد درمواردى استفاده شود که عمل خواندن به نوشتن بالا باشد.
ey
صفحه 53:
۳۱5۲۸-8۵5۴0 , پروتکلهای
(els!) PULL-BASED
pull-base cats, که به 1160-08560 معروف است سرور
يا کلاینت است كه از سرورهای دیگر درخواست می کند تا بهنگام سازی را
برای آنها بفرستد.
اين پروتکل برای حافظه پنهان کلاینت کاربرد دارد.
اين روش مواقعى مفيد است كه نسبت خواندن به نوشتن نسبتا پایین است.
ey
صفحه 54:
پروتکلهای ۴۱۵۱۱-8۸۵5۴0 , ۳۱5۱۷-8۵5۴0
موضوع
حالت در سرور
پیام فرستاده شده
مان پاسخ در کلاینت
(ادامه)
Push-based
فهرست نسخه های
تکثیری وحافظه های 5
مشتری
بهنگام سازی(واحتمالایس
از آن ارسال خود داده ها)
بلافاصله(دربدترین حالت
زمان آوردن تغییرات)
Pull-based
ندارة
مشورت وبهنگام سازی
زمان آوردن تغییرات
ey
صفحه 55:
۱6۸۵5۴ هراجا
کیبی از راهبردهای انتشار بهنگام سازی بنام اجاره شکل گرفته که نوعی ze
است بین سرور و کلاینت که در آن سرور میپذیرد تا برای زمان مشخصی +
سازی را به کلاینت بفرسند.این اجاره به سه صورت میتواند مطرح شود:
اجاره قدمت-محورنمدت زمان اجاره آیتمهای داده بر اساس اخرین زمانی که تغییر
کرده اند مشخص میشود.
اجاره تواتر-نوسازی-محورنسرور به کلاینتهایی که دفعات بیشتری درخواست بهنگام
سازی حافظه پنهان خود را کرده اند اجاره طولانی تری می دهد
اجاره سرباری فضای حالت : وقتی سرور متوجه فشارکاری میشود مدت اجاره های
جدید خود به کلاینتها را کاهش میدهد.
ey
صفحه 56:
gUNICAST (2% تك
MULTICAST, 23.5, >
در روش تک پخشی ۱۱۳06۵51 وقتی یک سرور بخواهد تغییرات انبار
داده را به | سرور دیگر بفرستد بایستی لا] پیم ارسال شود اما در روش
چندپخشی Multicast سرور فقط یک پیام ارسال میکند واین لایه
های پایین تر شبکه هستند که مسئولیت رساندن انها به سرورهای دیگر
رابعهده دارند.
بدیهی است که 0115/۱-0356] بهمراه چندپخشی کارایی بهتری دارد
زیرا سرور, بهنگام سازی را فقط با یک پیام به سایر سرورها میفرستد.
همجنين ©35-| لام بدلیل اینکه یک سیستم درخواست دریافت
بهنگام سازی را می کند بهمراه تک پخشی بهترین کارایی را دارد.
ey
صفحه 57:
پروتکلهای سازگاری
* سازگاری پیوسته
* يروتكلهاى اوليه - Primary-base jy
نوشتن راه دور
نوشتن محلی
* پروتکلهای نوشتن تکثیر شده
تکثیرفعال
پروتکل حد نصاب محور
"* پروتکلهای انسجام حافظه پنهان
* سازگاری مشتری مدار 5-01
صفحه 58:
سازگاری پیوسته
** سعی ميکنيم تا انحراف عددی را دریک محدوده خاص نگه داریم.ایده
اصلی اینست که اگر سروری با سروری دیگر هماهنگ نباشد.لیست نوشتن
های خود را با آن سرور میفرستد.
** برای اينکه کهنگی یک نتیجه تکثیری در محدوده مشخص نگه داریم
میتوانیم از ساعت برداری استفاده کنیم.هنگامی که سروری متوجه شود
زمان آخرین ساعت برداری از محدوده خاصی فراتر رفته تمامی نوشتنهای
بعد آن محدوده را فرامیخواند.
** هر سرور یک صف نوشتن های غیردائمی برای کپی 26 خود داردکه ترتیب
واقعی و دقیق آنها را هنوز نمی داند.برای محدود نگه داشتن انحراف ترتیب
کافیست حداکثر طول نوشتنهای غیردائمی را محدود کنیم.
ley
صفحه 59:
REMOTE-WRITE پروتکلهای نوشتن راه دور
(PRIMARY-RACKIIP)
Client Client
Primary server
xk for item x x Backup server
۷۷۱۱ 5 R1| |R2
¥ wa wa ع =
a و
Sy ee
Pe ee Data store
w2 عن
۷4
W1. Write request Ri. Read request
W2. Forward request to primary R2. Response to read
W3. Tell backups to update
WA. Acknowledge update
WS. Acknowledge write completed
صفحه 60:
LOCAL
WRITE
تکل نوشتن محلی
Client Client
Old primary New primary
k for item x foritemx 007 Backup server
R41] | R2 \ ۷۷۱ | ۵
۴۲ 3 ay
WS WS
احم خخ
اه
كن ww a
A yA A wa Data store
WS Ww2
R1. Read request
R2. Response to read
31 W4 }
W1. Write request
W2. Move item x to new primary
W3. Acknowledge write completed
Wa, Tell backups to update
WS. Acknowledge update
MN
صفحه 61:
تکثیر فعال ۴ ۸۲۱۷
REPLICATION
یکی از مشکلات این رهیافت اینست که تمامی عملیات بایستی در همه جا
بهترتیب یکسان انجام شود. بنابرين ميتوانيم ذو اين بروتكل از مکایزم
جنديخشى كاملا مرتب یا یک هماهنگ کننده مرکزی بنامتالی
alice! SEQUENCE js کرد.
ey
صفحه 62:
پروتکل حدنصاب -محور QUORUM-
BASE
پروتکل از مکانیزم odlitul VOLING میکندایده اصلی این رهیافت اینست که
فرایندهای کلاینت قبل از هر عمل خواندن یا نوشتن روی یک آیتم داده تکثیر شده
. باییستی رای موافق تعدادی از سرورهای تکثیر را بدست آورد.
روش بهینه از این پروتکل اینست که برای حدنصاب خواندن و حدنصاب نوشتن
قوانين زير د شودة
| حدتصابن وشتن ۷۲| حدنصابخولندن لا] تعداد سرورهایک پیها
sys: از ناسازگاری خواندن نوشتن
1. ۷ +2۷۷ < 27
De Ny > N/2
x
گیری از ناسازگاری نوشتن نوشتن
صفحه 63:
برو تکل حدنصاب-محور (ادامه)
Read quorum
Write quorum
a ROWA:
ReadOneWriteAll ی ناصحیح 3 انتخاب صحیح
سرعت خواندن بالا و زکاری نوشتن نوشتن
نوشتن بايين هد
صفحه 64:
پروتکلهای انسجام حافظه پنهان
"* راهبرد تشخیص انسجام : زمانی که سازگاری تشخیص داده می شود.
** راهبرد پیشبرد انسجام : در آن چگونگی سازگار نگه داشتن حافظه پنهان با
سرورهای تکثیر تعیین می شود.
ey
صفحه 65:
سازگاری کلاینت مدار
ly اینکه بتوانیم مجموعه های خواندن و نوشتن یک کلاینت را مدیریت
کنیم آن را به چندین نشست تقسیم میکنیم.
هم چنین برای استفاده موثرتر از برچسب های زمانی ساعت برداری استفاده
برچسب زمانی یک نشست هميشه آخرین عمل نوشتن که توسط این برنامه
دیده می شود و بخشی از آن است را نشان می دهد.
ey
صفحه 66:
با تشکر ازتوجه شما
ey