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

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

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

سوپرکامپیوتر Super Computer یا کامییوتر بزرگ

 

ابر رایانه ها برای کارهایی که به محاسبات زیاد و دقیق نیازمند است به کار می رود.
از جمله: پیش بینی وضع هوا , تحقیقات آب و هوایی ، نمونه سازی مولکولی محاسبه ی ساختار ها و خصوصیات ترکیب های شیمیایی، درشت مولکول های زیستی، بسپار ها, و بلور ها، شبیه سازی های فیزیکی مانند شبیه سازی هوا پیما در تونل باد، شبیه سازی انفجار جنگ افزار های هسته ای و تحقیقات در مورد جوش هسته ای ، رمز گشایی و مانند آن استفاده می شود.

ابر رایانه وسیله ای برای تبدیل مسایل محاسبه ای به مسایل ورودی و خروجی است. ابر رایانه رایانه ای است که در زمان معرفی از نظر ظرفیت پردازش و به خصوص سرعت محاسبه ازدیگر ماشین ها قوی تر باشد.

اولین ابر رایانه ها در دهه ی ۱۹۶۰به طور عمده در موسسه اطلاعات کنترل (CDC) توسط سیمور کری Seymour Cray  طراحی شد. کری تا دهه ی ۱۹۷۰ زمانی که برای تاسیس شرکت خود پژوهشکده کری, از آن جدا شد آنرا هدایت می کرد. کری بعدها با طرح های جدید خود بازار ابر رایانه را در دست گرفت و تا ۲۵ سال (۱۹۶۵ ۱۹۹۰) بی رقیب ماند.

در دهه ی ۱۹۸۰به موازات تولید یک دهه قبل تر کامپیوتر کوچک ها شمار زیادی از رقیبان کوچکتر وارد بازار شدند اما بسیاری از آنها در" رکود بازار ابر رایانه ها" ی اواسط دهه ی ۱۹۹۰ ناپدید شدند. امروزه ابر رایانه ها طرح های یک بار تولید شونده هستند که توسط شرکت های "سنتی" مانند IBM و HP طراحی می شوند. این شرکت ها بسیاری از شرکت های دهه ی ۱۹۸۰ را برای استفاده از تجاربشان خریداری کردند، هر چند در طراحی ابر رایانه ها موسسه ی کری متخصص تر است .

معنای کلمه ی ابر رایانه تا حدی متغیر است , و ابر رایانه های امروزی فردا دیگر کاربردی نخواهند داشت، همانگونه که از کولاسوس (Colossus)، اولین رایانه ی الکترونیکی برنامه دار رقمی دنیا، که طی جنگ جهانی دوم رمز های آلمانی ها را می شکست- پیدا است. ماشین های اولیه ی سی دی سی (CDC) صرفاً پردازنده های منفرد پر سرعتی بودند که تا ده برابر سریع تر از سریع ترین ماشین هایی که توسط دیگر شرکت ها معرفی شده بودند کار می کردند.


یک تحول در ابر رایانه

در دهه ی ۱۹۷۰ بیشتر ابر رایانه ها برای استفاده از پردازنده ی برداری طراحی می شدند و بسیاری از بازیگر های تازه کار برای ورود به بازار پردازنده هایی از این نوع را با قیمت ارزان تر عرضه می کردند. در دهه های ۱۹۸۰و ۱۹۹۰ پردازنده های برداری جای خود را به سیستم های پردازش موازی فشرده با هزاران سی پی یو (CPU) ساده ای داد که برخی از آنها واحد های غیر مرسوم و برخی طرح های متداول و سنتی بودند. امروزه طرح های موازی بر پایه ی ریز پردازنده های RISC " غیر مرسوم" مانند PowerPC یا PA_RISC قرار دارند.


ابزار های نرم افزاری

ابزار های نرم افزار ی پردازش توزیعی، API های استاندارد از جمله MPI و PVM و راه حل های نرم افزاری متکی بر منبع باز مانند Beowulf و openMosix، که کار ساخت نوعی از " ابر رایانه های مجازی" با استفاده از مجموعه های ایستگاه کار ها و خدمتگذار های عادی را تسهیل بخشید، را شامل می شود. فن آوری هایی مانند Rendezvous راه تولید خوشه های رایانه های ویژه را هموار ساخت. یک نمونه، تابع تفسیر توزیعی در برنامه کاربردی ترکیبیApple ۰۳۹;s Shake ست. رایانه هایی که از نرم افزار Shake استفاده می کنند کافی است فقط در شبکه در مجاورت یک دیگر باشند تا به طور خود کار منابع همدیگر را پیدا و مورد استفاده قرار دهند. در حالی که هنوز هیچ کس خوشه رایانه ی ویژه ای ای بهتر از ابر رایانه های سال گذشته نساخته است فاصله ی بین رایانه های رومیزی، یا حتی لپ تاپ ها و ابر رایانه ها در حال ناپدید شدن است و این احتمال وجود دارد که این روند با افزایش پشتیبانی توکار برای همسانی(parallelism) و پردازش توزیعی در سیستم عامل های رایانه های رومیزی تداوم یابد. یک زبان برنامه نویسی آسان برای ابر رایانه ها مبحث تحقیقاتی باز و وسیعی را در علم رایانه به جا ی می گذارد .


کاربرد ها ابر رایانه ها

ابر رایانه ها برای کارهایی که به محاسبات زیاد و دقیق نیازمند است به کار می رود از جمله: پیش بینی وضع هوا , تحقیقات آب و هوایی ( که شامل گرم شدن جهانی می شود)، نمونه سازی مولکولی (محاسبه ی ساختار ها و خصوصیات ترکیب های شیمیایی، درشت مولکول های زیستی، بسپار ها, و بلور ها، شبیه سازی های فیزیکی ( مانند شبیه سازی هوا پیما در تونل باد، شبیه سازی انفجار جنگ افزار های هسته ای و تحقیقات در مورد جوش هسته ای )، رمز گشایی و مانند آن. موسسه های نظامی و علمی از بزرگترین مشتری ها می باشند.


طراحی ابر رایانه

ابر رایانه ها به دلیل به کار گیری طرح های ابتکاری و جدید با سرعتی بیشتر از رایانه های متداول کار می کنند. این طرح ها ان ها را قادر می سازد بسیاری کارها را با وجود نیاز به برسی فنی جزییات بغرنج به صورت موازی انجام دهند.ان ها بیشتر برای انجام گونه های خاصی از محاسبات تخصص دارند و در برابر بیشتر کارهای محاسباتی عادی عملکرد ضعیفی از خود نشان می دهند. سازمان دهی حافظه این رایانه ها به دقت تنظیم شده است تا در تمام زمان ها پردازنده با داده ها و دستور العمل ها تغذیه شود. در واقع, بیشتر تفاوت پیاده سازی بین رایانه های کند تر و ابر رایانه ها به خاطر طرح سازمان دهی حافظه و ترکیب بندی اجزا است .

قانون Amdahl برای تمام سیستم های موازی صادق است. ابر رایانه ها تلاش زیادی را برای حذف توالی نرم افزاری اعمال کرده و برای شتاب دادن به تنگنا های (bottlenecks) باقی مانده از سخت افزار بهره می گیرند.


چالش های ابر رایانه و فن آوری ها

یک ابر رایانه تولید گرما می کند و باید خنک شود. خنک سازی بیشتر ابر رایانه ها یک مشکل HVAC بزرگ است .
اطلاعات نمی تواند با سرعتی بیشر از سرعت نور بین دو جز یک ابر رایانه جا به جا شود. به همین دلیل، ابر رایانه هایی که چندین متر طول دارند باید دارای زمان پاسخگویی دست کم یک دهم نانو ثانیه باشد. به این خاطر در طرح ابر رایانه ی کری ساخت سیمور کری از کابل های کوتاه ا ستفاده شده بود.

ابر رایانه ها مقادیر زیادی داده را در مدت زمان کوتاهی مصرف و تولید می کنند. برای اطمینان از این که اطلاعات به سرعت منتقل و به درستی ذخیره و باز یابی می شود به کاری بیشتر نیاز است .


تکنولوژیهای نوین فن آوری هایی برای ابر رایانه ها

فن آوری هایی که برای ابر رایانه ها شکل گرفته اند عبارتند از:

1.     پردازش برداری

2.     خنک سازی به کمک مایع

3.     دسترسی به حافظه نا یکنواخت(NUMA)

4.     لوح های شیاری که اولین نمونه ی ان بعد ها RAID نام گرفت

5.     سیستم فایل موازی


تکنیک های پردازش در ابر رایانه

تکنیک های پردازش برداری اول بار برای ابر رایانه ها توسعه یافت و همچنان در برنامه های کاربردی با کارایی بالامتخصص مورد استفاده قرار می گیرد . تکنیک های پردازش برداری به بازار مجتمع در معماریDSP ودستورهای پردازش SIMD برای رایانه های همه منظور تحلیل یافته است .


سیتم عامل در ابر رایانه ها

سیستم عامل آنها، که اغلب نسخه ای از لینوکس است، با سیستم عامل های دیگر ماشین های کوچکتر تفاوتی ندارند. به هر حال از آنجا که توسعه دهندگان سیستم های عامل منابع برنامه نویسی را محدود کرده اند رابط کاربری ان ها ضعیف تر است. و از این واقعیت منتج می شود که وقتی این رایانه ها که اغلب قیمتی برابر با صد ها هزار دلار دارند به بازار های خیلی کوچک فروخته می شوند بودجه ی R&D آنها اغلب محدود می شود. به طرز جذابی این روندی مداوم در صنعت رایانه بوده است.


برنامه نویسی کامپیوترهای بزرگ

معماری موازی ابر رایانه ها اغلب استفاده از تکنیک های برنامه نویسی خاصی را برای به کار گیری سرعت شان تحمیل می کند .کمپایلر های فرترن تک منظوره سریعتر از کمپایلر های زبان برنامه نویسی C و زبان برنامه نویسی , , C کد تولید می کنند بنا بر این فرترن زبان انتخابی برنامه نویسی علمی و بنابر این زبان بیشتر برنامه هایی که در ابر رایانه ها پیاده می شود است. برای بهره گیری از موازی بودن ابر رایانه ها، در خوشه های با اتصال شل از PVM و MPI ودر ماشین های با حافظه مشترک و هماهنگ از OpenMP استفاده می شود .

انواع ابر رایانه های – سوپر کامپیتور های همه کاره

سه دسته ی اصلی از ابر رایانه های همه کاره وجود دارد

ماشین های مبتنی بر پردازش موازی عملیات های محاسباتی مشترک را در آن واحد بر حجم زیادی از داده انجام شود.

رایانه های خوشه ای با کابل کشی کوتاه برای پشتیبانی از تعداد زیادی پردازنده و برای این که حافظه ی آنها بتواند با هم در ارتباط باشد از رابط های مخصوص استفاده می کنند . پردازنده ها و وسایل کابل کشی از ابتدا برای ابر رایانه ها طراحی می شوند.سریعترین ابر رایانه های همه کاره دنیا از این فن آوری استفاده می کنند.

خوشه های commodity از تعداد زیادی پی سی های commodity که با شبکه های محلی با پهنای باند زیاد و سرعت عکس العمل کم به هم مرتبطند استفاده می کنند.

در سال ۲۰۰۲ قانون مور (Moore) و اقتصاد مقیاس عامل های غالب در طراحی ابر رایانه ها است: در حال حاضر یک رایانه رو میزی جدید از یک ابر رایانه ی ۱۵ ساله قدرتمند تر است، و دست کم برخی از ترفند های طراحی که باعث می شد ابر رایانه های پیشین بهتر از ماشین های رومیزی کنونی کار کنند درون یک commodity pc ۰۳۹;s جا داده شده اند .از این گذشته , هزینه ی توسعه و تولید تراشه ها باعث می شد تا طراحی تراشه های سنتی برای یک اجرای کوتاه عملا غیر اقتصادی شده وتراشه های تولید انبوه که با داشتن تقاضا های کافی از عهده ی هزینه ی تولید خود بر می آمدند جای آنها را بگیرند .

علاوه بر این، بسیاری از مسایلی که توسط ابر رایانه ها انجام می شد به طور ویژه برای موازی سازی ( در اصل، تبدیل کردن به بخش های ریز تر برای این که بتوان در ان واحد بر روی ان ها کار کرد) و به خصوص، موازی سازی نسبتاً زمخت (coarse-grained parallelization) که مقدار اطلاعات مورد نیاز برای انتقال بین واحد های پردازش مستقل از هم را محدود می کند، مناسب است. به همین دلیل برای بسیاری از کار ها می توان " خوشه های" رایانه ای با طرح استاندارد که قابل برنامه نویسی برای کار به صورت یک رایانه ی بزرگ هستند را جایگزین ابر رایانه های سنتی و متداول کرد. بسیاری از این ها از سیستم عامل لینوکس استفاده می کنند، به آنها خوشه های Beowulf گفته می شود.

در ابتدای سال ۲۰۰۳ ، ابر رایانه های شماره ی ۳ دنیا خوشه ای از commodity است و تحت سیستم عامل لینوکس و با سخت افزار اینتل x۸۶ کار می کند. به هر حال انتظار می رود شماری از پروژه های خوشه ی commodity که تحت لینوکس و با CPU های AMD x۸۶-۶۴ عمل می کنند با سرعت بالاتری کار کنند. اگر این روند تداوم یابد احتمالا لینوکس سیستم عامل استاندارد de facto ابر رایانه ها خواهد شد.

در انتهای سال ۲۰۰۳ ابر رایانه های شماره ی ۳ دنیا خوشه ای متفاوت بود، VirginiaTech System X که با Mac OS X بر خوشه ای از سیستم های ۱,۱۰۰ G۵ کار می کرد.


ابر رایانه ها – کامپیوترهای بزرگ تک منظوره

ابر رایانه های تک منظوره ابزار های محاسبه ی به کارایی بالا هستند که معماری ان ها برای یک کار خاص طراحی شده است. این باعث می شود بتوان از تراشه های به طور خاص برنامه نویسی شده ی FPGA و یا حتی تراشه های VLSI سنتی استفاده و با قربانی کردن عمومیت، نسبت کار ایی/قیمت بالاتری تولید کرد. از این ابر رایانه ها برای برنامه های کاربردی مانند محاسبه های فیزیک فضایی و کد شکنی brute-force استفاده می شود.


چند نمونه از ابر رایانه های تک منظوره عبارتند از:

۱ـ Deep Blu برای بازی شطرنج
۲ـ محاسبه قابل پیکر بندی
۳ـ GRAPE برای فیزیک فضایی


سریعترین ابر رایانه ها – سوپر کامپیوترهای امروزی

سرعت یک رایانه عموماً با فلاپ (عملیات های اعشاری در هر ثانیه) اندازه گیری می شود .این اندازه گیری هزینه سربار ارتباطات را نادیده گرفته و فرض می کند که تمام پردازنده ها ی ماشین به داده ها دسترسی وبا تمام سرعت کار می کنند.بنابر این به عنوان یک استاندارد متری ایده ال نیست ولی به هر حال به طور گسترده مورد استفاده قرار می گیرد .

در ۲۹ سبتامبر سال ۲۰۰۴م سریعترین ابر رایانه ها نمونه اولیه Blue Gene/L با ۱۶.۲۵۰پردازنده ساخت IBM می باشد. این ابر رایانه می تواند با سرعت ۰۱/۳۶ ترا فلاپ کار کند. نمونه اولیه Blue Gene/L نسخه ی سفارشی شده ی معماری PowerPc شرکت ای بی ام (IBM) است. این نمونه اولیه فعلاً در Rochester شرکت ای بی ام، نیو یورک فاسیلیتی است اما نسخه های تولید در سایت های مختلف از جمله آزمایشگاه ملی لارنس لیور مور (LLNL) مهیا خواهد شد. قبل از Blue Gene/ L سریعترین ابر رایانه شبیه ساز زمین در موسسه علوم زمین یوکوماها ژاپن بود.


نمونه اولیه

Blue Gene/L نسخه سفارشی شده معماری Power Pc شركت (IBM) است. این نمونه اولیه فعلا در Rochester شركت ای بی ام نیو یورك فاسیلیتی است اما نسخه های تولید در سایت های مختلف از جمله آزمایشگاه ملی لارنس لیور مور (LLNL) مهیا خواهد شد. قبل از Blue Gene/L سریعترین ابر رایانه شبیه ساز زمین در موسسه علوم زمین یوكوهامای ژاپن بود.

 

http://bia2amniat.ir/post-287.aspx

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

معرفي ميان­افزارهاي Globus و Gridbus

 

با سلام به دوستان در قسمت بعد به بحث

                                        معرفي ميان­افزارهاي

                                Globus

                                                               و

                                                     Gridbus                         

 

    می پردازم لطفا با نظراتتان در بهبود وبلاگ کمک کنید

لطفا روی تبلیغات هم کلیک کنید   - با تشکر

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

پايگاههاي داده گريد قسمت سوم (اخطار - دادگان - زمان بندي - ابزاري براي دسترسي به پايگا ه داده -معم

 

4.2.2. اخطار

مشتري بايد مناطق مورد نظر خود را که عمليات اخطاردهي در آن مناطق بايد انجام شوند را مشخص نمايد. سپس ميان­افزار وظيفه­ي مديريت آنها اعم از ثبت, فيلتر بندي و اجراي عمليات بر روي سيستم­هاي پايگاه­هاي داده, را دارد. اين کارها در حالت ايده­آل با استفاده از سرويس عمومي رويدادها بر روي گريد قابل پياده­سازي و انجام است.

5.2.2. دادگان

دادگان در چنين سيستمي ترکيبي خواهد بود از سرويس­هاي دادگان پايگاه­هاي داده­اي که در گريد مجتمع مي­شوند که سرويس­هايي که به وسيله­ي اين پايگاه داده مجازي پشتيباني مي­شوند, را توصيف خواهند کرد.

6.2.2. زمان بندي

اين سرويس يک واسط عمومي براي زمان بندي منابع در پايگاه داده مجازي را فراهم مي­آورد. البته واضح است که به دليل ناهمگوني محيط و برنامه­هاي زمان­بندي­ مختلف آنها پياده­سازي چنين سرويسي بسيار دشوار است و هنوز راه حل قطعي براي آن ارائه نشده است.

3.2. ابزاري براي دسترسي به پايگاه داده

ايجاد ابزاري براي ارتباط با پايگاه­هاي داده وظيفه­ي گروه­هاي فعال روي GGF DAIS[1] است. پروژه­ي OGSA-DAI بر طبق پيمان همکاري EPCC,IBM,NEeSC,NWeSC و Oracle در حال توسعه مجموعه­اي از ابزارهايي است که اين واسط را پياده سازي کرده در حالي که استانداردهاي تعريف شده را رعايت مي­کنند.

هدف اصلي آنها مديريت قابل اطمينان منابع ذخيره سازي داده, منابع چندگانه انعکاسي[2], نام دهي توزيع شده و انتقال مجموعه­هاي عظيم داده بين مجموعه­هاي مرتبط مي­باشد.

ابزارهاي دسترسي و مجتمع سازي داده اجازه دسترسي به داده­هايي را که به وسيله­ي DBMS­هاي مختلف کنترل مي­شوند را مي­دهند, در حالي که اين DBMS­ها به طور خودکار و بدون استفاده از اين ابزار مي­توانند به کار خود به صورت محلي ادامه دهند.

1.3.2. معماري OGSA-DAI

اجزاي موجود در OGSA-DAI در چهار دسته قرار مي­گيرند که در ادامه مورد بحث قرار خواهند گرفت.

1.       سرويس­هاي پايگاه داده [3]گريد : اين سرويس­ها يا منابع داده ساخت يافته هستند يا يک پروکسي براي منابع داده مثل يک نمونه­ي واقعي از يک DBMS. در هر دو حالت اين سرويس­ها دسترسي به منابع داده را از طريق انواع درگاه[4] ممکن مي­سازند. براي پشتيباني از مدل­هاي مختلف داده­ها, زبان­هاي پرس و جو, زبان­هاي توصيف داده و زبان­هاي اختصاصي, اين واسط زبان­هاي مختلفي را که عمليات خاصي را روي پايگاه­هاي داده انجام مي­دهند را شامل مي­شود. انعطاف پذيري سرويس پايگاه داده گريد تا حدي است که مي­تواند دستورات اختصاصي يک DBMS خاص را نيز پياده سازي کند. همچنين مي­تواند يک سري از عملياتي را که بايد به صورت دسته اي[5] و روي پايگاه­هاي داده مختلف انجام شوند را بهينه سازي کند. اما کاربران براي استفاده وسيع تر و مستقل از محيط اجراي اين ابزار مي­توانند کار خود را به SQL 92 و XPath محدود کنند.

2.       سازنده­هاي سرويس پايگاه داده[6] : اين بخش مي­تواند به يک نمونه از DBMS متصل شود و يا همراه با يک نوعDBMS يا مدل داده­اي باشد. در حالت اول سرويس پايگاه داده گريدي که به وسيله­ي اين بخش ساخته مي­شود, براي پايگاه داده­ي خود, به عنوان يک پروکسي کار مي­کند. در حالت دوم اين سازنده سيستم­هاي ذخيره سازي داده­اي را فراهم مي­کند که قابل استفاده براي پايگاه داده مانند Oracle 9i يا مدل داده­اي مشخص شده مثل XML باشد. نتيجه مي­تواند يک GDSF,که پروکسي­هاي لازم براي تبادل ارتباط با پايگاه داده را فراهم مي­کند, باشد يا يک سرويس پايگاه داده گريد که اجازه دسترسي مستقيم به پايگاه داده مورد نظر را مي­دهد باشد. اين واسط کنترل و انعطاف پذيري بسيار بالايي را براي تعريف واضح زبان استفاده شده مي­دهد.

3.       ابزارهاي حمل و نقل اطلاعات گريد [7]: اين ابزار­ها يک نمونه­ي انتزاعي را بر روي سيستم­هاي موجود براي انتقال اطلاعات مانند GridFTP و MPICH-G ايجاد مي­کنند تا استفاده از آنها را عموميت بخشند. به طور کلي دو نوع واسط تعريف مي­شود. يکي به عنوان توليد کننده و ديگري مصرف کننده داده. يک GDTV مي­توانند به عنوان فراهم کننده­ي اطلاعات براي يک عمليات خاص به کار رود, براي مثال در بارگذاري حجم بسيار بالاي داده و يا عمليات بر روي داده­هاي توزيع شده. همچنين مي­تواند به عنوان انتقال دهنده­ي داده از يک عمليات به پايگاه داده استفاده شود, مانند برگرداندن نتيجه­ي يک عمليات محاسباتي به پايگاه داده براي ذخيره سازي آن.

 

4.       دفتر ثبت سرويس­هاي داده گريد [8]: در اين بخش سرويس پايگاه داده گريد و GDSF­ها ثبت مي­شوند تا هنگامي که کاربران به آنها نياز دارند با جستجو کردن در GDSR امکان دستيابي به منبعي با مشخصات مورد نظر براي آنها فراهم شود. GDSR در واقع نوع خاصي از دفاتر ثبت در OGSA است که به پايگاه­هاي داده و سرويس­هاي آنها اختصاص يافته است. به همين دليل دادگاني که اين مکان­ها ثبت مي­شوند با دادگاني که در ساير نرم­افزارهاي کاربردي ذخيره مي­شوند متفاوت هستند. براي مثال موارد زير که مختص پايگاه داده هستند ذخيره مي­شوند.

 

·         نوع مدل داده­اي براي مثال رابطه اي, XML و غيره

·         زبان­هايي که به وسيله­ي يک سرويس پايگاه داده گريد پشتيباني مي­شوند مانند SQL 92, XPath, XQuery و غيره

·         عمليات­هاي مورد پشتيباني مانند پرس و جو, حذف, ويرايش, درج, بار گذاري انبوه و غيره

·         وسيله انتقال داده پشتيباني شده GDTV

·         منابع و محدوديت­هاي آنها

·         ظرفيت و کارايي منابع

·         سياست­هاي دسترسي




[1] Database Access and Integration Services

[2] replication

[3] Grid Database Service (GDS)

[4] portType

[5] Batch

[6] Grid Service Database Factories(GDSF)

[7] Grid Data Transport Vehicle(GDTV)

[8] Grid Data Service Registry(GDSR)

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

پايگاههاي داده گريد قسمت دوم - پرس وجو -تراکنش­ها - بارگذاري حجيم داده

 

1.2.2. پرس­ وجو

در حالت ايده­ال يک واسط کاربري در اختيار کاربر قرار خواهد گرفت تا در آن اقدام به ثبت پرس­وجوي خود نمايد. سپس يک برنامه مترجم و بهينه ساز آن درخواست را فهميده و در سرتاسر گريد توزيع خواهد کرد و در نهايت نيز نتايج بدست آمده از آنها را باهم ترکيب کرده و به کاربر نشان خواهد داد. باز هم روش مبتني بر سرويس تعريف شده در بخش قبل به کمک ما خواهد آمد اما کماکان نمي­تواند سرويس­هاي سطح بالا ارائه کند. کارهاي قبلي در رابطه با پرس­وجو­هاي توزيع يافته کاملا مشابه مورد معادل در گريد هستند و مي­توان از آنها در انجام اين کار استفاده کرد. بدين ترتيب که هنگامي که يک درخواست پرس­جو ترجمه مي­شود عبارت معادل آن به منابع مختلف ارسال مي­شود تا به آنها پاسخ داده شود. سپس پاسخ­ها با توجه به زمان پاسخ گويي تعيين شده و هزينه­ي قابل پرداخت براي مشتري, انتخاب مي­شوند و به کاربر برگردانده مي­شوند. براي مثال اگر يک عمليات ترکيب[1] به عنوان گلوگاه مطرح شود, در حالي که بازدهي يکي از عوامل موثر در نتيجه­ي کار است بايد از دو منبع به صورت موازي استفاده کرد تا کارايي بيشتري داشته باشد.

2.2.2 تراکنش­ها

تراکنش­هاي ساده­اي که در بخش قبل تعريف کرديم نيازمندي­هاي­­ پايه­ي ما در اين حالت را نيز پشتيباني مي­کند در حالي که براي پشتيباني کامل و پيشرفته­ي تراکنش­هاي گريد هنوز مدل کاملي ارائه نشده است.

3.2.2. بارگذاري حجيم داده

اين کار در سيستم مي­تواند با استفاده از ابزاري که يک فايل حجيم را به فايل­هاي کوچکتر تقسيم کرده و در اختيار پايگاه­هاي داده مختلف قرار مي­دهد, انجام شود.

 

 

 



[1] Join

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

پايگاههاي داده گريد قسمت اول

 

 بانک اطلاعاتي گريد در واقع مجموعه­اي است از يک يا چند بانک اطلاعات توزيع شده ناهمگون, داراي تکرار که از طريق سيستم گريد با يکديگر تعامل و ارتباط منطقي پيدا مي­کنند و به سادگي نمي­توانند سرويس­هاي سراسري شفاف ارائه کنند.

به بياني ساده بانک اطلاعات گريد بسيار شبيه بانک اطلاعات چندگانه است با اين تفاوت اصلي که در بانک اطلاعات چندگانه به هر حال يک کنترل کننده مرکزي عملکرد سيستم را کنترل مي­کند اما در بانک گريد چنين کنترل کننده­اي وجود ندارد[9].

1.2. قرار دادن پايگاه­هاي داده در معماري گريد

در اين قسمت سعي بر توصيف چارچوبي داريم که پايگاه­هاي داده را به معماري گريد بيافزايد به طوري که نيازمندي­هاي خاص پايگاه­هاي داده را علاوه بر نيازمندي­هاي گريد پشتيباني کند.

اين چارچوب براساس سرويس[1] طراحي شده است. بدين صورت که هر سيستم پايگاه داده­اي که خود را با گريد منطبق کرده است, ليستي از سرويس­هايي را که پشتيباني مي­کند به گريد مي­دهد که بر اساس استانداردهاي گريد معرفي مي­شوند. البته واضح است که تعريف استانداردي که تمام سرويس­هاي ممکن را پشتيباني کند غير ممکن است زيرا پايگاه­هاي داده خاصي وجود دارند که دستورات خاصي را شامل مي­شوند که در هيچ بانک اطلاعاتي ديگري وجود ندارد. در چنين حالتي بايد به سيستم اجازه داده شود که سرويس­هاي مورد نظر خود را براي گريد تعريف کند. يکي از مزاياي استفاده از سيستم مبتني بر سرويس اين است که پايگاه داده مي­تواند در بخش مربوط به معرفي دادگان خود تمام سرويس­هايي را که مي­تواند پشتيباني کند را مشخص نمايد تا در هنگام کار با ساير پايگاه­هاي داده به مشکلي برخورد نداشته باشد.

 در چنين گريدهايي, صاحب بانک اطلاعاتي مشخص مي­نمايد که کدام سرويس­ها در گريد قابل استفاده باشند.

 
 

حال به بررسي تک تک سرويس­هاي مشخص شده در اين شکل مي­پردازيم:

1.1.2. دادگان

اين سرويس دسترسي به دادگان فني پايگاه داده و سرويس­هايي که توسط آن پشتيباني مي­شوند را فراهم مي­آورد. براي مثال اطلاعات مربوط به نام فيزيکي و منطقي بانک اطلاعاتي, مالکيت آن, تعداد نسخه­ها و نحوه­ي دسترسي به اطلاعات آن در اين سرويس آورده خواهد شد.

همچنين دادگان مربوط به توصيف يک سرويس تمام اطلاعات درباره­ي کيفيت سرويس, نحوه تبادل اطلاعات آن و تمام قابليت­هاي آن را شامل مي­شود. اين اطلاعات توسط توسعه­دهندگان نرم­افزارهاي کاربردي گريد و ابزارهايي که نياز به دانستن نحوه­ي تبادل داده با پايگاه­هاي داده را دارند استفاده مي­شود.  اين داده براي نرم­افزار­هاي کاربردي پويا بسيار حائز اهميت مي­شوند. در يک دسترسي دو مرحله­اي به بانک اطلاعاتي (ابتدا دسترسي به منابع گريد و سپس دسترسي به خود پايگاه داده از طريق DBMS آن) نياز است که يک سري عمليات ويژه با استفاده از اين دادگان قبل از دسترسي به پايگاه داده انجام شود تا بانک اطلاعاتي مزبور به منابع گريد اضافه شود.

2.1.2. پرس و جو[1]

با وجود اينکه هسته­ي تمام زبان­هاي پرس و جو يکسان است, اين زبان به طور خاص به پايگاه داده­اي که بر روي آن قرار مي­گيرد وابسته است. بنابراين در سرويسي که بر روي يک پايگاه داده قرار مي­گيرد نوع زبان پرس و جوي قابل پشتيباني بايد مشخص شود. براي زمان بندي کارها و نيز ايجاد بستري براي بهينه سازي توزيع منابع, نياز به فرايندي که تخمين زماني از اجراي پرس و جوها را به سيستم بدهد بسيار احساس مي­شود.

واضح است که سرويسي که براي انجام پرس و جو­ها به خدمت گرفته مي­شود بايد از امکانات بسياري از ديگر نرم­افزارها براي تبادل داده با ساير بخش­هاي گريد استفاده کند تا بتواند نتايج را به نقاط مختلف گريد انتقال دهد.

آخرين قابليتي که بايد وجود داشته باشد, امکان انتقال نتيجه به هر نقطه­اي به جز فرستنده­ي درخواست است. اين قابليت باعث مي­شود سيستم از حالت خادم-مشتري صرف خارج شده و امکاناتي براي انجام تعاملات پيشرفته را داشته باشد.

3.1.2. تراکنش­­ها

اين عمليات­ها قابليت انجام تراکنش بر روي يک پايگاه داده تنها و نيز توزيع شده در سطح گريد را ممکن مي­سازد. انواع مختلف تراکنش وجود دارد که به وسيله­ي DBMSهاي مختلف پشتيباني مي­شوند براي مثال در بعضي از آن­ها تراکنش­هاي تودرتو گنجانده شده است, در حالي که ساير پايگاه­هاي داده آن را پشتيباني نمي­کنند. به همين دليل سرويس دادگان تعريف شده بايد تعريفي از نوع تراکنش قابل پشتيباني ارائه دهد.

4.1.2. بارگذاري با حجم زياد[2]

پشتيباني از بارگذاري داده­هاي حجيم در پهنه­ي گريد يکي از مهم­ترين نياز­هاي پايگاه­هاي داده گريد مي­باشد که براي برخي نرم­افزارهاي کاربردي عاملي حياتي محسوب مي­شود. به عبارت ديگر سرويس بايد قادر باشد که با استفاده از مکانيزم­هاي انتقال داده و بهينه سازي آنها حجم بسيار زياد داده را در سرتاسر گريد منتقل کند.

5.1.2. اخطار[3]

اين مکانيزم به مشتري­ها اجازه مي­دهد تا نواحي مورد علاقه­ي خود در گريد را انتخاب کنند و هنگامي که تغييري در آن­ها به وجود آمد پيام اخطاري مبني بر تغيير اين ناحيه ارسال شود. پشتيباني از اين سرويس خود شامل دو بخش مي­شود که در بخش اول کاربر بايد اعلام نمايد که به چه بخشي علاقه مند است براي مثال درج, حذف, به روز رساني و غيره و در بخش دوم بايد متدي را پياده سازي نمايد که عمليات مربوط به آن تغيير را انجام دهد. پشتيباني از چنين مکانيزمي در مواردي که DBMSهاي مربوطه از زبان محلي مشترکي مثل محرک­ها استفاده مي­کنند بسيار ساده تر خواهد شد. در چنين سيستمي, هنگامي که يک پيام اخطار توليد مي­شود به سرويس رويداد گريد عمومي ارسال مي­شود تا تصميم گرفته شود که چه عملياتي بر روي آن بايد انجام شود و سپس اين سرويس در ادامه­ي کار خود عمليات مورد نظر را انجام مي­دهد؛ براي مثال يک ايميل به شخص خاصي ارسال مي­کند و يا عمليات خاصي را انجام مي­دهد.

6.1.2. زمان بندي[4]

اين سرويس به کاربران اجازه مي­دهد که استفاده از پايگاه داده خود را زمان بندي کنند که در اين حالت پهناي باند شبکه­اي هم که به اين پايگاه داده متصل است بايد از پيش تخصيص داده شود. از آنجايي که دسترسي اختصاصي به يک پايگاه داده غير عملي است مکانيزم­هايي لازم است که بر اساس آن منابعي مانند حافظه, پردازنده و ديسک در لحظاتي خاص در اختيار گريد قرار گيرد تا به انجام درخواست رسيده همت گمارد.

ادعايي بر اين مبنا وجود ندارد که سرويس­هاي ارائه شده در اين بخش تماما نيازهاي گريد و پايگاه­هاي داده­ي آن را پشتيباني مي­کنند. بلکه اين سرويس­ها فقط بنابر تجربيات سيستم­هاي مبتني بر پايگاه داده طراحي شده­اند و واضح است که با گسترش گريد نياز به توليد سرويس­هاي بيشتري احساس خواهد شد. سرويس­هايي که در اين بخش نام برده شدند تقريبا سطح پايين و عمومي هستند و سرويس­هاي سطح بالاتر در نرم­افزارهاي کاربردي گريد قرار خواهند گرفت.

2.2. مجتمع کردن پايگاه­­هاي داده در گريد

يکي از مزاياي مهم گريدهاي داده امکان مجتمع سازي منابع توزيع شده است. در اين بخش نشان خواهيم داد سيستم مبتني بر سرويس بخش قبل چگونه در اين مجتمع سازي به ما کمک خواهد کرد.

در روشي که ارائه خواهيم کرد از يک ميان­افزار مبتني بر گريد استفاده خواهيم کرد که به وسيله­ي آن يک پايگاه داده مجتمع شده­ي مجازي خواهيم داشت که از اين پس نرم­افزارهاي کاربردي به جاي استفاده مستقيم از پايگاه­هاي داده با اين ميان­افزار به تعامل خواهند پرداخت. با چنين کاري يک سيستم مديريت پايگاه داده مجازي خواهيم داشت که دقيقا همان سرويس­هايي را که در بخش قبل اشاره کرديم پشتيباني مي­کند اما در واقع هيچ نوع داده­اي را در خود ذخيره نمي کند و از ساير منابع ذخيره سازي استفاده مي­کند. براي انجام فعاليت بر روي چنين پايگاه داده مجتمع شده­ي مجازي از يک ميان­افزار سرويس­هاي مجتمع[5] استفاده مي­شود که با پايگاه­هاي داده مستقيما تبادل داده انجام مي­دهد


 

حالت ايده آل براي ساخت چنين سيستمي استفاده از ابزاري است که بتواند مجموعه­اي از پايگاه­هاي داده را بگيرد و با استفاده از آنها يک پايگاه داده مجازي بسازد. حال بايد به توصيف پيامدهاي چنين ابزاري بپردازيم.

روش مبتني بر سرويسي که در بخش قبل بررسي کرديم با قرار دادن استانداردهايي بر تعريف سرويس­ها در راه مجتمع کردن پايگاه­هاي داده به ما کمک بسياري خواهد نمود. هرچند به علت ناهمگوني منابع امکان استانداردسازي کامل وجود ندارد, اما اين ابزار مي­تواند به شکل زير اقدام به ساختن پايگاه داده مجازي نمايد:

اين ابزار, براي هر سرويس بايد در تمام دادگان پايگاه­هاي داده موجود در گريد به جستجو پردازد تا قابليت­هاي آنان را شناسايي کند. سپس با اطلاع از ميان­افزار مورد استفاده و امکاناتي که توسط آن قابل استفاده هستند گزينه­هاي مختلف براي مجتمع سازي سرويس­ها به دست مي­آيند. اگر تعداد گزينه­ها بيشتر از يک باشد يکي از آنها انتخاب شده و در ليست سرويس­هاي گريد قرار مي­گيرد ولي اگر تعداد گزينه­ها صفر باشد, به کاربر اطلاع داده مي­شود که عمليات مورد نظر قابل انجام نيست و بايد نمي تواند از سرويس مورد نظر استفاده کند.

پياده کردن تمام سرويس­هايي که در بخش قبل اشاره شد پيامدهاي خاصي را به دنبال خواهد داشت که در ادامه توضيح داده خواهند شد.

 


[1] Query

[2] Bulk Loading

[3] Notification

[4] Scheduling

[5] Service Federation Middleware

 

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

پايگاه­هاي داده گريد

 در بحث های بعد در مورد پايگاه­هاي داده گريد 

 

توضیح می دهم و مطالبی میگذارم

 

لطفا روی بنر های تبلیغاتی  هم کلیک کنید

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

محيط گريد(قسمت 6)

6.1. OGSA[1]

اين معماري, تکنولوژي گريد را به صورت مجموعه­اي از سرويس­هاي گريد (GS) نشان مي­دهد که خود براي اينکه نيازمندي­هاي گريد را برطرف کند, يک نمونه­ي توسعه يافته از وب سرويس است. دليل اصلي توسعه­ي سرويس وب به سرويس گريد مديريت حالات مختلف, هويت شناسي[2], جلسه­ها[3] و سيکل­هاي حيات آنها مي­باشد.

چنين چارچوبي بايد نيازمندي­هاي سازمان­هاي مجازي و گريد را به طور کامل برطرف کند. براي مثال بايد قابليت جابجايي و همکاري منابع ناهمگون را فراهم آورد. همچنين بايد سرويس­هاي متداول نظير اعتبارسنجي و تبادل داده را انجام دهد.

در واقع OGSA محصول ترکيب معماري انعطاف پذير و جامعيت پوياي سرويس­هاي وب و معماري مقياس پذير و توزيع شده­ي گريد است. در ادامه به بررسي سرويس­هاي وب و OGSA خواهيم پرداخت.

1.6.1. سرويس­هاي وب

سرويس­هاي وب معماري مجتمعي هستند که طراحي شده اند تا به سيستم­هاي اطلاعاتي که به صورت مستقل اجرا مي­شوند اجازه دهند که با يکديگر تبادل اطلاعات داشته باشند. تعريف آنها در استانداردهاي W3C به طور کامل بيان شده است و شرکت­هاي بزرگي مثل IBM, Oracle و Microsoft به طور فعال بر آن نظارت دارند.

تعريف سرويس وب به اين صورت مي­باشد:

"وب سرويس يک بستر و يک بخش نرم­افزار مستقل از پياده سازي است که مي­تواند

·   به وسيله­ي زبان توصيف سرويس تعريف شود

·   توسط بخش ثبت سرويس­ها ثبت شود.

·   از طريق يک مکانيزم استاندارد درک و فهميده شود(هنگام اجرا يا طراحي)

·   از طريق يک واسط برنامه نويسي نرم­افزاري(API) و معمولا بر روي شبکه فراخواني شود.

·   با ساير سرويس­ها ترکيب شود"[8]

 

سرويس­هاي وب به دو دليل براي ما حائز اهميت است:

1.                   وظيفه­ي آنها در متصل کردن چند منبع اطلاعاتي به هم ديگر مشابه چيزي است که ما در گريد به آن نياز داريم. اين به هم پيوستگي براي بسياري از سيستم­هايي که قصد استفاده از بسته­ها و اجزاي مختلف را دارند اهميت ويژه­اي دارد.

2.                   پشتيباني شرکت­هاي مختلف از استاندارد­هاي سرويس­هاي وب, زبان­هاي توصيفي, بسترها و ابزارهاي توسعه­ي نرم­افزاري زيادي را در اختيار قرار مي­دهد. اين امکانات با در اختيار قرار دادن يک چارچوب استاندارد براي توصيف و ترکيب کردن سرويس­هاي وب و سرويس­هاي گريد به سرويس­هاي گريد اجازه توسعه­ي سريع را مي­دهد.

يکي از مشخصه­هاي مهم سرويس­هاي وب وجود زبان­هايي است که براي توصيف جنبه­هاي مختلف بخش­هايي است که بايد با هم مجتمع شوند و اين زبان کاملا مستقل از پياده سازي و تکنولوژي­هاي محيط است. اين زبان­ها به طور کلي به وسيله­ي XML Schema پياده سازي مي­شوند. براي مثال WSDL[4] براي توصيف وظايف و واسطه­هاي سرويس­هاي وب به کار مي­رود وWSIL[5] براي پشتيباني سيستم­هاي ساده ثبت و بازيابي سرويس­ها به کار مي­رود. درحال حاضر تعداد بسياري پيشنهاد براي بازنگري اين زبان وجود دارد تا امکاناتي مثل کيفيت سرويس, وضعيت سرويس و انواع داده پيچيده تري را به اين زبان اضافه گردد.

 

2.6.1.سرويس OGSA

سيستمي که بر اساس OGSA طراحي مي­شود ترکيبي از سرويس­­هاي گريد خواهد بود. هر سرويس گريد يک سرويس وب است که به وسيله WSDL تعريف مي­شود. نمونه­هاي توسعه يافته­اي از WSDL در حال تعريف شدن هستند تا مشخصه­هاي خاص گريد را به اين زبان بيافزايند. اين نسخه توسعه يافته­ي WSDL به نامGSDL [6] معروف است.

يک سرويس گريد بايد واسطه­هاي معيني را پياده سازي کند, سيکل حيات مشخصي داشته باشد و در اين سيکل حيات به وسيله­ي GSH[7] به طور يکتا قابل شناسايي باشد. مديريت سيکل حيات شامل يک مدل مرحله­اي است تا بتواند بر روي ملزومات سيستم محدوديت قرار دهد, هنگامي که اختلال جزيي[8] در سيستم رخ دهد از بروز نابودي داده­هاي دائمي جلوگيري کند و استقلال سيستم را تضمين کند.

يک سرويس گريد ممکن است که بعضي از مشخصه­هاي خود را از طريق عناصر داده سرويس (SDE) به نمايش گذارد. اين عناصر داده سرويس مي­توانند ايستا يا پويا باشند. آنهايي که ايستا هستند در طول سيکل حيات سرويس گريد ثابت مي­مانند. اطلاعات اين عناصر داده سرويس با استفاده از WSDL قابل فهم خواهد بود. آنهايي که پويا هستند براي نمايش وضعيت سرويس گريد به کار مي­روند. از اين عناصر داده سرويس معمولا براي آناليز سرويس­هاي گريد استفاده مي­کنند. براي مثال با استفاده از ابزارهاي خاصي کارايي سرويس, شناسايي خطاهاي پيش آمده و آناليز پيشرفت سرويس, محاسبه و تعيين مي­شود. عناصر داده سرويس با استفاده از XML Schema پياده مي­شوند و به سادگي قابل پرس و جو[9] مي­باشند.

در عناصر داده سرويس مکانيزم­هاي اخطار يک رويداد[10], ثبت و انتشار پشتيباني شده است و توابعي که در واسطه­هاي عناصر داده سرويس وجود دارند فقط اعتبار سنجي و ثبت و درک سرويس­ها مي­باشد.


3.6.1. تاريخچه OGSA

نويسندگان OGSA انتظار داشتند که اولين پياده سازي OGSA که بر روي Globus Toolkit 3 صورت گرفت تمام نيازمندي­هاي اين نرم­افزار را برطرف کند و تمام امکاناتي را که Globus Toolkit 2 فراهم کرده بود را نيز داشته باشد و در واقع نيز OGSA فرصت خوب و مناسبي براي طراحي دوباره تکنولوژيGlobus بود. اگر چه اين روش بسيار مفيد خواهد بود ولي تغييرات زيادي بايد از نظر معنايي در سيستم داده شود.

به خاطر اينکه سرمايه گذاري­هاي بسياري بر روي گريد­هاي قديمي انجام شده بود, به وجود آوردن يک تغيير اساسي در ساختار گريد باعث ايجاد نگراني در ميان اين شرکت­ها گشت. به همين دليل بايد نيرويي آنها را وادار مي­کرد که از اين تکنولوژي جديد استفاده کنند و آن را به عنوان پايه براي تکنولوژي­هاي بعد گريد در نظر گيرند. بحث بر پذيرفتن OGSA به عنوان پايه­ي تکنولوژي­هاي آينده­ي گريد به سه فاکتور اساسي وابسته مي­باشد: سياسي, بازرگاني و تکنولوژيکي.

از نظر سياسي, براي اينکه اين تکنولوژي فراگير باشد, کيفيت سرويس بالايي داشته باشد و تمام شرکت­هايي که بر روي گريد کار مي­کنند از اين استاندارد استفاده کنند, موسسه­ي eScience وظيفه­اي را بر عهده گرفت که شرکت­هاي مختلف را از لحاظ قانوني مجبور کند که اين استاندارد را رعايت کنند و در صورت تخلف مورد پي گرد قرار گيرند.

از نظر بازرگاني, ابزارهاي برنامه نويسي و يک بستر مناسب براي گريد در حال حاضر وجود ندارد و اين امر به اين دليل است که منابع موسسه­ي eScience در برابر تقاضاي بسيار زياد براي يک بستر کامل و استاندارد گريد ضعيف و اندک است. از آنجايي که ساخت چنين بستري به نيروي کار بالا و هزينه­هاي سنگين وابسته است شرکت­هاي تجاري مختلفي سعي در پشتيباني مالي اين پروژه دارند تا يک بستر استاندارد براي گريد پديد آيد.

 

از نظر تکنولوژيکي, OGSA به طور وسيعي به مهندسي نرم­افزار وابسته است. در حال حاضر بسته­هاي نرم­افزاري که براي گريد وجود دارد عموما زياد ساخت يافته نيستند و توسعه دهندگان اين سيستم­ها را دچار سردرگمي مي­کنند. اين عدم وجود ساختار منظم باعث افزايش هزينه نگهداري و توسعه­ي بستر گريد مي­شود.

به هر حال با تعريف GSDL­ها و استفاده­ي برنامه نويسان از آنها به گونه­اي اين مشکل کمتر احساس مي­شود و زبان استانداردي براي توسعه دهندگان پديد آمده است.

 

 

 

 

 


4.6.1. چالش­هاي پيش روي OGSA

براي اينکه استاندارد­هاي OGSA تامين شوند چالش­هاي زيادي وجود دارد. رسيدن به استانداردهايي که در تمام نقاط دنيا پذيرفته باشند براي مجتمع کردن سرويس­هاي وب و گريد يکي از واضح ترين و مهم ترين چالش­ها است. ما در اين قسمت بر روي مشکلات فني تر تمرکز خواهيم کرد.

·     انواع ابتدايي[11] مختلف که براي نرم­افزارهاي کاربردي علمي استفاده مي­شوند بايد در يک XML Schema تعريف شده و به وسيله­ي تمام گريد­هاي تعريف شده در دنيا مورد قبول واقع شوند, در غير اين صورت هر شبکه­اي از استاندارد­هاي خود استفاده کرده و هماهنگ کردن آنها مقدور نخواهد بود.

·     دقت زيادي در تعريف GSDL­ها بايد وجود داشته باشد تا اين سرويس­ها به صورت جامع و مانع تعريف شده و نيز استفاده­هاي فزاينده­ي آينده از اين زبان را نيز پشتيباني کند.

·     بستر­هاي استانداردي نياز است که بر روي آنها سرويس­هاي گريد و نرم­افزارهاي کاربردي پياده شوند.

·     بستري براي اعلان خطا­هاي سيستم(شامل کشف خطا, گزارش آن, نحوه برطرف کردن خطاهاي جزيي و غيره) و پاسخ گويي به آنها بايد ايجاد شود.

·     بستري براي مديريت و توسعه. اين بستر امکاناتي را در اختيار قرار خواهد داد تا به وسيله آن­ها رفتار گريد را مديريت کرده و نيز توانايي افزودن,حذف و ويرايش سرويس­هاي گريد را به صورت پويا داشته باشيم.

·     سرويس­هاي هماهنگ کننده­اي بايد پياده سازي شوند که بتوانند سرويس­هاي مختلف گريد را با يکديگر هماهنگ کنند.

·     روش­هاي تست يکي از اساسي ترين نياز­هايي هستند که به عنوان معيارهايي از کارايي گريد بايد تعريف شده و پياده سازي شوند.

·     پشتيباني از گريد­هاي متحرک[12] که به طور نا پيوسته به شبکه متصل مي­شوند و نوعي تبادل اطلاعات نامعتبر(به دليل وجود ارتباط غير قابل اطمينان) دارند يکي ديگر از چالش­هاي پيش روي گريد است.

 

در حال حاضر اين چالش­ها در برابر معماري کلاسيک گريد قرار دارند که گروه­هاي فعال در مجمع گريدهاي عمومي[13] آنها را در نظر دارند. OGSA يک چهارچوب مناسب را فراهم مي­کند که اين چالش­ها را مورد توجه قرار داده است. براي مثال واسط­هايي را در اختيار قرار مي­دهد تا بتوان GSDL­ها را تعريف کرد.



[1] Open Grid Services Architecture

[2] Identification

[3] Sessions

[4] Web Service Description Language

[5] Web Services Inspection Language

[6] Grid Services Description Language

[7] Grid Service Handle

[8] Partial Failure

[9] Query

[10] Event Notification

[11] primitive

[12] mobile

[13] Global Grid Forum

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

محيط گريد(قسمت 5)

5.1. ارتباط گريد با ساير تکنولوژي­ها

مفهوم به اشتراک گذاري پويا و کنترل شده در داخل سازمان­هاي مجازي بسيار پايه­اي است به طوري که ما مي­توانيم تصور کنيم که تکنولوژي­هاي مانند گريد بايد هم اکنون به صورت گسترده­اي نصب شده باشند. در عمل ما مي­بينيم که فقط تعداد کم و ناکافي راه حل براي مشکلات سازمان­هاي مجازي وجود دارد. به طور خلاصه, راه حل­هاي موجود براي سيستم­هاي توزيع شده نمي­توانند يک چارچوب مناسب و کلي پديد آورند که تمام نيازمندي­هاي سازمان­هاي مجازي براي به اشتراک گذاري منابع را پاسخ دهد. تکنولوژي­هاي گريد با فراهم سازي چنين راه حل کلي خود را از ساير تکنولوژي­ها متمايز کرده اند. در زير تکنولوژي­هايي که گريد مي­تواند براي رسيدن به هدف خود از آنها استفاده کند ذکر شده است.

 

1.5.1. سرويس جهاني وب

تکنولوژي­هاي وب به خاطر گستردگي و مقبوليت عام گزينه­ي مناسبي براي استفاده در گريد و حل مشکلات سازمان­هاي مجازي مي­باشند. به همين خاطر مي­توان از آنها در ساخت بستر براي سازمان­هاي مجازي استفاده کرد. با وجود اينکه اين فن آوري مدلي بسيار قوي براي استفاده در سيستم­هاي مجري-مشتري است, که هم در وب و هم در گريد کاربرد دارد, فاقد مشخصه­هاي قدرتمند تري هستند که براي ساخت سازمان­هاي مجازي نياز است. براي مثال مرورگر­هاي وب براي تاييد اعتبار کاربران عموما از TLS[1] استفاده مي­کنند و نمي­توانند سيستم تک وروده[2] يا جانشيني[3] را پشتيباني کنند.

بدين منظور بايد گام­هايي برداشته شود تا گريد و وب را با همديگر مجتمع سازد. براي مثال GSI[4] که خود مدل توسعه يافته­اي از TLS است قابليت تک وروده را پشتيباني مي­کند و اگر بتواند با وب مجتمع شود مي­تواند اين قابليت را به وب اضافه نمايد. همين طور اگر  GSI قابليت جانشيني خود را به وب بيافزايد, وب ابزار بسيار مناسبي خواهد بود تا به عنوان درگاه سازمان­هاي مجازي مورد استفاده قرار گيرد تا واسطه­هاي بسيار کم حجم و کوچکي را بر روي نرم­افزار­هاي کاربردي حجيم قرار دهد.

 

2.5.1. فراهم کنندگان سرويس­هاي ذخيره سازي اطلاعات و نرم­افزارهاي کاربردي

فراهم کنندگان سرويس­هاي نرم­افزارهاي کاربردي و سرويس­هاي ذخيره سازي و ساير شرکت­هاي ميزباني مشابه, پيشنهاد مي­دهند که بعضي از نرم­افزارهاي کاربردي مهندسي و تجاري و نيز فضاي ذخيره سازي را به صورت اجاره­اي در اختيار مشتري­ها قرار دهند. مشتري و فروشنده بر روي سطح سرويس و نوع سخت­افزار و نرم­افزار مورد نظر به توافق مي­رسند. همچنين سطحي از امنيت که بايد توسط سرويس دهنده تضمين شود مشخص مي­شود.

مجتمع سازي تکنولوژي گريد با اين سرويس دهنده­ها محدوده­اي وسيع تر و غني تر از امکانات به­وجود مي­آورد. براي مثال, سرويس­ها و پروتکل­هاي استاندارد گريد مي­توانند براي جداسازي سخت­افزار و نرم­افزار از يکديگر به کار روند. يک مشتري مي­تواند با يک سرويس دهنده به توافق رسيده و منبعي را با مشخصات لازم در اختيار گرفته, سپس آن را در شبکه قرار دهد. در اين صورت منبعي که توسط اين سرويس دهنده در اختيار مشتري قرار گرفته, بر طبق پروتکل­هاي گريد و تحت امنيت پروتکل­هاي گريد به اشتراک گذاشته مي­شود.

 

3.5.1. سيستم­هاي محاسباتي حرفه اي

تکنولوژي­هاي توسعه نرم­افزاري مثل CORBA,EJB[5],J2EE [6] و DCOM سيستم­هايي هستند که براي ساخت نرم­افزارهاي توزيع شده طراحي شده­اند. آنها مي­توانند واسطه­هاي استانداردي براي منابع تعريف کنند, متدها را از راه دور صدا بزنند(RMI) و منابع را در داخل يک سازمان خاص به اشتراک گذارند. هرچند که هيچ کدام از اين­ها جزو نيازمندي­هايي که از قبل براي سازمان­هاي مجازي تعريف کرديم نيستند. ولي در پياده سازي گريد مي­توان از آنها استفاده کرد. براي مثال در CORBA مي­توانيم يک شئي پياده سازي کنيم که با استفاده از GSI عمليات برقراري امنيت بين سازمان­ها را مديريت کند. مي­توانيم شيئي بسازيم که با منابع موجود در گريد به تبادل اطلاعات پرداخته تا کنترل يک يا چند منبع را در داخل يک سازمان مجازي بر عهده بگيرد.

در تمام اين حالات استفاده از پروتکل­هاي گريد قابليت­هاي توسعه يافته­اي را در اختيار قرار مي­دهد (مثل امنيت بين واحدهاي سازماني مختلف) و امکان برقراري ارتباط با ديگر تکنولوژي­ها (غير از CORBA) فراهم مي­آورد.

 

4.5.1. محاسبات همرده و اينترنت

محاسبات همرده (همان طور که در نرم­افزارهايي مثل Napster و Gnutella وجود دارد) و محاسبات اينترنتي(مثل سيستم­هاي Entropia) نمونه­هاي عمومي تري از سيستم­هاي کلاسيک مشتري-مجري هستند. امکاناتي از قبيل به اشتراک گذاري و ساختار محاسباتي موجود در اين نرم­افزار­ها بسيار به آنچه که ما در گريد بدان نيازمنديم نزديک است.

در عمل, تمرکز بر روي اين دو محدوده هيچ همپوشاني مهمي با يکديگر ندارد و دليل اين اتفاق اين است که توسعه دهندگان اين سيستم­ها بيشتر سعي داشتند راه حل­هايي پيدا کنند که پروتکل­هايي را براي نرم­افزار خود پديد آورند نه اينکه يک پروتکل عمومي پديد آورند که به وسيله­ي ساير نرم­افزار­ها نيز مورد استفاده واقع شود.

همان طور که اين نرم­افزارهاي کاربردي پيچيده تر و احتياج به همکاري بين منابع روشن تر مي­شود, همگرايي بيشتري بين محاسبات همرده, اينترنت و گريد به وجود مي­آيد.




[1] Transport Layer Security

[2] Single Sign-on

[3] Delegation

[4] Grid Security Infrastructure

[5] Enterprise Java Beans

[6] Java 2 Enterprise Edition

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

محيط گريد(قسمت 4)

4.1. تعريف سازمان­هاي مجازي

چهار سناريوي زير را در نظر بگيريد

  1. يک شرکت قصد تصميم گيري درباره­ي ساخت يک کارخانه­ي جديد را داشته که نياز به پيش بيني­هاي مالي بسيار مهمي دارد. اين پيش بيني­ها بر اساس سابقه­هاي ثبت شده در پايگاه­هاي داده­ي نا متمرکز شرکت انجام خواهند پذيرفت.
  2. يک ائتلاف صنعتي سعي در انجام مطالعات امکان سنجي پروژه­اي را دارد که طراحي­هاي نسل آينده­ي هواپيما­ها را انجام خواهد داد. مسلما چنين طراحي نياز به محاسبات پيچيده, دقيق و شبيه­سازي­هاي گوناگوني دارد.
  3. يک تيم مديريت بحران براي بررسي باران­هاي شيميايي نياز به محاسبه نحوه و ميزان گسترش محدوده­ي فاجعه با استفاده از آب و هواي محلي و خاک دارد. همچنين بايد خسارات احتمالي محاسبه شده و تدابير امنيتي لازم انديشيده شود و مقدار تجهيزات لازم براي مقابله با آن تعيين شود تا کمترين خسارت به محدوده وارد شود.
  4. هزاران فيزيکدان در آزمايشگاه­ها و دانشگاه­هاي خود از سراسر دنيا گردهم آمده اند تا با استفاده از حجم­هاي بسيار بالاي داده مدلي براي سيارات و ستارگان جهان طراحي کنند.

 

اين مثال­ها از جنبه­هاي بسياري با هم متفاوت هستند: تعداد و انواع کاربران شرکت کننده در عمليات, انواع فعاليت­ها, مقياس و محدوده­ي فعل و انفعالات و منابع مشترک. اما در بسياري از نقاط هم اشتراک دارند همان طور که در ادامه توضيح داده مي­شود(شکل 3).

در همه­ي اين حالات تعدادي شرکت کننده­ي غير قابل اعتماد مقداري از منابع خود را به اشتراک مي­گذارند تا وظيفه­اي را انجام دهد. اما به اشتراک گذاشتن فقط به معني استفاده از اطلاعات يکديگر نيست بلکه گاهي اوقات معني استفاده مستقيم از منبع و در اختيار گرفتن کنترل آن به طور کامل مي­باشد.

به اشتراک گذاشتن منابع شرطي است؛ به اين معني که هر فرد موقعي که يک منبع را به اشتراک مي­گذارد مشخص مي­نمايد که اين منبع در چه مواقعي و چه مکاني قابل استفاده است و چه کاري مي­تواند انجام دهد. براي مثال يک شرکت کننده در سازمان مجازي P در شکل 3 مي­تواند به ساير شرکت کنندگان همان سازمان مجازي اجازه دهد که فقط مسائل ساده را بر روي رايانه­ي وي اجرا کنند. مصرف کنندگان نيز مي­توانند بر روي منابعي که مي­خواهند در اختيار بگيرند محدوديت قرار دهند, براي مثال شرکت کننده­اي در سازمان مجازي Q درخواست داده­هايي را ميکند که فقط با عنوان امن تاييد شده باشند. که البته قرار دادن چنين محدوديت­هايي مستلزم تعريف کردن قراردادهايي به عنوان اصول امنيت مي­باشد.

 

به اشتراک گذاشتن منابع مي­تواند حالت پويا داشته باشد و طي دوره­هاي زماني تغيير يابد. شرکت کنندگان و به تبع آن منابعي که به آنها اختصاص يافته مي­توانند حذف شوند, يا به محيط اضافه شوند يا دسترسي­هاي آنها تغيير يابد.

روابط بين منابع مشترک هميشه به صورت مشتري-مجري نيست بلکه گاهي مي­تواند همرده[1] باشد يعني جاي مشتري و مجري به تناوب تغيير يابد. اين به اشتراک گذاشتن منابع مي­تواند در هر زير مجموعه­اي از شبکه قرار بگيرد و بين تعداد خاصي از منابع به وقوع افتد.

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

يک منبع ثابت مي­تواند بسته به محدوديت­هايي که بر رويش قرار مي­گيرد و هدف از پيش تعيين شده با روش­هاي مختلفي استفاده گردد. براي مثال يک رايانه مي­تواند فقط براي اجراي قسمت خاصي از يک نرم­افزار به اشتراک گذاشته شود, در حالي که در حالت ديگري مي­تواند به مديريت يک پروژه­ي بزرگ اختصاص يابد. به خاطر عدم وجود اطلاعات قبلي درباره­ي نحوه­ي استفاده از يک منبع, مقدار کارايي, انتظارات و محدوديت­ها (که کلا به نام کيفيت سرويس معروف هستند) بايد جزيي از شرايطي باشند که براي يک منبع و يا نحوه­ي استفاده از آن در نظر گرفته مي­شود.

 

اين مشخصه­ها و نيازمندي­ها چيزي را تعريف مي­کنند که به آن سازمان مجازي مي­گوييم, مفهومي که به اعتقاد ما يکي از کليدي ترين مفاهيم موجود در گريد خواهد بود. سازمان­هاي مجازي به گروه­هاي مختلف سازماني يا اشخاص اجازه خواهد داد که منابع خود را در يک روند کنترل شده به اشتراک گذارند.


 



[1] Peer-to-peer

پایان قسمت۴

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

محيط گريد(قسمت 3)

5.3.1. امنيت

به­طور کلي در محيط شبکه که اطلاعات به­ صورت اشتراکي در اختيار قرار مي­گيرد مسئله تامين امنيت موضوعي است که بايد در نظر گرفته شود. در گريد تجهيزات و منابع زيادي مانند کامپيوترهاي گران قيمت، تجهيزات حساس و باارزش و اطلاعات محرمانه­اي وجود دارند که بايد در برابر دسترسي­هاي غير مجاز محافظت شوند.

حتي در محيط­هايي که احتمال خرابکاري وجود ندارد نيز بايستي اين مسئله مد نظر قرار گيرد. چرا که ممکن است دسترسي به اطلاعات غير مجاز و يا انجام عمليات مخرب بصورت نا خواسته توسط کاربران يا نرم­افزار­هاي کاربردي انجام شود. اين سرويس ميان­افزار هسته اي, وظيفه ايجاد امنيت براي استفاده از منابع موجود را برعهده دارد.

به هر حال دسترسي و استفاده از منابع با يک درخواست از طرف کامپيوتر مبدا انجام مي­شود اين درخواست ممکن است مربوط به يک کاربر، يک منبع و يا يک پردازه باشد. ارتباط اين درخواست­ها با منابع مي­تواند بصورت منبع به کاربر، کاربر به منبع، پردازه به منبع و پردازه به پردازه باشد که سيستم بايد اطلاعات کاملي از هر جفت از موارد فوق مربوط به محيط گريد در اختيار داشته باشد تا با استفاده از آنها مشخص کند که آيا يک درخواست مجاز هست به يک منبع خاص دسترسي داشته باشد يا خير.

اين سرويس براي ايجاد امنيت در سطح گريد از يک معماري دوسطحي استفاده مي­کند.

در سطح اول مسائلي مانند تعيين هويت، کنترل دسترسي­ها، جامعيت، مجوز و رمزگشايي انجام مي­شود و درسطح دوم پيگيري در حال اجراي پردازه­ها انجام مي­شود تا از انجام هرگونه عمليات مخرب جلوگيري شود.

به­طور کلي وظايف اين سرويس را مي­توان بصورت زير خلاصه نمود:

-        تعيين هويت

براي تعيين هويت کاربر­هاست تا مشخص شود که معتبر هستند يا خير.

-        مجوز

براي اطمينان از اينکه کاربرهاي مجاز تنها به منابع مشخص شده براي آنها دسترسي پيدا مي­کنند.

-        جانشيني

براي اينکه به سيستم اجازه داده شود تا بتواند مجموعه­اي از عمليات را براي يک کاربر که هنوز در سيستم معرفي نشده انجام دهد.

-        تک ورود

سيستم بايد اين امکان را داشته باشد که وقتي يک کاربر يک بار براي استفاده از يک منبع وارد سيستم شد براي استفاده از منابع ديگر که از نظر مجوزهاي استفاده شبيه به اين منبع هستند، نياز به ورود مجدد نباشد.

-        ارتباط امن

براي ضمانت کردن جامعيت و محرمانگي در ارتباطات.

 

6.3.1.کيفيت سرويس

برخي از نرم­افزارهاي کاربردي گريد طوري هستند که براي دريافت سرويس يا به عبارت ديگر براي اجرا شدن نياز دارند که سرويس­هاي ارائه شده در محيط با محدوديت­ها و معيارهاي خاصي ارائه شوند. به عنوان مثال يک برنامه بلادرنگ[1] نياز دارد که منابع مورد نيازش حتما در محدوده زماني مشخص به آن تخصيص داده شده و سرويس­ها بتوانند در زمان مشخص سرويس خود را ارائه کنند و يا برنامه ديگري ممکن است نياز داشته باشد که سطح خاصي از پوشيدگي مربوط به عملکرد آن در حين اجرا در اختيارش قرار گيرد.

 در مورد اطلاعات پيوسته مانند چند رسانه­اي­ها هم مسئله کيفيت سرويس مطرح مي­شود و سيستم بايد بتواند اطلاعات چند رسانه­اي را که ترکيب صدا و تصوير هستند با کيفيت قابل قبول ارسال و دريافت نمايد. مثلا تصوير دريافتي بايد با صدا هماهنگ باشد. وجود مسائلي از اين قبيل باعث مي­شود که سيستم تمهيداتي را براي ارائه سرويس­هاي مورد نظر در نظر بگيرد.

 فاکتورهاي کيفيت سرويس براي منابع مختلف متفاوت است. مثلا در مورد پردازنده درصد بکارگيري آن مطرح است. در مورد منابع ذخيره سازي اطلاعات و ديسک­ها، ظرفيت در مورد منابع شبکه سرعت انتقال اطلاعات و غيره مطرح است.

در محيط گريد يک نرم­افزار کاربردي بايد فاکتورها و پارامترهاي کيفيت سرويس را در مورد منابع مورد نياز مشخص کند. بعد از آن سرويس کنترل کيفيت از عمليات زير براي ارائه سرويس استفاده مي­کند.

رزرو کردن منابع

 سيستم بايد با استفاده از مکانيزمي به سرعت منابع مورد نياز را براي يک نرم­افزار کاربردي خاص رزرو نمايد به­خصوص در مورد منابع کمياب در محيط گريد.

 

-        سياست­هاي رزرو

 سيستم بايد با استفاده از مکانيزمي محدوديت­ها و سياست­هاي اعمال شده روي منابع از طرف مالک آنها را در نظر بگيرد. اين محدوديت­ها مشخص مي­کنند که چه کسي، چه وقت و چگونه مي­تواند به منابع اين دامنه دسترسي داشته باشد. سيستم با استفاده از اين اطلاعات و محدوديت­هاي کيفيت سرويس موجود مي­تواند منبع مناسب را رزرو نمايد.

-        پروتکل مورد توافق

سيستم بايد اين اطمينان را به­ وجود بياورد که کيفيت سرويس ارائه شده به يک مشتري در طول زمان سرويس دهي همان است که وي انتظار آن را داشته و سيستم با استفاده از اين پروتکل اين کار را انجام مي­دهد.

 

-        امنيت

سيستم بايد از ورود کاربران غير مجاز جلوگيري کرده و سياست­هايي براي جلوگيري از اعمال تغييرات در مخازن داده­اي که حاوي اطلاعات تجهيزات رزرو شده، سياست­ها و اطلاعات پروتکل مورد توافق است در نظر بگيرد.

 

-        سادگي کيفيت سرويس

 

اعمال سياست­هاي کيفيت سرويس براي يک پردازه بايد حتي الامکان طوري انجام شود که در صورتي­که امکان ارتقاي فاکتورهاي کيفيت سرويس وجود داشت، اين کار با حداقل تغييرات ممکن صورت گيرد. هرچند که در عمل اين کار بسيار مشکل است. به دليل اينکه نياز به پيش­بيني وضعيت آينده سيستم دارد.

-        مقياس پذيري

روش انتخاب شده براي کيفيت سرويس بايد طوري باشد که بتوان از آن براي تعداد زيادي از موجوديتهاي محيط گريد استفاده نمود.

 




[1] Real Time

پایان قسمت ۳

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

محيط گريد(قسمت 2)

 

2.1. شرح وظايف ميان­افزار هسته­اي گريد در جهت ايجاد محيط­هاي گريد

شرح وظايف يا عملياتي که اين ميان­افزار انجام مي­دهد به شرح زير است:

1.2.1.کشف منابع و ثبت وضعيت

سرويس اطلاعاتي گريد بايد در مورد منابع موجود در گريد که سرويس ارائه مي­کنند اطلاعات جمع آوري نمايد. اين اطلاعات، اطلاعات ماندگاري در مورد سرورهاي موجود است. اين سرورها براي فعال کردن سرويس­ها و برنامه­هاي موجود در گريد مديريت مي­شوند. در واقع وقتي قرار است يک برنامه در محيط گريد به اجرا در آيد لازم است که به­صورت موازي در سراسر محيط گريد توزيع شود. در اين حالت کامپيوتر مبدا بايد از امکانات و منابع موجود در گريد با اطلاع باشد يعني اطلاعات سرورهاي موجود را در اختيار داشته باشد تا بتواند به آنها مرتبط شده و از سرويس­هاي آنها استفاده نمايد.(در اينجا منظور از سرور ماشين سرور نيست بلکه منظور از سرور سرويس دهنده نرم­افزاري است که بوسيله يک شناسه مورد شناسايي قرار مي­گيرد). بنابراين يکي از وظايف ميان­افزار هسته­اي گريد جمع آوري و ذخيره­سازي اطلاعات در مورد منابع موجود در گريد است.

در اين قسمت به­طور کلي مراحل زير انجام مي­شود:

-        تهيه مشخصات تعيين شده در مورد منابع موجود در گريد به همراه هدف مربوط به هر منبع.

-        تهيه اطلاعات مربوط به وضعيت منابع.

 

2.2.1.زمان بندي[1] منابع

وقتي قرار است يک فعاليت در محيط گريد انجام شود، به دليل وجود مسائلي همچون زمان پاسخگويي، کارايي[2] وغيره مي­بايست منابع در دسترس برنامه ريزي، زمان بندي و هماهنگ شوند. تا بتوانيم وظيفه مورد نظر را در زمان مناسب و با کيفيت در نظر گرفته شده اجرا نماييم. به عبارت ديگر به­کارگيري منابع براي همکاري با يکديگر مثلا جهت عمليات موازي يا پردازه­هاي چند سطحي نياز به هماهنگي زيادي بين عناصر موجود در گريد دارد. در اينجا در واقع کامپيوتر مبدا از نظر زمانبندي صرفا مي­تواند منابع مورد نياز را رزرو نمايد.

 

3.2.1. دسترسي يکسان به منابع محاسباتي

در بين منابع موجود در گريد تفاوت­هاي زيادي وجود دارد. اين تفاوت­ها نبايد روي نحوه دسترسي به منابع تاثير بگذارند. يعني اگر بخواهيم يک نرم­افزار کاربردي بصورت قابل حمل در گريد مورد استفاده قرار گيرد بايد محيطي يکنواخت براي اجراي آن ايجاد نماييم که يکي از ويژگي­هاي اين محيط يکنواخت که کاربر و برنامه نويس و نرم­افزار کاربردي احساس مي­کنند امکان دسترسي يکسان به منابع کامپيوتري موجود درگريد است.

 

4.2.1. دسترسي يکسان به داده

يکي از اهداف ايجاد گريد امکان دسترسي به حجم وسيعي از منابع ذخيره سازي اطلاعات است. ولي مسئله اين است که باز هم بايد نرم­افزار­هاي کاربردي قابل حمل داشته باشيم به­طوري­که بتوانند به داده­هاي مورد نظر خود با روشي يکسان دسترسي پيدا کنند. يعني اين دسترسي بايد مستقل از تمام وابستگي­هاي داده­اي در محيط گريد باشد. علاوه بر اين امروزه سرويس­هاي دسترسي به داده­ها در گريد داده­ها را بوسيله نام شناسايي مي­کنند.

 

5.2.1. ارتباطات امن و تاييد اعتبار کاربران

يکي ديگر از وظايف ميان­افزار هسته­اي گريد اين است که اعتبار و سنديت درخواست­هاي رسيده را مشخص نموده، مجوز آنها را بررسي کرده آن­ها را رمز گشايي ­و در مورد يک سرويس معين بررسي کند. اين کار با استفاده از مدل­هاي امنيتي، پروتکل­ها و تکنولوژي­هاي برقراري ارتباط انجام مي­شود. در واقع اين سرويس مسائل امنيتي را براي محيط گريد فراهم مي­کند. در واقع هر کامپيوتر موجود در محيط بايد قبلا تاييد اعتبار شده باشد تا بتواند از امکانات گريد استفاده نمايدکه اين کار براي جلوگيري از نفوذ و خرابکاري درون کامپيوترها ضروري است.

3.1. بررسي سرويس­هاي ارائه شده توسط ميان­افزار هسته­اي گريد

اين ميان­افزار براي انجام وظايف خود سرويسهاي مختلفي را شامل مي­شود که عبارتند از:

1. مديريت راه دور پردازه­ها

2. تخصيص منابع

3. دسترسي به منابع ذخيره سازي

4. کشف و ثبت منابع

5. امنيت

6. کيفيت سرويس

7. رزرو کردن منابع


1.3.1. مديريت راه دور پردازه­ها

در محيط شبکه و ارتباطات شبکه­اي ارتباط کامپيوتر­ها از طريق ارسال و دريافت پيام انجام مي­شود. بنابراين اين پيغام­ها بايد به نوعي مديريت و کنترل شوند. يک کامپيوتر ممکن است درخواست­هاي زيادي از ساير کامپيوترها بصورت مستمر دريافت کند. پس بايد با روشي مثل صف بندي پيام­ها آنها را نگهداري کرده, درخواست­ها را پردازش نموده و پاسخ را به درخواست کننده ارسال نمايد.

اين سرويس از ميان­افزار هسته­اي گريد وظيفه دارد عمليات برقراري ارتباط جهت ارسال و دريافت پيام، عمليات همگام سازي ارتباطات، انتقال داده­ها، عمليات ضبط و نگهداري وقايع را انجام داده و امکان مشاهده و پيگيري درخواستها و وقايع را فراهم نمايد.

 

2.3.1. تخصيص منابع

در يک تعريف خيلي ساده محاسبات گريد عبارتست از استفاده از چندين منبع کامپيوتري مثل کامپيوتر، داده، I/O، تجهيزات و غيره براي حل يک مسئله بزرگ به­طوري­که اين مسئله قابل انجام توسط يک منبع تکي نباشد[5].

همانطور که مي­دانيم در محيط يک کامپيوتر تک که از منابع محلي براي اجراي برنامه­ها استفاده مي­کند هنگام اجراي يک برنامه بايد منابع کامپيوتر مثل حافظه، پردازنده، منابع ذخيره سازي داده، ورودي-خروجي و... در اختيار آن قرار گرفته (به آن تخصيص داده شده ) و اين منابع مديريت شوند. مثل مديريت حافظه.

در محيط گريد نيز وقتي يک برنامه مي­خواهد اجرا شود بايد منابع مورد نيازش را در اختيار گيرد. به­عنوان مثال يک برنامه ممکن است به 400 پردازنده براي اجرا نياز داشته باشد. درواقع بايد سيستم مجموعه­اي از منابع را به­طور همزمان در اختيار يک نرم­افزار کاربردي قرار داده و آنها را مديريت نمايد. مسلما مديريت منابع در اين حالت با حالت کامپيوتر تک متفاوت است. چرا که مجموعه­اي از تجهيزات و منابع بايد باهم همکاري کنند و به­طور همزمان در اختيار برنامه قرار گيرند. وظيفه اين سرويس, تخصيص منابع مورد نياز يک برنامه جهت اجرا در محيط گريد و مديريت اين منابع مي­باشد.

تخصيص منابع توسط اين سرويس در سه فاز بصورت زير مي­تواند انجام شود.

-        فاز تخصيص : که در آن منابع کامپيوتري مورد نياز را در اختيار گرفته و اشياي مختلف مورد نياز ايجاد مي­شوند.

-        فاز پيکربندي : که در آن نرم­افزار کاربردي مورد نظر مقدار دهي و آماده اجرا مي­شود.

-        فاز کنترل و پيگيري : که در حين اجراي برنامه انجام مي­شود. دراين فاز عمليات کنترل تجهيزات و منابع تخصيصي و نمايش اطلاعات مورد نياز برنامه در حال اجرا انجام مي­شود.

 

3.3.1. دسترسي به منابع ذخيره سازي

در محيط گريد برخي از برنامه­ها با حجم وسيعي از اطلاعات سر و کار دارند که بايستي اولا بتوانند منابع لازم جهت ذخيره سازي اين اطلاعات را در محيط گريد در دسترس داشته باشند و ثانيا در مواقع نياز بتوانند به اين اطلاعات دسترسي پيدا کنند. همان­طور که قبلا نيز اشاره شد يکي از ضروريات محيط گريد ايجاد يک محيط يکنواخت و شفاف براي کاربرها و نرم­افزار­هاي کاربردي است يعني نرم­افزار­هاي کاربردي بايد شبيه به منابع محلي خود به اطلاعات مورد نياز خود دسترسي پيدا کنند.

وظيفه اين سرويس پديد آوردن امکاناتي جهت رسيدن به اين هدف است. يکي از ابزارهاي مناسبي که در اين بخش استفاده مي­شود يک ميان­افزار به­نام فروشنده منابع گريد[3] است که اين ميان­افزار امکاناتي را فراهم مي­کند تا نرم­افزار­هاي کاربردي بتوانند به سادگي به اطلاعات مورد نياز خود که درون منابع ذخيره سازي مختلف در سطح گريد ذخيره شده اند، دسترسي پيدا کنند.

فروشنده منابع گريد به طور خلاصه سه وظيفه­ي مهم جمع­آوري و مديريت فايل­ها, مديريت دادگان و کنترل دسترسي فايل­ها و دادگان را به عهده دارد.

 

4.3.1.کشف و ثبت منابع

در محيط گريد سرويس تخصيص منابع که زمان­بندي را انجام مي­دهد, نياز دارد بداند که در حال حاضر چه امکاناتي از محيط را مي­تواند رزرو کرده و به برنامه­ها تخصيص دهد. اين سرويس که سرويس­هاي اطلاعاتي را در محيط انجام مي­دهد، وظيفه دارد در محيط گريد به جستجو پرداخته و اطلاعات به روز از منابع موجود مانند اطلاعات مربوط به افراد، نرم­افزارها، سرويس­ها، شبکه و سخت­افزارهاي فعال قابل استفاده و به­طور کلي موجوديت­هاي محيط را جمع آوري و نگهداري نمايد. اين سرويس به نوعي عمليات سرويس پوشه­ها [4]و نام دهي[5] را در محيط انجام مي­دهد.

 

 

 




[1] Scheduling

[2] Performance

[3] Storage Resource Broker(SRB)

[4] Directory service

[5] Naming

پایان قسمت ۲

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

محيط گريد(قسمت 1)

 

گريد نوعي سيستم نامتمرکز و موازي است که امکان به اشتراک گذاشتن و انتخاب منابع ناهمگون, خودمختار و توزيع شده از نظر جغرافيايي را به صورت پويا و در زمان اجرا و با ملاحظاتي نظير کارايي, در دسترس بودن, هزينه و کيفيت سرويس فراهم مي­نمايد.

سيستم­هاي گريد را مي­توان به سه دسته­ي گريد محاسباتي, گريد سرويس و گريد داده­اي تقسيم بندي کرد[9].

1.1. معماري گريد

همانطور که گفته شد هدف گريد ايجاد محيطي است تا کامپيوترها بتوانند به آساني به منابع موجود در ساير کامپيوترها دسترسي پيدا کرده و از آنها استفاده نمايند. ولي ايجاد چنين ساختاري به جهت وجود ناهمگوني بين کامپيوتر­ها کار بسيار مشکلي است.

محيط گريد مملو از تجهيزاتي است که با تکنولوژيهاي مختلف نرم­افزاري و سخت­افزاري کار مي­کنند. کامپيوترهاي مختلفي مانند سرورها، ابر رايانه­ها، رايانه­هاي شخصي معمولي، ابزار و منابع ذخيره سازي اطلاعات با ساختارهاي مختلف، تجهيزات مهندسي مثل تلسکوپ و....

کامپيوترها سخت­افزار خاص خود را دارند و از سيسستم عامل مخصوص به خود استفاده مي­کنند. يک کامپيوتر با Windows کار مي­کند ديگري يک Mainframe است که سيستم عامل VAX روي آن قرار دارد و اطلاعات را با روش سخت­افزاري تعريف شده, ذخيره و پردازش مي­کند و کامپيوتر ديگر يک سرور است که سيستم عامل Novell روي آن اجرا مي­شود، نرم­افزارهاي کاربردي در محيط و سکوي[1] خاص خود ايجاد شده و اجرا مي­شوند. کامپيوترها در شبکه­هاي مختلف با سياست­هاي مديريتي خاص، پيکربندي­ها و پروتکل­هاي مختلف کار مي­کنند.

 در واقع هدف گريد در برخورد با چنين محيطي تبديل اين محيط به يک محيط يکنواخت است که در آن کامپيوترها بتوانند باهم ارتباط برقرار کرده، پيغام­هاي يکديگر را بفهمند و درخواست­هاي رسيده را پاسخ دهند. کليه کاربران محيطي همگن و يکنواخت را ببينند و احساس کنند. يعني هر کاربر يا نرم­افزار کاربردي بتواند با يک روش مشخص به منابع مورد نياز خود دسترسي پيدا کرده و از آنها استفاده کند و تمامي دغدغه­هاي موجود مانند مشکلات ارتباطي، غير همگون بودن کامپيوترها و غيره از ديد او پنهان بماند. مسلما براي دستيابي به اين محيط همگن و يکنواخت تغيير دادن و يکي کردن کامپيوترهاي موجود در دنيا عملي نشدني است. پس بايد با روشهاي ديگري اين کار انجام شود.

يعني بايد بتوانيم يک محيط انتزاعي همگن از تجهيزات و منابع کامپيوتري موجود بسازيم. که در آن کامپيوتر­ها بر اساس يک قانون يا پروتکل با هم ارتباط برقرار نمايند. به عبارت ديگر يک ماشين مجازي ايجاد کرده و در اختيار کامپيوترها و استفاده­کنندگان از آنها قرار دهيم تا سيستم­هاي مختلف بدون دغدغه ناهمگون بودن امکانات و تجهيزات بتوانند با يکديگر تبادل داده انجام دهند. در همين راستا ميان­افزارهايي طراحي شده و در اختيار کاربران قرار گرفته است.

براي محيط گريد ساختاري بصورت شکل 2 در نظر گرفته شده است.

اين ساختار چند لايه­اي انتظارات ما از يک محيط يکنواخت گريد را بر آورده مي­کند. که وظيفه لايه­هاي آن به شرح زير است [3].


 



[1] Platform

·         لايه FABRIC

حاوي تمام منابع توزيع شده مانند کامپيوترها، شبکه­ها، منابع ذخيره سازي اطلاعات، پايگاه­هاي داده و ابزار علمي و مهندسي است.

منابع کامپيوتري مانند رايانه­هاي شخصي، سرورها، ابر رايانه­ها و خوشه­ها[1] داراي ساختارهاي مختلفي هستند و سيستم عامل خاص خود را دارند.



[1] Cluster

 

 لايه ميان­افزار سطح کاربر

 

 

اين لايه شامل محيطي براي ايجاد و ارتقاي برنامه­هاي کاربردي در محيط گريد، ابزار برنامه سازي و امکاناتي جهت دسترسي و مديريت منابع است و همچنين وظيفه دارد که برنامه­ها را براي اجرا در محيط گريد زمانبندي و مديريت نمايد. اين لايه با فراهم آوردن دستورات و امکانات به­صورت انواع اوليه[1] اين امکان را در اختيار برنامه نويس و نرم­افزار کاربردي قرار مي­دهد تا بتواند با استفاده از اين انوع اوليه, امکانات موجود در محيط گريد را مورد استفاده قرار دهد.

·         لايه ميان­افزار هسته­اي گريد[2]

همانطور که گفته شد ميان­افزار سطح کاربر وظيفه دارد تا حتي الامکان شرايطي را براي ديدن يک محيط يکپارچه و يکنواخت در اختيار کاربران و نرم­افزارهاي کاربردي قرار دهد.

در اين ميان به دليل اينکه محيط ما يک محيط وسيع شبکه­اي است بايستي براي اجراي يک برنامه در اين محيط مسائل ديگري همچون امنيت[3]، کيفيت سرويس دهي[4]، مسائل و سياستهاي مديريتي و... نيز در نظر گرفته شود. لايه ميان­افزار هسته­اي يکي از مهمترين قسمت­ها در معماري گريد است که وظيفه دارد يک محيط يکپارچه امن براي دسترسي نرم­افزار­هاي کاربردي به منابع فراهم سازد. اين لايه يک محيط انتزاعي از منابع موجود در گريد در اختيار نرم­افزار­هاي کاربردي قرار مي­دهد تا بتوانند به­وسيله سرويس­هاي اين لايه منابع مورد نياز را در اختيار گرفته و استفاده نمايند. همچنين اين لايه وظيفه دارد دسترسي­ها به منابع را کنترل کرده و مجوزهاي مورد نياز را در اختيار پردازه­هاي دريافتي از ساير کامپيوترها قرار دهد.



[1] primitive

[2] Core Grid Middleware

[3] Security

[4] Quality of Services

 

 پایان قسمت ۱

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

 

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  توسط یوسف عبدلیان باریکرسفی  | 

Moab Grid Suite® Customer Downloads

Moab Grid Suite® Customer Downloads

Man typing To download any component of Moab Grid Suite, please click on the appropriate link and enter your Cluster Resources username and password:

See our FAQ first for answers to typical installation questions, and see our Common Issues section for support on common technical questions.

If you need support while installing or evaluating Moab Cluster Suite, please contact Cluster Resources for free eval support. We'll answer questions and assist you in setting up your system with Moab at no cost.



To receive support please visit: http://support.clusterresources.com/

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

Manage your Globus Grid with Moab

Manage your Globus Grid with Moab

Get 90-99% Hardware Utilization


Moab Screenshots Moab Grid Suite facilitates easy Globus Grid management in a real-world computing environment.

Moab integrates scheduling, managing, monitoring and reporting across multiple clusters and ensures grid service levels are delivered and workload is processed faster.

Moab can:

  • Seamlessly transition from cluster to grid with support for multiple resource managers, operating systems and hardware
  • Let contributing organizations keep their sovereignty by giving administrators of local clusters the power to set their own policies
  • Improve administration of grids with automated policies and track the results with a visual view of running, idle and downed nodes


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

اينترنتII

اينترنتII

آيكون ساعت شنى با وجود گسترش و بزرگ شدن هر لحظه اينترنت (World wide web) هنوز كند مى چرخد و اينترنت به (World wide wait) تبديل شده است. كاربران چه قديمى و چه جديد فهميده اند بازى درحال عوض شدن و قواعد اينترنت در حال تغيير و نو شدن است تا راه خود را به سوى آنچه اينترنت II ناميده مى شود، پيداكند.

اينترنت كنونى قابليت اجراى برنامه هاى كاربردى نسل بعد را ندارد و درحال جان كندن است.

آيا سرعت كنونى اينترنت براى دريافت و ارسال فايل ها در سال هاى آينده قابل قبول خواهدبود؟ آيا نمى توان در سطح جهان از رايانه هايى كه در حال كار نيستند براى پردازش اطلاعات سنگين استفاده كرد؟ پاسخ سؤالات فوق به راهى ختم خواهدشد با عنوان اينترنت II.

اينترنت برتر از تمام فناورى هايى ظاهر شده است كه جهان را به هم مرتبط مى سازد. اما اين فناورى نيز مانند ساير فناورى هاى ديگر آفت هايى دارد مانند هكرها، ويروسها و غيره.

اينترنت كنونى را در حقيقت مى توان نسخه توسعه يافته شبكه ARPANET ناميد. شبكه اى كه در سال ۱۹۶۹ توسط سازمان ناسا پايه گذارى شد و سپس چند دانشگاه آمريكا به اين شبكه پيوستند و بعد نيز به مرور كشورها عضو اين شبكه يكپارچه شدند.

هدف اصلى و ابتدايى از راه اندازى شبكه آرپانت امورتحقيقاتى و پژوهشى بود. اما اين شبكه بعدها در جهت اهداف سياسى، اقتصادى، فرهنگى و غيره نيز به كار گرفته شد.

تعمير و رفع مشكلات شبكه كنونى اينترنت سخت و دشوار شده است، بنابراين محققان برروى امكان ايجاد شبكه جهانى جديد درحال مطالعه و تحقيق هستند كه اين شبكه با نام اينترنت II شناخته مى شود.

اينترنت كنونى از پروتكل IPV4 استفاده مى كند كه نزديك به ۲۰ سال قدمت دارد و به عقيده بعضى عمر اين پروتكل به سر آمده است. مشكل اصلى در اين پروتكل تعداد محدود آدرس هاى IPV4 براى پشتيبانى از اينترنت فعلى و اينترنت II است. پديده اينترنت II يا Grid Technology پديده اى است كه به عنوان جانشين اينترنت فعلى در بعضى از كشورها شناخته شده است. اينترنت II با داشتن بهترين و سريع ترين ابزارهاى جست وجو (Search)، سرعت بسيار بالا و داشتن امكانات قوى براى تحقيق و پژوهش جايگزين شايسته اينترنت در سال هاى آتى خواهدبود. سرعت انتقال اطلاعات در يك پايگاه اينترنت II ده ها گيگابايت در ثانيه خواهدبود، البته هنوز زمان زيادى براى رسيدن به اينترنت II وجوددارد. اين فناورى حاصل همكارى ۱۳۰ دانشگاه و مركز تحقيقاتى به منظور توسعه اينترنت به صورت شبكه اى با قابليت هاى پيشرفته تر براى تحقيقات و آزمايش هاى دانشگاهى است.

مبناى كار اينترنت II

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

در اينترنت II برخلاف اينترنت كنونى از پروتكل IPU6 به جاى پروتكل IPU4 استفاده مى شود. (internet protocol version). در اصل شماره IP كه در حال حاضر از ۴ بخش تشكيل شده است در اينترنت II شش بخشى خواهدبود كه اين تغيير پروتكل افزايش پهناى باند را به دنبال خواهدداشت و زمان دسترسى به اطلاعات به زمان حقيقى بسيار نزديك تر مى شود.

كاربردهاى اينترنت II

با تبديل اينترنت كنونى به اينترنت II در تمام گرايش هاى فنى، مهندسى، علوم و غيره مى توان شاهد تغييرات شگرفى بود كه در زير به عنوان نمونه به چند مورد از آنها اشاره مى شود.

* پزشكى: تصويربردارى سه بعدى از اعضاى بدن و معاينه تخصصى پزشكى از راه دور، بدون حضور پزشك در محل بيمار

* سرگرمى: ارائه تصاوير ويديويى با سرعت و كيفيت بسيار بالا به صورت دو طرفه

* آموزشى: ايجاد امكانات آموزشى ميان دو مؤسسه دور از هم و تعامل استاد و دانشجو بدون نياز به حضور استاد و دانشجو در كلاس درس

* نجوم: كنترل تلسكوپ از راه دور و مشاهده اطلاعات دريافتى از تلسكوپ به صورت بلادرنگ

مزاياى اينترنت II

درحقيقت مى توان گفت اينترنت II براى سه منظور مهم طراحى شده است:

۱- افزايش پهناى باند اطلاعاتى

(Band width)

۲- چندكاره بودن شبكه (Multi task)

۳- امنيت بالاى دريافت و اجراى اطلاعات (Securiety)

افزايش پهناى باند

اگر جزو كاربران اينترنت كنونى هستيد، حتماً از كندى سرعت اينترنت شاكى و گله مند هستيد. شما در بهترين حالت dial up سرعتى حدود ۴۴mbps را خواهيد داشت و در صورت استفاده از سرويس هاى ADSL اين سرعت اندكى افزايش يافته و تا ۵۱۲mbps و يا بيشتر هم خواهد رسيد (البته با افزايش هزينه هاى شما) - ممكن است سرعت دريافت و ارسال اطلاعات براى شما اهميت حياتى داشته باشد - در اين موقع مجبور خواهيد بود كه بيشتر هزينه كرده و به سراغ سرويس هاى vsat برويد كه بعد از گرفتن مجوزهاى لازم، اين سرويس براى شما فعال خواهدشد و البته هزينه هاى زيادى را نيز بايد براى استفاده از اين سرويس به صورت ماهيانه پرداخت كنيد.

مواردى كه در بالا عنوان شد تنها گوشه هايى از مشكلات دستيابى به اينترنت كنونى است، يكى از مهم ترين اهداف اينترنت II دستيابى به پهناى باند بيشتر براى كاربران است كه همزمان با افزايش سرعت دريافت و ارسال اطلاعات درخواستى، پهناى باند تخصيص يافته به كاربران و مشتركان نيز در اين سرويس افزايش پيداكند.

چندكاره بودن شبكه

تنها مزيت اينترنت II در افزايش پهناى باند خلاصه نمى شود. آيا نمى توان از سرعت و قدرت رايانه ها در مواقعى كه كاربران با آن كارى انجام نمى دهند براى انجام امور محاسباتى دقيق و سريع بهره گرفت؟

در اينترنت II امكانى فراهم شده است تا كاربران در صورت تمايل و اعلام آمادگى شخصى جهت دراختيار گذاشتن منابع سخت افزارى خود در شبكه به صورت رايگان قادر به انجام اين كار باشند.

كافى است كه شما با وصل شدن به آدرس يك پايگاه اينترنتى كه از پروتكل هاى اينترنت II پشتيبانى مى كند، Screen saver دلخواه خود را نصب كرده و در مواقعى كه از رايانه خود استفاده نمى كنيد به ساير كاربران اجازه دهيد كه از منابع سخت افزارى رايانه شما جهت پردازش هاى سنگين استفاده كنند و درحقيقت رايانه خود را درمواقع بيكارى وقف امور پژوهشى و تحقيقاتى كنيد تا شما نيز در پيشرفت علم نقشى برعهده داشته باشيد و نيز با ايجاد امكان استفاده از منابع سخت افزارى ساير رايانه ها، رايانه خانگى خود (pc) را به ابرقدرتى بى رقيب تبديل كنيد.

امنيت بالاى دريافت و ارسال

اينترنت فعلى با مشكلات امنيتى بسيارى دست به گريبان است. هكرها، فيشرها و غيره همواره در كمين نشسته اند تا در صورت كوچك ترين غفلت شما و يا سرويس دهنده شما اطلاعات شما را دزديده و به حراج بگذارند.

هر از چندگاهى نسخه هاى اصلاح شده آنتى ويروس ها، آنتى اسپم ها، آنتى تروژن ها و غيره برروى شبكه دراختيار كاربران قرارمى گيرد و شما مجبور خواهيدبود براى در امان ماندن از شر اين ميهمان هاى ناخواسته آنتى ويروس خود را به روز كنيد (up to date) با هكرها چه مى كنيد؟ هكرها هميشه يك قدم از شما جلوتر هستند و هر زمان كه اراده كنند سدهاى پولادين را شكسته و به web site شما نفوذ خواهندكرد و اطلاعات شما را در چشم برهم زدنى به يغما مى برند. براى جلوگيرى از نفوذ اين دزدان دنياى ديجيتال چه فكرى كرده ايد؟

اينترنت II سعى كرده است تا حدودى مشكلات امنيتى موجود در اينترنت كنونى را برطرف نمايد و با شش بخشى شدن آدرس هاى اينترنتى تا حدودى امنيت در شبكه ها بالاتر خواهدرفت و از نفوذ هكرها نيز جلوگيرى به عمل خواهدآمد.

فرايندهاى اصلى اينترنت II

در اينترنت II فرايندهاى زيادى وجودخواهدداشت. اما سه فرايند اصلى اين پديده تكنولوژيك عبارتند از:

۱- گريدهاى اطلاعاتى (Data grid)

۲- گريدهاى جوينده (Scavenging Grid)

۳- گريدهاى محاسباتى (Computing Grid)

* Data grid

اين gridها وظيفه ذخيره سازى اطلاعات و سپس ارائه آن به كاربران را برعهده دارند.

مشتريان اين گريدها بدون توجه به موقعيت مكانى قابليت دسترسى به اين اطلاعات را دارا خواهندبود.

در اين نوع گريد دستگاه هايى كه با سيستم ارتباط دارند مسئول به اشتراك گذارى اطلاعات هستند.

*Scavenging Grid

اين گريدها به صورت مداوم به دنبال ظرفيت هاى خالى در اينترنت هستند تا از منابع آزاد درجهت پردازش هاى سنگين بهره بگيرد و البته با كسب اجازه قبلى از صاحبان سيستم ها

*Computing Grid

اين گريدها كه بعضى آن را جزئى از scavenging Grid مى دانند، وظيفه استفاده از منابع بلااستفاده رايانه هاى شخصى را در جهت پردازش هاى نرم افزارى برعهده دارد و سرعت پردازش اطلاعات در اين سيستم ها افزايش چشمگيرى خواهدداشت و لذا مى توانيم نرم افزارهاى سنگين را برروى رايانه هاى قديمى اجرا كرده و نياز به ارتقاى سيستم ها تا حدودى كاهش پيداخواهدكرد

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

چه تفاوت و شباهتهايي ميان شبکه اينترنت و سيستم گريد وجود دارد؟

 

GRID آرمانی فراتر از  دهکده جهانی

grid

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


چه ضرورتي يا ضرورت هايي باعث شدند تا سيستم گريد (تور) مطرح شود؟
با الحاق ايران به جمع کشورهاي برخوردار از سرويس اطلاعاتي عظيم گريد ، امکان به اشتراک گذاردن توان محاسباتي و ذخيره داده ها ميان رايانه هاي موجود در شبکه در سراسر جهان فراهم مي شود. درواقع با اتصال رايانه شخصي به گريد، آن رايانه به يک سوپر رايانه با قدرت محاسباتي فوق تصور تبديل مي شود. در اين ميان شتاب دهنده ذرات (LHC) که بخشي از آن را متخصصان ايراني ساخته اند، قرار است از امسال فاز عملياتي خود را آغاز کند تا با شتاب دادن به ذرات اتمي ، به دنياي شگفت انگيز و ناآشناي ريزذرات بنيادي وارد شود و رازهاي جهان را به تصوير کشد؛ اما اين ماشين عظيم که در خاک 2کشور سوئيس و فرانسه واقع شده است و بزرگترين دست ساخته علمي بشر ناميده مي شود زماني به گريد احتياج پيدا کرده که حجم داده هاي آن به صورت فزاينده اي درآمد. اين ماشين علمي هر ساله يک پتا بايت داده توليد مي کند. اين مقدار معادل 1000 برابر داده هايي است که در تمام کتابهاي چاپي در مدت يک سال و در کل سياره ما به چاپ مي رسد. براي آن که عظمت ماجرا را بيشتر درک کنيم بد نيست مقايسه ديگري انجام دهيم.
بياييد تمام داده هايي را که بشر درطول يک سال در تمام سياره زمين توليد مي کند، مثل کتابهاي چاپي ، الکترونيکي ، ايميل ها، نامه ها، عکسها و فيلمهايي که به صورت ديجيتال تهيه مي شود را در نظر بگيريد. داده هاي خالي که LHC در يک سال به تنهايي توليد خواهد کرد، يک درصد همه اين داده ها خواهد بود. اگر همه اين داده هاي توليد شده در يک سال را روي سي دي هاي رايج بريزيد و اين لوحها را روي يکديگر قرار دهيد، ستوني از سي دي با ارتفاع 20 کيلومتر ايجاد خواهد شد.

grid2



از چه زماني همکاري هاي ايران با سيستم گريد شروع شد و اين همکاري ها در چه قالبي شکل گرفتند؟
پژوهشگاه دانش هاي بنيادي به عنوان يکي از پيشرفته ترين مراکز علمي منطقه با اعتبار جهاني از چند سال پيش تاکنون در بخشي از طرح ساخت بزرگترين مجموعه آزمايشگاهي دنيا در زمينه فيزيک ذرات بنيادي و فيزيک هسته اي CERN (سرن) مشارکت دارد که درخصوص همکاري هاي علمي خود با اين طرح تلاش دارد گره اي از شبکه جهاني اشتراک توان محاسباتي و اطلاعاتي رايانه هاي متصل به اينترنت را در کشور ايجاد کنند. در واقع آزمايش LHC در سرن انجام مي شود و پژوهشگاه IPM به عنوان عضوي از طرح CMS که احتمالا در سال 2008 آغاز به کار خواهد کرد، داده هاي بسيار زيادي را توليد خواهد کرد که براي تحليل آنها نياز به پياده سازي يک گره از گريد در کشور داريم و با نصب نرم افزارهاي لازم تا چند ماه آينده آماده خواهد شد. وظيفه اين گره امکان استفاده از داده هاي آزمايش LHC و توان محاسباتي گريد جهاني براي محققان اين رشته را فراهم مي کند که پژوهشگاه دانش هاي بنيادي در حال حاضر هسته گريد خود را به عنوان عضوي از ارگان مجازي طرح CMS و LHC تشکيل داده و کار راه اندازي گريد داخلي و عضويت در گريد جهاني در سرن را پيگيري مي کند.

LHC



در حال حاضر در طرح شتاب دهنده ذرات که در سرن انجام مي شود چه کشورهايي شرکت دارند ، نقش ما در اين طرح چقدر است؟
در طرح LHC که قسمت اصلي آزمايشگاه سرن خواهد بود ، شتاب دهنده بزرگي در ژنو طراحي شده است و حدود 2300 دانشمند از 159 کشور روي اين طرح کار مي کنند. ما هم سعي کرديم با ايجاد يک گره گريد يعني يک سري رايانه شاهراهي براي انتقال داده ها با سرن ايجاد کنيم که دانشگاه هاي کشور به مرکز IPM وصل مي شوند و از اين راه ارتباطشان برقرار مي شود. اين گريد اين امکان را ايجاد مي کند که نه تنها پژوهشگران ذرات بنيادي و فيزيک مي توانند از آن استفاده کنند، بلکه بقيه پژوهشگران که در شاخه هاي ديگر علوم مشغول به فعاليت هستند هم مي توانند از اين پل ارتباطي قوي استفاده کنند.

با توجه به وجود رايانه هاي سريع و کلاستر باز هم براي محاسبات پيچيده به گريد احتياج است؟
وقتي آزمايش هاي LHC انجام شوند ، معادل 20 ميليون سي دي در سال توليد خواهد داشت. به طور کلي در حال حاضر، توليد علم و حل مسائل پيچيده اي که دانشمندان با آنها مواجه مي شوند ، بدون استفاده از رايانه هاي سريع امکان پذير نيست و با وجود پيشرفت هاي صورت گرفته در ساخت رايانه ها هنوز نه تنها يک رايانه بلکه خوشه اي از رايانه ها و حتي ابر رايانه ها هم پاسخگوي نياز به محاسبات و تحليل حجم عظيم داده هايي که دانشمندان در برخي طرحها با آن مواجه هستند ، نيست.
اين امر آنها را به فکر ايجاد يک فناوري جديد براي به اشتراک گذاردن توان محاسباتي رايانه هاي متصل به اينترنت انداخت که از آن به عنوان گريد ياد مي شود. از سوي ديگر ، طبق برآوردها سرعت پردازنده رايانه ها هر 18 ماه و سرعت انتقال اطلاعات در شبکه هر 9ماه 2 برابر مي شود. در نتيجه ، رشد سرعت ارتباطات از سرعت رايانه ها بيشتر است و اين واقعيت کمک مي کند تا هر چه سريع تر فناوري گريد به آرمان خود نزديک تر شود.

حتي با وجود سوپر رايانه ها باز هم به اين سيستم احتياج خواهيم داشت. در اين صورت ، ديگر از جهت دسترسي به سوپر رايانه ها در تنگنا نخواهيم بود؟
در واقع ما در گريد به جاي آن که کل داده هايمان را در يک رايانه ذخيره کنيم ، آن را به بخشهاي مختلفي تقسيم کرده اند و در واقع از امکانات اين سيستم براي ذخيره سازي حجيم ترين داده ها استفاده مي کنيم.

lhc

 

 

 

 

 

 

 

 

 

نمونه هايي مشخص از توان محاسباتي گريد


پروژه نجومي tloME@SETI نمونه اي از قدرت محاسباتي گريد است که از آن به عنوان Internet Computing هم ياد مي شود.
در اين پروژه که توسط دانشگاه کاليفرنيا (برکلي) مديريت مي شود ، افرادي که رايانه متصل به اينترنت دارند مي توانند با نصب نرم افزار SETI@ome در اين پروژه مشارکت کنند.
هدف اوليه اين پروژه پيدا کردن موجودات هوشمند در ساير نقاط جهان است که اين کار با تحليل امواج راديويي رسيده به رصدخانه Arecibo واقع در کشور پورتوريکو و روي رايانه هاي عضو اين پروژه صورت مي گيرد.
جالب اينجاست که اين پروژه تاکنون توانسته 15 Tflops (ترافلاپز واحد سرعت رايانه است) را با هزينه کمتر از 500هزاردلار فراهم کند.
در حالي که ابررايانه IBM'S ASCLL White با توان محاسباتي 12Tflops حدود 110 ميليون دلار هزينه در بر دارد. پيشرفت علمي در رشته هايي مانند علوم نانو ، پزشکي ، ژنتيک و همين طور مقوله هايي مانند تحقيقات و شبيه سازي هاي هواشناسي ، نجومي و دريايي دانشمندان را با حجم عمليات رياضي مواجه مي کند که از توان هيچ رايانه اي به تنهايي برنمي آيد بنابراين گريد به عنوان روشي که به کمک آن در زماني معقول مي توان داده ها را تحليل کرد بروز پيدا مي کند البته غير از دانشمندان که مشتريان اصلي گريد بوده و خواهند بود ، از هم اکنون گروههاي بسياري به فکر گسترده کردن دامنه استفاده از گريد هستند که اقتصاددان ها در راس اين گروه قرار دارند

با توجه به اين که در حال حاضر سوپر رايانه ها جزو فناوري هايي محسوب مي شوند که ما از آنها محروم هستيم بنابراين گريد گزينه بسيار خوبي براي پژوهشگران ما محسوب مي شود. به اين ترتيب و با شرکت در طرحهاي مختلف حتي مي توان از سوپررايانه هاي متعدد استفاده کنيم.

استفاده از اين سيستم تا به حال در دنيا شروع شده است؟
در حال حاضر ، هر کشوري در اروپا و بعضي کشورهاي آسيايي مانند چين درصدد توسعه گريد داخلي و اتصال به دهکده جهاني گريد هستند و ايران هم بايد به طراحي نرم افزار و زيرساختار گريد داخلي خود اقدام کند. در حال حاضر ، اگر چه تنها يک شبکه اينترنت در سطح جهان مطرح است گريدهاي مختلف ملي ، بين کشوري و يا قاره اي وجود دارند و در حال رشد هستند و در اين شرايط وجود سازمان هاي مجازي مطرح مي شود که براي حل مساله از منابع انساني ، رايانه ها ، داده هايي که از طريق آزمايشگاه ها توليد مي شوند ، استفاده مي کنند. بيشتر کشورهاي   امريکا ، چين ، پاکستان ، تايلند ، سنگاپور و... تاکنون به صورت ملي و يا طرحي در گريدهاي مختلف شرکت داشته اند.

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

aa

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

شما براي گسترش سيستم گريد در کشور چه اقداماتي را انجام داده ايد و آيا مي توان از اين طريق بخشهاي ديگر تجاري ، اقتصادي و... از مزاياي آن استفاده کنند.
بايد در ابتدا گريد در داخل کشور معرفي شود و در انتها پس از جاافتادن اهميت مساله گريد ملي راه اندازي شود. با اتصال دانشگاه هاي کشور به گريد از طريق پژوهشگاه دانشهاي بنيادي به نوعي به گريد ملي دست خواهيم يافت.
البته اقدامات ما همگي در خصوص e-science و در جهت گسترش ارتباطات علمي و پژوهشي است. در واقع ما تنها سرويس هاي اينچنيني را به کاربران مي دهيم.

da

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

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

راهنمای راه اندازی یک server/client

فرض كنيد شما يك برنامه با كاربرد بسيار حرفه اي داريد كه توانايي هاي زيادي مانند حافظه ُ سرعت و غيره از كامپيوتر شما مي طلبد و شما در دفتر كار خود چند پي.سي داريد. خوب شما در آن واحد نمي توانيد معمولا با چند پي سي به طور همزمان كار كنيد مگر اين كه يك هشت پا با مغزي Multi thread باشيد. پس معمولا شما پشت فتوشاپ يا اتوكد يا هر نرم افزار كند ديگري نشسته ايد و بيشتر وقت خود را به حرص خوردن و نگاه كردن به ساعت شني ويندوز / مك يا لينوكس تان مي گذرانيد و اين در حالي است كه دو يا سه كامپيوتر ديگر در محل كار شما بيكار هستند.

البته راه حل هاي Grid Computing وجود دارند كه اجازه مي دهند شما چندين ماشين را به هم متصل كرده و از حافظه و توان محاسباتي آنها به شكل يك پارچه استفاده كنيد ولي اين راه حل ها براي كاربران عادي بسيار گران / مشكل و دور از دسترس هستند. اينجاست كه این را ه حل ساده مفهوم پیدا می کند.

هدف من اين است حالا كه اين امكان وجود ندارد كه از توان چند كامپيوتر به شكل يكپارچه براي اجراي يك برنامه - فرضا فتوشاپ - استفاده كنيم بياييم چند نسخه از آن را در چند كامپيوتر جدا گانه راه اندازي كنيم كه هر كدام منابع خودشان را مصرف كنند و در نهايت كنترل همه آنها را به دست شما بدهيم. به اين ترتيب شما در حالي كه مشغول باز كردن يك فايل بزرگ در فتوشاپ هستيد مي تواني يك نسخه ديگر فتو شاپ را به شكل از راه دور -Remote- بر روي يك كامپيوتر ديگر باز كنيد و به كار خود ادامه دهيد.

حالا نقشه اجرايي

بياييد فرض كنيد شما يك كامپيوتر Master ويندوز اكس پي و چندين ماشين Slave لينوكس ارزان قيمت داريد. قرار است شما مديريت كل سيستم را از پشت ويندوزتان كه خوش دست تر و كار با آن راحت تر است انجام دهيد. فرض مي كنيم شما يك شبكه اترنت 100 مگابيتي هم براي اتصال اين ماشين ها به يكديگر داريد و همه اين ماشين ها يكديگر را در شبكه TCP/IP شما مي بينند.


نرم افزار مورد نياز به غير از سيستم عامل

Real VNC
Client and Server Versions for Both Windows XP and Linux

Cross Over office
Linux

خوب حالا بر روي ماشين هاي لينوكس Cross Over office را نصب كرده و بر روي آن فتوشاپ نصب مي كنيم. حالا ما چندين ماشين لينوكس داريم كه فتوشاپ بر روي آنها نصب شده و بدون افت توان كار مي كند. حالا مساله اين است كه چگونه همه آنها را از ماشين ويندوزمان كنترل كنيم؟

كافيست كه سرويس VNC را بر روي ماشين هاي لينوكس اجرا كنيد :

vncserver

وي.ان.سي چند سوال ساده از شما مانند اسم و كلمه عبور و نام مشتري اكس.ويندو مي پرسد.

اين كار را بر روي تمام ماشين هاي لينوكس تكرار كرده و به هر كدام نام جديدي بدهيد.

در ماشين ويندوز VNC client را نصب و اجرا كنيد و به تمام ماشين هاي لينوكس تك تك Login كنيد. حالا كافي است كه در ترمينال TWM اين دستور را اجرا كنيد:

Photoshop

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

اكنون مي توانيد كمي از طعم شيرين Virtualization و Grid Computing را بدون داشتن سرور هاي گران قيمت بچشيد.
+ نوشته شده در  جمعه دوازدهم بهمن 1386ساعت 12:23  توسط یوسف عبدلیان باریکرسفی  | 

Grid computing چیست ؟

Grid computing چیست ؟
حدود 33 سال از به ‌وجود آمدن اینترنت می‌گذرد و از سال 1989 که وب پدید آمد، بیشتر مردم از آن استفاده می‌کنند و به‌صورت بخشی از زندگی ایشان در آمده است. شاید علت این استفاده زیاد از اینترنت، استاندارد باز آن بوده است که امکان ارتباط کامپیوترهای مختلف را با یکدیگر مهیا می‌سازد. با استفاده از اینترنت می‌توانید از هر کامپیوتری که به‌آن متصل است، ایمیل بفرستید و شخصی در آن طرف دنیا با کامپیوتری کاملاً متفاوت با کامپیوتر شما، آن ایمیل را به ‌راحتی بخواند و به ‌شما ایمیل دیگری بفرستد. امروزه تقریباً تمامی ‌شرکت‌ها و سازمان‌های بزرگ، برای تبادل اطلاعات و فرستادن ایمیل به‌مشتریان خود از اینترنت استفاده می‌کنند. پرسش این است که آیا به‌راستی امکاناتی که اینترنت در اختیار ما قرار می‌دهد، فقط در فرستادن ایمیل و داشتن وب‌سایت خلاصه می‌شود؟ آیا اینترنت امکان استفاده از منابع سخت‌افزاری سیستم‌های دیگر را نیز به‌ ما می‌دهد؟ پس از اینترنت چه ابزار یا بستری خواهد آمد؟ 

امروزه فناوری جدیدی به‌ نام Grid به ‌عرصه ارتباطات قدم نهاده است که براساس آن با دانلودکردن یک محافظ نمایشگر مخصوص می‌توانیم به‌کامپیوترهای شخصی خود اجازه دهیم که وقتی از آن استفاده نمی‌کنیم، به ‌شبکه جهانی متصل شوند و به ‌سیستم‌های بزرگ تحقیقاتی اجازه دهند از منابع آزاد و بلااستفاده سیستم ما استفاده نماید. کامپیوترهای امروزی مانند مغز انسان معمولا از بخش کوچکی از توانایی‌های خود استفاده می‌کنند و اغلب به‌ صورت غیرفعالند و منتظر اطلاعات ورودی می‌مانند. تصور کنید که اگر از منابع سخت‌افزاری این همه کامپیوتر غیرفعال استفاده شود و همه در یک کامپیوتر جمع شود، چه دستگاه پرقدرتی خواهیم داشت. Grid Computing با ‌کمک به اینترنت زمینه‌ای را فراهم آورده است که بتوان با استفاده از آن، از منابع سخت‌افزاری سیستم‌های دیگر نیز استفاده نماییم.

ممکن است Grid برای افراد مختلف معانی متفاوتی داشته باشد، اما اگر بخواهیم تعریف ساده‌ای از آن داشته باشیم، می‌توانیم بگوییم Grid Computing در واقع به‌شما اجازه می‌دهد با استفاده از منابع سیستم‌های متصل به‌ شبکه و  ایجاد یک منبع بزرگ از سرویس‌ها و امکانات این سیستم‌ها، مرکزی بزرگ و قدرتمند به‌ وجود آوریم که توانایی انجام‌دادن عملیات بسیار پیچیده‌ای را داشته باشد که یک سیستم به‌تنهایی نمی‌تواند انجام دهد. به‌نحوی که از دید استفاده‌کنندگان این سیستم‌های بزرگ، این عملیات تنها از طریق یک سیستم انجام می‌شود.

Grid Computing در حقیقت نسل جدیدی از شبکه‌های توزیع یافته است و همانند اینترنت به‌ کاربران خود اجازه می‌دهد فایل‌ها را به ‌اشتراک بگذارند. به‌علا‌وه، منابع مشترکی از اطلاعات را برای استفاده‌کنندگان فراهم می‌کند. با استفاده از این سیستم‌ها می‌توان منابع کامپیوترهای ناهمگون را به‌اشتراک گذاشت. هدف اصلی Grid استفاده از این منابع مشترک مانند قدرت پردازنده، پهنای باند، پایگاه اطلاعاتی و در اختیار گذاردن آن برای ‌کامپیوتر مرکزی است.
انواع Grid  
سیستم‌های Grid با توجه به‌ نیازهای کاربران می‌توانند در انواع مختلف مورداستفاده قرار گیرند. اغلب این سیستم‌ها بر اساس نوع کاری که انجام می‌دهند، طبقه بندی می‌شوند. از سه نوع اصلی این سیستم می‌توان از Gridهای اطلاعاتی، Gridهای جوینده منابع و Grid‌های محاسباتی نام برد.

Gridهای اطلاعاتی یا Data Grid موظفند اطلا‌عات را ذخیره کنند و آن‌ها را در اختیار کاربران قرار دهند. کاربران این سیستم‌ها بدون آن‌که از موقعیت جغرافیایی و مکانی این اطلاعات آگاه باشند، به ‌اطلاعات دسترسی دارند. مثلاً تصور کنید که دو دانشگاه در دو سوی دنیا یکی در ایران و دیگری در انگلستان روی یک مطلب علمی‌مشترک تحقیق می‌کنند و هر یک از آن‌ها اطلاعات خاص خود را ذخیره می‌کند و می‌خواهد دانشگاه دیگر نیز به ‌برخی از ‌این اطلاعات (نه تمامی‌آن) دسترسی داشته باشد. این دانشگاه‌ها می‌توانند از یک Data Grid استفاده کنند و اطلاعات خود را با ضریب امنیتی بالایی با هم به‌اشتراک بگذارند.
 
در این نوع Grid دستگاه‌های متصل به‌سیستم نیاز به‌قدرت زیاد ندارند و فقط مسئول به ‌اشتراک گذاشتن اطلاعات هستند. از طرف دیگر Grid ‌های محاسباتی یا Computational Grid از آن جا که نیاز زیادی به ‌قدرت پردازنده‌ها دارند، باید از ماشین‌هایی با قدرت بسیار بالا استفاده نمایند.

یکی دیگر از انواع Gridها، سیستم‌های جوینده منابع یا Scavenging Grid است. این سیستم‌ها از تعداد زیادی کامپیوتر شخصی استفاده می‌کنند و به‌صورت مداوم به‌دنبال ظرفیت‌ها، منابع آزاد  و چرخه پردازنده (CPU cycle)   کامپیوتر‌های  متصل به ‌Grid هستند و از این منابع استفاده می‌نمایند. البته صاحبان این کامپیوترهای شخصی باید قبلا‌ً اجازه استفاده از منابع بدون استفاده خود را بدهند.
 
اهمیت Grid Computing  
تقریبا در همه سازمان‌ها و شرکت‌های بزرگ تعدادی کامپیوتر بدون استفاده وجود دارد. مثلاً سرورهای یونیکس از تقریباً ده تا بیست درصد از ظرفیت حقیقی خود استفاده می‌کنند و کامپیوترهای شخصی حدوداً از 95 درصد از ظرفیت خود اصلاً استفاده نمی‌کنند.  با استفاده از Grid Computing در یک سازمان یا شرکت بزرگ می‌توان از منابع بلا‌استفاده کامپیوترهای سازمان  کمال استفاده را برد و سرعت پردازش اطلاعات در سیستم‌هایی که با کمبود حافظه مواجهند را جبران نمود. از طرف دیگر، سرعت نرم‌افزارهایی که از این منبع بزرگ سخت‌افزاری استفاده می‌کنند، بسیار بالاتر خواهد بود و در نتیجه می‌توانیم به ‌فکر درست کردن نرم‌افزارهایی با قابلیت‌های بالاتر باشیم و منابع بیشتری را در اختیار استفاده‌کنندگان قرار دهیم.

Grid Computing می‌تواند مزایای زیادی برای مدیران و برنامه‌نویسان داشته باشد. مثلاً با آن می‌توان  برنامه‌هایی که نیاز به‌حافظه زیادی دارند را اجرا نمود و به ‌اطلاعات، دسترسی آسان‌تری پیدا کرد. اصولا ًGrid Computingمی‌تواند به‌سازمان‌ها و شرکت‌های بزرگی که سرمایه هنگفتی را در IT هزینه کرده‌اند، کمک کند از سیستم‌های خود حداکثر استفاده را ببرند.

فناوری‌های Grid در واقع می‌توانند از منابع و سیستم‌های غیرمتمرکز پشتیبانی کنند و امکان ارتباط سیستم‌ها را با هم فراهم ‌سازند. وقتی برای اولین بار فناوری Grid ابداع شد، هدف آن تنها  به‌اشتراک گذاشتن منابع سیستم و در اختیارداشتن سیستمی‌قدرتمند بود و به‌طور کلی بیشتر در اختیار مؤسسات تحقیقاتی قرار داشت. اما امروزه از Grid توقع بیش‌تری می‌رود و اهمیت بیشتری پیدا کرده است؛ به‌ویژه در تجارت الکترونیک و سیستم‌های تجاری غیرمتمرکز و توزیع‌یافته. به‌ عنوان نمونه، مدل تجارت الکترونیک B2B را در نظر بگیرید که دو مؤسسه تجاری اطلاعات خود را از طریق اینترنت با هم مبادله می‌کنند. Grid نیز می‌تواند کاری مشابه ‌را انجام دهد و دو یا چند سیستم تجاری را به‌هم مرتبط سازد. به‌طوری که  بتوانند اطلاعات خود را به‌اشتراک بگذارند. فناوری Grid همچنین می‌تواند راه‌حل مناسبی برای افزایش دسترسی، قابلیت اطمینان و امنیت سیستم‌های غیرمتمرکز نیز باشد.    
ابزار قدرتمند Globus 
یکی از قدرتمند‌ترین ابزارهای ایجاد، کنترل و مدیریت سیستم‌های Grid، ابزار Globus است. پروژه Globus حدود سال 2003 به‌صورت عملی درآمد. این پروژه حاصل تلاش مشترک محققان و برنامه‌نویسان Grid در سرتاسر دنیاست که بر حول چهار محور بنا شده است: تحقیق، ابزارهای نرم‌افزاری، آزمون و نرم‌افزار‌ها. این ابزار در نسخه 2.2 خود خدمات بسیاری به‌مدیران سیستم‌های Grid ارائه می‌کند که   می‌توان به امنیت، مدیریت منابع و مدیریت دقیق  اطلاعات اشاره کرد. Globus با در اختیار گذاشتن APIها و فایل‌های Header زبان C برای ساختن و کامپایل برنامه‌ها به ‌برنامه‌نویسان اجازه می‌دهد سیستم‌های خود را به Grid متصل نمایند و به ‌مدیران امکان می‌دهد منابع متصل به Grid را به‌راحتی مدیریت کنند.

اضافه براین، Globus با در اختیار گذاشتن Componentهایی مخصوص، کار مدیران Grid را آسان‌تر می‌کند. مثلاًGlobus یک ابزار بسیار کارا به‌نام Commodity Grid) COG) که زبان‌های برنامه‌نویسی مانند Python، جاوا و فناوری‌های روز مانند سرویس‌های وب، کوربا و RMI را می‌شناسد و می‌تواند در دو بخش تهیه نرم‌افزارهای سازگار با Grid و مدیریت سیستم‌های Grid به ‌ما کمک کند. البته نسخه 2.2 ابزار Globus در برخی موارد ضعف‌هایی نیز دارد. این نسخه از سرویس‌هایی مثل مدیریت Life-Cycle یا چرخه زندگی نرم‌افزار و سیستم‌های ذخیره و بازیابی پشتیبانی نمی‌کند. البته نسخه جدید Globus یعنی نسخه 3 از آن جا که سعی داشته است با معماری باز سرویس‌های Grid یا همان the Open Grid Services Architecture) OGSA) هم‌خوانی داشته باشد، توانسته‌است بسیاری از نقاط ضعف نسخه قبلی را رفع کند.
نگاهی به‌اجزای Grid
اجزای تشکیل دهنده grid عبارتند از:

- رابط کاربر

- اجزای امنیت‌

- مدیریت کنترل کار سیستم (Workload management)

 - زمانبند (Scheduler)

 - مدیریت اطلاعات (Data Management)

 - مدیریت منابع (Resource management)

در این قسمت به‌صورت مختصر در مورد هر یک از این اجزا توضیح داده می‌شود. دسترسی به ‌اطلاعات در Grid   اهمیت شایانی دارد و رابط کاربر یا User Interface این مسئولیت مهم را عهده‌دار است. رابط کاربر می‌تواند یا در برنامه‌ای که کاربر از آن مستقیما استفاده می‌کند یا در ابزارهای  مدیریتی Grid که مورد استفاده مدیر سیستم است، نقش ایفا کند. همانطور که شما برای استفاده از برق فقط وسیله برقی خود را به ‌پریز برق متصل می‌کنید و لازم نیست از مکان منبع یا منابع اصلی این قدرت اطلاعی داشته باشید، استفاده کننده سیستم Grid نیز الزاماً نباید از پیچیدگی‌های داخل این سیستم‌ها مطلع باشد.  مثال دیگر این‌که، شما از مرورگر وب جهت استفاده از اینترنت استفاده می‌کنید؛ بدون این‌که از مکان سرور وب سایت اطلاعی داشته باشید و تنها با وارد کردن آدرس سایت موردنظر، وب سایت آن در مرورگر نمایش داده می‌شود. اینترفیس Grid نیز باید مانند مرورگر باشد. یعنی استفاده‌کننده Grid نیز از پیچیدگی‌های این سیستم اطلاعاتی ندارد و فقط با ورود یک پارامتر ورودی، یک خروجی دریافت می‌کند.  (شکل 1)


شکل1- سیستم‌های Gird از دید استفاده کنندگان

کامپیوترها در Grid به ‌شبکه متصلند. این سیستم‌ها همچنین می‌توانند حاوی اطلاعات بسیار مهم و حساسی باشند. در نتیجه امنیت را می‌توان یکی از مهم‌ترین اجزایی این سیستم‌ها دانست که خود حاوی اجزای فرعی مانند احراز هویت (authentication)، اختیارات (authorization) و رمزدهی (encryption) است.

مثلاً ابزار Globus حاوی یک Component به‌ نام Grid Security Infrastructure) GSI) یا ساختار زیر بنایی امنیت Grid است که مسئولیت امنیت در محیط را برعهده دارد. GSI حاوی یک SSL باز است. در نتیجه وقتی یک استفاده کننده یک بار به‌صورت مجاز به‌ سیستم راه پیدا کرد، یک Proxy Certificate برای کاربر به‌ وجود می‌آید و برای آن کاربر در نظر گرفته می‌شود. GSI در درگاه Grid قرار دارد. (شکل 2)

شکل2-  GSI در Gird 

استفاده کننده از یک سیستم Grid باید از منابع موجود و قابل دسترس  در سیستم اطلاع داشته باشد. مدیریت کنترل کار سیستم یا Workload Management می‌تواند این کار را به‌ راحتی انجام دهد. درخواست‌کننده سرویس می‌تواند با ارتباط با این قسمت از منابع آزاد سیستم، ظرفیت هر منبع و موقعیت آن‌ها اطلاع حاصل نماید.  در سیستم‌های Grid که توسط Globus هدایت می‌شوند، زمانی که یک استفاده کننده شناسایی شد و برنامه موردنظر آن کاربر اجرا گردید، با توجه به ‌نوع نرم‌افزار و پارامترهای ورودی کاربر، سیستم Grid به‌دنبال منابع آزاد موجود در شبکه می‌گردد.
 
این وظیفه اغلب  به‌ عهده Broker ها است. Globus به‌صورت عادی، ‌Broker ندارند، اما از سرویس‌هایی مانند
Grid Information Service) GIS) و Monitoring and Discovery Service) MDS) را پشتیبانی می‌کنند که به‌سیستم اطلاع می‌دهند کدام منبع یا منابع قادرند منابع خود را در اختیار بگذارند. شکل 3 موقعیت این سرویس‌ها را نمایش می‌دهد.

شکل 3-  موقعیت سرویس‌های MDS در Gird 

یکی دیگر از اجزایی که در سیستم‌های Grid بسیار اهمیت دارد، زمانبند یا Scheduler است. در این سیستم‌ها از آن جایی که باید هر کاری را کامپیوتر مشخصی به‌عهده بگیرد و هر کامپیوتر باید مدت زمانی را در اختیار Grid قرار دهد، سیستم نیاز به‌ یک زمانبند دارد. این زمانبند می‌تواند بسیار ساده باشد، اما اکثر زمانبند‌ها باید بتوانند کارها را اولویت‌بندی کنند و سیستم را کنترل نمایند. در ابزار Globus زمانبند‌هایی با قابلیت بالا  وجود ندارند، اما تعدادی سازوکار زمانبند وجود دارد که کار زمانبندهای دقیق را تا حدی انجام می‌دهد. شکل 4 موقعیت زمانبند‌ها را در Grid  نشان می‌دهد.

شکل 4-  موقعیت زمانبند‌ها در Grid 
جزء دیگر Grid‌ها، مدیریت اطلاعات این سیستم‌ها است که وظیفه ذخیره‌سازی اطلاعات را در سیستم  به عهده‌ دارد.  این بخش وظیفه محافظت از اطلاعات و جابه‌جایی این اطلاعات در تمامی‌دستگاه‌های متصل به ‌Grid را عهده‌دار است. جابه‌جایی و انتقال اطلاعات کار بسیار مشکلی است و اطلاعات باید از کانالی مطمئن منتقل شود.

با استفاده از ابزار Globus و بخش مدیریت اطلاعات این ابزار، می‌توان محیطی امن برای انتقال این اطلاعات به ‌وجود آورد. این قسمت از Globus به Grid Access to Secondary Storage) GASS) معروف است که امکاناتی مانندGridFTP را دربردارد که مانند FTP است، اما امکانات امنیتی مانند GSI را نیز دربرمی‌گیرد. در نتیجه وقتی یک کاربرProxy Certificate را داشته‌باشد، می‌تواند از GridFTP جهت انتقال فایل‌ها استفاده کند؛ بدون آن که نیاز داشته باشد دوباره به‌ سیستم وارد شود. شکل 5 موقعیت GASS را در Grid نشان می‌دهد.

شکل5- GASS در Gird

از دیگر بخش‌های مهم Grid، بخش مدیریت منابع است که به‌ Grid Resource Allocation Manager) GRAM) شهرت دارد. این بخش وظایف هر دستگاه را مشخص می‌کند و باعث هماهنگی دستگاه‌های متصل به ‌شبکه در انجام‌دادن امور محوله است. شکل 6 محل قرار گرفتن GRAM را نشان می‌دهد.


شکل 6- بخش مدیریت منابع در Grid

Grid از دید برنامه نویسان
از دید برنامه‌نویسان، Grid از سازمان‌های مجازی‌ای تشکیل شده است که از پروتکل‌های مخصوصی برای ارتباط با هم استفاده می‌کنند. این پروتکل‌ها به ‌استفاده‌کنندگان Grid و برنامه‌ها اجازه می‌دهند سرویس‌های خود را در محیطی کنترل شده و امن اجرا کنند. این سازمان‌های مجازی می‌توانند یک کامپیوتر شخصی، سروری قدرتمند یا کامپیوترهای متصل به‌ شبکه باشند که از آن جا که پروتکل یکسانی دارند، می‌توانند با هم متصل باشند و از منابع یکدیگر استفاده نمایند.

گروه جهانی Grid با ارائه معماری باز سرویس‌های Grid یا Open Grid Services Architecture) OGSA) و جمعآوری استانداردهای باز، مانند زبان تعریف سرویس‌های وب یا Web Services Description Language) WSDL) توانسته است استانداردی آسان و در عین حال دقیق برای سیستم‌های Grid تعریف کند. از آن گذشته، OGSA از تجربیات به‌ دست آمده از پروژه‌های بزرگی مانند Globus نیز بهره‌مند است. شکل 7 ساختار معماری این استاندارد را نشان می‌دهد.




شکل 7- ساختار معماری باز سرویس های Grid

استانداردهای باز و پروتکل‌های این معماری راه تولید سرویس‌ها را نشان می‌دهند. این سرویس‌ها قلب Grid هستند و در واقع به ‌استفاده‌کننده اجازه می‌دهند با Grid کار کند. این سرویس‌ها عبارتند از:

- سرویس درخواست‌های پردازنده مرکزی

- سرویس مدیریت کنترل کار سیستم و sessionها

- سرویس جست‌وجوی اطلاعات

- سرویس تعیین پهنای باند شبکه‌

- سرویس مدیریت اطلاعات‌

وقتی متخصصان Grid درباره شروع شدن یک سرویس صحبت می‌کنند، مثلاً شروع شدن سرویس جست‌وجوی اطلاعات، منظور یک نمونه یا Instance سرویس است که می‌تواند تکالیف بلند مدت یا موقتی داشته باشد. این سرویس‌ها می‌توانند به‌صورت فعال یا غیر فعال باشند و زمان فعالیت را می‌توان با زمانبند یا به‌صورت اختیاری تعیین نمود. ‌سرویسی خوب است که بتواند به‌راحتی امکانات خود را در اختیار استفاده کننده قرار دهد. مثلاً وقتی یک وسیله الکترونیکی را به ‌پریز برق متصل می‌کنید، برای شما هیچ اهمیتی ندارد که برق مورد نیازتان از کجا می‌آید؛ فقط می‌خواهید از برق استفاده کنید.

سرویس خوب Grid نیز سرویسی است که بتواند سرویس موردنظر ‌استفاده‌کننده  را به‌راحتی دراختیار او قرار دهد و استفاده‌کننده بتواند به ‌سادگی از آن استفاده کند. مثلا سرویس بانک‌اطلاعاتی در Grid باید به‌صورتی عمل کند که استفاده کننده فقط یک جست‌وجو وارد کند و  جواب جست‌وجوی خود را بگیرد؛ بدون این‌که از جایگاه و عملیات بانک‌اطلاعاتی خبر داشته باشد.
پیچیدگی‌ها
اگر تصور می‌کنید سیستم‌های Grid پیچیده‌اند و ممکن است کار با آن‌ها مشکل باشد، کاملاً درست فکر می‌کنید. مثلاً سیستم‌های Grid باید به‌سرعت قادر باشند منابع سیستم‌های متصل به‌آن‌ها را شناسایی کنند و در عین حال نباید از سرعت و کارایی این سیستم‌ها بکاهند. نکته بسیار مهم دیگری که مشخصاً ارتباطی به ‌Grid ندارد ولی در این سیستم‌ها تأثیر‌گذار است، ساختن نرم‌افزارهایی است که بتوانند با سیستم‌های Gird کار کنند.

امروزه بیشتر نرم‌افزارها می‌توانند روی کامپیوتر‌های شخصی یا حتی سرور‌ها کار کنند.  یعنی در واقع این نرم‌افزارها از یک پردازنده مرکزی استفاده می‌کنند، اما در سیستم‌های Gird، ممکن است چند  پردازنده این کار را به‌عهده بگیرند و چند سیستم با هم کار کنند. البته هر سیستم یک کار را انجام می‌دهد. سپس نتایج محاسبات جمع می‌شود و به ‌درخواست کننده سرویس برگشت داده می‌شود.

وقتی یک نرم‌افزار یا مجموعه‌ای از نرم‌افزارها بخواهند از Grid استفاده کنند، مسئله به‌اشتراک گذاشتن اطلاعات، تکه تکه کردن این اطلاعات، ‌انتقال آن با امنیت کامل و مدیریت این اطلاعات کار دشواری است و کاربر Grid فقط اطلاعاتی را وارد می‌کند و نمی‌داند در داخل سیستم چه می‌گذرد. در نتیجه این سیستم‌ها باید طوری این کار را انجام دهند که کاربران Grid بدون نگرانی از انتشار اطلاعات سری خود یا بروز اشتباه در محاسبات، به ‌Grid اطمینان کنند.

امنیت سیستم‌های Grid نیز بسیار حائز اهمیت است. کاربران این سیستم‌ها باید از دسترسی به‌منابع ایشان در سیستم اطلاع حاصل کنند و بدانند کدام کاربر به‌اطلاعات آن‌ها دسترسی دارد. اضافه بر این، قابلیت اطمینان و سرعت این سیستم‌ها بسیار اهمیت دارد. اگر سیستم‌های Grid از سرعت کافی برخوردار نباشد، کاربران Grid از استفاده از این سیستم‌ها دلسرد می‌شوند.
 
چگونه Grid بسازیم ؟
ممکن است پس از خواندن مطالبی که تا اینجا گفته شد، به‌ این فکر افتاده باشید که آیا می‌توانید خودتان یک Grid  بسازید؟ البته که می‌توانید! می‌توانید از نرم‌افزارهای منبع آزاد یا اپن‌سورس استفاده کنید و یک محیط Grid بسازید. اولین قدم برای شروع، دانلود کردن ابزار Globus است. Globus همان‌طور که قبلاً نیز بحث شد، ابزاری است قدرتمند برای ایجاد و مدیریت محیط Grid.  همچنین،  به‌ سرویس‌هایی برای ساختن Grid نیاز دارید که شامل سرویس مدیریت اطلاعات، سرویس پرس‌و‌جوی اطلاعات، درخواست‌کننده نیروی پردازشگر، زمانبند و سرویس تقسیم‌کننده پهنای‌باند ‌باشند. این سرویس‌ها به‌سرویس‌های Grid معروفند و در واقع همان سرویس‌های وب هستند؛ البته با قابلیت‌های بیشتر و مرتبط با Grid.  برخی از کامپیوترهای شما که به ‌شبکه Gird متصلند، میزبان سرویس‌های Grid خواهند بود و کامپیوترهای دیگر از این سرویس‌ها استفاده می‌کنند.

به علا‌وه، برای ساختن یک Grid به‌ابزارهایی نیز نیاز خواهید داشت: ابزارهای زیربنایی مثل زمانبندها، ابزارهای مدیریت منابع، مدیریت امنیتی و ابزارهای انتقال فایل مانند GridFTP که قبلاً توضیح داده شد. ابزار دیگری که حتما به‌آن نیاز خواهید داشت، Grid Directory Services) GDS) است که فهرست سرویس‌های آماده را در اختیار دارد. به‌علا‌وه، به ‌API‌هایی نیز نیاز دارید که برنامه‌های شما را با Grid هماهنگ سازند و به‌برنامه‌های شما امکان دهند در محیط Grid کار کنند. خواندن منابع زیر نیز شما را در یادگیری بیشتر Grid Computing یاری می‌نماید:
www.gridcomputing.com/ingplanet.com

http://www.gridcomputingplanet.com/features/article.php/3396741

www-128.ibm.com/developerworks/grid/library/grfuture.html
+ نوشته شده در  جمعه دوازدهم بهمن 1386ساعت 12:20  توسط یوسف عبدلیان باریکرسفی  | 

Grid Computing | ساختار اينترنت2

به تازگي كتابي با عنوان Grid Computing: Making The Global Infrastructure a Reality را جسته و گريخته مطالعه مي كنم كه در اوايل آن به نقشه اي از ساختار اينترنت 2 برخوردم كه براي خودم هم جالب بود.
بهانه اي شد تا هم كتاب را  معرفي كنم هم آن نقشه را براي شما هم قرار دهم. در اين كتاب مطرح ترين و اساسي ترين پروژه هايي كه در زمينه محسابات شبكه اي ( لطفا اگر ترجمه اي خوب براي Grid Computing داريد بنوسيد. ) وجود دارد مورد بررسي قرار گرفته است و رابطه ميان آن ها تشريح شده است. بر طبق گفته هاي اين كتاب سرنوشت تمامي محاسبات كنوني و راه حال بسياري از توان هاي پردازشي بالا استفاده صحيح از امكانات محاسبات شبكه اي است كه در سطح زمين ( حتي آسمان - مثلا يك هواپيما كه در حال پرواز است!!! ) پراكنده شده اند. ساختاري مانند اينترنت2 كه در ايالات متحده در حال فعاليت است ، همراه با SuperJanet4 يا همان United Kingdom National Backbone Research and Education Networ، همراه با GEANT يا European Backbone Research Network و APAN Asian Network مطرح ترين اين نمونه ها هستند.
اين شبكه ها همراه با بسياري سيستم ها كوچك تر تشكيل شبكه اي را مي دهند با نام Logical GTRN Global Terabit Research Network كه در سطح زمين پخش شده است.

اين تعريف بسيار مختصري بود از GTRN كه در صورت پيش رفت صحيح قدرمند ترين سيستم محاسباتي ساخته بشر خواهد بود.
پيشنهاد مي كنم از نقشه جزئي زيرساخت اينترنت2 يا همان Abilene  در اينجا ديدن كنيد : Sites on the Abilene Research Network - همچنين نقشه اي كلي تر را از اينجا ببينيد : Abilene Network Traffic

+ نوشته شده در  جمعه دوازدهم بهمن 1386ساعت 12:6  توسط یوسف عبدلیان باریکرسفی  | 

روش Clustering (گروه بندی) در Ktreme

روش Clustering (گروه بندی) در Ktreme

Virginia Tech-Apple G5-based System X

گاهی لازم است به محيط بيرون يك جعبه نيز فكر كنيد. اين كاری بود كه سال گذشته Srinidhi Varadarajan استاديار علم كامپيوتر در دانشكده مهندسی Virginia Tech انجام داد.

Varadarajan مدير (Tera Scale Computing Facility (TCF جديد Virginia Tech است كه قويترين ابر كامپيوتر خانگی دنيا می باشد. او سومين ابر كامپيوتر در ليست Top 500 Supercomputer Site است.

در حاليكه بسياری از گروههای كامپيوتری علمی به سرورهای با پردازنده های اينتل تكيه می كنند ولی  TCF پردازنده G5 شركت آی بی ام و اپل را اساس كار خود قرار می دهد. TCF شامل گروهی از 1100 كامپيوتر G5 اپل است كه هر گره آن دارای پردازنده های دو گيگاهرتزی 64 بيتی دو طرفه PowerPC و چهار گيگابايت حافظه و 160 گيگابايت حافظه كمكی هستند. قيمت كلی TCF  حدود 5.2 ميليون دلار تخمين زده شده است و Virginia Tech می گويد او سازنده اين ابر كامپيوتر نه چندان گران در جهان است.

اين مجموعه، System X لقب گرفته است چون هدف طراحان آن ايجاد  سيستمی است كه دارای بيش از 10 Tera FLOPS باشد (10 تريليون محاسبه عدد شناور در ثانيه).

سيستم Virginia Tech تنها سيستم ثالثی بوده كه در مقايسه با سيستمهای ديگر دارای حداكثر كارآيی با بيش از ده Tera FLOPS بوده است.

Virginia Tech از اين مجموعه برای پشتيبانی از تحقيقات علمی از جمله فعل وانفعالات كامپيوتری، آمارهای مولكولی و شبيه سازی مولكولی پروتئينها استفاده خواهد كرد.

Cal Ribbens عضو هيئت علمی كامپيوتر كه روی اين سيستم كار می كند می گويد، ما برنامه های كاربردی علم كامپيوتر را در حد وسيعی اجرا خواهيم كرد و در زمينه برنامه های علوم طبيعی افرادی داريم كه كار شبيه سازی مولكولی از جمله  عمليات محاسبات و ساختار پروتئينها را همچون اجرای Amber، انجام می دهند. همچنين كسانی هستند كه كار شبيه سازی Cell-cycle (چرخه سلولی) را با استفاده از كدهای ODE Sower نوشته شده در آن انجام می دهند يا افرادی كه برنامه های بيو انفورماتيك  مثل BLAST را اجرا می كنند.

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

يكی از اجزای مهم System X نرم افزار خانگی اين دانشكده به نام Deja Vu است كه می تواند  در محيطهای كامپيوتری بزرگ يك fault tolerance را ايجاد نمايد. Ribbens می گويد، اگر يك گره دچار اشكال شود شما می توانيد پس از اطلاع از وضع كار و محاسبه خود ، برنامه را از نو راه اندازی نماييد.

 بسياری از ابزارهای  انتقال پيام قادر به انجام اينكار هستند ولی بخاطر اهميت اين مجموعه ای كه  Virginia Tech آنرا Deja Vu نام نهاده و بايد فاقد بار اضافی نيز باشد، تضمين اين سيستم در كنترل برنامه های مديريتی به بن بست نرسيده است.

Virginia Tech اكنون در حال تعويض دستگاه های G5 مستقل و مستقر در مته های فلزی با G5 های xServer مداربند و ظرفيت مناسب ديگر است.

+ نوشته شده در  جمعه دوازدهم بهمن 1386ساعت 11:49  توسط یوسف عبدلیان باریکرسفی  | 

آسیب پذیری امنيتي در Globus Toolkit

Globus Toolkit 4.x

Globus Toolkit Nexus Unspecified Denial of Service Vulnerability

آسیب پذیری امنيتي در Globus Toolkit گزارش شده است که به حمله كننده اجازه آسیب رسانی از طریق حملات اختلال در سرویس دهی را می دهد.
این آسیب پذیری با بروز خطایی در nexus-enabled applications (e.g. MPICH-G2 jobs یا GRAM Job Manager) باعث آسیب رسانی به سیستم های آسیب پذیر می شود. بیشتر از این اطلاعاتی در دسترس نیست

+ نوشته شده در  پنجشنبه چهارم بهمن 1386ساعت 12:27  توسط یوسف عبدلیان باریکرسفی  | 

اينترنتII

 

آيكون ساعت شنى با وجود گسترش و بزرگ شدن هر لحظه اينترنت (World wide web) هنوز كند مى چرخد و اينترنت به (World wide wait) تبديل شده است. كاربران چه قديمى و چه جديد فهميده اند بازى درحال عوض شدن و قواعد اينترنت در حال تغيير و نو شدن است تا راه خود را به سوى آنچه اينترنت II ناميده مى شود، پيداكند.
اينترنت كنونى قابليت اجراى برنامه هاى كاربردى نسل بعد را ندارد و درحال جان كندن است.
آيا سرعت كنونى اينترنت براى دريافت و ارسال فايل ها در سال هاى آينده قابل قبول خواهدبود؟ آيا نمى توان در سطح جهان از رايانه هايى كه در حال كار نيستند براى پردازش اطلاعات سنگين استفاده كرد؟ پاسخ سؤالات فوق به راهى ختم خواهدشد با عنوان اينترنت II.
اينترنت برتر از تمام فناورى هايى ظاهر شده است كه جهان را به هم مرتبط مى سازد. اما اين فناورى نيز مانند ساير فناورى هاى ديگر آفت هايى دارد مانند هكرها، ويروسها و غيره.
اينترنت كنونى را در حقيقت مى توان نسخه توسعه يافته شبكه ARPANET ناميد. شبكه اى كه در سال ۱۹۶۹ توسط سازمان ناسا پايه گذارى شد و سپس چند دانشگاه آمريكا به اين شبكه پيوستند و بعد نيز به مرور كشورها عضو اين شبكه يكپارچه شدند.
هدف اصلى و ابتدايى از راه اندازى شبكه آرپانت امورتحقيقاتى و پژوهشى بود. اما اين شبكه بعدها در جهت اهداف سياسى، اقتصادى، فرهنگى و غيره نيز به كار گرفته شد.
تعمير و رفع مشكلات شبكه كنونى اينترنت سخت و دشوار شده است، بنابراين محققان برروى امكان ايجاد شبكه جهانى جديد درحال مطالعه و تحقيق هستند كه اين شبكه با نام اينترنت II شناخته مى شود.
اينترنت كنونى از پروتكل IPV4 استفاده مى كند كه نزديك به ۲۰ سال قدمت دارد و به عقيده بعضى عمر اين پروتكل به سر آمده است. مشكل اصلى در اين پروتكل تعداد محدود آدرس هاى IPV4 براى پشتيبانى از اينترنت فعلى و اينترنت II است. پديده اينترنت II يا Grid Technology پديده اى است كه به عنوان جانشين اينترنت فعلى در بعضى از كشورها شناخته شده است. اينترنت II با داشتن بهترين و سريع ترين ابزارهاى جست وجو (Search)، سرعت بسيار بالا و داشتن امكانات قوى براى تحقيق و پژوهش جايگزين شايسته اينترنت در سال هاى آتى خواهدبود. سرعت انتقال اطلاعات در يك پايگاه اينترنت II ده ها گيگابايت در ثانيه خواهدبود، البته هنوز زمان زيادى براى رسيدن به اينترنت II وجوددارد. اين فناورى حاصل همكارى ۱۳۰ دانشگاه و مركز تحقيقاتى به منظور توسعه اينترنت به صورت شبكه اى با قابليت هاى پيشرفته تر براى تحقيقات و آزمايش هاى دانشگاهى است.

مبناى كار اينترنت II

طراحى اينترنت II كه با اينترنت كنونى نيز سازگار است، مسيرى را در جهت دستيابى به پهناى باند بيشتر و نرخ انتقال اطلاعات افزون تر مهيا مى كند. لذا امتيازات اينترنت II توانايى يكپارچه كردن شبكه هاى محلى و بومى، افزايش اطمينان و افزايش ظرفيت شبكه است.
در اينترنت II برخلاف اينترنت كنونى از پروتكل IPU6 به جاى پروتكل IPU4 استفاده مى شود. (internet protocol version). در اصل شماره IP كه در حال حاضر از ۴ بخش تشكيل شده است در اينترنت II شش بخشى خواهدبود كه اين تغيير پروتكل افزايش پهناى باند را به دنبال خواهدداشت و زمان دسترسى به اطلاعات به زمان حقيقى بسيار نزديك تر مى شود.

كاربردهاى اينترنت II

با تبديل اينترنت كنونى به اينترنت II در تمام گرايش هاى فنى، مهندسى، علوم و غيره مى توان شاهد تغييرات شگرفى بود كه در زير به عنوان نمونه به چند مورد از آنها اشاره مى شود.

* پزشكى: تصويربردارى سه بعدى از اعضاى بدن و معاينه تخصصى پزشكى از راه دور، بدون حضور پزشك در محل بيمار
* سرگرمى: ارائه تصاوير ويديويى با سرعت و كيفيت بسيار بالا به صورت دو طرفه
* آموزشى: ايجاد امكانات آموزشى ميان دو مؤسسه دور از هم و تعامل استاد و دانشجو بدون نياز به حضور استاد و دانشجو در كلاس درس
* نجوم: كنترل تلسكوپ از راه دور و مشاهده اطلاعات دريافتى از تلسكوپ به صورت بلادرنگ

مزاياى اينترنت II

درحقيقت مى توان گفت اينترنت II براى سه منظور مهم طراحى شده است:

۱- افزايش پهناى باند اطلاعاتى
(Band width)
۲- چندكاره بودن شبكه (Multi task)
۳- امنيت بالاى دريافت و اجراى اطلاعات (Securiety)

افزايش پهناى باند

اگر جزو كاربران اينترنت كنونى هستيد، حتماً از كندى سرعت اينترنت شاكى و گله مند هستيد. شما در بهترين حالت dial up سرعتى حدود ۴۴mbps را خواهيد داشت و در صورت استفاده از سرويس هاى ADSL اين سرعت اندكى افزايش يافته و تا ۵۱۲mbps و يا بيشتر هم خواهد رسيد (البته با افزايش هزينه هاى شما) - ممكن است سرعت دريافت و ارسال اطلاعات براى شما اهميت حياتى داشته باشد - در اين موقع مجبور خواهيد بود كه بيشتر هزينه كرده و به سراغ سرويس هاى vsat برويد كه بعد از گرفتن مجوزهاى لازم، اين سرويس براى شما فعال خواهدشد و البته هزينه هاى زيادى را نيز بايد براى استفاده از اين سرويس به صورت ماهيانه پرداخت كنيد.
مواردى كه در بالا عنوان شد تنها گوشه هايى از مشكلات دستيابى به اينترنت كنونى است، يكى از مهم ترين اهداف اينترنت II دستيابى به پهناى باند بيشتر براى كاربران است كه همزمان با افزايش سرعت دريافت و ارسال اطلاعات درخواستى، پهناى باند تخصيص يافته به كاربران و مشتركان نيز در اين سرويس افزايش پيداكند.

چندكاره بودن شبكه

تنها مزيت اينترنت II در افزايش پهناى باند خلاصه نمى شود. آيا نمى توان از سرعت و قدرت رايانه ها در مواقعى كه كاربران با آن كارى انجام نمى دهند براى انجام امور محاسباتى دقيق و سريع بهره گرفت؟
در اينترنت II امكانى فراهم شده است تا كاربران در صورت تمايل و اعلام آمادگى شخصى جهت دراختيار گذاشتن منابع سخت افزارى خود در شبكه به صورت رايگان قادر به انجام اين كار باشند.
كافى است كه شما با وصل شدن به آدرس يك پايگاه اينترنتى كه از پروتكل هاى اينترنت II پشتيبانى مى كند، Screen saver دلخواه خود را نصب كرده و در مواقعى كه از رايانه خود استفاده نمى كنيد به ساير كاربران اجازه دهيد كه از منابع سخت افزارى رايانه شما جهت پردازش هاى سنگين استفاده كنند و درحقيقت رايانه خود را درمواقع بيكارى وقف امور پژوهشى و تحقيقاتى كنيد تا شما نيز در پيشرفت علم نقشى برعهده داشته باشيد و نيز با ايجاد امكان استفاده از منابع سخت افزارى ساير رايانه ها، رايانه خانگى خود (pc) را به ابرقدرتى بى رقيب تبديل كنيد.

امنيت بالاى دريافت و ارسال

اينترنت فعلى با مشكلات امنيتى بسيارى دست به گريبان است. هكرها، فيشرها و غيره همواره در كمين نشسته اند تا در صورت كوچك ترين غفلت شما و يا سرويس دهنده شما اطلاعات شما را دزديده و به حراج بگذارند.
هر از چندگاهى نسخه هاى اصلاح شده آنتى ويروس ها، آنتى اسپم ها، آنتى تروژن ها و غيره برروى شبكه دراختيار كاربران قرارمى گيرد و شما مجبور خواهيدبود براى در امان ماندن از شر اين ميهمان هاى ناخواسته آنتى ويروس خود را به روز كنيد (up to date) با هكرها چه مى كنيد؟ هكرها هميشه يك قدم از شما جلوتر هستند و هر زمان كه اراده كنند سدهاى پولادين را شكسته و به web site شما نفوذ خواهندكرد و اطلاعات شما را در چشم برهم زدنى به يغما مى برند. براى جلوگيرى از نفوذ اين دزدان دنياى ديجيتال چه فكرى كرده ايد؟
اينترنت II سعى كرده است تا حدودى مشكلات امنيتى موجود در اينترنت كنونى را برطرف نمايد و با شش بخشى شدن آدرس هاى اينترنتى تا حدودى امنيت در شبكه ها بالاتر خواهدرفت و از نفوذ هكرها نيز جلوگيرى به عمل خواهدآمد.

فرايندهاى اصلى اينترنت II

در اينترنت II فرايندهاى زيادى وجودخواهدداشت. اما سه فرايند اصلى اين پديده تكنولوژيك عبارتند از:

۱- گريدهاى اطلاعاتى (Data grid)
۲- گريدهاى جوينده (Scavenging Grid)
۳- گريدهاى محاسباتى (Computing Grid)

*
Data grid

اين gridها وظيفه ذخيره سازى اطلاعات و سپس ارائه آن به كاربران را برعهده دارند.
مشتريان اين گريدها بدون توجه به موقعيت مكانى قابليت دسترسى به اين اطلاعات را دارا خواهندبود.
در اين نوع گريد دستگاه هايى كه با سيستم ارتباط دارند مسئول به اشتراك گذارى اطلاعات هستند.

*
Scavenging Grid

اين گريدها به صورت مداوم به دنبال ظرفيت هاى خالى در اينترنت هستند تا از منابع آزاد درجهت پردازش هاى سنگين بهره بگيرد و البته با كسب اجازه قبلى از صاحبان سيستم ها

*
Computing Grid

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

+ نوشته شده در  چهارشنبه بیست و ششم دی 1386ساعت 18:26  توسط یوسف عبدلیان باریکرسفی  | 

گرید کامپیوتینگ در اوراکل

Oracle 10g  Available

Grid Computing

 یکی از معماری‌های جدید Computing  است. این معماری انجام محاسبات و سرویس دهی به جای استفاده از ابر کامپیوترها با فضاهای دیسک بالا و مقادیر زیادی از حافظه که خود مستلزم صرف هزینه های بالا‌ جهت خرید و نگهداری آنها است، می‌توان از کامپیوترهایی با پردازشگرها و هارد دیسک‌های معمولی و با تجهیزات عادی با هزینه‌هایی بسیار ارزان‌تر در تعداد بیشتر استفاده کرد. در نهایت، می توان این دستگاه‌ها را با ساختاری مناسب تبدیل به واحدی برای پردازش اطلاعات کرد. حتی در روشComputing  امکان استفاده از سیستم‌ عامل های متفاوت وجود دارد و مهم تر از همه آنکه انعطاف‌پذیری در تعویض هر کدام از اجزای اینGrid  موجب ایجاد هیچ گونه خللی در سرویس دادن به کاربران نمی‌شود.
 ORACLE 10gتوسط محیطEnterprise  خود، امکان دادن سرویس‌های گسترده‌ای را روی محیطGrid  فراهم آورده است. این تکنولوژی باعث کاهش هزینه‌های مرتبط در قسمت تکنولوژی فناوری اطلاعات شده است به طوری که با هر هزینه‌ای امکان استفاده از معماریGrid  وجود دارد. یکی از رقابت‌های موجود در بین پیاده‌سازی ساختارهای Grid توسط شرکت ها در فناوری‌اطلاعات، پیش‌بینیDowntime  های پایگاه داده و ارایه راه‌حل‌های متفاوت بسته به —نوع مشکل به وجود آمده —با استفاده از تکنولوژیGrid Computing است.
ORACLE 10g
با توجه به تقسیم‌بندی عواملی که باعث در دسترس نبودن یک پایگاه داده می‌شود راه‌حل‌های متفاوتی را ارایه کرده است.

Unplanned Downtime -1

مواردی که نمی‌توان کنترلی بر رویDown   بودن یک سیستم داشت، به عنوانUnplanned Downtime  شناخته می‌شوند.

1-1- Computer Failures:

از دلایلی که به طور ناخواسته سیستم و یا پایگاه داده را خارج از سرویس دهی می‌کند، مشکلاتی است که برای سخت افزار به وجود می‌آیدORACLE 10g . راه‌حلی را که برای این نوع خطا ارایه می‌دهد استفاده از

Fast Database Recovery وReal Application Cluster  است.

1-1-1- Real Application Cluster

در بحثClustering ، اوراکل قابلیت نصب به روی چند سیستم با معماری‌های متفاوت را دارد، در حالیکه تمام آنها به یکsingle shared database  دسترسی دارند و این مساله از دید کاربران سیستم وApplication  هایی که باDatabase  کار می‌کنند پنهان است و همه آنها چند سیستم را در قالب یکUnified Systemm می‌بینند. حسنClustring  در این است که بسته به بالا رفتنload  سیستم، امکان اضافه کردنnode  جدید بدون نیاز به جایگزین کردن کل پایگاه داده با یک مقیاس بزرگ تر وجود دارد. وجود دیسک‌های آرایه‌ای قدرت بیشتری به ORACLE 10g  جهت پیاده‌سازی Real Application Cluster   بخشیده است. در تکنولوژیApplication Clustering  به وجودآمدن مشکل برای یکی ازnode  های سیستم هیچ مانعی برای ادامه کار سایرnode ها به وجودنخواهد آورد و سایرnode  ها از در دسترس نبودنnode  مشکل دار، به سرعت آگاه خواهند شد و این آگاهی درORACLE 10g  در چند لحظه کوتاه مشخص خواهد شد و دیگر نیازی بهtime ou t  مربوط به پروتکلTCP/IP  نخواهد بود.

2-1-1- Fast Database Recovery :

Fast Database Recovery از امکانات دیگر اوراکل در مورد خطاهای ناشی از سخت افزار مانندcrash  کردن سیستم عامل است. که با بهینه‌سازی که درORACLE 10g  صورت گرفته، پایگاه داده به صورت اتوماتیک تعداد دفعات عملیاتcheck point  را جهتstartup  شدن سیستم بعد از حالتcrash  در دفعه بعد محاسبه خواهد کرد. به طوری که درORACLE 10g  سیستم به جای دقیقه‌ها انتظار برای در دسترس بودن برای کاربران ظرف چند ثانیه قادر به سرویس دادن مجدد خواهد بود.

2-1- Data Failure :

مواردی که باعث از بین رفتن اطلاعات مربوط به کاربران می‌شوند متفاوت است و می‌توان علت آن را در Storage hardware   ،  Human error ،Corruption  وSite Failure  جست وجو کرد.

1-2-1- Storage Hardware:

 Automatic Storage Management که به اختصارASM  نامیده می‌شود، ازVolume Manager های قوی مربوط بهDatabase ORACLE 10g  است که بدون نیاز به نصب نرم‌افزار جدید و یا تهیه سخت افزاری خاص به صورت مستقیم باKernel Oracle  کار می‌کند. این‌Volume Manager امکان پخش کردن همه فایل ها به رویStorage های متفاوت و همچنین امکان(Stripe Aَnd Mirror Everything) SAME  که نوعیmirroring  است را نیز فراهم می‌آورد کهDBA  را قادر به مدیریتStorage  های پایگاه داده خود به صورت ساده می‌کند.

2-2-1- Human Error:

برای رفع مشکل کاربرانی که اطلاعات خود را به صورت ناگهانی و ناخواسته توسط خودشان از دست می‌دهند،ORACLE 10g  راه حلی را با نام تکنولوژی Flash Back ارایه کرده است. این تکنولوژی ازOracle 9i  وجود داشته است ولی در نسخه01g  امکانات بیشتری به آن اضافه شده است.

از جمله می‌توان به:

    Flashback ,Transaction Query,

   Flashback  Versions  Query

Flashback   Database,

اشاره کرد که بسته به حالت های مختلف حتی یک کاربر بدون مراجعه بهDBA  این امکان را برای خود فراهم می‌کند که اطلاعات از دست رفته خود را باز گرداند بدون اینکه نیاز به ایجاد وقفه در کار کاربران دیگر و همچنینDown  کردن پایگاه داده جهت برگرداندن نسخه پشتیبان باشد.

تکنولوژی که در Flashback  استفاده می‌شود، نوعی گرفتنContinuous Backup  یا Storage Snapshot توسط خودDatabase Oracle  است که باعث می‌شودRecovery  یک پایگاه داده01g  از ساعت ها و روزها به چند دقیقه تقلیل پیدا کند.

3-2-1- Data Corruption:

Data corruption زمانی به وجودمی‌آید که یک دستورI /O  از طرف پایگاه داده جهت دسترسی به یک رکورد داده می‌شود ولی آدرس مقصد برای دسترسی به اطلاعات که توسط سیستم عامل بهDatabase Oracle  داده می‌شود اشتباه استOracle Hardware Assisted Resilient Data (HARD)  برنامه‌ای است که قبل از رجوع به نقطه‌ای از هارد دیسک جهت بازیابی اطلاعات با الگوریتم خاص مسیرdata  ذخیره شده روی دیسک توسط پایگاه داده را ارزیابی می‌کند و از صحت مسیر اطمینان حاصل می‌کند تا از به وجودآمدن مشکل فوق جلوگیری کند.

4-2-1- Site Failures :

از جمله مشکلاتی که پایگاه داده را در مقیاسی بزرگ تر غیر قابل دسترسی می‌کند، می‌توان به بلایای طبیعی از جمله زلزله و سیل اشاره کرد که باعث از دست رفتن اطلاعات می‌شوند که جهت رفع مشکلoracle  امکانData Guard  خود را به عنوان یک راه‌حل ارایه می‌دهد که در واقع نوعیStandby copy  از پایگاه داده می‌شود که این امکان را برایDatabase Administrator  فراهم می‌آورد که نسخه کپی را در مکانی خارج از سایت و پایگاه داده اصلی آن سوی دنیا پیاده‌سازی کند. در این روش کلیه تغییراتی که بر روی پایگاه داده اصلی انجام می‌شود ، یک نسخه از آن به رویStandby Database  کپی می‌شود، تا هنگام بروز مشکل برای پایگاه داده اصلی، پایگاه دادهStandby Database  جایگزین آن شود بدون کمترین مقدار در از دست دادن اطلاعات.

Pianned Down Time -2

تغییراتی که در جهت ارتقای سیستم ها و یا موارد عملیاتی مانند تهیه نسخه پشتیبان و مدیریت بهینه سیستم هستند، جز زمان های در دسترس نبودن پایگاه داده به صورت قابل پیش‌بینی به حساب می‌آیند. از جمله بهData Changes  وSystem Changes  می‌توان اشاره کرد که برای حالت Data Changes ‌می‌توان به امکاناتPARTITION TABLE  و ساختنINDEX  اشاره کرد که وجود این امکانات باعث افزایش مدیریت بهتر حافظه و بالا رفتن سرعت می‌شودSystem Changes . از موارد دیگری است که به عنوانPlanned Down Time  به حساب می‌آید. در این حالت پایگاه داده برای اضافه کردن و یا حذف کردن سخت‌افزار در دسترس نخواهد بود کهORACLE 10g  از امکاناتی به نامDynamic Resource Provisioning  استفاده می‌کند و عملیاتی از جمله اضافه کردن و یا کم کردن پردازشگر را بهSMP Server  فراهم می‌کند و یا اضافه کردن و یا کم کردنnode  به Real Application Cluster  و حذف و اضافه هارددیسک بدون ایجاد و اختلال در فعالیت پایگاه داده را انجام می دهد.

+ نوشته شده در  سه شنبه بیست و پنجم دی 1386ساعت 11:53  توسط یوسف عبدلیان باریکرسفی  | 

اصول هسته Grid Computing :

دو اصل در هسته Grid Computing آنرا به طور منحصربفردی از دیگر روشهای Computing ازقبیل Mainframe ، Client/Server یا چند لایه ای (Multi-tier) متمایز می سازد : مجازی سازی و تأمین.


 

    * با مجازی سازی ، منابع خاص (مانند رایانه ها ، دیسکها ، اجراء نرم افزاری و منابع اطلاعاتی) به عنوان منابع درهم آمیخته و مشترک جهت دسترسی مصرف کنندگان (از قبیل افراد و برنامه های نرم افزاری) بطور انتزاعی در نظر گرفته می شود.مجازی سازی یعنی شکستن اتصالاتی که بسختی بین ارائه کننده و مصرف کننده (مشتری) منابع برقرار شده است و مهیا ساختن منابع برای سرویس دهی به نیازهای خاص ، بدون اینکه مشتری نگران چگونگی انجام آن باشد.
    * تأمین یعنی اینکه ، وقتی مشتری از طریق لایه مجازی سازی نیاز به منبع خاصی دارد ، در پشت پرده ، آن منبع جهت انجام در خواست ،شناسایی شده و به مشتری تخصیص داده شود.تأمین بعنوان بخشی از Grid Computing به این معنی است که سیستم تعیین می کند چگونه نیاز مشتری را برآورده سازد در حالیکه عملیات در کل ، به صورت بهینه انجام شود.
 


 

برای نمونه می توان از Oracle 10g به عنوان تنها DBMS پیشتاز در این زمینه یاد کرد که در مقاله بعدی این جنبه ار Oracle 10g را بررسی خواهیم نمود.


 

+ نوشته شده در  سه شنبه بیست و پنجم دی 1386ساعت 11:28  توسط یوسف عبدلیان باریکرسفی  | 

پیاده سازی محیط Grid و برنامه نویسی موازی

سیستم های Grid   نوعی از سیستم های توزیع شده یا موازی هستند که اشتراک ، انتخاب و جمع آوری منابع را در فواصل جغرافیایی فراهم می اورد. بر اساس این تعریف ملاحظه میشود که امکان اجام کارها بصورت موازی وجود دارد.شاید مهمترین دلایل استفاده از سیستم های موازی  را بتوان در 4 مورد زیر خلاصه نمود:

1-  Application ها بطور حریضانه به دنبال منابع هستند .

2-       کامپیوترهای موجود معماری تک پردازنده و ترتیبی دارند .

3-       پیشرفت تکنولوژی شبکه های کامپیوتری .

4-       محدودیت فیزیکی سخت افزارها در افزایش سرعت .

با توجه به موارد فوق درمی یابیم موازی سازی یک امر ضروری برای انجام کارهای بزرگ و سنگین می باشد.با انجام موازی سازی  قابلیتهایی نظیر ،توازن سازی ،همپام سازی ، در دسترس بودن ، انعطاف پذیری و کاهش هزینه  امکان پذیر میشود.اما برای نوشتن برنامه های موازی به محیطی نیاز است که این کار انجام گیرد .در این مورد کلا" دو دیدگاه وجود دارد .

الف Implicit parallelism

در این دیدگاه موازی سازی توسط زبانها و کمپایلرهای موازی پشتیبانی میشوندو تمامی عملیات مربوط به موازی سازی در آن زبانها یا کمپایلرها حمایت می شوند.این زبانها و کمپایلرها خاص ابر رایانه ها طراحی میشوند.

ب Explicit parallelism

در این دیدگاه زبان موازی نداریم ، در واقع از همان زبانهای سریال استفاده میشود و این برنامه نویس است که موازی سازی را انجام می دهد.برای این منظور برنامه نویس می بایست قسمتهای موازی را تشخیص داده و بکمک ابزار برنامه نویسی آنها را از هم جدا کند. این روش که در سیستم های Grid و Cluster کاربرد دارد برنامه به بخشهای زیر تقسیم می شود :

1-       تقسیم بندی فرایندها 

2-       نگاشت روی پردازنده ها

3-       ساختارهای ارتباطی

سپس می بایست مدل برنامه نویسی موازی تعیین گردد .بطور کلی مدلهای برنامه نویسی موازی بصورتهای زیر وجود دارد :

1-  Share memory

در این حالت معماری مابصورت  حافظه مشترک بوده و دستورات بصورت Read  و Write می باشند.برخی از این ابزار  عبارتند از : DSM ، Java ، Openmp.

2-       Message passing

در این حالت در محیط شبکه هر سیستم حافطه و پردازنده خودش را دارد و از دستورات Send و Receive  استفاده میشود. برخی از این ابزار  عبارتند از : MPI و PVM

تذکر: نسخه تحت ویندوز MPICH می باشد که شامل توابع کتابخانه ای برای نوشتن برنامه های موازی است .در پروژه نیز ما از این ابزار استفاده کرده ایم .

3-       Hybrid

به ترکیبی از دو مدل فوق اشاره دارد .برخی از این ابزار  عبارتند از MPI,Openmp.

4-       Object & Service Oriented

این ابزار در سطح کاربر بوده و بالاتر از Middleware قرار می گیردولی کارایی کم میشود.برخی از این ابزار  عبارتند از Dcom و Corba .

برای انجام برنامه نویسی موازی می بایست بخشاهای زیر را در کد ایجاد کرد و رعایت نمود:

1-  Partitiong  که برای بخش بخش کردن Task بکار می رود.

2- Communication  برای برقرای ارتباط بین بخشهای جدا شده در فاز اول می بایست رعایت شود.

3- Agglomeration که نحوه اتصال دو بخش فوق را بعد از برقرای ارتباط و بخش بندی را مشخص می کند.

4-      Mapping/Scheduling که نسبت دادن کارها به پردازندها را انجام میهد بطوریکه زمان انجام کار حداقل شده و راندامان بالایی داشته باشیم .

برنامه نویسی موازی یک Task  پیچیده است زیرا برنامه هایی را که مینویسیم شامل بخشهای موازی است .ابزارهای برنامه نویسی کمک می کنند تا حدی این پیچیده گی کاهش یابد.برای نوشتن برنامه ای موازی به چنین محیطهایی نیاز داریم .مهمترین نکته ای که از دیدگاه کاربر مهم است آنستکه برخی از چیزها را Transparence کنیم و همچنین بتوانداز مفاهیم قبلی برنامه نویسی استفاده نماید.

در این روش برنامه به یکسری زیر برنامه تقسیم می شود و هر بخش از آن بین گره های شبکه اجرای می گردد.هر زیر برنامه بصورت ترتیبی نوشته شده است ولی چون همه پردازنده ها موازی برنامه را اجرا می کنند در نتیجه برنامه موازی اجرای میشود.متغیرهایی که روی هر پردازنده اجرا میشوند کاملا"Private هستند و برای ارتباط فقط از مبداء به مقصد پیام ارسال میشود.

همانطور که اشاره شد برای انجام برنامه نویسی موازی از ابزار MPICH که کتابخانه ای از توابع موازی را فراهم می آورد استفاده شده است .هدف از این پروژه انجام عملیات ضرب ماتریس بصورت موازی است .همانطور که در نمودارملاحظه میشود این پروسه روی چندین ماشین اجرا شده است .با افزایش تعداد ماشینها سرعت انجام عملیات نیز افزایش می یابد.

MPICH  ابزاری است که توابع استاندارد  کتابخانه ای MPI را برای اجرا در انواع سیستم ها فراهم می آورد. این ابزار در سیستم های عامل NT4,window 2000,windows xp  و Windows server قابل استفاده است و هر جا که ارتباطات بصورت TCP/IP وجود دارد قابل بکارگیری است.همچنین برای کمپایل برنامه های نوشته شده از محیط    6.x++ VC بهره می بریم .

در این برنامه عمدتا از دستورات انتقال پیام استفاده شده است و باتوجه به کاربرد این دستورات در برنامه این دستورات را بصورت زیر شرح می دهیم .

همانطور که ذکر شده این برنامه براساس Message passing کار می کند .بطور کلی به دو صورت گروهی (Collective) و نقطه به نقطه (Point to point) انتقال پیام انجام میشود.در حالت اول یک فرستنده به چندین گیرنده پیام را ارسال می کند.و در حالت نقطه به نقطه یک فرستنده و یک گیرنده داریم که پیام را بیکدیگر ارسال می نمایند.این روش خود بصورتهای زیر انجام میشود:

1-     سنکرون : در این حالت دقیقا وقتی که گیرنده می خواهد داده را بردارد، فرستنده متوجه میشود.به عبارتی وقتی کار ارسال  پیام تمام شد فرستنده متوجه میشود و ادامه کار منوط به این است گیرنده داده را بردارد. برای مثال ماشین فاکس چنین خصوصیتی دارد.

2-     آسنکرون :در این حالت فرستنده از برداشتن داده توسط گیرنده آگاه نیست .به عبارتی وقتی پیام سیستم را ترک می کند متوجه نمی شویم که رسیده است یا نه . برای مثال سیستم پست نامه را میتوان نام برد.

3-       عملیات بلوک کردن :وقتی انجام میشود و نتیجه را باز می گرداند که عملیات تکمیل شده باشد.

4-     عملیات بدون بلوک کردن : در این حالت عملیات  شروع شده و معلوم نیست چه زمانی خاتمه می یابد.به عبارتی برای اطمینان از انجام عملیات باید تست انجام شود.برای مثال سمافور در سیستم عامل اینچنین است .

با توجه به مطالب فوق می توان دریافت که ارسال سنکرون Blocking و ارسال آسنکرون Non blocking است .

در مقابل ارتباطات گروهی قادر هستند که عملیات زیر را انجام دهند :

1-       میتوان از آنها بعنوان ارتباطات نقطه به نقطه  استفاده نمود.

2-       امکان انجام پردازشهای سنکرون ( Barrier) را دارد .

3-       قابلیت انجام ارتباطات یک به چند ( Broadcast ) را دارد.

4-       قابلیت انجام عملیات Reduction بدین معنی که ترکیب داده از پردازنده های متعدد  برای تولید نتیجه نهایی و بر آیند.

 

همانطور که اشاره شده MPI یک زبان نیست بلکه یک کتابخانه از توابع به منظور نوشتن برنامه های  موازی است و می بایست هدر فایلهای آن را در سورس برنامه معرفی نمود.فرمت توابع MPI  که بهنگام برنامه نویسی بکار گرفته میشود بصورت زیر است :

MPI_Xxxxx(parameter,…);

 

عمده توابعی که در برنامه استفاده شده است تقریبا" مشابه برنامه محاسبه عدد P می باشد.با این تفاوت که در این جا عملیات ضرب ماتریس انجام میشود. به منظور تمایز پروسس های مختلف اولین روتین که بکار می رود  MPI_Initاست .این روتین یک گروه یا Communicator ایجاد می کند و به تمام پردازنده هایی که در یک گروه هستند شماره ای اختصاص می دهد.به این شماره اصطلاحا" Rankگفته میشود.بصورت پیش فرض Masterشماره Rank صفر را می گیرد و بقیه پردازندهها به ترتیب شماره گذاری میشوند.در واقع Rank به پروسه IDاست .

الگوریتم کار  بدین صورت است که بعد از تعریف متعیرها ی مورد نیاز ،زمان شروع برنامه را ثبت می کنیم سپس برای نمایش شماره و نام ماشین پردازش گر از فرمان Fprintf استفاده کرده ایم که در واقع MyID و processor name را بر می گرداند.سپس تعداد سطر و ستون ماتریس مورد نظر را تعریف می کنیم .این مقادیر ثابت می باشند و انجام تغییرات آن منوط به دستکاری در سورس برنامه است.در واقع دو ماتریس 1000 در  1000 در  این برنامه  در  هم ضرب شده اند .که بصورت ریاضی بصورت 1000*1000*1000 تعریف میشود. در ادامه بعد از تخصیص حافظه مورد نیاز ماتریسها را بصورت تصادفی مقدار دهی می کنیم و در بخش آخر عملیات ضرب ماتریسها انجام میشود.برای این منظور ابتدا توسط تابع  MPI_Bcast اندازه  هر یک  از ماتریسها  برای بقیه گره ها معرفی می کنیم . در واقع در شرط اول فقط اطلاعات ماتریس ها برای ID صفر و رد شرط دوم اطلاعات مورد نیاز سایر گره ها مشخص میشود.در بخش عمل ضرب ماتریسها بدین صورت انجام میشود هر پروسس یک سطر از ماتریس را در کل ماتریس بعدضرب می کند .در این جا نتایج خروجی توسط تابع Printf چاپ نشده است و تنها زمان محاسبه وپردازش  چاپ گردیده است .

      سورس برنامه به پیوست تقدیم شده است ( برنامه و توضیحات روی CD نیز وجود دارد). برای       درک بیشتر برنامه توابعی که در  بکار رفته است را در ادامه به تفکیک شرح می دهیم :

1- MPI_Comm_Rank  : این تابع شماره Rank را بر می گرداند .برای مثال روی Master شماره صفر را میدهد .

2-       MPI_Comm_size : این تابع سایز گروه در Communicator را بر می گرداند به عبارتی تعداد پروسه هایی که در گروه وجود دارند را می دهد.

3-     MPI_Send : این تابع که به ارسال استاندارد مشهور است و مهم آنستکه که عملیات ارسال تکمیل شده باشد.به عبارتی زمانی کامل میشود که پیام ارسال شده باشد و از نوع Blocking  است .

4-       MPI_Recv : در تابع دریافت استاندارد  بااجرای Send ،طرف گیرنده ،بهنگام اجرای  Receive یک پیام به فرستنده ارسال می کند .

5-       MPI_Wtime : این تابع Wall clock رابر می گرداند .هر وقت بخواهیم زمان را اندازه گیری کنیم این تابع را بعد از Send  و بعد از Receive  صدا می زنیم .

6-       MPI_Bcast :از این تابع برای ارسال یک به چند استفاده می کنیم .به عبارتی از گره ریشه پیام را به یک سری از زیر گره های  ارسال می کنیم .

7-       MPI_Reduce : این تابع وظیفه ارسال نتایج حاصل از پردازش زیرگره ها را به گره ریشه را دارد.

8-       MPI_Barrier :از این تابع برای سنکرون کردن گره ها استفاده میشود. به عبارتی منتظر می ماند  تا الباقی گره ها نتایج را ارسال نمایند .

این برنامه در یک محیط شبکه Workgroup با 5 سیستم اجرا شده است . مشخصات این سیستم ها طبق جدول زیر است .

نام ماشین

نوع پردازنده

میزان حافظه اصلی

Laptop

1.6 centrino

512MB DDR

Hossini

1.83 dual core napa

512 MB DDR2/533

Hasani

3000 full cache LGA

512 MB DDR2/677

Ruhi

3000 full cache LGA

512 MB DDR2/677

Sabser(Server HP ML370)

Dual Xeon 3.6 2MB L2

2GB DDR2/677 ECC

 

همانطور که از جدول فوق پیداست  این 5 سیستم برای اجرای ماتریس 1000*1000 در نظر گرفته شده اند.همانطور که از نتایج خروجی و نمودار پیداست .با اجرای مرحله به مرحله برنامه زمان اجرای پردازش ثبت شده است .برای اینکه بتوانیم برنامه ها را بصورت موازی اجرا نمامیم می بایست در ابتدا MPICHرا در تمامی ماشینها نصب کنیم .بعد از نصب برای اینکه تمامی سیستم ها با هم کار کنند اولا یک کاربر مشترک با رمز عبور یکسان باید تعریف گردد و ثانیا در صورتیکه Firewall روی کارت شبکه سیستم فعال است باید غیر فعال گردد.در مرحله بعد با کاربر و رمزی که برای آن تعریف کرده ایم MPI registerرا اجرا می کنیم تا رجیستر گردد.سپس فایل کمپایل شده (فایل اجرایی برنامه ) در تمامی کامپیوترهای شبکه در یک پوشه که نام آن در تمامی سیستم ها یکسان است و به اشتراک گذاشته شده کپی می کنیم سپس از طریق MPIch Configure tool. لیست ماشینهای شبکه را اضافه می کنیم و برنامه را در ماشین Master اجرا می کینم در اولین مرحله با 1 ماشین بیشترین زمان انجام محاسبه ثبت شده است .با افزایش تعداد پردازنده ها تا 5 عدد کاملا" زمان پردازش بهینه شده و در کمترین مقدار خود قرار گرفته است .اما با زیاد کردن تعداد ماشین ها چون هر ماشین ممکن بوده است بیشتر از یک عمل را انجام دهد به علت وجود پروسه های مختلف برای تقسیم کار و همچنین به علت وجود سربار در ارتباطات زمان انجام پردازش سیر صعودی به خود میگیرد.همچنین نمودار نشان می دهد که همیشه با افزایش تعداد پردازنده ها زمان  پردازش افزایش نمی یابد و به علت وجود سربار سیستم بصورت None dedicate عمل خواهد کرد.

+ نوشته شده در  سه شنبه بیست و پنجم دی 1386ساعت 11:17  توسط یوسف عبدلیان باریکرسفی  | 

نحوه نصب گلوباس

به دلیل قولی که به بچه ها داده بودم قسمت اول نصب را برایتان می نویسم و

 

قسمت بعد را بعد از امتحانات مینویسم 

 

 لطفا نظر دهید چه مطالبی در این وبلاگ قرار دهم

 

برای نصب Globusموارد زیر را باید در نظر بگیریم

نسبت به نرم افزاری که از Globus دانلود کردیم باید linux مربوط به آن را نصب کرده

حال برای پیاده سازی باید ورژن جاوا در linux و gcc آن را چک کنیم که اگر آن ورژن ها را ساپورت نمی کرد آنها را نصب کنیم ورژن جاوا باید 1.6 باشد

 

برای چک کردن ورژن جاوا دستور زیر را در ترمینال تایپ می کنیم

 

Java -version

و برای update  ورژن جاوا مراحل زیر را انجام می دهیم

 

با این دستور java 1.6   از zip خارج می شود    

                                   

  (اسم فایل (java    tar xzvf

 

نکته: می توان برای سریعتر نوشتن اسم فایل حرف اول را نوشته و بعد Tabرا بزنید با این کار سریع بقیه اسم فایل را به صورت اتوماتیک می آورد

 

بعد محتویات java 1.6  را در شاخه HOME\USER  که رفته ایم OverWrite      می کنیم

به این ترتیب ورژن جاوا update  می شود

 

بعد ورژن gcc   را چک میکنیم با دستور زیر

 

gcc –v

باید ورژن gcc   4.1 نباشد چون باگ دارد می توان از ورژنهای

  3.2. 3.2.1 و  2.95.x استفاده کرد

و gccرا نمی توان  updateکردو نسخه ایی از linuxکه این ورژن را دارد نصب می کنیم

 

نرم افزار Tomcatرا هم باید نصب کرد ولی در زمان کامپایل به آن نیاز نداریم و در زمان Runtime  به آن نیاز داریم

اگراز لینوکس suse  استفاده میکنید به هیچ نرم افزار جانبی احتیاجی نداریم

با دستور زیر یک user به نام Globus  درست می کنیم

root# useradd globus

 

و از شاخه system \group and user.. می توان user  مورد نظر را ساخت

 

ودر شاخه usr/local/globus   محتویاتی که دانلود کردیم از  globusکپی     می کنیم و در آن شاخهf4  میزنیم و ترمینال باز میشود و دستورات زیر را تایپ می کنیم

 

نسبت به نام فولدری که در شاخه usr/local است نام آخرین فولدر را انتخاب می کنیم اگر فولدری که در این مسیر بود usr/local/globus-4.0.1  بود

این پیغام را باید تایپ کنیم

 

# mkdir /usr/local/globus-4.0.1
# chown globus:globus /usr/local/globus-4.0.1

حالا از user root خارج می شویم و به user Globus می رویم با سویچ کردن

و دستورات زیر را در کنسول تایپ می کنیم

 

معنی globus$ این است که از مسیری که هستیم این دستور را اجرا کنیم

و مثلا برای اجرای ./configure نباید اولش globus$ را تایپ کنیم و بعد از آن را. در اینجا  globus$یعنی در مسیر usr/local/globus-4.0.1 باشیم و

./configure --prefix=$GLOBUS_LOCATION را تایپ کنیم

 

globus$ export GLOBUS_LOCATION=/usr/local/globus-4.0.1
globus$ ./configure --prefix=$GLOBUS_LOCATION

 

اگر در root بودیم و ./configure می کردیم error می داد.

ولی حالا باید این پیغام را بدهد

1.      Optional Features:
2.        --enable-prewsmds       Build pre-webservices mds. Default is disabled.
3.        --enable-wsgram-condor  Build GRAM Condor scheduler interface. Default is disabled.
4.        --enable-wsgram-lsf     Build GRAM LSF scheduler interface. Default is disabled.
5.        --enable-wsgram-pbs     Build GRAM PBS scheduler interface. Default is disabled.
6.        --enable-i18n           Enable internationalization. Default is disabled.
7.        --enable-drs            Enable Data Replication Service. Default is disabled.
8.        [...]
9.      Optional Packages:
10.   [...]
11.   --with-iodbc=dir        Use the iodbc library in dir/lib/libiodbc.so.
12.                           Required for RLS builds.
13.   --with-gsiopensshargs="args"
14.                           Arguments to pass to the build of GSI-OpenSSH, like
15.                           --with-tcp-wrappers

 

 

 

در مرحله چهارم

 

     globus$ make

 

نکته :اگر شما یک log file  بخواهید  داشته باشید باید تایپ کنید

 

globus$ make 2>&1 | tee build.log

 

در مرحله پنجم و آخر

 

globus$ make install

 

در این مرحله کامل شده است Install و حالا شما باید پیکربندی کنید قسمتهایی که در زیر شرح داده شده است

 

توصیه میکنیم که Install  کنید هر security

حالا شما مراحل security را طبق این step ها باید نصب کنید

که در بر می گیرد   به دست آوردن host certificates و user certificates  و ساختن

grid-mapfile  که در صفحات بعدی به آن اشاره می شود

با security setup شما میتوانید شروع کنید سرور GridFTP

پیکربندی DB برای RFT  و پیکربندی  WS-GRAM

و شما همچنین میتوانید  شروع کنید یک GSI-OpenSSH daemon

و setup کنید یک سرور MyProxy و اجرا کنید RLS  و استفاده کنید CAS

 

 

قسمت security  را بعد از امتحانات می نویسم

 

 نوشته شده توسط:

یوسف عبدلیان باریکرسفی

 

Yousef_abdolian@yahoo.com

 

 

 

+ نوشته شده در  دوشنبه