تبليغاتX
گرید کامپیوتینگ-Grid computing

گرید کامپیوتینگ-Grid computing

سایت تخصصی در مورد گرید کامپیوتینگ-grid computing-globus و سیستم های توزیع شده و علوم جديد كامپيوتر

نگاهي به اوراكل 11g

 

نسخه جديد اوراكل با نام 11g بيستم تير 1386 به صورت رسمي توسط اين شركت معرفي گرديد. بنا به ادعاي مسئولان اين شركت، اين نسخه نسبت به Oracle 10g حدود 482 قابليت جديد دارد كه اغلب در زمينه مديريت بهتر، دسترسي‌پذيري بيشتر و ساختار هوشمندانه ارائه شده است. در اين نسخه با استفاده از فناوري فشرده‌سازي تقريباً دو سوم در ذخيره‌سازي اطلاعات صرفه‌جويي مي‌شود. امكاناتي همچون Data Guard ،Replay Workload (براي ذخيره تمامي فعاليت‌هاي پايگاه داده)، Online Application Upgrades ،Quick Fault Resolution (مديريت سريع رفع اشكال)، Database Repair Adviser (براي كمك به مديران پايگاه اطلاعاتي) و كامپايلر Native براي Java و PL/SQL اين نسخه را از اوراكل 10g متمايز مي‌نمايد. بيشتر قابليت‌هاي جديدي كه در نسخه 11g وجود دارد، در واقع ابزارهايي هستند كه به DBA كمك مي‌كنند كارهاي مديريتي مانند مديريت حافظه، مديريت فضا و ... را بهتر انجام دهد. اگرچه هنوز در ايران سازمان‌ها و شركت زيادي با نسخه‌هاي 8 و 9i كار مي‌كنند و اغلب درصدد ارتقاي سيستم‌هاي خود به Oracle 11g هستند و گمان نمي‌رود حداقل تا چند سال آينده از اين نسخه جديد استفاده كنند، خالي از لطف نخواهد بود كه بدانيم چه قابليت‌هاي جديدي در اوراكل 11g وجود دارد. در اين مقاله قصد آن نيست كه كليه 482 قابليت جديد اوراكل 11gرا بررسي شود، بلكه به صورت كلي اشاره‌اي مي‌شود به تيترهاي مهم‌ترين قابليت‌هاي اين نسخه از بانك اطلاعاتي اوراكل.

482 قابليت جديد در اوراكل 11g وجود دارد كه اغلب در زمينه مديريت بهتر، دسترسي‌پذيري بيشتر و ساختار هوشمندانه ارائه شده است.

قابليت‌هاي جديد در SQL

- Clause جديد Pivot: اين Clause به ما اجازه مي‌دهد مانند جدول Pivot در اكسل بتوانيم چند ركورد را در يك ستون نمايش دهيم. با استفاده از اين قابليت مي‌توانيم ركوردها را به ستون و ستون را به ركورد تبديل كنيم. اين قابليت در SQL Server 2005 نيز معرفي شده است. براي اطلاعات بيشتر در مورد اين قابليت جديد، به اين نشاني مراجعه كنيد.

- با استفاده از قابليت ‌Scalable Execution مي‌توان به صورت خودكار نتايج جست‌وجوي SQL را در catch ذخيره نمود.
- نسخه ‌11g از مكانيزم‌هاي جست‌وجوي XML مانند XQuery و SQL XML پشتيباني مي‌كند‌. در اين نسخه كارايي‌ dbms_stats بالاتر رفته است.
- قابليت تنظيم Execution Plan براي Statementهاي مشخص وجود دارد.
- قابليت SQL پويا با استفاده از DBMS_SQL
- قابليت Tuning كامل و خودكار SQL
- توسعه قابليت SQL Access Adviser

قابليت پشتيباني از زبان‌ها

- توسعه درايور PHP براي اوراكل‌
- توسعه كامپايلرهاي Java و PL/SQL
- پشتيباني بيشتر از زبان XML
- پيشرفت در مديريت Sequenceها با ByPass كردن DML
- توانايي نوشتن ماكرو با زبان C

قابليت‌هاي جديد در PL/SQL

- اضافه شدن صفحه‌كليد Continue در PL/SQL
- توانايي غير فعال كردن حالت PL/SQL
- از آنجايي كه كدهاي PL/SQL در اوراكل 11g مستقيماً به Shared Library مي‌روند، كامپايل اين كدها از طريق زبان C انجام نمي‌شود و با سرعت بالاتري اين كامپايل صورت مي‌گيرد.
- تقويت مكانيزم اجرايي Stored Procedureها
- پيام‌هاي خطاي PL/SQL موقع كامپايل شفاف‌تر شده است.

قابليت‌هاي جديد براي مديران پايگاه‌داده (DBA)

- پيشرفت در مديريت چرخه اطلاعات يا Information Lifecycle Management
- قابليت Interval Partitioning كه به صورت خودكار پارتيشن‌هاي جديد را براي داده‌هاي جديد درست مي‌كند.
- ابزارهاي جديد جهت Load Balancing
- نوع داده جديد به نام Simple_integer در اين نسخه اضافه شده است. اين نوع داده هميشه NOT NULL است، به جاي اين‌كه Overflow شود، Wrap مي‌شود و از PLS_INTEGER سريع‌تر است.
-در اين نسخه از اوراكل ‌مي توانيم جدولي را Compress كنيم و آن را در OLTP معمولي استفاده نماييم.
- Trigger DMLها حدوداً 25 درصد سريع‌تر كار مي‌كنند.
- پيشرفت در مديريت فايل‌هاي اطلاعاتي NFS
- در اوراكل Server-Side Connection Pooling، 11g به ما اجازه مي‌دهد Sessionها را سريع‌تر توليد كنيم.
- توانايي تعريف ستون‌هاي مجازي كه در حقيقت Function هستند.
- اضافه شدن صفحه‌كليد Super براي اوراكل شيءگر
- قابليت ذخيره XML در CLOB يا Binary
- نوع جديد Trigger مركب كه داراي Sectionهايي براي پروسه‌هاي Before ،Row و AFTER است.
- اضافه شدن Automatic Diagnostic Repository) ADR) براي ذخيره خطاهاي به وجود آمده‌
- ابزار جديدي به نام Hangman Utility براي پيدا كردن عوامل كندي پايگاه‌داده‌
- ابزار جديد كنترل سلامتي پايگاه داده به نام Health Monitor) HM)‌
- ابزار جديد Advisers براي بالابردن كارايي پايگاه‌داده
- امكان تعريف نوبت اجرا شدن Triggerها
- توانايي تعريف ايندكس‌هاي مخفي يا Invisible Index

قابليت‌هاي جديد در Oracle Enterprise Manager) OEM)

- داشتن اينترفيس‌هاي گوناگون براي ارتباط با برنامه‌هاي مختلف‌
- نصب و برداشتن آسان نرم‌افزار اوراكل‌
- در اختيار گذاشتن GUI كمكي براي كاربران مبتدي جهت نگهداري بانك اطلاعاتي‌
- ابزار OEM Grid بهتر در مقايسه با نسخه‌هاي قبلي‌

قابليت تنظيم و افزودن كارايي بانك اطلاعاتي‌

- افزايش كارايي Automatic Memory Tuning) AMT)
- افزايش قابليت مديريت منابع I/O با دادن حق تقدم به فايل‌ها، نوع فايل‌ها و گروه‌هاي ديسك ASM
- در نسخه جديد اوراكل، ADDM مي‌تواند در تمامي سطوح RAC به مدير پايگاه مشاوره دهد.
- مرتب‌سازي ‌(Sorting) ‌سريع‌تر انجام مي‌گردد.

قابليت‌هاي جديد امنيتي و كنترل كاربران‌

- طريقه رمزگذاري در اوراكل 11g از DES به SHA-1 تغيير يافته و در نتيجه رمزگذاري در اين نسخه از اوراكل امن‌تر شده است.
- معرفي فايل‌هاي امن SecureFiles به جاي LOBs
- معرفي Audit Vault براي امنيت بيشتر كاربران
- توانايي تعريف Security روي پورت‌ها و URLها

+ نوشته شده در  چهارشنبه بیست و ششم تیر 1387ساعت 10:3  توسط یوسف عبدلیان باریکرسفی  | 

تراكنش چيست ؟

 

تراكنش چيست ؟

 

تعريف تراكنش و خواص آن :

هرگونه برنامه اي كه توسط كاربر در محيط بانك اطلاعاتي اجرا مي شود تراكنش نام دارد. تفاوت اصلي يك تراكنش با يك برنامة معمولي در محيط غير بانكي اين است كه تراكنش همواره به نظام مديريت بانك اطلاعات (DBMS )تسليم مي شود و اين نظام در اعمال هرگونه كنترل و حتي به تعويق انداختن و ساقط كردن آن آزادي عمل دارد.هدف اصلي از اينگونه كنترل ها و حذف و تعويق ها حفظ جامعيت و صحت بانك اطلاعات است .در بانك اطلاعات آنچه در درجة اول اهميت دارد "داده" است نه برنامه .

از همان ابتداي انقلاب بانك اطلاعات اين سؤال ذهن متخصصين را به خود مشغول داشته بود كه "چه كنترل هايي لازم است روي برنامه ها اعمال شود تا صحت و جامعيت بانك اطلاعات تضمين گردد. " آقاي جيم_گري       ( Jim Gray )در سال 1981 ثابت كرد كه چهار كنترل زير لازم است روي تمامي واكنش ها در بانك اطلاعات اعمال گردد تا صحت و جامعيت آن تضمين شود(موسوم به خواص ACID).

1. يكپارچگي(atomicity )

2. همخواني(consistency)

3. انزوا (isolation)

4. پايائي(durability)

خواص A (atomicity) و D (durability) توسط واحدي فعال و قدرتمند به نام بازگرد(recovery) و خاصيت  I(isolation) توسط واحد پر اهميت ديگري  به نام كنترل همروندي (concurrency control ) انجام مي گيرد. خاصيت C ( consistency ) كه به اعمال قواعد جامعيتي سيستم مربوط مي گردد، ساده تر از سه بخش ديگر است.  تراكنش از آغاز تا پايان، مراحل مختلفي را پشت سر مي گذارد.·  "آغاز" و "پايان" باعث مي شوند كه چند دستور به عنوان يك واحد تلقي شوند و بتوان خاصيت  Aرا روي آنها اجرا كرد.

·  مراحل "انتظار" و"اجرا" آنقدر تكرار مي شوند تا تراكنش يا بطور موفق پايان پذيرد يا به مشكلي برخورد كند و ساقط شود. انتظار ،ممكن است بارها تكرار شود . هرگاه تراكنش به منابعي نياز داشته باشدكه در اختيار تراكنش هاي ديگر است بايد منتظر بماند ، و در صورت توفيق در گرفتن  منبع ، اجراي آن دنبال مي شود.

 

 

 

آغاز

انتظار

اجرا

پايان

آمادة انجام

سقوط

انجام

 

·  مرحلة "سقوط" (abort) زماني اتفاق مي افتد كه سيستم به هر دليلي تشخيص دهد كه تراكنش نبايد ادامه يابد . اين تصميم در مواقعي اتخاذ مي شود كه يا تراكنش مرتكب خطا شود و يا سر راه     تراكنش هاي ديگر قرار گيرد.با ساقط كردن تراكنش، علاوه بر جلوگيري از ادامة كار آن، بانكهاي اطلاعاتي مربوطه به مرحلة قبل از شروع آن تراكنش باز مي گردند، يعني تغييرات اعمال شده           كان لم يكن مي شود.

·  مرحلة "آمادة انجام" (ready-to-commit) زماني پيش مي آيد كه تراكنش همة كارهاي مربوطه را انجام داده و كافيست بخش هاي مختلفي را كه با آنها سروكار داشته جهت پايان دادن به كار هماهنگ كند. اين مرحله در تراكنش هاي طولاني، به ويژه در بانك هاي اطلاعاتي نامتمركز ، اهميت بسيار دارد زيرا هر سايت در كوران كار با تراكنش هاي ديگري نيز سروكار داشته و ممكن است تصميم گرفته باشد اين تراكنش را ساقط كند ، در حاليكه قبلا آمادة پايان دادن به آن بوده است .در نتيجه قبل از پايان دادن به يك تراكنش لازم است همة  بخشها  با هم  هماهنگ شود.

·  انجام ( commit ) مرحله اي است كه همة بخشها براي نهايي كردن كار توافق كرده اند. در اين صورت ، علاوه بر اعلام پايان موفق تراكنش به كاربر، تضمين مي گردد كه در صورت بروز هر گونه اتفاقي،آنچه كه اين تراكنش انجام داده خدشه دار نگردد.[3]

مدل هاي تراكنش هاي پيشرفته :

پنج مدل از تراكنش هاي پيشرفته را مورد مطالعه قرار مي دهيم : 

     1 . مدل تراكنش هاي آشيانه اي  ( Nested Transaction Model)

     2 .Sagas

     3 . مدل تراكنش چند سطحي(Multi-level Transaction Model)

     4 . Dynamic Restructuring

     5 . مدل هاي  Workflow

1.مطالبي در مورد Nested Transaction Model

تراكنشي است كه از سلسله مراتبي از زير تراكنش(subtransaction) ها تشكيل شده است. و در واقع داراي تعدادي از تراكنش هاي فرزند مي باشد. هر فرزند نيز مي تواند تراكنش هاي تودرتو داشته باشد. در طرح پيشنهادي Moss  تنها تراكنش هاي سطح برگ اجازه دارند عمليات DB را اجرا كنند.در نتيجه تراكنش ها مجبور هستند از پايين به بالا انجام ( commit ) شوند. با اين وجود ، تراكنشي كه در يك سطح         سقوط مي كند(abort) مجبور نيست كه تراكنش بالايي را متأثر كند.

پدر (parent)اجازه دارد بازگرد(recovery)  [در مورد بازگرد در صفحات بعدي توضيح داده خواهد شد.]  خود را اجرا كند. ايجاد تغييرات در زيرتراكنش هاي انجام شده و در سطوح مياني ، تنها در محدودة پدران بلافصل آن قابل مشاهده است. بعلاوه ، انجام  زيرتراكنش بطور شرطي انجام يا سقوط بالايي خود را تعيين مي كند. با استفاده از اين مدل ، تراكنش هاي سطح بالا از خواص سنتي ACID براي تراكنش هاي       يك دست استفاده مي كنند. 

 

نمونه اي از تراكنش هاي آشيانه اي :

2 .Sagas

 

Sagas  دنباله اي از تراكنشها (ي يك سطح) است كه در ميان تراكنش هاي ديگر جاي داده شود.DBMS ضامن كلية تراكنش هايي كه در sagas با موفقيت پايان مي يابند و تراكنش هاي خنثي كننده كه بطور جزئي اجرا مي شوند، مي باشد. sagas در واقع يك سطح از آشيانه اي است.

3 . مدل تراكنش چند سطحي(Multi-level Transaction Model)

تراكنش هاي Open nested تراكنش هايي هستند كه در آنها به نتايج جزئي زير تراكنش ها اجازه داده    مي شود تا بعنوان تراكنش هاي بيروني باشند.sagas  ها نمونه اي از تراكنش هاي Open  nested هستند. تراكنش چند سطحي ، درختي از زيرتراكنش ها  است كه با هم در تعادل هستند.Node ها در يك عمق از درخت، مشابه عمليات در يك سطح از تجرد(abstraction)در DBMS هستند.Edge ها انجام هر عمل توسط دنباله اي از عمليات در سطح پايين بعدي را نمايش مي دهند.

 

مثالي از تراكنش هاي چند سطحي :

 

T7 :T7 1  كه balx را به اندازة 5 افزايش مي دهد.

      T7 2  كه 5 را از baly  كم مي كند.

T8 :T8 1 كه baly را به اندازة 10 افزايش مي دهد.

     T8 2  كه 2 را از balx  كم مي كند.

در جمع و تفريق مي توان اين زير تراكنش ها را به هر طريقي اجرا كرد و در هر صورت جواب درستي حاصل مي گردد.

4 . Dynamic Restructuring

براي اعمال قيود تحميل شده توسط خواصACID در تراكنش هاي يك دست (flat) ، دو عمليات جديد پيشنهاد مي شود: split_transaction و join_transaction

split_transaction : ‌شكستن تراكنش ها به تراكنش هاي قابل مرتب شدن و تقسيم كردن عمليات و منابع  آنها بين تراكنش هاي جديد. در نتيجه تراكنش هاي حاصل بطور مستقل عمل مي كنند.

join_transaction : عمل برگشت را انجام مي دهند، و كارهاي پشت سرهم از دو تراكنش يا بيشتر را با هم تركيب مي كنند.

مزاياي مهم dynamic restructuring عبارتند از :

·        بازگرد توافقي(Adaptive recovery)

·        انزواي تقليلي(Reducing isolation)  [4]

 

بازگرد(recovery)

در اجراي تراكنش ها، اتفاق يا خرابي هاي گوناگون ممكن است پديد آيد. اين اتفاق ها را مي توان به دسته هاي زير تقسيم كرد :

1. اتفاق در تراكنش مانند خواندن دادة غلط (مثلا رشته به جاي عدد)، پيدا نكردن دادة مورد نياز ، تجاوز از محدوده روي رسانه و غيره .

2. اتفاق در نرم افزار كه ممكن است طبيعي باشد مانند بن بست، يا غير مترقبه مانند ويروس يا پيش آمدن  حالتي در داده ها كه قبلا پيش بيني نشده و باعث از كار افتادن بخشي از نرم افزار ها مي شود.

3. اتفاق در سخت افزار كه متداولترين نوع خرابي است مانند خرابي بخشي از ديسك يا حافظة اصلي وغيره .

4. اتفاق خارجي مانند آتش سوزي ، دستيابي غير مجاز ، دزدي و زلزله.

براي مقابله با اين اتفاقات و خرابيها ، استراتژيها و پيشگيريها و راه كارهاي متفاوتي نياز است . ميزان سرمايه گذاري و درجة اعتماد در اين امر به حساسيت داده ها بستگي دارد. بخشي از راه حل ها با نرم افزار و بطور خودكار قابل انجام است ولي بخش ديگري به كارهاي دستي و مكانيكي نياز دارد  (مانند گذاشتن ديسكهاي حساس در صندوق نسوز). سيستم بازگرد در بانك اطلاعات هنوز  صددرصد  خودكار نشده است يعني ممكن است مواردي پيش آيد كه دخالت انسانها در بازگرداندن بانك به حالت صحيح ضروري باشد. يكي از عوامل تعيين كننده در مديريت بازگرد ، نوع حافظه هاي موجود در  بانك اطلاعات است .حافظه ها را مي توان به   دسته هاي زير تقسيم كرد :

·        حافظة موقت (volatile)

·        حافظة دائم (non-volatile)

·        حافظة پايدار (stable)

بازگرد در بانك اطلاعات به دو روش متفاوت تقسيم مي شود و هر كدام به گونه هاي مختلفي قابل پياده سازي هستند :

1. روش كارنامه(log- based)

2. روش رونوشت(shadow paging 

 

+ نوشته شده در  یکشنبه بیست و سوم تیر 1387ساعت 21:6  توسط یوسف عبدلیان باریکرسفی  | 

 

Grid چيست ؟

 

انفجار اخير در كشش تجاري و علمي بسوي Grid ايجاب مي كند تا اين پرسش را مطرح سازيم كه : بهر حال Grid چيست ؟ پيشنهاد مي كنيم كه سه مورد وجود دارد كه مشخص مي كنند يك سيستم Grid  است يا نه ؟ همچنين ما، درباره نقش هاي بحراني كه استانداردها براي تعريف Grid بازي مي كنند بحث مي كنيم.

نياز براي يك تعريف مشخص

 Grid ها از مباحث تاريك و مبهم آكادميك به موارد بسيار عام و محبوب تبديل شده اند. ما درباره  Gridهاي محاسباتي ، Gridهاي داده ، Gridهاي علمي ، Gridهاي دستيابي ، Gridهاي دانش ، Gridهاي زيستي ، Gridهاي حسي ،  Gridهاي دسته اي، Gridهاي فضاي باز و  Gridهاي كالا،مطالبي مي خوانيم. با گذاشتن يك جدول  روي ناحيه شبكه محلي مي توان يك "Grid دسته اي" ايجاد كرد ، دراينصورت شبكه سيستم فايل من، مرا با يك حافظه Grid تامين مي كند. براستي آيا هيچ سيستم كامپيوتري بدون Grid  وجود  دارد؟

 در نهايت يك Grid بايد در شرايط و ضوابط مربوط به برنامه ها، ارزش هاي تجاري و نتايج علمي كه آنرا ايجاد مي كنند و تحويل مي دهند، سنجيده شود نه در يك معماري خاص. بهرحال بايد اين پرسش ، پاسخ داده شود كه آيا Grid computing براي پيشرفت و رشد خود نيازمند اعتبار سنجي و ميزان كردن(تمركز كردن) است يا نه؟ از اين نظر و از لحاظ جنبه هاي مشابه ، موقعيت ما شبيه اينترنت در حدود سال 1990 است. قبل از آن فروشنده ها ادعا مي كردند كه شبكه هاي خصوصي شبيه SNA و DECNET قسمتي از اينترنت هستند ، و عده اي ديگر  بر اين عقيده بودند كه هر شبكه محلي در شكل و فرم  اينترنت است. اين موقعيت گيج كننده فقط هنگامي روشن شد كه پروتكل اينترنت (IP) بطور وسيع براي هر دو شبكه محلي و گسترده اتخاذ شد.

تعاريف اوليه :

قبل از 1998 ، Carl Kesselman و    Ian Foster     سعي كردند يك تعريف در كتاب                                       ""The Grid: Bluerint for a New Computing Infrastructure   ارائه بدهند. آنها نوشتند:

" يك Grid محاسباتي(computational grid) زيربناي سخت افزار و نرم افزار است كه يك دسترسي قابل اطمينان ، سازگار ،  فراگير  و  معقول(صرفه جويانه) را براي قابليتهاي محاسباتيِ   high-end، فراهم   مي كند."

البته قبل از نوشتن اين ،آنها درباره تقاضاي دسترسي به محاسبات، داده و سرويس ها بحث كرده بودند.

 در 1969، Len Kleinrock  به صورت نابهنگام پيشنهاد كرد :

" ما احتمالا گسترش « استعمال كامپيوتر» را مثل استعمال الكتريسيته و تلفن در حال حاضر خواهيم ديد، كه به خانه ها وادارات بصورت انفرادي و در سرتاسر كشور سرويس خواهد داد."

در نوشته هاي بعدي ، The Anatomy of the Grid نوشته شده بوسيله  Steve Tuecke  در 2000 ، كه تعريفهايي در آنها يافت مي شود كه به موضوعات اجتماعي وسياسي اشاره كرده و Grid computing را با   " تقسيم هماهنگ منابع  و حل مسائل بصورت پويا  و سازمانهاي مجازي  چندبنگاهي                       (multi-institutional) " ربط داده اند . مفهوم كليدي توانايي در نحوۀ گفتگو براي اشتراك منابع در بين     مجموعه اي از بخش هاي شركت كننده و بعد استفاده از منابع حاصل براي برخي اهداف بود .

آنها همچنين درباره اهميت پروتكل هاي استاندارد بعنوان وسيله اي براي فعال كردن عملكرد داخلي و زيربناي عادي ،در كتاب مذكور،بحث كردند.

يك Grid  Checklist  

جوهرة  تعريف هاي بالا مي تواند در يك چك ليست ساده قرار بگيرند ، بر طبق آن يك Grid سيستمي است كه :

1)هماهنگي منابعي كه موضوع مطالعة كنترل متمركز نيستند...

 (يك Grid ، منابع و كاربران با دامنه هاي كنترل متفاوت را هماهنگ و مجتمع مي كند.                                                                                                                                بعنوان مثال: واحدهاي مديريتي مختلف در يك شركت يا شركت هاي مختلف. همچنين Gridروي موضوعاتي   مانند امنيت ، خط مشي، پرداخت و عضويت ، نظارت مي كند. به عبارت ديگر ما با يك سيستم اداره كننده محلي( local management system) سروكار داريم.)

2) ...استفاده از استاندارد ها ،واسط ها و پروتكل هاي چندمنظوره 

(يك Grid از پروتكل هاي چند منظوره و واسط هايي كه بر موضوعات اساسي مانند  تصديق(authentication)، اختيار (authorization)، كشف منابع و دسترسي به منابع  نظارت مي كنند ، تشكيل شده است.البته خيلي اهميت دارد كه اين پروتكل ها و واسط ها ، استاندارد و آزاد باشند. به عبارت ديگر ما با يك سيستم مخصوص كاربرد (applicationspecific) سروكار داريم.)

3) براي آزاد كردن خصوصيات كلي سرويس ها.

(يك Grid به منابع سازندة خود اين امكان را مي دهد تا در يك روش متناسب براي رهاسازي وضعيت هاي مختلف يك سيستم، استفاده شوند. بعنوان مثال براي واكنش زماني ، توان عملياتي ،‌قابليت دسترسي و امنيت ، و يا تخصيص يكسان چندين منبع متفاوت براي برطرف كردن مطالبه هاي پيچيدة كاربران. بنابراين استفاده از سيستم هاي مركب بهتر از استفاده از مجموع قسمتهاي آن است.)

البته در مورد چك ليستي كه در بالا بحث شد بايد دقت كرد كه منظور از "كنترل متمركز"و "پروتكل هاي چندمنظوره ، استاندارد"و"خصوصيات سرويس ها " چيست‌؟ ابتدا اجازه دهيد تا چك ليست را روي كانديدا هاي "Grid" ها آزمايش كنيم.

اولا ، اجازه دهيد تا سيستم هايي را بررسي كنيم كه طبق چك ليست ما بعنوان Grid نيستند.يك سيستم      اداره كنندة cluster شبيه Sun’s Sun Grid Engine ، Platform’s Load Sharing Facility ، يا  Veridian’s Portable Batch System ، وقتي كه روي يك كامپيوتر موازي يا شبكة محلي نصب مي شود، يك منبع Grid قدرتمند تشكيل مي دهد. در مقياس متفاوت ، Web‌ يك Grid نيست  بلكه يك پروتكل چند منظوره و آزاد است كه دسترسي به منابع توزيع شده را فراهم مي كند، اما از آن منابع براي رهاسازي مقادير مفيد از خدمات ، استفادة هماهنگ نمي كند.                         

از طرف ديگر آرايش برنامه هاي چند سايتي مانند Platform’s MultiCluster بطور منطقي مي تواند اولين نسل از Grid ها ناميده شود. بعنوان مثال : سيستم هاي محاسبة توزيعي توليد شده توسط Condor ، Entropia وUnited Devices كه مي توانند desktop هاي بي كار را تحت كنترل درآورند؛ سيستم هاي peer-topeer مانند Gnutella كه توسط تسهيم فايل ها بين جفت هاي شركت كننده حمايت مي شوند ؛ و يك ترتيب بهم پيوسته از Storage Resource Broker كه بوسيلة دسترسي هاي توزيع شده بين داده ها حمايت مي شود.

Grid  : نياز به پروتكل هاي بين Grid ها

چك ليست ما دربارة اينكه چه چيزهايي لازم است تا يك سيستم  يك Grid باشد بحث مي كند ، اما هنوز اين سؤال مطرح است كه يك Grid مشخص چه ويژگي هايي دارد؟ نسخه هاي Grid نيازمند پروتكل هايي       مي باشند كه تنها آزاد و چند منظوره نيستند اما بالاخره استاندارد هستند. اين استاندارد ها به ما اجازه مي دهند تا آرايش اشتراك منابع را بطور پويا و بدون هيچ قسمت اضافي بوجود آوريم . همچنين استانداردها بعنوان    وسيله اي براي فعال كردن ابزارها و سرويس هاي چندمنظوره مهم هستند.

تعريف پروتكل هاي استاندارد براي “InterGrid” در حال حاضر تنها مساله مهم براي Grid ها مي باشد . خوشبختانه پيشرفت هاي قابل ملاحظه اي حاصل شده است. بطوريكه در كنار استانداردها ، مجمع عمومي Grid داريم. كه اكنون در اين مجمع افرادي هستند كه براي تعريف Open Grid Services Architecture (OGSA) تلاش مي كنند.[1]

 يك معماري OGSA در زير ديده مي شود :

 

 

 

 

 

 

 

 

 

 

در شكل بالا منابع فيزيكي شامل Service ها و storage و  network است . و منابع منطقي كه منابع فيزيكي را اداره مي كنند شامل فايل سيستم ها ، مدير DB ، راهنما ها (directories) و اداره كننده هاي workflow

مي باشد.

OGSI مكانيزم هاي وب سرويس ، مانند XML و WSDL را براي تعيين واسط هاي استاندارد، رفتارها و واكنش داخلي همة منابع Grid بكار مي اندازد. [2]

 

+ نوشته شده در  یکشنبه بیست و سوم تیر 1387ساعت 21:1  توسط یوسف عبدلیان باریکرسفی  | 

معماری GridTP

 

معماری GridTP

دید کلی از GridTP

X/Open DTP یک استاندارد از پردازش تراکنش های توزیع شده، که یک base ایده آل جهت ساختن     سرویس های GridTP برای پردازش تراکنش Grid است را فراهم می کند. GridTP  به سه لایه تقسیم     می شود :         

                 1   . لایه مدل منابع مشترک

2       . لایه OGSA Platform

3       .لایه Data Virtualization Services

 

 

 

در لایه مدل منابع مشترک هر بانک اطلاعاتی به منابع وابسته است و سیستم مدیریت بانک بعنوان مدیر منابع عمل می کند(RM). مدیر تراکنش(TM) نقش اساسی در GridTP  در هماهنگی تراکنش عمومی دارد. امروزه  DB ها بعنوان منابع قابل مدیریت رفتار می کنند. در OGSA ، هر چیزی بعنوان Grid service ارائه        می شود.  TM داده اصلی و توابع مدیریت تراکنش را فراهم می کند که می توانند Hosting Environment را برای ارتباط OGSI ارائه کنند.OGSI مکانیزم های اساسی مانند ایجاد، نامگذاری و مدیریت روی آن چیزی که OGSA Platform آنرا ساخته است، را تعریف می کند.

در لایه Data Virtualization Services  ساختن خدمات GridTP ،که خدماتDomainspecific سطح بالایی بر مبنای OGSA platform هستند، ما با محدودیت روبرو هستیم . در این لایه ، بوسیله خدمات GridTP ، ما نوعی   Data Virtualization Service فراهم می کنیم (DVS). DVS  دسترسی های وابسته به داده های توزیع شده ، کشف پویای منابع داده ، تعادل پویای بار کاری و شمای مدیریت در محیط های Grid را ارزیابی می کند. خدمات GridTP می تواند نیازمندی های DVS را با هم پیوند دهد .بعلاوه ، GridTP توانایی هماهنگی تراکنش های توزیع شده بین چندین DB را می تواند فراهم کند

+ نوشته شده در  یکشنبه بیست و سوم تیر 1387ساعت 20:57  توسط یوسف عبدلیان باریکرسفی  | 

Grid Transaction

 

 

Grid Transaction

در اينجا يك معماري جديد از پردازش تراكنش Grid كه GridTP ناميده مي شود و بر اساس OGSA platform و مدل X/Open DTP مي باشد را ارائه مي كنيم. پيوند زدن ارث() سيستم هاي پردازش تراكنش به سرويس هاي Grid آسان  است ، زيرا GridTP شبيه مدل برنامه نويسي وinterface ها با ميان افزارهاي سنتي است . علاوه براين  GridTP از هرگونه پروتكل موجود براي تراكنش ها در سرويس هاي وب  (نظير BTP و WS-Transaction و غيره) مستقل است. در نمونه اي از مطالعة GridTP ، يك كاربرد Gridكه   3G  Portal  ناميده مي شود ارائه مي شود تا استفاده از اين معماري را نشان دهد.بنابراين GridTP يك  مكانيزم يكپارچه براي جاسازي مدل X/Open DTP در سرويس هاي Grid‌ ، كه يك انجام قابل رجوع نويدبخش براي آيندة Grid Transaction Processing را فراهم مي آورد ، دارد.

مقدمه :

نظارت كردن در انواع مختلف interface ها براي ادارة مدل هاي منابع معمولي در سيستم هاي مديريت حافظه و داده در محيط Grid هاي  پويا ، توزيع شده و قابل سنجش(scalable) حائز اهميت است. بطور كلي اكنون نمي دانيم كه كدام يك از اين interface ها بايد به عنوان پايه واساس در Platform هاي OGSA در نظر گرفته شود. علاوه بر اين ، اگرچه سيستم هاي مديريت بانك اطلاعاتي (DBMS) جزء اصلي پردازش داده به شمار مي آيند، بسياري از application هاي Grid  بر اساس فايل (file-based) هستند. بسياري از   پردازش هاي middleware تراكنش ها، مانند BEA Tuxedo جهت support  تناسب تراكنش هاي عمومي و دسترسي هاي آشكار در بانك هاي اطلاعاتي توزيع شده، اجرا مي شوند.

علاوه بر اين مدل استانداردِ پردازشِ تراكنشِ توزيع شده كه X/Open Distributed Transaction Processing (DTP) ناميده مي شود، وجود دارد. مدل X/Open DTP يك استاندارد براي نرم افزار پردازشِ تراكنشِ توزيع شده در منابع اشتراكي كه در سايت هاي مختلف و در شبكه قرار دارند مي باشد. آن  به چندين برنامة كاربردي اجازه مي دهد تا اين منابع را به اشتراك بگذارند و اجازه مي دهد تا بصورت هماهنگ در تراكنش هاي عمومي كار كنند. سيستم هاي مديريت بانك اطلاعات رابطه اي اين مدل را با واسط XA فراهم مي كنند. در ضمن بسياري از تراكنش ها يا message processing middleware  مانند(CICS, Encina Tuxedo, IBM, MQ Services و غيره ) از X/Open DTP   پيروي مي كنند. بنابراين جمع كردن مدل

X/Open DTP  در Grid computing  بسيار اميد بخش خواهد بود.

در واقع مدل X/Open DTP  موضوعاتي مانند naming ، امنيت ، پيكربندي و مديريت كه در پردازش تراكنش توزيع شده بسيار اهميت دارند را نمي تواند اداره كند. پيوند زدن سيستم هاي legacy transaction processing به سرويس هاي Grid آسان است ، زيرا GridTP  شبيهِ مدل برنامه نويسي  و     interface ها با middleware هاي سنتي (XA و TX) است.علاوه بر اين GridTP  از هرگونه پروتكل هاي موجود براي تراكنش ها مثل BTP, WS-Transaction و... در وب سرويس ها مستقل است. بنابراين طبيعي است كه OGSA و X/Open DTP را براي فراهم آوردن يك interface استاندارد از دسترسي دادة Grid و پردازش تراكنش با هم تركيب كنيم.

 

مدلX/Open  DTP  :

سازمان بين المللي استاندارد دو استاندارد در رابطه با پردازش تراكنش ها پيشنهاد كرده است:

استانداردهاي OSI-TP (Open System Interconnection – Distributed Transaction Processing )  و OSI-CCR (Open System Interconnection – Commitment, Concurrency  and  Recovery ) دو استاندارد پروتكل هايي را كه بر طبق پروتكل ارتباط(communication) OSI  سنتي ساخته مي شوند، و همچنين پروتكل ها و فرمت هاي پيغام داده ها براي انجام پروتكل دو فازي را تعريف     مي كنند.

 

در ضمن پروتكل هاي ISO-OSI هيچ interface  برنامه نويسي را تعريف نمي كنند.interface هاي      برنامه نويسي توسط پردازش تراكنش توزيع شده (DTP)مشخص مي شوند. مدل X/Open DTP  قسمتهاي سيستم پردازش تراكنش (TP)، مدير تراكنش(TM)،مديران منابع(RMs) و برنامه هاي كاربردي(AP) را مشخص مي كند.(به شكل 1 نگاه كنيد.)

TM : تراكنش هاي عمومي را اداره مي كند و تصميم به شروع آنها و انجام آنها يا به تعويق انداختن آنها را هماهنگ مي كند.

RM : منبع بازيافتي و اشتراكي را كنترل مي كند.

AP : دنباله ای از عملیات که شامل منابع می شود را مشخص می کند.

در این مدل برنامه های کاربردی ، حدود تراکنش ها را بوسیله استاندارد API که بعنوان واسط TX شناخته     می شود ، مشخص می کنند. و کارهای واقعی را با استفاده از واسط محلی RM مخصوص انجام می دهند . مانند : Embedded SQLو  ISAMو غیره . TM و RM ها با استفاده از واسط XA  (که پروتکل ها را برای هماهنگی،انجام کامل و بازگردِ تراکنش ها توصیف می کند) با هم مراوده می کنند. هر فروشنده RM مانند ORACLE و SQL Server و ... باید یک library قبول کننده XA که بوسیله TM مورد استفاده قرار می گیرد ، را فراهم کند.

همچنین این مدل یک پروتکل انجام دو فازی (2PC) و چندین بهینه سازی آن (تراکنش های فقط خواندنی که تنها در یک مرحله می توانند اجرا شوند و تراکنش های اکتشافی که می توانند قبل از 2PC negotiation اجرا شوند یا سقوط کنند ) که به تراکنش ها اجازه می دهد تا زیر تراکنش داشته باشند و یا یک زنجیر شکل دهند را تعریف می کندو نیز timeout هایی را برای تراکنش ها تعریف می کند و غیره . بنابراین ، این مدل یک چارچوب کلی از پردازش تراکنش های توزیع شده که بطور گسترده در صنعت مورد توجه است را ارائه       می کند.

اکنون تعداد زیادی از middleware  های پردازش تراکنش های تجاری ، مدل X/Open DTP   را برآورده می کنند. برای نمونه سیستم BEA Tuxedo  از استانداردهای XA و TX پیروی می کند. در نتیجه Tuxedo  میتواند پایگاه داده های متفاوت را در یک کاربرد ، در صورتیکه جامعیت داده حفظ شود، با هم تلفیق و ترکیب کند . بنابراین استفاده از این مدل در محیط های Grid جالب خواهد بود.  

 

+ نوشته شده در  یکشنبه بیست و سوم تیر 1387ساعت 20:44  توسط یوسف عبدلیان باریکرسفی  | 

Evaluate Moab Workload Manager® for Grids

Evaluate Moab Workload Manager® for Grids

This installation and configuration guide contains the most basic configuration and parameter settings needed to establish a grid environment with Moab. For more detailed information, please see our Grid Documentation.

Prerequisites

Step 1: Download

Step 2: Installation

Step 3: Configuring a Grid Environment

Step 4: Initial Testing

Step 5: Moab Cluster Manager and Access Portal

Step 6: Additional Configuration



Prerequisites

Moab Workload Manager for Grids is only installed on the head node of each cluster attached to the grid.

You will need a resource manager previously installed that can run workload. Moab will sit on top of the resource manager and aggregate cluster information while driving the resource manager. You can download TORQUE Resource Manager freely from here.



Step 1: Download

Step 1A: Register to receive an instantaneous free username and password if you don't already have one. Forgot your username and/or password?

Step 1B: Download the appropriate Moab build.

Linux-i386 - Version 5.1.0 (For use with version 2.1 or higher of TORQUE)

Linux-x86_64 - Version 5.1.0 (For use with version 2.1 of higher of TORQUE)



Step 2: Install

(Detailed installation instructions)

Step 2A: Extract the contents of the tar file.

Step 2B: Run ./configure in the newly created directory.

Step 3C: Run make install.

Step 4D: Type moab to run Moab.



Step 3: Configure a Grid Environment

Step 3A: Choose the Grid model that best suits your needs. Moab can control a grid environment using two main models:

This model allows users to submit jobs to a centralized source Moab server. The source Moab server will obtain full resource information from all clusters and make intelligent scheduling decisions across all clusters. As needed, jobs and data are migrated to the remote clusters. If communication between the source and destination clusters is lost, then the destination cluster can still run jobs locally. The model is recommended for intra-organization grid environments when cluster autonomy is not as necessary. Learn More

This model allows users to submit jobs from one Moab server (server 1) and have them scheduled on another Moab server (server 2). Jobs can also be submitted from server 2 and scheduled on server 1. The Moab servers will obtain full resource information from all clusters and make intelligent scheduling decisions across all clusters. As needed, jobs and data are migrated to the remote clusters.

This model allows for clusters to retain their autonomy while still allowing jobs to run on any cluster. No central location for job submission is needed and end users will not need to submit jobs from different nodes depending upon resource needs. A job is submitted from any location and is either migrated to nodes on the best utilized cluster or the nodes determined in the job submission. This model is recommended for grids in an inter-organization grid environment. Learn More


Model 1: Traditional Centralized Source-Destination:

I. Configure one cluster as the source cluster

moab.cfg (source server)

T1. Add an RMCFG parameter pointing to each destination cluster - in this case C2 and C3.

T2. Set TYPE=MOAB to tell the source Moab server that those clusters are destination Moab servers.

RMCFG[C2] TYPE=MOAB   SERVER=head.C2.xyz.com:40559 
RMCFG[C3] TYPE=MOAB   SERVER=head.C3.xyz.com:40558

NOTE: The name you give RMCFG in brackets, must be the same as the name given to the cooresponding SCHEDCFG.


II. Trusting the Destination: moab-private.cfg

The source Moab server needs to know which destination servers to trust. With the proper security key, the source Moab server will allow destination servers access to the grid.

Source Server

T3. Create a file named moab-private.cfg in the same directory as moab.cfg. Only should the user running Moab have read/write privileges to this file.

T4. Add the CLIENTCFG[RM:] parameter and point RM to the specific destination server as seen in the example below.

T5. Create a different KEY for each destination server.

CLIENTCFG[RM:C2] KEY=fastclu3t3r
CLIENTCFG[RM:C3] KEY=14436aaa

Destination Server

T6. Create a file named moab-private.cfg in the same directory as moab.cfg. Only should the user running Moab have read/write privileges to this file.

T7. Add the CLIENTCFG[RM:] parameter and point RM to the source Moab server as seen in the example below.

T8. The KEY will need to be the same key configured for the specific destination server in the source server's moab-private.cfg file.

T9. Add AUTH=admin1 to tell the source Moab server to allow the destination cluster complete Moab administrator rights.

moab-private.cfg (C2)

CLIENTCFG[RM:C1] KEY=fastclu3t3r AUTH=admin1

moab-private.cfg (C3)

CLIENTCFG[RM:C1] KEY=14436aaa AUTH=admin1


Model 2: Creating a True Peer-to-Peer (Bi-directional Flow)

I. Configure the Peer servers

moab.cfg (server 1)

P1. Add the RMCFG parameter and point it to server2.

P2. Set TYPE=MOAB to tell the Moab server that the destination is a Moab server as well.

RMCFG[server2] TYPE=MOAB SERVER=server2.omc.com:42005

NOTE: The name you give RMCFG in brackets, must be the same as the name given to the cooresponding SCHEDCFG.

moab.cfg (server 2)

P3. Add the RMCFG parameter and point it to server1.

P4. Set TYPE=MOAB to tell the Moab server that the destination is a Moab server as well.

RMCFG[server1] TYPE=MOAB SERVER=server1.omc.com:42006

NOTE: The name you give RMCFG in brackets, must be the same as the name given to the cooresponding SCHEDCFG.

II. Trusting the Servers - moab-private.cfg

P5. Create a file named moab-private.cfg on each cluster server and in the same directory as moab.cfg. Only should the user running Moab have read/write privileges to this file.

P6. Add the CLIENTCFG[RM:] for each peer server and point RM to the specific Moab peer server

P7. Create a KEY for each Moab server.

P8. Add AUTH=admin1 to tell the Moab server to allow the other server complete Moab administrator rights.

moab-private.cfg (server 1)

CLIENTCFG[RM:server2] KEY=443db-writ4 AUTH=admin1

moab-private.cfg (server 2)

CLIENTCFG[RM:server1] KEY=443db-writ4 AUTH=admin1


Step 4: Initial Testing

Step 4A: Type showq to see all the workload running on your system. You will see number of nodes and processors on the grid.

Step 4B: Type mdiag -n to see a list of all the nodes on the grid.

Step 4C: Type mdiag -R to see the state of the Moab servers.

Step 4D: Submit a job using msub -l nodes=[node on other cluster] script.

>msub -l nodes=node82 sleep.sh


Step 5: View the functionality of Moab Cluster Manager and Moab Access Portal for Grids

Currently, only Moab Workload Manager for Grids is available for evaluation from the Web site, however the other components of Moab Grid Suite are available upon request. Sites may also use corresponding products from Moab Cluster Suite to see an example of the product functionality.

Step 5A: Follow the instructions for downloading, installing and using Moab Cluster Manager. You can run an instance of Moab Cluster Manager for each cluster in the grid.

Step 5B: Follow the instructions for downloading, installing and using Moab Access Portal. It will provide you with the look, feel and usability of Moab Access Portal for Grids but without complete grid capabilities. You can also view the Online Demo. To evaluate Moab Access Portal for Grids, please contact Cluster Resources.



Step 6: Additional Configuration

Once you have verified that your grid is correctly configured, you may want to begin configuring additional policies or grid functionalities such as:

Data Staging

Shared Resources

Grid Sandbox

Click here for complete Grid Documentation

منبع

http://www.clusterresources.com/pages/products/evaluate-grid/evaluate-grid.php

+ نوشته شده در  پنجشنبه ششم تیر 1387ساعت 13:0  توسط یوسف عبدلیان باریکرسفی  |