580 likes | 811 Vues
مديريت همزماني در بانكهاي اطلاعاتي توزيع شده گزارش شماره2و3. پدرام قدس نيا اشكان بياتي. منابع. [1] Ramkrishnan, Gehrke, “Database Management Systems Third Edition” [2] H. T Kung, J. T. Robinson, “On Optimistic Methods for Concurrency Control”, ACM 0362-5915/81/0600 1981.
E N D
مديريت همزماني در بانكهاي اطلاعاتي توزيع شدهگزارش شماره2و3 پدرام قدس نيا اشكان بياتي
منابع • [1] Ramkrishnan, Gehrke, “Database Management Systems Third Edition” • [2] H. T Kung, J. T. Robinson, “On Optimistic Methods for Concurrency • Control”, ACM 0362-5915/81/0600 1981. • [3] S. Chen, Y. Ling, “Stochastic Analysis of Distributed Deadlock Scheduling” ACM 1-58113-994-2/05/0007 2005. • [4] G. Coulouris, J. Dollimore, T. Kindberg, “Distributed Systems Concepts and Design” third Edition 2001 • [5] K. Haller, H. Schuldt, C. Turker, “Decentralized Coordination of Transactional Processes in Peer-to-Peer Environments. • ACM 1-59593-140-6/05/0010 2005. • [6] A.Silberschatz, H.F.Korth, S. Sudarshan, Database System Concepts(Book) • [7] K. Haller, H. Shuldt, C. Turker. A fully Decentralized approach to coordionating Tranactional processes in peer-to-peer environments. Technical report 463, ETH Zurich, Switzerland, 2004. • [8] M. Tang, B. Lee, C. Yeo, X. Tang, Dynamic replication algorithms for the multi-tier Data Grid, Elsevier, October 2004. • [9] Distributed multiple selection algorithm for peer-to-peer systems August 2004Elsevier, Journal of Systems and Software
روشهاي مديريت همزماني متمركز قابل اعمال در محيط توزيع شده • S2PL • Optimistic • Time Stamping
S2PL • استفاده از پروتكل توزيع شده مديريت بن بست • استفاده از 2PL مشكلات : • پايين بودن بازدهي در زمان طولاني بودن تراكنشها • معطل ماندن تراكنشهاي كوچك • پايين بودن بازدهي به علت سربار گرفتن Lock هاي زياد
Optimistic • پياده سازي فاز validation به صورت توزيع شده مشكلات : • Rollback هاي زياد در زمان طولاني بودن تراكنشها • انتشار Rollback ها
Time Stamping همانند Time Stamping در سيستمهاي متمركز مشكلات : • مشكل ايجاد ساعت سرتاسري در محيط توزيع شده • سنكرون كردن clock بين دستگاهها
Decentralized Serialization Graph Test • استفاده از تست گراف توالي پذيري
Decentralized Serialization Graph Test • هر تراكنش گراف توالي پذيري مربوط به خود را نگهداري ميكند • به تراكنش زماني اجازه داده مي شود commit بشود كه تمام تراكنشهايي كه اين تراكنش به آنها وابسته بوده است commit بشوند (همانند روش optimistic)
Decentralized Serialization Graph Test مزاياي اين روش • تشخيص وابستگيهاي مابين تراكنشها توسط خود آنها • بدون نياز به هماهنگ كننده مركزي • كاملا به صورت توزيع شده • اجراي درست همه تراكنشها به صورت سرتاسري • با وجود اطلاعات ناقص تراكنشهاي وابسته به هم (از طريق رد و بدل كردن پيغام بين خود) • عدم نياز به اطلاع از گراف سرتاسري
Decentralized Serialization Graph Test روش : • هر كس commit شد بايد به همه كساني كه منتظر او بودند خبر بدهد • اجراي درست همه تراكنشها به صورت سرتاسري • با وجود اطلاعات ناقص تراكنشهاي وابسته به هم (از طريق رد و بدل كردن پيغام بين خود) • عدم نياز به اطلاع از گراف سرتاسري
چالشهاي موجود • Replication • Failure
Dynamic Replication Algorithms for the Multi-Tier Data Grid October 2004 Elsevier, Journal of Systems and Software
Static Replication • تعيين سياست Replication به صورت ايستا • بازدهي بد در هنگام تغييرات الگوي درخواست ها • Dynamic Replication • تغيير اتوماتيك سياست Replication با توجه به تغييرات الگوي دسترسي
وظايف RS(Replica Selector) • دريافت در خواستها و تخصيص replica مناسب به client درخواست كننده • باتوجه به : • نزديكي • ميزان load در replica ها
وظايف (Local Replica Manager)LRM • مديريت replica هاي داخل يك سايت • مديريت پروسه انتقال فايل • اطلاع انتقالهاي موفق به DRS جهت Log كردن
وظايف (Dynamic Replica Schedular)DRS • نگهداري تاريخچه الگوهاي دسترسي به فايلها • اجراي الگوريتم دايناميك replication • پيدا كردن فايلهاي با دسترسي بالا • پيدا كردن محل مناسب براي replicate كردن آنها • پاك كردن تاريخچه دسترسي ها و ساختن Log جديد بعد از Replication
وظايف (Dynamic Replica Schedular)DRS • وقتي DRS تشخيص مي دهد كه بايد replica جديد ساخته شد به LRM مربوطه درخواست مي دهد. • پس از ساخت replica به DRS خبر داده مي شود تا RC را update كند.
وظايف (Replica Catalogue )RC • مانند name server • Mapping بين نامها و مكان فيزيكي replica ها • اطمينان از سازگاري اطلاعات • Lock ها در RC نگهداري مي شود ولي توسط DRS مديريت مي شود
Concurrency • هر گاه درخواست تغيير توسط client صادر شود • DRS آن Replica را قفل مي كند • پس از پايان تغيير به DRS خبر داده مي شود • DRS همه Replica هاي متناظر را از تغييرباخبر مي كند • پس از اطمينان از سازگاري قفل را آزاد مي كند
ايجاد بهبود در معماري براي مقابله با Failure • تعدادي backup از DRS, RC,RS • استفاده از bully algorithm
ايجاد بهبود در معماري براي مقابله با Failure
الگوريتمهاي Dynamic Replication • Simple Bottom Up (SBU) • Aggregate Bottom Up (ABU)
Simple Bottom Up • ايده كلي : • قرار دادن replicaها تا جايي كه ممكن است نزديك به درخواست كننده ها وقتي كه تعداد درخواستها از حدي فراتر رود • جستجوي تاريخچه و يافتن دستيابي هاي بيشتر از حد مشخص شده
Simple Bottom Up • روش كار : • اگر replica در parent مربوط به client بود كاري نمي كنيم. • در غير اين صورت آن را در parent قرار مي دهيم • اگر parent پر بود به سراغ parent بعدي ميرويم تا ريشه.
Aggregate Bottom Up • تفاوت با SBU : • در نظر گرفتن ارتباط بين ركوردهاي اطلاعاتي و aggregate كردن ركوردهاي مرتبط
Distributed multiple selection algorithm for peer-to-peer systems August 2004 Elsevier, Journal of Systems and Software
محاسبات همتا به همتا (peer-to-peer) • به اشتراك گذاري اطلاعات و قدرت پردازش • دستيابي به قدرت پردازش بالا • دستيابي به گستره وسيعي از اطلاعات توزيع شده • بيش از نيم بيليون دلار سرمايه گذاري • Napster، Kaza، Emuleو ... • پروژه ضد سرطان دانشگاه آكسفورد • شبيه سازي ژنتيكي گوگل
كاربر ديگر • به اشتراك گذاري اطلاعات مفيد بين كمپاني هاي مختلف • شركاي تجاري • همكاران تجاري • رقبايي با منافع مشترك • مثلا تعدادي شركت بيمه • يا شركتهايي كه R&D مشترك دارند
تفاوت با موارد قبلي • نياز به امنيت اطلاعات بيشتر براي جلوگيري از فاش شدن اطلاعات خصوصي كمپاني در هنگام به اشتراك گذاري فايلها و قدرت پردازش. • كمتر بودن تعداد كامپيوتر هاي شركت كننده در كل سيستم • پيچيده تر بودن دستورالعملهاي بانك اطلاعاتي و نياز به الگوريتمهاي توزيع شده بهينه • تعلق كامپيوتر هاي شركت كننده به كمپاني به جاي افراد حقيقي
مشكلات الگوريتمهاي موجود در استفاده از بانكهاي اطلاعاتي توزيع شده مبتني بر P2P • زمانبر بودن الگوريتم در حالت توزيع شده • تعداد messageهاي رد و بدل شده زياد • ترافيك شبكه
يك راه براي الگوريتم Selection • انتقال همه اطلاعات به يك كامپيوتر • اجراي بهينه select روي آن كامپيوتر
اشكالات اين روش • امنيت • محدوديت در ظرفيت ذخيره سازي • پهناي باند مصرفي
الگوريتم توزيع شده انتخاب چندگانه • برگرفته از الگوريتم انتخاب تكي • تفاوت ناچيز در پيچيدگي و بازدهي • استفاده از دانش آماري از نحوه توزيع كليدها در كامپيوتر ها
هدف الگوريتم توزيع شده انتخاب تكي • انتخاب يك كليد در فايل بزرگي كه در سايتهاي مختلف پراكنده است • براي مثال 30 امين كوچكترين كليد • در كاربرد عملي به تعداد بيشتري كليد نياز است
هدف الگوريتم توزيع شده انتخاب چندگانه • يك مورد خاص براي مثال • پيدا كردن p-1 كليد (كليدهايي با مرتبه هاي n/p، 2n/p، ... و (p-1)n/p ) در سيستمي با n ركورد و p كامپيوتر • براي مثال پيدا كردن 30 امين و 60 امين كليد در سيستمي با 90 ركورد و 3 كامپيوتر
شرايط و فرضيات • پشتيباني ازbroadcast/multicast • يك فايل بزرگ به صورت فيزيكي مابين p كامپيوتر • تعداد n ركورد به صورت تقريبا uniform بين اين n كامپيوتر تقسيم شده است(يعني n/p ركورد در هر كامپيوتر) • كليدهاي موجود در فايل به صورت X(i,k) نمايش داده مي شوند • k عددي بين 1 و n/p • i شماره كامپيوتر را مشخص مي كند • X(i,1) < X(i,2) < ...< X(i, k) < ... < X(i, n/p)
شرايط و فرضيات (ادامه) • هيچ ترتيبي مابين كليدها در سايت هاي مختلف وجود ندارد. • نحوه توزيع كليدها در كامپيوتر هاي مختلف مي تواند از هر توزيع آماري دلخواهي پيروي كند • در اين مقاله براي راحت تر شدن فهم مثالها از توزيع ساده uniform استفاده شده است
هدف • پيدا كردن p-1 كليد هدف • مرتبه كليدهاي در كل فايل jn/p است (1<j<p-1) . • براي مثال پيد اكردن 30 امين و 60 امين كليد در سيستم 90 ركوردي با 3 كامپيوتر.
مراحل الگوريتم فاز اول : • مرحله اول • انتخاب coordinator • ارسال كوچكترين و بزرگترين كليد به coordinator • پيدا كردن MIN و MAX • پيدا كردن مقدار آغازين جدا كننده ها • DELIMITERj = MIN + (MAX-MIN)j / p • (1 <= j <= p-1)
مراحل الگوريتم فاز اول : • مرحله دوم • coordinator مقادير p-1 جداكننده را به همه كامپيوتر ها ارسال مي كند.
مراحل الگوريتم فاز اول : • مرحله سوم • هر كامپيوتر p-1 محور (pivot) انتخاب مي كند. • Pivot i,j بزرگترين مقدار در كامپيوتر iام است كه از DELIMITERj كوچكتر است(يا با آن برابر است).
مراحل الگوريتم فاز دوم : • هر كامپيوتر همزمان دو كار انجام مي دهد • محاسبه محور و محاسبه رتبه • R[i,j] تعداد كليدهاي كوچكتر از Pivot i,j در كامپيوتر i است. هر كامپيوتر p-1 محور يا Pivot از سايرين دريافت مي كند و كليدهاي خود را با آنها مقايسه مي كند و رتبه ها را محاسبه كرده و Broadcast مي كند.
مراحل الگوريتم فاز دوم : • هر كامپيوتر (p-1)2 عدد رتبه از سايرين دريافت ميكند و سپس رتبه خود را در كل فايل به كمك فرمول زير محاسبه مي كند : اگر اين حاصل جمع با كليد هدف برابر باشد كه عمليات متوقف مي شود و در غير اين صورت Pivot جديدي محاسبه ميشود و Broadcast مي شود.
مراحل الگوريتم فاز دوم : • NP—new value of Pivoti,j • OP—old value of Pivoti,j • LK—largest key of the sub-file • SK—smallest key of the sub-file • NK—number of keys in the sub-file • NP = OP+(LK-SK)*offsetj /NK