|
XGRID تکنولوژی
|
||
|
پیاده سازی سیستم های توزیع شده |
یک interface ساده و ارزان و در دسترس برای ارتباط پردازنده ها استفاده از یک شبکه ip با تجهیزات مربوطه است. در قسمت قبل مختصرا توضیح دادم که چطور می توان یک cluster بسیار ابتدایی بر پایه لینوکس داشت. قدم بعد از مهیا کردن سخت افزار نوشتن نرم افزاری است که به طور موازی روی این سیستم اجرا شود.
با توجه به معماری مالتی کامپیوتر سیستم ما، به عنوان اولین راه که به ذهن می رسد می توان از توابع شبکه موجود در کتابخانه های زبان های برنامه نویسی معمول که به عنوان مثال می توانید با آن ها یک socket بر پایه tcp درست کنید و قبل و بعد از اجرای هر بخش الگوریتم روی هر پردازنده داده ها را بین پردازنده ها جا به جا کنید استفاده کرد. این یک کار low-level است و انجام آن برای برنامه های بزرگ نسبتا سخت می باشد. به علاوه ملاحظاتی که در برنامه موازی باید در نظر داشته باشید را ممکن است رعایت نکنید و گذشته از همه این ها کد شما کاملا وابسته به سیستمی است که طراحی کردهاید و قابل انتقال روی یک سیستم دیگر نمی باشد.
در اوایل دهه نود میلادی گروهی با عنوان mpi forum مسئول بررسی کتابخانه های برنامه سازی موازی به شیوه انتقال پیام شدند و با در نظر گرفتن ویژگی های یک برنامه موازی و نقاط ضعف و قوت آن ها کتابخانه توابع mpi را طراحی پیشنهاد کردند. یکی از ویژگی های این کتابخانه این بود که کد نوشته شده توسط شما مستقل از platform بود و شما می توانستید کد خود را روی هر سیستمی که کتابخانه mpi روی آن پیاده سازی شده بود به کار ببرید.
کتابخانه توابع mpi را به طور ساده شاید بتوان مجموعه ای از دستورات که صرفا عمل انتقال بلوک هایی از داده ها از یک node یا گره به گره دیگر را انجام می دهند در نظر گرفت (هر node را یک cluster در نظر بگیرید که می تواند به طور ساده یک مادربرد باشد)
یکی از پیاده سازی های معروف mpi که همراه بسیاری از distro های لینوکس (مانند Fedora) می باشد lam-mpi است. من پورت مربوط به bsd آن را در سایت freebsd.org نیز دیده ام. بعد از نصب این برنامه آنچه شما خواهید داشت کتابخانه ای از توابع مورد استفاده در زبان های c و c++ و FORTRAN است که شما در برنامه نویسی از آن ها استفاده می کنید، یک سرویس به صورت daemon است که هنگام اجرای برنامه ها باید فعال باشد و در نهایت یک سری دستور خط فرمانی برای راه اندازی و توقف سرویس، اجرای برنامه ها و آسان تر کردن عمل compile برنامه ها.
توجه کنید که برای کار با این library لزومی ندارد که سیستمی مانند آنچه در قسمت اول توضیح دادم داشته باشید بلکه اگر فقط دو pc به همراه لینوکس داشته باشید که به هم شبکه شده باشند کفایت می کند.
قدم اول در اجرای الگوریتم به طور موازی نوشتن برنامه است. در خصوص نوشتن برنامه بعدا توضیحاتی می دهم ولی فعلا فرض کنید برنامه نوشته شده و آماده کامپایل و اجرا می باشد. مانند تمامی دیگر برنامه ها باید gcc (یا g++) را به همراه سوئیچ های مربوطه صدا کنید ولی برای این کار شاید مجبور باشید یک دستور دو سه خطی بنویسید زیرا احتمالا مجبورید تعداد زیادی library را به همراه سوئیچ های مربوطه مشخص کنید. چون این آرگومان های خط فرمانی عموما ثابت هستند به همین خاطر دستورهای mpicc و mpiCC (برای cوc++) در نظر گرفته شده که خود به خود کامپایلر را با پارامترهای لازم صدا می کنند که در نتیجه کار ساده می شود.
بعد از کامپایل برنامه و پیش از اجرای آن شما باید محیط lam را فعال کنید تا بتوانید برنامه mpi خود را در آن اجرا کنید. برای این کار ابتدا یک فایل متنی که حاوی آدرس node هایی است که شما قصد دارید برنامه روی آن ها اجرا شود بسازید (در هر node باید lam-mpi و sshیاrsh و همچنین یک کپی از برنامه کامپایل شده موجود باشد) سپس با دستور lamboot و مشخص کردن hostfile گفته شده محیط را اجرا می کنید. در نهایت با استفاده از دستورات mpirun یا mpiexec و مشخص کردن اینکه برنامه تان را می خواهید با چند process موازی اجرا نمایید، کار را تمام می کنید.
این مقاله کوتاه صرفا برای آشنایی و درک شمای کلی یک سیستم پردازش موازی نوشته شده است. برای انجام کار جدی می بایست مستندات mpi و همچنین lam-mpi را به دقت مطالعه نمایید.
قصد دارم تجربیات مختصری در خصوص دست و پا کردن یه سیستم ساده برای انجام کارهای پردازش موازی با استفاده از لینوکس رو طی یکی دو قسمت به عرض برسونم.
آنچه در نهایت خواهید داشت یک سیستم پردازشی موازی با معماری multicomputer است که با کتابخانه mpi (برنامه نویسی موازی به شیوه انتقال پیام) با آن می توانید برنامه بنویسید. شاید برای کسانی که یه تعداد کامپیوتر بی کار در دسترسشون هست و یک مقداری هم وقت دارند که نمی دونن چطور تلف کنند این مقاله خوبی باشه. شاید هم بعدا به درد یه کسی بخوره.
سخت افزار مورد نیاز:
یک عدد رایانه سرور کامل حداقل پنتیوم 3، و حافظه اصلی 256 به بالا، فضای دیسک سخت زیاد (مثلا 10 الی 15 گیگابایت) و یک یا تعداد بیشتری کارت شبکه نسبتا سریع و مادربرد با قابلیت بوت از روی کارت شبکه (معروف به PXE دار).
تعدادی client حداقل پنتیوم 2، حافظه اصلی 128 به بالا ) و یک کارت شبکه نسبتا سریع و مادربرد با قابلیت بوت از روی کارت شبکه (معروف به PXE دار) داشتن دیسک سخت و صفحه کلید و موشواره اختیاری است.
در صورت نیاز به switch باید از نوع سریع باشند، HUB های معمولی جواب خوبی نمی دهند.
نرم افزار مورد نیاز:
پیش از شروع کار یک عدد لینوکس (ترجیحا FC3 یا Mandrake یا Debian اگر از روش دوم استفاده می کنید) روی سرور خود نصب کنید. چون روش کار بدین ترتیب است که client ها به طور کامل از روی شبکه بوت می شوند بنابراین حتی ممکن است دیسک سخت هم نداشته باشند. تنها کاری که برای client ها باید انجام دهید این است که در setup آن اولویت بوت را کارت شبکه بگذارید و مطمئن شوید که به یکی از کارت های شبکه سرور شما مستقیم یا با استفاده از یک switch متصل اند.
من دو روش برای راه اندازی سیستم می نیمم ذکر می کنم: روش اول که روش دستی است و انجام آن سخت، ولی با امکانات خط اینترنت معمول قابل انجام است و روش دوم که با استفاده از یک package از قبل نوشته شده است و بسیار آسان می باشد ولی احتمالا خط اینترنت پر سرعت برای نصب لازم دارد.
روش اول (روش دستی):
ابتدا مراحل بوت شدن یک سیستم از روی کارت شبکه را مختصرا ذکر می کنم. وقتی یه سیستم از روی یک کارت شبکه مجهز به epromی که مثلا PXE را ساپورت می کند می خواد بالا بیاد، اول به دنبال یه سرویس BOOTP یا DHCP می گردد تا از آن ip بگیرد. بنابراین باید روی سرور خود یک عدد DHCP یا BOOTP پیکره بندی شده داشته باشید. سپس با استفاده از پروتکلی مثل TFTP (مشابه همون FTP خودمون) کرنل که یه کم هم دستکاری شده دانلود شده و اجرا می شود پس TFTP هم باید سرویسش نصب باشه. بعد احتمالا لازم دارید که یک root دایرکتوری یا مثلا یک دایرکتوری مشابه etc و یا چیز های مشابه برای اینکه سرویس های دیگر را run کنید، mount شود. از آن جایی که دیسک سخت ندارید پس باید این کار را با چیزی شبیه NFS انجام دهید که آن را هم نصب و پیکره بندی می کنید ( از این قسمت برای سفارشی کردن clientها مورد استفاده قرار می گیرد).
برای انجام دقیق و مرحله به مرحله این روش شما را به HOWTO زیر راهنمایی می کنم:
http://www.tldp.org/HOWTO/Network-boot-HOWTO
مراحل کار به صورت خلاصه عبارتند از:
ساخت مجدد کرنل و دستکاری آن با پارامتر های مورد نیاز
نصب و پیکره بندی NFS
نصب و پیکره بندی BOOTP
نصب و پیکره بندی TFTP
تنظیم client ها
حال کردن با سیستمی که راه انداخته اید
روش دوم(روشی دیگر):
یه دانشگاه یا موسسه تایوانی می خواسته یه سیستم راه بندازه که کامپیوترهای شبکه اش بدون هارد لینوکس رو بالا بیارند. واسه همین هم کارهای بالا رو اومده یه کم جمع و جور کرده و ساده تر کرده. کاری که انجام داده اینه که اومده یه سری script به زبان perl نوشته که با اجرای اون ها سیستم نصب و پیکره بندی می شه. آدرس:
http://drbl.sourceforge.net
با اجرای یکی از برنامه هاش (فکر کنم drblsrv) فرض می کنه که eth0 کامپیوتر سرور به اینترنت وصل هست و بعد شروع می کنه تمام بسته های مورد نیاز و حتی کرنل رو نصب و به روز می کنه و بعد دایرکتوری های معادل client ها رو می سازه.
با اجرای یکی دیگه از برنامه ها (به اسم drblpush) بقیه کارت های شبکه تون ( eth1 به بعد) رو به عنوان زیر شبکه هایی در نظر می گیره که هر کدوم یه تعدادی client بهش وصل هستند. Ip ها، تعداد client ها، امکانات هر client و چیزهایی از این قبیل همین جا قابل تنظیم هستند.
بعد از نصب هم یک سری دستورات shell برای تنظیمات آتی در اختیار خواهید داشت. این روش با اینکه خاص هست و برای همه کاربرد ها در نظر گرفته نشده ولی امکانات پیکره بندی ساده و زیادی به شما می ده (مثلا اینکه clientهاتون گرافیکی login کنند یانه، چه جور loginی براشون در نظر گرفته بشه و...). اون سیستمی که من باهاش کار می کردم یه رک بود که سه تا مادربرد تو یه طبقه داشت و طبقه زیریش سه تا powerشون بود و از بیرون به یکیشون کی برد و مانیتور وصل شده بود بنابراین زیاد با امکانات گرافیکی loginش ور نرفتم ماکزیمم چیزی که می خواستم یه سرور ssh روی دوتای دیگه بود که بتونم با شبکه بهشون دسترسی داشته باشم. عکس هاشو پیوست می کنم.
البته خیال کسی رو بر نداره که الآن می تونیم یه supercomputer بسازیم فقط پولش باید باشه. هر چند که راهش همینه ولی اهل فن (مطمئنا منظورم نرم افزاری ها نیست، شاید سخت افزاری ها که یه کم از رشته ما رو می خونن) می دونن که اون ابر کامپیوترهایی که تو اخبار می گن آرایه های پیچیده ای از پردازنده های طراحی شده برای این کار، ram های multiport، switching matrix های پیچیده و... هست. ضمنا این رو هم حتما می دونید که فعلا تو سرعت تقریبا به بن بست رسیده ایم. چون برای با لا بردن سرعت باید ماسفت ها رو کوچیک کرد ولی تکنولوژی کوانتم مکانیک فعلی جواب کوچیک تر از چند ده نانومتر رو نمی ده به همین خاطر دارن روی پردازنده های چند هسته ای یا سیستم های چند پردازنده ای کار می کنن. البته هر چند که ما نه شبیه سازی انفجار اتمی می کنیم و ماهواره هواشناسی داریم که بخواهیم داده های عظیمشو تحلیل کنیم ولی اگر بخواهیم روزی به این سمت بریم برنامه نویسی موازی به نظر می رسه فعلا تنها راه حله :موفق:
همین دیگه .... دفعه بعد می گم با این سیستم چطوری برنامه موازی می نویسم.
مدل های برنامه نویسی موازی
مدل حافظه مشترک
محاسبات موازی - بخش پنجم
حافظه مرکب توزیع شده - مشترک : Hybrid Distributed-Shared Memory
خلاصه ای از ویژگی های اساسی ماشین های حافظه مشترک و توزیع شده :
بزرگترین و سریعترین کامپیوتر های امروزی از هر دو معماری حافظه مشترک و توزیع شده با هم استفاده می کنند.
بخش حافظه مشترک ، همیشه یک ماشین کش همسان SMP است. پردازنده ها بر روی یک SMP می توانند حافظه خود را به صورت سراسری آدرس دهی کنند.
بخش حافظه توزیع شده ، شبکه ای از چندین SMP است. SMP ها تنها در مورد حافظه خودشان - نه در مورد حافظه SMP دیگر - اطلاعات دارند. بنابراین ارتباطات شبکه ای برای انتقال
اطلاعات از یک SMP به SMP دیگر مورد نیاز است.
روند کنونی نشان می دهد که این معماری حافظه تا زمانی که به بالاترین سطح محاسبات برای آینده ای قابل پیش بینی دست یابد ، ادامه پیدا خواهد کرد.
مزایا و مضرات : هر آنچه که برای هر دو معماری حافظه مشترک و توزیع شده رایج است.
معماری های حافظه برای کامپیوتر های موازی
حافظه اشتراک گذاشته شده - Shared Memory
مشخصات عمومی :
کامپیوتر های موازی با حافظه مشترک به طور گسترده با یکدیگر متفاوتند ، اما اغلب دارای قابلیت دسترسی تمام پردازنده ها به تمام حافظه ها به عنوان فضای آدرس دهی سراسری هستند.
چندین پردازنده می توانند به طور مستقل عمل کنند اما منابع حافظه یکسانی را به اشتراک می گذارند.
تغییرات در آدرسی از حافظه که بوسیله یک پردازنده صورت می گیرد برای تمام دیگر پردازنده ها قابل مشاهد است.
ماشین های حافظه مشترک ؛ می توانند بر اساس زمان های دسترسی حافظه به دو دسته اساسی تقسیم شوند : UMA و NUMA
دستیابی یکسان به حافظه - Uniform Memory Access :
امروزه اغلب نشان دهنده ماشین های چند پردازنده منظم Symmetric Multiprocessor یا SMP هستند.
پردازنده های یکسان
دستیابی و زمان های دستیابی یکسان به حافظه
گاهی اوقات CC-UMA یا Cache Coherent UMA نامیده می شود. Cache Coherent یعنی اگر یک پردازنده آدرسی در حافظه مشترک را بروز رسانی کرد ، تمام دیگر پردازنده ها از این بروز رسانی آگاه شوند. Cache Coherent در سطح سخت افزار انجام می شود.
دستیابی غیر یکسان به حافظه - Non-Uniform memory Access :
اغلب با پیوند دادن فیزیکی دو یا بیشتر SMP تشکیل می شود.
یک SMP می تواند به طور مستقیم به حافظه SMP دیگر دسترسی داشته باشد.
تمام پردازنده ها به تمام حافظه ها زمان دستیابی یکسان ندارند.
دستیابی به حافظه از طریق پیوند Link آهسته تر است.
اگر Cache Coherency بر قرار شود ، آنگاه ممکن است CC-NUMA یا Cache Coherent NUMA نیز نامیده شود.
مزایا :
فضای آدرس دهی سراسری ، یک دور نمای برنامه نویسی کاربر پسند به حافظه را فراهم می کند.
اشتراک داده ها بین Task ( یک برنامه یا دسته دستور العمل های شبه برنامه ) ها به دلیل مجاورت حافظه با پردازند ها سریع و یکنواخت است.
مضرات :
اصلی ترین آن ها ، کمبود مقیاس پذیری بین حافظه و پردازند هاست. اضافه کردن CPU های بیشتر از نظر هندسی ترافیک مسیر CPU-حافظه را افزایش می دهد و برای سیستم های کش همسان ( Cache Coherent ) ترافیک مدیریت حافظه / کش را افزایش می دهد.
مسئولیت برنامه نویس برای ساخت های همزمانی ، که آدرس دهی صحیح حافظه سراسری را تضمین کند.
هزینه : طراحی و تولید ماشین های حافظه مشترک با افزایش تعداد پردازنده ها به طور فزاینده ای سخت و گران خواهد بود.
حافظه توزیع شده - Distributed Memory :
مشخصات عمومی :
همچون سیستم های حافظه مشترک ، سیستم های حافظه توزیع شده متفاوتند اما یک ویژگ مشترک دارند. سیستم های حافظه توزیع شده ، برای ارتباط داخلی پردازنده - حافظه ، نیاز به یک شبکه ارتباطی دارند. 
پردازنده ها حافظه محلی خود را دارند. آدرس های حافظه در یک پردازنده به پردازنده دیگر نگاشته نمی شود ، بنابراین مفهومی از فضای آدرس دهی سراسری میان پردازنده ها وجود ندارد.
به این دلیل که هر پردازنده حافظه محلی خود را دارد ، به طور مستقل عمل می کند. تغییرات در حافظه محلی یک پردازنده تاثیری بر حافظه دیگر پردازند ها ندارد. بنابراین مفهوم کش همسان به کار برده نمی شود.
زمانی که یک پردازنده نیاز به دستیابی به داده هایی در پردازنده دیگر دارد ؛ این اغلب وظیفه برنامه نویس است که تعریف کند چگونه و چه زمانی داد ها تبادل شود. همزمانی بین Task ها نیز بر عهده برنامه نویس است.
ساختار شبکه که برای انتقال داده ها استفاده می شود نیز متفاوت است ، اگر چه میتواند به سادگی اترنت Ethernet باشد.
مزایا :
حافظه با تغییر تعداد پردازنده ها قابل تغییر است. افزایش تعداد پردازنده ها و میزان حافظه به تناسب صورت می گیرد.
هر پردازنده می تواند به سرعت به حافظه خودش دسترسی پیدا کند بدون مداخله و بدون ضرر ناشی از تلاش برای کش همسانی.
بهره وری : می توان از کالا ها ، پردازنده های در دسترس و شبکه استفاده کرد.
مضرات :
برنامه نویس مسئول بسیاری از جزئیات مرتبط با ارتباط بین پردازنده ها، می باشد.
ممکن است با ساختار های داده کنونی که بر اساس حافظه سراسری است ، نقشه نگاری این سازماندهی حافظه مشکل باشد.
زمان های دستیابی غیر یکسان ( NUMA ).
مفاهیم و اصطلاحات محاسبات و برنامه نویسی موازی
معماری ون نیومن
برای بیش از 40 سال ، تمام کامپیوتر ها از یک مدل به نام کامپیوتر ون نیومن پیروی کرده اند. که پس از ریاضیدان مجارستانی به نام جان ون نیومن، نامگذاری شده است.
یک کامپیوتر ون نیومن از مفهوم برنامه ذخیره شده استفاده می کند. CPU یک برنامه ذخیره شده را اجرا می کند که یک سری عملیات خواندن و نوشتن روی حافظه را مشخص می کند.

S I S D : Single Instruction, Single Data
S I M D : Single Instruction, Multiple Data
M I S D : Multiple Instruction, Single Data
M I M D : Multiple Instruction, Multiple Data

Processor Arrays: Connection Machine CM-2, Maspar MP-1, MP-2
Vector Pipelines: IBM 9000, Cray C90, Fujitsu VP, NEC SX-2, Hitachi S820



چرا از محاسبات موازی استفاده کنیم ؟
دلایل اصلی استفاده از محاسبات موازی :
صرفه جویی در زمان
حل مسائل بزرگتر و عظیم تر
فراهم کردن همزمانی ( انجام چند عمل به صورت همزمان )
دیگر دلایلی که ممکن است وجود داشته باشد :
بهره مندی از مزایای منابع غیر محلی - استفاده از منابع محاسباتی در دسترس بر روی یک شبکه گسترده و یا حتی اینترنت ، زمانی که منابع محاسباتی محلی اندک باشند
صرفه جویی در هزینه - استفاده از چند منابع محاسباتی ارزان به جای هزینه کردن برای یک ابر کامپیوتر
غلبه بر محدودیت های حافظه - یک کامپیوتر منابع حافظه بسیار محدودی دارد. برای مسائل عظیم تر ؛ استفاده از حافظه های چندین کامپیوتر می تواند این مشکل را برطرف کند.
محدودیت های محاسباتی سریالی
دلایل فیزیکی و عملی محدودیت های مهمی برای ساخت سریعترین کامپیوتر های سریالی ایجاد می کنند :
سرعت های عبور - سرعت یک کامپیوتر سریالی مستقیما به اینکه اطلاعات چقدر سریع از طریق سخت افزار ها منتقل می شوند ، بستگی دارد. محدودیت مطلق سرعت نور است ( 30 سانتیمتر در نانو ثانیه ) و محدودیت انتقال سیم مسی ( 9 سانتیمتر در نانو ثانیه ) . سرعت های صعودی ، همزمان ، توسعه و افزایش عناصر پردازنده را ایجاب می کنند.
محدودیت های کوچک سازی - فناوری پردازنده ها یک تعداد صعودی از ترانزیستور ها را مجاز می کند که بر روی یک چیپ قرار بگیرند. به هر حال ، با وجود اجزای مولکولی و ذره ای ، محدودیتی وجود دارد که اجزا چقدر می توانند کوچک شوند.
محدودیت های اقتصادی - سریعتر کردن یک تک پردازنده به طور فزاینده ای هزینه بر است. استفاده از تعداد زیادی پردازنده با سرعت میانه برای دست یابی به همان کارایی ( و حتی بهتر ) هزینه کمتری دارد.
آینده : طی 10 سال گذشته ، گرایش به شبکه های سریعتر ، سیستم های توزیعی ، معماری کامپیوتر چند پردازنده ای ( حتی در سطح
کامپیوتر های رومیزی ) به وضوح نشان می دهد که توازی یا موازی نگری ( Parallelism ) آینده محاسبات می باشد.
چه کسی و چه چیزی ؟
Top500.org آمازی از کاربران محاسبات موازی ارائه می دهد - نمودار های زیر تنها یک نمونه هستند. نکاتی که درباره نمودار زیر باید توجه شوند :
بخش های نمودار زیر ممکن است اشتراک داشته باشند- برای مثال ، تحقیق ممکن است تحقیق طبقه بندی شده ، باشد.
تعیین نشده "Not Specified" بمراتب بزرگترین برنامه است. - احتمالا به معنی چندین برنامه است.
در مقاله بعدی به "مفاهیم و اصطلاحات محاسبات و برنامه نویسی موازی" می پردازیم.
محاسبات موازی یا Parallel Computing چیست ؟
در گذشته ، نرم افزار برای محاسبات سریال ( نوبتی ) نوشته می شده است :
برای اجرا بر روی کامپیوتری که تنها یک واحد مرکزی پردازش CPU دارد .
یک مسئله به سری هایی مجزا از دستور العمل ها تقسیم می شود.
دستور العمل ها یکی پس از دیگری اجرا می شود.
تنها یک دستور العمل در هر لحظه می تواند اجرا شود.
به ساده ترین معنی ، محاسبات موازی استفاده همزمان از چند منبع محاسباتی برای حل یک مساله محاسباتی می باشد.
برای اجرا با استفاده از چند CPU
یک مسله به چند بخش تقسیم می شود ؛ به نحوی که بتوان آن قسمت ها را همزمان ( با هم ) حل کرد.
هر بخش نیز به سری از دستور العمل ها تقسیم می شود.
دستور العمل های هر بخش همزمان بر روی CPU های مختلف اجرا می شود.
منبع محاسباتی می تواند شامل موارد زیر باشد :
یک کامپیوتر با چند پردازنده
تعدادی کامپیوتر که با شبکه با یکدیگر متصل شده اند.
ترکیبی از هر دو
مسئله محاسباتی ویژگی هایی را نشان می دهد که آیا توانایی موارد زیر دارد یا نه :
شکسته شدن به بخش های مجزا که بتوان همزمان آن ها را اجرا کرد.
اجرا کردن چندین دستور العمل برنامه در هر لحظه ( اجرای یک دستور العمل در هر لحظه از ویژگی های محاسبات سریال بود )
حل شدن مساله در زمان کمتر با چندین منبع محاسباتی نسبت به استفاده از یک منبع محاسباتی
محاسبات موازی تکاملی از محاسبات سریالی است که سعی می کند آن چه را که در دنیای واقعی رخ می دهد ؛ نمونه سازی کند :
بسیاری رویداد های پیچیده و وابسته به هم که در یک زمان ولی در عین حال در یک توالی اتفاق می افتند . همانند :
دوران های نجومی و کهکشانی
الگو های آب و هوایی و اقیانوس ها
رانش صفحات زمین ساختی
ساعات پیک ترافیک در شهر ها
خط مونتاژ اتومبیل
امور روزانه در یک تجارت
ساخت یک مرکز خرید
سفارش یک همبرگر در حین رانندگی
به صورت عادی ، محاسبات موازی به عنوان " نقطه اوج محاسبات " مطرح شده است و با شبیه سازی عددی سیستم های پیچیده
و مسائل چالش بر انگیز به حرکت در آمده است :
آب و هوا و اقلیم
واکنش های شیمیایی و هسته ای
ژنوم زیستی انسان
فعالیت های زمین لرزه ای و زمین شناختی
دستگاه های مکانیکی - از پروتز ها تا سفینه های فضایی
مدار های الکترونیکی
فرآیند های تولیدی
امروزه ، برنامه های تجاری نیروی محرکه ای برای تولید و توسعه کامپیوتر های سریعتر فراهم کرده اند. این برنامه ها نیاز به پردازش مقادیر بیشتر اطلاعات در مسیر های پیچیده دارند. نمونه هایی از این برنامه ها عبارتند از :
بانک های اطلاعاتی موازی ، استخراج داده ها
اکتشاف نفت
موتور های جستجوی وب ، سرویس های تجاری تحت وب
تشخیص های پزشکی به کمک کامپیوتر
مدیریت شرکت های ملی و چند ملیتی
گرافیک پیشرفته و واقعیت مجازی ، به ویژه در صنعت سرگرمی
محیط های کار اشتراکی ( تعاونی )
سرانجام ، محاسبات موازی تلاشی است برای بیشینه سازی و افزایش متاعی نادر به نام زمان .
در مقاله بعدی به این سوال که " چرا از محاسبات موازی استفاده کنیم ؟ " پاسخ خواهیم داد.
| اولين پردازندهي 64 هستهيي مبتني بر معماري شبكهيي از سوي شركت تيلرا به نمايش درآمد. به گزارش سرويس فنآوري اطلاعات خبرگزاري دانشجويان ايران (ايسنا)، با ساخت اولين پردازندهي 64 هستهيي توسط تيلرا، رقابت بر سر جا دادن هستههاي بيشتر يا دستگاههاي پردازندهي مجزا در يك تراشهي منفرد وارد مرحلهي تازهاي شد. معماري شبكهيي اين پردازنده مشابه طراحيهايي است كه اينتل و شركتهاي ديگر در حال كار برروي آن هستند. به گفتهي شركت تيلرا، هستهها در تراشه به صورت شبكهيي يا توري قرار گرفتهاند كه در نتيجه هر كدام قادر به برقراري ارتباط جداگانه هستند؛ اين امر انتقال دادهها را به داخل و خارج از هستهها سادهتر و سريعتر ميكند، در حالي كه طراحي تراشههاي سنتي به گونهاي است كه تمامي دادهها از طريق يك گذرگاه ارتباطي منفرد عبور داده ميشوند كه كارآيي پردازندههاي چندهستهي را محدود ميكند. بنا بر اعلام تراشههاي جديد پيش از اين از سوي شماري از شركتها مورد استفاده قرار گرفته است و اين شركت كاربردهاي شبكهيي مانند پخش ويديو و فيلتر هرزنامه را به عنوان اولين بازار براي اين فنآوري مدنظر قرار داده است. | |
ParallelKnoppix یک دیسک زنده بر پایهی کناپیکس است که می تواند پردازش موازی و کلاسترینگ را در مدت ۱۵ دقیقه برای شما فراهم کند.
پارالل کناپیکس بدون نیاز به دیسک سخت یا مراحل نصب مانند هر دیسک زندهی دیگری در چند دقیقه سیستم را بوت میکند و در ربع ساعت شما را قادر میسازد تا یک کلاستر برپایهی لینوکس ایجاد کنید که با ابزارهای برنامه نویسی و کتابخانههایی مانند MPI کار میکند.
سایت : >>> http://www.knoppix.net
جواد لاریجانی از عضویت جمهوری اسلامی ایران در شبکه عظیم جهانی اطلاعات و محاسبات «گرید» خبر داد.
جواد لاریجانی در گفتوگو با مهر با بیان این خبر افزود: تاسیس گرید علمی که آینده اینترنت برای مجامع علمی محسوب میشود، در ایران محقق میشود. وی اضافه کرد: مقدمات اتصال ایران به گرید علمی با نگاه به افقهای جدید اینترنتی فراهم شده است و به زودی به مرحله اجرا در میآید.
رئیس پژوهشگاه دانشهای بنیادی افزود: در این راستا قراردادی با وزارت ارتباطات و فناوری اطلاعات بستهایم که زیرساختهای لازم را برای پیادهسازی این مهم داشته باشیم.
شبکه جهانی گرید در حقیقت فناوری جدیدی است که در راه توسعه یک محیط یکپارچه جهانی گام برمیدارد. در GRID هر کاربر میتواند به روشی ساده و واضح بدون اینکه در محاسبات کاربران دیگر مداخله کند، محاسبات خود را با حداکثر سرعت انجام داده و اطلاعات موردنیاز خود را دریافت کند.
این شبکه جهانی همچنین امکان استفاده از منابع محلی مثل تبادل پول با دیگر شرکای حاضر در گرید را بدون ایجاد محدودیت برای کاربر فراهم میکند. همچنین تاسیس سازمانهای مجازی (Virtual Organization) بین گروههای مختلف دارای اهداف مشترک در شبکه جهانی گرید امکانپذیر است. به علاوه در این شبکه همکاری مراکز تحقیقاتی علمی وجود دارد.
با الحاق ایران به جمع کشورهای برخوردار از سرویس اطلاعاتی گرید امکان به اشتراک گذاشتن توان محاسباتی و ذخیره دادهها بین رایانههای موجود در شبکه در سراسر جهان فراهم میشود. گرید برخلاف وب که سرویسی برای مبادله اطلاعات در اینترنت است، سرویس نرمافزاری برای به اشتراک گذاردن توان محاسباتی و فضای ذخیره دادهها بین رایانههای متصل به اینترنت است که هدف نهایی آن ایجاد یک شبکه وسیع جهانی محاسباتی و اطلاعاتی است.
تعدادی از دانشجویان دکتری شریف مقالهای که توسط یک نرمافزار شناختهشده بهصورت خودکار تولید شده است را برای یک مجلهی آیاسآی (Applied Mathematics & Computation) که توسط ناشر معروف Elsevier چاب میشود ارسال کردند. این مقاله که بهوضوح بیمعنا و مسخره است (و این با خواندن فقط چکیده کاملاً روشن است) پس از دو سه هفته بدون هیچ ایرادی پذیرفته شد و هماکنون به صورت online قابل دسترسی است.
این نمونهای است که نشان میدهد که کنفرانسهای بسیار خوب در زمینهی کار دانشجوی دکتری بسیار با ارزشتر از مجلات علمی ضعیف آیاسآی است. چاپ مقاله در مجلات معتبر البته بسیار خوب است ولی این کار به یکی دو سال وقت نیاز دارد (در نتیجه طول دورهی دکتری بیش از حد طولانی میشود) و معمولا این مجلات مقالهی نویسنده را بدون داشتن مقالهی خوب در کنفرانسهای معتبر چاپ نمیکنند. بهعبارت دیگر فرد باید در کنفرانسهای خوب خود را به جامعهی علمی آن زمینه بشناساند.
این مطلب بهخصوص برای دانشجویان رشتهی کامپیوتر که رشتهای است مبتنی بر کنفرانسهای معروف صادق است. بهنظر من یک دانشجوی دکتری رشتهی کامپیوتر با چاپ دست کم دو مقاله در کنفرانسهای top-10-15 که برای هر زمینهی پژوهشی از قبل مشخص میشود باید بتواند دانشآموخته شود، البته به شرط آنکه خود کارهم در حد دکتری باشد.
هماکنون ما شاهد دانشآموختهگان خوب خودمان در دانشگاههای عالی آمریکا و کانادا هستیم که دارند دکتری خود را تمام میکنند و فقط چند مقاله در بهترین کنفرانسها دارند. خیلی از این دانشگاهها و استادها اصولا اعتقادی به چاپ مقاله در مجله توسط دانشجویان دکتری ندارند ولی انتطار دارند که کار دکتری در کنفرانسهای خوب تخصصی آن زمینه پذیرفته شود. بدیهی است که مقالههای این کنفرانسها پس از تکمیل میتواند در آینده در مجلات بسیار معتبر تخصصی چاپ شوند. مثلاً در زمینهی علم کامپیوتر نظری تعداد مقالات در کنفرانسهایی مانند FOCS, STOC و SODA اعتبار علمی افراد را مشخص میکند (مقالهای در این زمینه بخوانید.)
اگر این سیاست اعمال شود، یک دانشجوی دکتری در یک سال امکان متعددی برای چاپ کارش دارد و جواب هر یک تا دو سه ماه دریافت میشود. و اگر هم مقالهاش رد شود، از comment های با ارزشی که در یافت میکند میتواند بهره ببرد و کارش را تکمیل نماید.
البته در برخی از رشتههای دیگر مانند ریاضی و فیزیک اصولاً کنفرانسها جایگاه چندان بالایی ندارند و آنچه اهمیت دارد چاپ مقاله در مجلات علمی است. شاید به این دلیل تغییر سیاست دانشگاه در این مورد مشکل باشد.
اصل مقاله
توضیح دانشجویان البته من همهی نتیجهگیریهای آنان را قبول ندارم
مقاله به صورت آنلاین آمادهی چاپ است
بنيان گذار مايكروسافت اظهار مي كند كه در سرتاسر جهان شاهد تركيب محاسبات توده اي با ابر محاسبات خواهيم بود.
اخيرا بيل گيتس، رئيس مايكروسافت كه در كنار هزاران كاربر محاسبات فني حضور به هم رسانده بود، پيش بيني كرد سيستم هاي ابر محاسباتي، ارزشي كمتر از 10 هزار دلار خواهند داشت، و همين طور محاسبات توده اي يا كامپيوترهاي ويندوزي ، با توانمندترين سيستم هاي جهان تركيب خواهند شد. وي به افراد حاضر گفت : مي توانيم فكر كنيم كه بهترين مغزها را از ابر محاسبات و محاسبات توده اي به دست بياوريم و اين دو را به نحوي با هم تركيب كنيم تا شاهد پيشرفتي بزرگ در دهه ي آينده باشيم.
ويندوز در محاسبات سطح بالا ، نقش چنداني ندارد . در آخرين فهرست مربوط به 50 ابر محاسبات برتر كه دو هفته گذشته انتشار يافت ، نقاط ضعف اين سيستم عامل باعث شدند تا لينوكس تقريبا 75 درصد از 500سيستم برتر را اجرا نمايد. در اين ميان، يونيكس با 20 درصد و مك اواس اكس ، با 1 درصد رده بندي شده اند. جالب است كه در اين فهرست ، نامي از ويندوز ديده نمي شود. جان ابات با اشاره به نقش محدود مايكروسافت در محاسبات فني سطح بالا، مي گويد: خيلي شگفت آور است كه در اين فهرست نام مايكروسافت ديده نمي شود. وي اضافه مي كند كه براي مايكروسافت خيلي مهم است كه براي مايكروسافت خيلي مهم است كه در بازار محاسبات سطح بالا نيز از جايگاه مناسبي برخوردار باشد ، زيرا در اين بازار است كه فناوري هايي مانند شبكه گريد و خوشه اي كردن قابليت هاي خود را به اثبات مي رسانند.
گيتس همچنين در اين همايش گفت كه مايكروسافت به مراكز ابر محاسبه اي بيشتري دسترسي پيدا مي كند تا بداند كه بهتر است با نرم افزارهاي خود چه كاري انجام دهد و اينكه چه طور مي تواند با ديگر نرم افزارها كه با روش هايي بهتر عمل مي كنند ، ارتباط برقرار كند . مارتين گاستوبر، اظهار مي كند كه سخنان بيل گيتس تاثير چنداني نداشتند. وي مي گويد: حرف هاي گيتس، بيشتر در مورد بازاريابي محصولات مايكروسافت بود، اين براي من به معناي يك بينش يا بصريت نيست ، اين حرف ها گام بعدي در كاري است كه وي قصد انجام آن را دارد و با نسل بعدي محصولي كه وي در نطر دارد ، ارتباطي تنگاتنگ خواهند داشت.
اما تد دادز مدير ارشد فناوري در دانشگاه كلمبيا در ونكوور در كانادا، مي گويد گيتس، شرح دقيق از روندهاي جاري در فناوري و احتمالا امكانات آينده را داده است . او مي گويد: خوشه هاي ويندوز تقريبا در بسياري از جنبه ها اجتناب ناپذير شده اند. من فكر مي كنم تصور تركيب محاسبات توده اي و محاسبات فني خاص با يكديگر ، خيلي واضح است.
وي ادامه مي دهد: مايكروسافت بدون روي آوردن به مدل اوپن سورس ، محصولاتي را توسعه خواهد داد كه به روشي بسيار عالي تركيب مي شوند.
ويليام كرامر رئيس همايش ابر محاسبات و رئيس محاسبات با عملكرد بالا در مركز محاسبات علمي مربوط به پروژهش هاي انرژي ملي در آزمايشگاه لورنس بركلي ، مي گويد: حضور گيتس، نشانه اي از رشد آگاهي از اهميت ابر محاسبات است. نتيجه فعاليت هاي محاسبات سطح بالا، ديگر بر هيچ كسي پوشيده نيست . وي مي افزايد: ابر محاسبات در حال فراگير شدن است ، به طوري كه مردم بيشتري مي توانند از اين ابزارهاي پيچيده استفاده نمايند و من فكر مي كنم اين يكي از علل ابزار علاقه ي مايكروسافت در اين زمينه است.
قويترين ابررايانه ايران و خاورميانه با سرعت ۸۶۰گيگافلاپ در دانشگاه صنعتي اميركبير ساخته شد.

با ساخت اين سامانه كه قويترين ابررايانه فوق سريع ساخته شده در خاورميانه محسوب ميشود، ايران به جمع چند كشور پيشرفته داراي اين فناوري ميپيوندد.
دكتر احمد معتمدي مجري اين طرح روز دوشنبه طي يك مصاحبه مطبوعاتي ضمن معرفي اين ابررايانه كه با همت محققان مركز تحقيقات پردازشهاي فوق سريع در دانشگاه صنعتي اميركبير ساخته شده است، افزود اين ابررايانه كه به سفارش سازمان هواشناسي ساخته شده است تا ماه آينده براي پيش بيني وضع هوا در اين سازمان راهاندازي ميشود.
در اين طرح كه حاصل تلاش دو ساله اين گروه تحقيقاتي است، ۲۱۶هسته پردازشي اپترون ۲گيگاهرتز با بهرهگيري از فناوري كلاستر به صورت موازي عمل ميكنند.
اين سامانه حافظهاي برابر ۵۶گيگابايت دارد و ظرفيت ذخيرهسازي آن معادل ۵۸۰۰گيگابايت است. اين ابررايانه داراي حداكثر توان پردازشي ۸۶۰ ميليارد عمل در ثانيه است.
اين درحالي است كه در قوانين تجارت جهاني، ابررايانههاي قويتر از ۱۹۰ميليارد عمل در ثانيه كالاي راهبردي محسوب شده و فروش آنها مشمول تحريم ميگردد.
سيستم عامل مورد استفاده در اين سامانه لينوكس است و يك نرمافزار نيز براي مديريت، نظارت و كنترل سيستم توسط محققان اين مركز تهيه شده است. همچنين مجموعهاي از نرمافزارهاي كاربردي مانند MM5و ARPSبراي پيشبيني وضع هوا بر روي اين ابررايانه نصب و مورد استفاده قرار گرفته است. نتايج بدست آمده در اين طرح به تاييد كارشناسان شركتهاي اروپايي نيز رسيده است.
منبع : >>> http://www1.irna.ir/fa/news/view/menu-152/8605152754135829.htm
لیست کنفرانس های Parallel and Distributed Computing موسسه IASTED در سال های 2007 و 2008
November 19 – 21, 2007
Cambridge, Massachusetts, USA
لینک : >>> http://www.iasted.org/conferences/home-590.html
اطلاعات کاملتر : >>> http://www.iasted.org/conferences/2007/cambridge/pdcs/pdfs/PDCS2007.pdf
February 12 – 14, 2008
Innsbruck, Austria
لینک : >>> http://www.iasted.org/conferences/home-597.html
اطلاعات کاملتر : >>> http://www.iasted.org/conferences/2008/innsbruck/pdcn/pdfs/PDCN2008.pdf
آدرس سایت : >>> http://ikt07.um.ac.ir
پوستر کنفرانس : >>>
http://ikt07.um.ac.ir/index.php?module=ContentExpress&func=display&ceid=736
موضوعات کنفرانس
![]() |
خدمات الکترونیکی |
![]() |
مدیریت فناوری اطلاعات |
![]() |
جنبه های حقوقی واجتماعی فناوری اطلاعات |
![]() |
جامعه اطلاعاتی، دولت ، شهر و شهروند الکترونیکی |
![]() |
کاربرد فناوری اطلاعات و ارتباطات درمدیریت شهری |
![]() |
سیستم های اطلاعاتی و فناوری های وب |
![]() |
مسائل حقوقی و اخلاقی درفناوری اطلاعات |
![]() |
امنیت داده ها و رمزنگاری |
![]() |
ارتباطات و فناوری اطلاعات |
![]() |
کاربرد فناوری اطلاعات درآموزش |
![]() |
معماري نرم افزار و معماري سازماني |
![]() |
رايانش اينترنتي، مشبک و خوشه اي |
![]() |
پردازش سیگنال، بينايي ماشين و گرافيک کامپيوتري |
![]() |
هوش محاسباتی ویادگیری ماشین |
![]() |
پردازش موازي، سيستم توزيع شده |
![]() |
مدلسازي و ارزيابي کارايي |
![]() |
مهندسي نرم افزار و روشهاي رسمي |
![]() |
سیستم های عامل،نرم افزارهای پایه و متن باز |
![]() |
عناوين پيشرفته مرتبط درعلوم و مهندسي اطلاعات و دانش |
![]() |
کاربرد فناوری اطلاعات در بهداشت و درمان |
![]() |
ساير موارد |
تاریخ های مهم
|
|
حداکثر مهلت ارسال مقالات به کنفرانس |
اول شهریور 1386 |
|
|
اعلام نتایج داوری مقالات |
10 مهر 1386 |
|
|
حداکثر مهلت ارسال پيشنهاد برگزاري کارگاه آموزشی |
۱ مهر 1386 |
|
|
حداکثر مهلت ارسال مقالات نهايي آماده چاپ و ثبت نام ارائه دهنده |
5 آبان 1386 |
دبیران کمیته علمی قسمت پردازش موازی ، مشبک ،توزیع شده و سیستم های عامل (رايانش اينترنتی، مشبک و خوشه ای، پردازش موازی، سيستم توزيع شده، سیستم های عامل،نرم افزارهای پایه و متن باز)
|
|
دانشگاه فردوسی مشهد |
|
|
دانشگاه صنعتی امیرکبیر، انجمن فناوری اطلاعات وارتباطات ایران |
|
|
دانشگاه تهران |
|
|
دانشگاه فردوسی مشهد |
|
|
دانشگاه صنعتی شریف |
|
|
دانشگاه صنعتی اصفهان |
|
|
دانشگاه علم وصنعت ایران |
| Upcomming Conferences
| ||
DISC: the International Symposium on DIStributed Computing, is an international symposium on the theory, design, analysis, implementation and application of distributed systems and networks. DISC is organized in cooperation with the European Association for Theoretical Computer Science (EATCS)
|
||
HiPC: International Conference On High Performance Computing, is an international conference on all aspects of high performance computing. It serves as a forum to present current work by researchers from around the world as well as highlight activities in Asia in the high performance computing area. The conference has a history of attracting participation from reputed researchers from all over the world
| ||
MASCOTS: The IEEE Computer Society's annual MASCOTS conferences have a long and distinguished history in the field of Performance Modeling, Measurement and Analysis of Computer Systems and Networks. The 15th MASCOTS international meeting will be organized by Bogazici University, Istanbul, Turkey, in October of 2007 and encourages researchers worldwide to submit both theoretically and practically significant results in the field of computer systems performance analysis and evaluation, that have not previously been published. The IEEE Computer Society will publish the conference proceedings for MASCOTS 2007
| ||
ICCD: The International Conference on Computer Design encompasses a wide range of topics in the research, design, and implementation of computer systems and their components. ICCD’s multi-disciplinary emphasis provides an ideal environment for developers and researchers to discuss practical and theoretical work covering system and computer architecture, verification and test, design and technology, and tools and methodologies
| ||
ISCIS: International Symposium on Computer and Information Sciences
| ||
PPAM: The 7th international conference on Parallel Processing and Applied Mathematics will cover topics in parallel and distributed processing, including theory and applications, as well as applied mathematics. The focus will be on grid computing, and large-scale applications, as well as on software tools which facilitate efficient and convenient utilization of modern computing architectures
| ||
PRDC: The 13th IEEE Pacific Rim International Symposium on Dependable Computing (PRDC'07) will be held between 17-19 December, 2007 in Melbourne, Australia. PRDC-2007 will focus on the many dimensions of dependability and fault tolerance, encompassing fundamental theoretical approaches, practical experimental projects and commercial components and systems. This symposium provides a forum for countries around the Pacific Rim and other areas of the world to exchange ideas for improving the dependability of computing systems
| ||
ICPADS: TThe 13th International Conference on Parallel and Distributed Systems conference provides an international forum for scientists, engineers, and users to exchange and share their experiences, new ideas, and latest research results on all aspects of parallel and distributed systems. All accepted papers will appear in the Proceedings of ICPADS 2007 , which is to be published by the IEEE Computer Society Press
| ||
PDCAT: The International Conference on Parallel and Distributed Computing, Applications and Technologies is a major forum for scientists, engineers, and practitioners throughout the world to present the latest research, results, ideas, developments and applications in all areas of parallel and distributed computing
|
لینک گروه کامپیوتر شریف :
لینک وبلاگ گروه نرم افزار شریف
لینک آزمایشگاه های گروه کامپیوتر شریف :
http://ce.sharif.edu/old/research
لینک High Performance Computing Architectures and Networks
(قسمت Grid Computing گروه نرم افزار شریف )
لینک Internet Algorithms Weekly Seminars
لینک Parallel Processing Lab
( در این قسمت مطالبی در مورد کلاستر MPI و معرف کتاب های پردازش موازی و مقالات و لینک های مفید موجود است )
لینک Computational Geometry Group
Book Description
Hardcover: 608 pages
Publisher: Wiley-Interscience - October 27, 2006
Language: English
ISBN-10: 0471719978
ISBN-13: 978-0471719977
This text is based on a simple and fully reactive computational model that allows for intuitive comprehension and logical designs. The principles and techniques presented can be applied to any distributed computing environment (e.g., distributed systems, communication networks, data networks, grid networks, internet, etc.). The text provides a wealth of unique material for learning how to design algorithms and protocols perform tasks efficiently in a distributed computing environment.
From the Back Cover
Design And Analyze algorithms for distributed computing environments
Design and Analysis of Distributed Algorithms focuses on developing problem-solving skills and fully exploiting design tools and techniques. Moreover, the author helps readers develop the analytical tools and skills needed to evaluate the costs of complex designs and protocols.
This text is based on a simple and fully reactive computational model that allows for intuitive comprehension and logical designs. The principles and techniques that users learn can be applied to any distributed computing environment (e.g., distributed systems, communication networks, data networks, grid networks, internet, etc.). Based on a method developed and refined during the author's twenty years of teaching experience, the text provides a wealth of unique material and learning aids that enable the reader to learn how to design algorithms and protocols to solve problems and perform tasks efficiently in a distributed computing environment. Features include:
Emphasis on developing problem-solving skills and fully leveraging design tools and techniques with a straightforward, easy-to-follow writing style
Chapter on distributed data and structures, an important area not covered in comparable texts
Detailed coverage of synchronous computations, a necessary element for "energy aware" computing
Theoretical and experimental exercises in each chapter that allow readers to apply their newfound skills
All algorithms and protocols presented in the text, as well as those in the exercises, are easily and immediately programmable. References at the end of each chapter lead readers to additional materials for further study.
A natural textbook for upper-level undergraduates and graduate students, with its emphasis on problem solving, this book is also ideal for system-protocol designers and communications software engineers and developers. It will enable them to understand the principles of how to design workable, efficient protocols in any distributed computing environment.
[ Download ]
Scalable Cluster Environment 1.5
This is a set of interoperable open source tools that enable users to build and deploy a Beowulf cluster. You can use this to build a disk-less cluster or cluster unused computers without disrupting local hard disks

دانلود : >>>
منبع :مجله علم الکترونیک و کامپیوتر
دانشمندان علوم کامپیوتر از کامپیوترهای عظیم موازی به منظور شبیه سازی رویدادهایی که در دنیای واقعی رخ می دهند استفاده می کنند. این اعمال در چنین مقیاس بزرگی جهت درک بهتر نمودهای علمی یا پیش بینی رفتارها لازم و ضروری می باشند. در اغلب موارد منابع محاسباتی یک فاکتور محدود کننده در حوزه این شبیه سازی ها محسوب می گردند. منابع محدود تنها شامل CPU و حافظه نمی شوند، بلکه این منابع زیرسیستم های ورودی/خروجی را نیز در بر می گیرند، چرا که چنین برنامه هایی معمولا حجم زیادی از داده را تولید و یا پردازش می نمایند. برای اینکه روند شبیه سازی با سرعت بالا اجرا شده و ادامه یابد، سیستم ورودی/خروجی بایستی قادر به ذخیره صدها مگابایت داده در هر ثانیه باشد، و در این عملیات باید دیسک های زیادی مورد استفاده قرار گیرد. نرم افزاری که این دیسک ها را به صورت یک سیستم فایل مرتبط سازماندهی می کند یک "سیستم فایل موازی" نامیده می شود.
سیستم های فایل موازی بویژه به منظور فراهم نمودن ورودی/خروجی های بسیار سریع در مواقعی که بایستی توسط پردازش های زیادی در یک لحظه مورد دسترسی قرار گیرند طراحی شده اند. این پردازش ها میان چندین کامپیوتر مختلف، یا میان گره ها(nodes)، که کامپیوتر موازی را تشکیل می دهند توزیع گردیده است. شکل 1 یک نمای سطح بالا از یک کامپیوتر موازی به همراه یک سیستم فایل موازی را نمایش می دهد. گره هایی که کار محاسبه را انجام می دهند به یکدیگر متصل شده اند و از سوی دیگر توسط شبکه کلاستر به گره های سرور ورودی/خروجی مرتبط هستند، و داده را بر روی دیسک های الصاقی به گره های سرور ذخیره می نمایند.
لازم نیست که شما برای بهره بردن از یک سیستم فایل موازی در یک لابراتوار ملی، که دارای یک کلاستر 1000 گره ای است، مشغول به کار باشید. برای سالها سیستم فایل موازی مجازی (PVFS) مخصوص کلاسترهای لینوکس در دسترس بوده است، که به هر شخصی امکان برپا کردن و استفاده از همان سیستم فایل موازی که در حال حاضر بر روی کلاسترهای بزرگ فراوانی در سراسر دنیا مورد استفاده قرار می گیرند را می دهد. اخیرا یک سیستم فایل موازی کامل تر و جدیدتر بنام PVFS2 عرضه شده است. این سیستم فایل جدید دارای انعطاف پذیری بیشتری بوده، و بهره بیشتری از سخت افزار موجود در کلاسترهای امروزی می برد، با کلاسترهای بزرگتر مطابقت بیشتری دارد، و مدیریت آن نسبت به نسل قبل ساده تر است.
● مفاهیم سیستم فایل موازی
برای دستیابی به کارآیی بالا، یک سیستم فایل موازی فایل ها را همانند سیستم RAID میان گره ها قطعه قطعه و تقسیم می نماید. در این سیستم، بجای دیسک ها، گره ها سرورهای داده محسوب می شوند. همانگونه که یک RAID چندین کانال را به منظور افزایش کارآیی در یک مجموعه از دیسک های محلی متمرکز می کند، یک سیستم فایل موازی نیز اتصالات شبکه را در یک مجموعه از دیسک هایی که به صورت شبکه در آمده اند متمرکز می نماید. قطعه قطعه کردن داده در میان گره ها یک روش ساده برای دستیابی به موازی سازی میان چندین سیستم ورودی/خروجی سری است. بر خلاف حالتی که چندین گره از یک RAID به صورت اشتراکی استفاده می کنند، یک سیستم فایل موازی قادر به استفاده همزمان از چندین لینک شبکه، با حذف گلوگاه محدودکننده، می باشد. تا زمانی که فایلها به این روش قطعه قطعه می شوند و برنامه های موازی وادار به کار بر روی نواحی معینی از یک فایل به اشتراک گذاشته شده می گردند، شبکه و محتویات لود شده دیسک ها توانایی گسترش در میان گره های ذخیره سازی را دارند. >
در مقابل، سیستم های فایل شبکه ای دارای نقش متفاوتی هستند. امروزه، داشتن یک پیکربندی از چندین ماشین با برخی از انواع ذخیره سازی اشتراکی یا سیستم فایل همچون NFS، Windows Networking یا AppleTalk دیگر امر غیر عادی محسوب نمی شود. این سیستم ها با توجه به پیشرفت های حاصل شده در کارآیی آنها (پیشرفت هایی نظیر عمل کش کردن سمت کلاینت) به خوبی home directory ها کار خود را انجام می دهند. کش سازی سمت کلاینت تاریخچه تغییرات محلی فایل را بدون بروزرسانی بیدرنگ در وضعیتی که داده بر روی سرور و یا بر روی حافظه های کش موجود بر روی سایر کلاینت ها ذخیره شده باشد نگه داری می کند. این رویکرد بطور کلی بارگذاری های شبکه را کاهش داده و سرعت انجام اعمال معمولی از قبیل ویرایش یا کامپایل فایل ها را به روشی که هزینه های شبکه را تقریبا شفاف می سازد افزایش می دهد.
در حالی که مزیت کش سازی سمت کلاینت در سیستم های فایل شبکه ای بر کسی پوشیده نیست، برنامه های موازی در صورتیکه داده ارائه شده به آنها ناهماهنگ و متناقض باشد می توانند نتایج نادرستی را تولید نمایند. اگر پردازش ها همواره یک دید مشترک از داده را به اشتراک گذارند، برنامه های موازی قادر خواهند بود بدون خطا به کار خود ادامه دهند. یک روش، حصول اطمینان از این مسئله است که حافظه های کش موجود در هر گره همواره حاوی آخرین داده است. تکنیک های گوناگونی برای حفظ هماهنگی و سازگاری وجود دارد، که توسط هر تکنیک به مشخصه های متفاوتی از کارآیی می توان دست یافت.
برای مثال، برخی سیستم های فایل کلاستر مسئله سازگاری و هماهنگی داده را با استفاده از قفل های فایل به منظور جلوگیری از دستیابی همزمان به فایل حل می کنند. بطور کلی، قفل ها روشی برای حصول اطمینان از این مطلب هستند که تنها یک فرایند در یک لحظه قادر به اعمال تغییرات بر روی داده است. در یک سیستم فایل شبکه ای، معمولا یک قفل بایستی از یک مدیر قفل مرکزی کسب اجازه نماید. قفل های فایل نوع Coarse-grained تضمین می کنند که فقط یک پردازش در یک لحظه قادر به نوشتن داده در یک فایل باشد. کارآیی با افزایش تعداد پردازش ها تنزل خواهد یافت. سایر روش ها شامل طرح های قفل فایل fine-grained، همچون قفل محدوده بایت (byte-range)، می باشند که این امکان را فراهم می آورند که چندین پردازش بصورت همزمان نواحی مختلفی از یک فایل به اشتراک گذاشته شده را بنویسند. به هر حال، آنها با محدودیت های مقیاس پذیری ((scalability نیز مواجه می شوند. بالاسری (overhead) ناشی از نگهداری تعداد زیادی از قفل های از این نوع در نهایت به تنزل کارآیی ختم می گردد. در حالت کلی تر، هر سیستم قفل شبکه ای با یک گلوگاه محدود کننده برای دسترسی داده مواجه می شود. برای دستیابی به مقیاس پذیری و کارآیی در مورد درخواست های برنامه هایی که اعمال ورودی/خروجی زیادی دارند، یک سیستم بدون بالاسری قابل توجه (همچون قفل کردن) و بدون عرضه متفاوت داده میان گره ها (همچون کش سازی سمت کلاینت) مورد نیاز است. برنامه های موازی تمایل دارند که هر فرایند را وادار به نوشتن در نواحی مجزایی از یک فایل به اشتراک گذاشته شده نمایند. برای این نوع برنامه ها، در حقیقت هیچ نیازی به عمل قفل کردن نیست، و ما می خواهیم که تمام اعمال نوشتن بصورت موازی و بدون تاخیر موجود در چنین رویکردهایی ادامه یابد.
بجای داشتن یک سیستم فایل با کارآیی بالا که زمان زیادی را صرف مجادله برای منابع مشترک یا تلاش برای حفظ سازگاری و هماهنگی حافظه های کش کند، حالت ایده آل این است که سیستمی را طراحی کنیم که به اشتراک گذاری منابع و سازگاری مناسب را پشتیبانی نماید. PVFS2 مثالی از یک سیستم فایل موازی نسل آینده است که برای برآورده ساختن این موارد طراحی شده است. در قسمت بعد به بحث در مورد چگونگی راه اندازی PVFS2 خواهیم پرداخت.
● سیستم PVFS2
PVFS2 نشان می دهد که ساختن یک سیستم فایل موازی که بصورت مجازی با پی ریزی دقیق فوق داده و فضانام و همچنین تعریف معانی دستیابی داده که می تواند بدون قفل کردن در دسترس قرار گیرد سازگاری را حفظ کند، امکانپذیر است. این طراحی به بروز برخی از رفتارهای سیستم فایل که مورد انتظار تعدادی از برنامه های سنتی نیست ختم می شود. این معانی در زمینه ورودی/خروجی موازی بحث جدیدی به شمار نمی روند. PVFS2 بصورت دقیق تر معانی را که توسط MPI-IO، یک API ورودی/خروجی با کارآیی بالا، دیکته می شود پیاده سازی می نماید.
PVFS2 همچنین دارای پشتیبانی محلی برای الگوهای انعطاف پذیر ناپیوسته دستیابی داده می باشد. اغلب برنامه های سنتی (نظیر "cat" و "vi") به نواحی داده پیوسته از فایل های باز شده دسترسی دارند، در حالیکه برنامه های علمی اغلب اوقات نیازمند الگوهای دستیابی هستند که ناپیوسته باشند. برای مثال، شما می توانید برنامه ای را تصور نمایید که ستونی از عناصر خارج از یک آرایه را می خواند. برای بازیابی این داده، برنامه ممکن است تعداد زیادی عمل خواندن کوچک و پراکنده را بر روی سیستم فایل انجام دهد. در صورتیکه، اگر بتواند طی یک مرحله تمامی عناصر ناپیوسته را از سیستم فایل درخواست نماید، هم سیستم فایل و هم برنامه به نحو کارآمد تری وظیفه خود را انجام خواهند داد (شکل 2 را ببینید).
علاوه بر کارآیی، ثبات و مقیاس پذیری scalability)) نیز اهداف مهم طراحی به شمار می آیند. به منظور کمک به دستیابی به این اهداف، PVFS2 بر اساس یک معماری مستقل از وضعیت ((stateless طراحی گردیده است. این به آن معنی است که سرورهای PVFS2 تاریخچه مربوط به اطلاعات سیستم فایل، اطلاعاتی مانند اینکه کدام فایل ها باز شده اند یا موقعیت فایل ها و مواردی از این قبیل، را نگهداری نمی کنند. همچنین در این مورد هیچ وضعیت قفل مشترکی برای مدیریت وجود ندارد. مزیت اصلی یک معماری مستقل از وضعیت این است که در آن کلاینت ها قادرند بدون بهم زدن کل سیستم دچار خطا شده و مجددا به کار خود ادامه دهند. این معماری همچنین به PVFS2 این امکان را می دهد که در مواجهه با صدها سرور و هزاران کلاینت بدون اینکه تحت فشار بالاسری و پیچیدگی پیگیری وضعیت فایل یا اطلاعات قفل متعلق به کلاینت های مذکور قرار گیرد وظیفه خود را بدرستی انجام دهد.
بر خلاف PVFS نسل گذشته، PVFS2 دارای یک سیستم شبکه ای و ذخیره سازی ماژولار است. یک سیستم ذخیره سازی ماژولار این امکان را برای چندین back-end ذخیره سازی فراهم می آورد که به راحتی به PVFS2 متصل شوند. این خاصیت تلفیقی کار افرادی را که در حال تحقیق بر روی ورودی/خروجی به منظور آزمایش و تجربه تکنیک های مختلف ذخیره سازی هستند ساده می سازد. همچنین یک سیستم شبکه ای ماژولار اجازه کار بر روی اتصالی از شبکه های چندگانه را داده و فرایند افزودن پشتیبانی برای انواع دیگری از شبکه ها را آسان می نماید. PVFS2 در حال حاضر TCP/IP و همچنین شبکه های Infinibandو Myrinet را پشتیبانی می کند.
این طراحی ها PVFS2 را قادر به انجام وظایف خود به نحو عالی در یک محیط موازی می سازد، اما در وضعیتی که به عنوان یک سیستم فایل محلی مورد استفاده قرار گیرد کار خود را به خوبی قبل انجام نخواهد داد. بدون کش سازی فوق داده سمت کلاینت، برخی اعمال زمان زیادی صرف می کنند.این امر می تواند مدت زمان انجام برنامه هایی همچون "ls" را بیشتر از حد انتظار افزایش دهد. با وجود این محدودیت، PVFS2 برای برنامه هایی که دارای اعمال ورودی/خروجی زیادی هستند مناسب تر است، تا اینکه برای میزبانی یک home directory مورد استفاده قرار گیرد. PVFS2 برای خواندن و نوشتن کارآمد حجم زیادی از داده بهینه شده است، و از اینرو بسیار مناسب برنامه های علمی می باشد.
● اجزاء PVFS2
بسته اصلی PVFS2 شامل سه جزء متفاوت است: یک سرور، یک کلاینت و یک ماژول کرنل. سرور بر روی گره هایی که داده سیستم فایل یا فوق داده را ذخیره می کنند اجرا می شود. کلاینت و ماژول کرنل نیز بوسیله گره هایی که به شکل فعال داده (یا فوق داده) را از سرورهای PVFS2 ذخیره یا بازیابی می کنند مورد استفاده قرار می گیرند. بر خلاف PVFS اصلی، هر سرور PVFS2 توانایی ایفای نقش به عنوان یک سرور داده، یک سرور فوق داده یا هر دو را بصورت همزمان دارد. همانگونه که قبلا گفته شد، سیستم های فایل موازی از تعدادی گره سود می برند که تمام داده میان آنها به شکل قابل پیش بینی قطعه قطعه شده است. این گره ها همان سرورهای داده در PVFS2 هستند. برخی از انواع پیکربندی نیز ممکن است از چندین سرور فوق داده بهره ببرند. ذخیره کردن فوق داده در میان چندین گره کمکی است به موازنه بارگذاری سرور تحت اعمالی که شامل دسترسی سنگین و زیاد به فوق داده هستند (مثلا ایجاد یا تغییر نام تعداد زیادی فایل). این نوع پیکربندی بطور کامل در PVFS2 پشتیبانی می گردد. بهرحال، تعداد سرورهای فوق داده هیچ فشاری بر روی اعمال خواندن یا نوشتن وارد نمی آورد، و اکثر برنامه های علمی اعمال فوق داده کافی جهت هر گونه بهره برداری از پیچیدگی افزوده انجام نمی دهند.
کلاینت های PVFS2 با سرورهای PVFS2 بر روی اتصال شبکه ارتباط برقرار می نمایند. تمامی ارتباط به صورت اختیاری به حالت رمز در می آیند تا اطمینان حاصل گردد که ماشین های دارای معماری های متفاوت توانایی درک یکدیگر را دارند. یک کلاستر مختلط شامل گره های x86، Itanium و PowerPC را تصور نمایید. رمزبندی ارتباط ما تضمین می کند که تمامی گره ها قادر به استفاده از یک PVFS2 volume، صرفنظر از ترتیب بایت محلی یا اندازه کلمه خواهند بود. ماژول کرنل PVFS2 یک درایور کرنل لینوکس است که به یک PVFS2 اجازه نصب را همانند هر نوع سیستم فایل لینوکس دیگری می دهد. وظیفه اصلی آن ترجمه واضح تمامی اعمال سیستم فایل به دستورات کلاینت PVFS2 بر روی PVFS2 نصب شده است.
● دستیابی به سیستم های فایل PVFS2
دو روش جهت دستیابی به سیستم های فایل PVFS2 فراهم گردیده است. روش اول نصب کردن سیستم فایل PVFS2 است. این روش اعمال تغییرات توسط کاربر و دایرکتوری های لیست، یا انتقال فایل ها و همچنین اجرای باینری ها از سیستم فایل را مجاز می شمارد. این مکانیزم با برخی بالاسری های کارآیی مواجه می گردد اما مناسب ترین روش جهت دستیابی تعاملی به سیستم فایل می باشد.برنامه های علمی از روش دوم (MPI-IO) استفاده می نمایند. اینترفیس MPI-IO به دستیابی بهینه به فایل های منفرد توسط تعداد زیادی از پردازش ها بر روی گره های مختلف کمک می کند. آن همچنین اعمال دستیابی غیرپیوسته را فراهم می آورد که جهت دستیابی کارآمد به داده گسترش یافته در سراسر فایل مورد استفاده قرار می گیرد. در مورد تصویر 2 این کار با درخواست هر عنصر هشتمی که در آفست 0 شروع شده و در آفست 56 پایان می یابد، کلا به عنوان یک عملیات سیستم فایل، صورت می پذیرد. در این مقاله ما بر روی روش اول تمرکز کرده ایم.
● راه اندازی PVFS2
PVFS2 جهت اجرا بر روی چندین ماشین در نظر گرفته شده است. در هر صورت، برای سادگی کار، ما PVFS2 را بر روی یک ماشین نصب و راه اندازی می کنیم. ما ماشین را با نام "testmachine1" صدا خواهیم زد و نصب را در محل پیش فرض (/usr/local) انجام خواهیم داد. سپس نسخه PVFS2 را در /mnt/pvfs نصب خواهیم کرد. فرایند مربوط به نصب بر روی چندین ماشین کاملا مشابه روند گفته شده است. PVFS2 بر روی اغلب توزیع های جدید GNU/Linux ایجاد شده است، اما اگر شما مایلید از ماژول کرنل استفاده نمایید، شما به کرنل لینوکس نسخه 2.6.0-test4 یا پس از آن نیاز خواهید داشت. PVFS2 با استفاده از "configure" و "make" ایجاد و نصب گردیده است. در مثال هایی که در ادامه آمده است اینگونه فرض شده که شما به عنوان root وارد سیستم شده اید. در صورتیکه شما مایل به ایجاد ماژول کرنل باشید گزینه "--with-kernel" مورد نیاز خواهد بود.
./configure --with-kernel=/usr/src/linux-2.6.x
▪ make
make install
اگر شما قصد ایجاد ماژول کرنل اختیاری را دارید، اکنون باید آن را بصورت مجزا کامپایل نمایید. این کار را با تغییر دایرکتوری ها به دایرکتوری "src/kernel/linux-2.6" و اجرای "make" انجام دهید. پس از اینکه ماژول ایجاد شد، فایل pvfs2.ko را در محلی به انتخاب خود کپی نمایید (مثلا در /lib/modules/`uname -r`/kernel/fs/pvfs2.ko). پس از آنکه نرم افزار ایجاد و نصب گردید، بایستی پیکربندی شود. بسته PVFS2 ابزاری بنام pvfs2-genconfig را جهت ایجاد فایل های پیکربندی برای هر یک از سرورهای شما فراهم آورده است. هر سرور به دو فایل پیکربندی نیاز دارد (یکی برای پیش فرض های عمومی، و یکی برای تنظیمات محلی) که بایستی در هنگام اجرای pvfs2-genconfig مشخص گردند. یک مثال دستور خط فرمان می تواند به صورت زیر باشد:
▪ pvfs2-genconfig global.conf local.conf
این فرمان اطلاعات دیگری نیز از شما دریافت می نماید؛ بهرحال، احتمالا موارد پیش فرض برای این مثال کفایت می کند. توجه داشته باشید که فایل های ایجاد شده global.conf و local.conf-testmachine1 خواهند بود. قبل از آغاز به کار سرور PVFS2، شما بایستی دایرکتوری هایی را که برای عمل ذخیره سازی مورد استفاده قرار خواهند گرفت را تعیین نمایید. این کار بسیار ساده با آغاز pvfs2-server به همراه یک آرگومان "-f" در کنار نام فایل های پیکربندی صورت می گیرد.
▪ pvfs2-server global.conf local.conf-testmachine1 -f
سرور، فضای ذخیره سازی را آغاز سازی نموده و سپس خارج می شود. حال از این پس با همین خط فرمان اما بدون آرگومان "-f" می تواند شروع به کار نماید.
▪ pvfs2-server global.conf local.conftestmachine1
در مرحله بعد، یک فایل با نام /etc/pvfs2tab ایجاد نمایید. این فایل حاوی خط زیر است:
▪ tcp://testmachine1:3334/pvfs2-fs /mnt/pvfs pvfs2 default 0 0
در این مرحله از کار، اگر شما اینترفیس ماژول کرنل لینوکس را مورد آزمایش قرار نداده اید، می توانید بدون هیچ مشکلی به قسمت Testing بروید. در غیر اینصورت، همین حالا آن را با استفاده از insmod یا modprobe لود نمایید. گام بعدی آغاز به کار برنامه کلاینت PVFS2 است. برنامه کلاینت PVFS2 شامل دو برنامه به نام های pvfs2-client-core و pvfs2-client است. در صورتیکه برنامه pvfs2-client-core در PATH سیستم شما نصب شده باشد، برنامه pvfs2-client آن را بصورت خودکار یافته و شما به سادگی می توانید "pvfs2-client" را اجرا نمایید. در غیر اینصورت، شما باید با استفاده از سوییچ خط فرمان –p محل برنامه pvfs2-client-core را برای pvfs2-client مشخص نمایید.
▪ pvfs2-client -p /usr/local/bin/pvfs2-client-core
و در نهایت، برای نصب نوع نسخه PVFS2 :
▪ mount -t pvfs2 pvfs2 /mnt/pvfs
حالا PVFS2 نصب شده و آماده آزمایش است!
● سیستم فایل جدید خود را آزمایش نمایید
نخستین کار استفاده از ابزار pvfs2-ping به منظور اطمینان از روشن و در حال اجرا بودن سرور است. این ابزار طی یکسری مراحل تعیین می نماید که سیستم بدرستی پیکربندی شده و به درخواست هایی که از سوی کلاینت (کلاینتی که بر روی آن نصب شده است) صادر می شود پاسخ می دهد.
▪ pvfs2-ping -m /mnt/pvfs
سپس یک فایل را با استفاده از pvfs2-import بر روی سیستم کپی نمایید. این ابزار از برخی جهات شبیه "cp" است، اما در هنگام انتقال داده به سیستم فایل از بافرهای بزرگی استفاده می کند. همچنین زمان کپی را محاسبه می نماید.
▪ pvfs2-import linuxdistro.iso /mnt/pvfs/linuxdistro.iso
برای چک کردن فضای قابل استفاده بر روی سرورها، ما ابزاری بنام pvfs2-statfs فراهم کرده ایم. این ابزار اطلاعات را مشابه فرمان "df" گزارش می دهد؛ آن در میان تمامی سرورهای PVFS2 پیکربندی شده شما کار خود را انجام می دهد. همانند "df"، استفاده از گزینه "-h" موجب نمایش خروجی در اندازه خوانا توسط انسان می شود.
▪ pvfs2-statfs -h -m /mnt/pvfs
اگر شما PVFS2 را نصب کرده باشید، امکان استفاده از ابزارهای سیستمی استاندارد همچون "cp" و "df" برای شما فراهم خواهد بود. در هنگام کار با سیستم فایل آزمایشی تان، این احتمال وجود دارد که برخی از اعمال بنظر پاسخ دهندگی کمی داشته باشند. مجددا ذکر این نکته اهمیت دارد که سیستم های فایل موازی همچون PVFS2 برای انتقال حجم زیادی از داده بهینه شده اند.
● نتیجه گیری
هیچ سیستم فایلی وجود ندارد که راه حل کاملی برای هر نوع از اعمال ورودی/خروجی باشد، و PVFS2 نیز از این قاعده مستثنی نیست. برنامه های با کارآیی بالا برای دستیابی داده بر روی مجموعه متفاوتی از مشخصه ها تکیه دارند. به طور خاص، PVFS2 جهت برنامه های دارای حجم زیادی از اعمال ورودی/خروجی بسیار مناسب است. اگر شما حجم زیادی از داده دارید و نیازمند دسترسی سریع به آن از ماشین های فراوانی هستید، ارزش آن را دارد که نگاهی به PVFS2 بیاندازید.
خب، امروز برای شروع مطالب تکنیکال، یکی از اساسی ترین موضوعات
مطرح در علوم کامپیوتر رو انتخاب کردم و امیدوارم برای آن کاربردهای خوبی پیدا
کنید.
ماشین موازی مجازی(به جاوا مربوط نیست) یک سرویس و
API مخصوص به خود در سرورهای لینوکس است(به صورت پیش فرض
در RedHat وجود دارد؛ منظورم از سرویس
daemon است).
با کمک این ابزار می توانید پردازش را در یک شبکه پخش کنید(یعنی هر چه تعداد
کامپیوترها بیشتر شوند، سرعت برنامه ی شما نیز بالاتر می رود). یکی از مزایای این
کار پایین آوردن هزینه خرید کامپیوتر های خاص بسیار گران می باشد. از این روش برای
تولید فیلم های انیمیشن سنگین به طور فوق العاده ای استفاده می شود.
پردازش موازی(Parallelism) ساده دو نوع است: 1-تابعی(Functional)،
و 2-داده ای(Data)
در نوع تابعی هر سرور بسته به توان خاص خود توابع را اجرا می کند و آن را به سرور
دیگر می دهد. در نوع دوم همه روی یک پردازش عمل می کنند. البته نکته ی مهم دیگری در
اینجا وجود دارد و آن کیفیت خط داده ها می باشد. در هنگام نوشتن این الگوریتم ها به
علت مبادله پیام(Messaging) بین سرورها باید سرعت خطوط و
حجم پیام ها کنترل شود(Load Balancing).
:: برای سرور:
#include
#include "pvm3.h"
#define MAX 10
int main(int argc,char **argv)
{
int numhost, numarch;
int slavesStarted;
int mytid;
int tids[32];
char hostname[12];
char arch[8];
struct pvmhostinfo *hostp;
int i,nextVal,max;
int returntid,returnflag,returnnum;
mytid = pvm_mytid();
pvm_config( &numhost, &numarch, &hostp);
numhost = 3*numhost;
if(numhost > 32) numhost = 32;
slavesStarted = pvm_spawn("prime_slave",(char**)0, 0,"",numhost,tids);
if((slavesStarted==0) || (slavesStarted < numhost))
{
printf("\n Trouble spawning slaves:\n");
for(i=slavesStarted; i
printf("\tTID %d %d\n",i,tids[i]);
}
for(i=0 ; i
pvm_kill( tids[i] );
}
pvm_exit();
exit(1);
}
else
{
printf("Started %d Slaves...\n",numhost);
}
/*Send out the initial request*/
for(i=0;i
pvm_initsend(PvmDataDefault);
pvm_pkint(&numhost, 1, 1);
pvm_pkint(&i,1,1);
/* send msg type 0*/
pvm_send(tids[i], 0);
}
/* Read the intial responses, plus MAX more */
if(argc >= 2) max = atoi(argv[1]);
else if(MAX
for(i=0;i
/* receive on message type 2 */
pvm_recv( -1, 2);
pvm_upkint( &returntid, 1, 1 );
pvm_upkint( &returnnum, 1, 1 );
pvm_upkint( &returnflag, 1, 1 );
printf("%d %s from %d\n",returnnum
,((returnflag==0)?"is prime":"is not prime")
,returntid);
/* Get the same host to do it again */
nextVal = i+numhost;
if(nextVal < max)
{
pvm_initsend(PvmDataDefault);
pvm_pkint(&numhost, 1, 1);
pvm_pkint(&nextVal,1,1);
pvm_send(returntid,0);
}
else
{
nextVal = -1;
pvm_initsend(PvmDataDefault);
pvm_pkint(&numhost, 1, 1);
pvm_pkint(&nextVal,1,1);
pvm_send(returntid,0);
}
}
pvm_exit();
}
:: برای Client ها
#include
#include "pvm3.h"
int main(int argc,char **argv)
{
int parentid;
int mytid;
int numhost,prime;
int i,flag;
mytid = pvm_mytid();
parentid = pvm_parent();
while(1)
{
flag = 0;
pvm_recv( -1,0);
pvm_upkint(&numhost, 1, 1);
pvm_upkint(&prime, 1, 1);
if(prime<0) break;
for(i=2;i
if(prime%i == 0)
{
flag = 1;
break;
}
}
pvm_initsend(PvmDataDefault);
pvm_pkint(&mytid, 1, 1);
pvm_pkint(&prime,1,1);
pvm_pkint(&flag,1,1);
pvm_send(parentid,2);
sleep(2);/* Don't be too responsive*/
}
pvm_exit();
}

شركت سان مايكروسيستمز، خدمات كامپيوترى سودمندى را با قيمت كمتر از يك دلار بابت هر گره در ساعت، ارائه خواهد كرد. اين شركت هدف سرويس هاى خود را بر روى برنامه هاى كاربردى مابين پردازنده ها مانند شبيه سازى، طرح ريزى و انتقال متمركز كرده است. اين شركت هزاران پردازنده در سرورهاى آتش (Fire) سان را براى دريافت اين سرويس هاى جديد در دسترس قرار خواهد داد.نخستين سرويس كه Compute@Sun نام دارد، هزينه اى برابر با ۷۹ سنت در ازاى هر پردازنده در هر ساعت دارد، در حالى كه دومين سرويس با نام Sun Utility Computing for Grid، مبلغ ۹۹ سنت در ساعت بابت پردازنده هاى دو گره اى هزينه خواهد داشت.سان از كسب و كارها و شركت هاى ديگر انتظار دارد كه همان گونه كه امروزه سرويس هاى تلفن همراه را خريدارى مى كنند، در آينده سرويس ظرفيت محاسبات را نيز خريدارى كنند.اين شركت همچنين سرويس محاسبه دقايق را به صورت عمده به شركاى تجارى تأمين كننده خدمات مى فروشد كه آن ها نيز مجدداً پردازنده زمان را به مشتريان خود مى فروشند. اين شركا عبارتند از: Atos Origin، Electronic Data Systems و CGI Group.اين شركت همچنين نمونه قيمت گذارى سودمندى براساس سيستم StorEdge ۶۹۲۰ خود براى خدمات ذخيره سازى گروه ها و شركت هاى متوسط ارائه كرده است.
تا جالا به این فکر کردین اگه همه ی کامپوتر های دنیا با همدیگه شبکه ای وصل بشن قدرتشون چقدر زیاد میشه و قابلیت انجام چه محاسباتی رو دارند . محققین شرک
ت IBM با استفاده از ایده ای به نام Grid سعی در انجام چنین پروژه ای را دارند طی این عمل نرم افزاری از نوع Peer to Peer با قابلیت دانلود بر روی کامپیوتر ها نصب شده و در زمان اتصال به اینترنت بدون کاهش دامنه ی اتصال به طور محسوس پروژه ها را که بسیار بزرگ هستند و به وسیله ی کامپوتر مرکزی به قسمت های کوچک تری تقسیم شده است را دریافت می کند و در زمان بیکاری کامپیوتر آن را انجام داده و در اتصال بعدی آن را ارسال کرده و پروژه ی جدیدی را دریافت می کند . حال با انجام این عمل یک پروژه خورد شده و در کامپیوتر های زیادی تقسیم میشود و پس از انجام در کامپیوتر مرکزی در جای خود قرار میگیرد این چنین است که یک پروژه که قرار است چند سال طول بکشه در ارز چند ماه حل میشه به همین راحتی .
جالا اگر شما هم مشتاق به این هستین که کامپیوتر شما هم جزئی از این ابر رایانه بشه کافیه به این آدرس : www.worldcommunitygrid.org برید و در How You Can Help بر روی Download Now کلیک کنید و پس از یه ثبت نام عادی نرم افزار را دانلود کنید یوزر و پس خود را وارد کنید و از این پس نرم افزار مابقی کارها را انجام داده و دیگه نیازی به دخالت شما نیست .
اينترنت ازجنسى ديگر
آيكون ساعت شنى با وجود گسترش و بزرگ شدن هر لحظه اينترنت (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 مى دانند، وظيفه استفاده از منابع بلااستفاده رايانه هاى شخصى را در جهت پردازش هاى نرم افزارى برعهده دارد و سرعت پردازش اطلاعات در اين سيستم ها افزايش چشمگيرى خواهدداشت و لذا مى توانيم نرم افزارهاى سنگين را برروى رايانه هاى قديمى اجرا كرده و نياز به ارتقاى سيستم ها تا حدودى كاهش پيداخواهدكرد.
---------------------
منبع : روزنامه ایران
فرض كنيد شما يك برنامه با كاربرد بسيار حرفه اي داريد كه توانايي هاي زيادي مانند حافظه ُ سرعت و غيره از كامپيوتر شما مي طلبد و شما در دفتر كار خود چند پي.سي داريد. خوب شما در آن واحد نمي توانيد معمولا با چند پي سي به طور همزمان كار كنيد مگر اين كه يك هشت پا با مغزي 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 را بدون داشتن سرور هاي گران قيمت بچشيد.
شركت Univa اعلام كرد كه محصول Univa Global Enterprise را عرضه نموده است، كه اولين محصول تجاری مبتنی بر Globus Tool Kit منبع باز میباشد.
Univa Globus Enterprise برای ارائه ابزارها و پشتيبانیهای لازم جهت نصب و مديريت انواع grid در سطح شركت طراحی شده است، بنابراين میتواند دسترسی مركزی خوبی را برای سيلوهای اطلاعاتی پراكنده قبلی ارائه دهد.
Mike Ellis، مدير ارشد اجرايی Univa در بيانيهای اعلام كرده است كه با برقراری پلی ميان سرزمينهای مجزای تكنولوژی از طريق enterprise، با استفاده از يك پلاتفرم باز، مشتريان ما میتوانند اطلاعات و منابع را به نحو موثری مورد بهرهبرداری قرار دهند.
اين محصول كه توسط آیبیام شريك Univa مورد پشتيبانی است، در ماه دسامبر در نسخه بتا عرضه شد. اين اولين محصولی است كه از شركت Univa بيرون میآيد، اين شركت در سال 2004 بنيانگذاری شد و توسط Steve Tuecke، Ian Foster و Carl Kesselman از سازندگان Globus Tool Kit بنيان نهاده شد. Glibus Alliance مراحل تهيه و ساخت Globus Tool Kit را نظارت میكردند، كه يك بسته منبع باز از grid middleware میباشد.
Univa شكل گرفت تا ويژگیهای مختلف انحصاری را ارائه دهد، مثل نصب ساده شده و با امنيت پيشرفته، كه در راس عمليات Globus Tool Kit قرار دارد، بتواند اين بسته را برای محيطهای مختلف Enterprise مناسبتر از پيش سازد.
نحوه قيمتگذاری Univa Globus Enterprise بسته به نحوه نصب آن متفاوت است.
IBM ، Hp و اينتل در تلاش براي تحقق بخشيدن به نظريه بيشكل بودن محاسبات شبكهاي ، گروه جديدي به نام ائتلاف جهاني (Globus Consortium) راهاندازي كردند.
اين ائتلاف تلاش ميكند بسته نرمافزاري اپنسورس جديدي به نام گلابس تولكيت را اداره كند كه به دانشگاهها ، شركتها و ساير مشتريان كمك ميكند ، نرمافزار را روي گروه بزرگي از كامپيوترهاي شبكه شده كه grids نام دارد اجرا كنند. grids يا همان شبكههاي بزرگ كامپيوتري امروزه براي كارهاي محاسباتي با كارايي بالا چون شبيهسازي اقليم آب و هوايي استفاده ميشود ، اما شركتهاي كامپيوتري معتقدند كه آنها سرانجام ميتوانند نرمافزارهاي تجاري معمولي را نيز روي اين شبكهها اجرا كنند.
اعضاي ديگر اين ائتلاف يونيوا و Nortel Networks است . يونيوا وظيفه تجاري كردن نرمافزار گلابس تولكيت را برعهده دارد .
گريك ناوروكي ، رياست اين ائتلاف را برعهده دارد وظيفه اين ائتلاف ارتقاء تلاشها براي استاندارد كردن شبكه ، آموزش شبكه به مشتريان و گوش دادن به فعاليتهايي كه مشتريان دوست دارند به شبكه اضافه كنند و ايجاد كار براي تقويت گلابس تولكيت است.
ناوروكي در پايان افزود : هدف ما از ايجاد شبكه جديد ، توسعه استانداردها نيست ، بلكه سرعت بخشيدن به پذيرش استانداردها ا ز طريق نرمافزار اپنسورس گلابس تولكيت است.
چند مقاله در مورد DotGrid
[1] A. Poshtkuhi, A. Abutalebi, L. Ayough, and S. Hessabi, “DotGrid: A .NET-based Infrastructure for Global Grid Computing”, Proceedings of the 6th IEEE International Symposium on Cluster Computing and the Grid (CCGrid2006), 16-19 May 2006, Singapore
[2] A. Poshtkuhi, A. Abutalebi, L. Ayough, and S. Hessabi, “DotGrid: A .NET-based Cross-Platform Grid Computing Infrastructure”, Proceedings of the IEEE International Conference On Computing and Informatics 2006 (ICOCI06), Malaysia, June 6-8, 2006
[3] Alireza Poshtkohi, Ali Haj-Abutalebi, and Shaahin Hessabi, “DotGrid: A .NET-based Cross-Platform Software for Desktop Grids”, International Journal of Web and Grid Services 2007
دانلود مقاله سنگاپور CCGrid2006
دانلود مقاله مالزی ICOCI2006
دانلود مقاله ژورنال IJWGS
نویسنده این مقالات آقای مهندس علیرضا پشتکوهی میباشند
وبلاگ : >>> http://alireza.iranblog.com
رزومه : >>> دانلود روزمه کاری
کنفرانس CCGrid 2007
سایت : >>> http://ccgrid07.lncc.br
CCGrid 2007 Home
CCGrid 2007 is the seventh in a series of successful international symposia and for the first time will take place in South America – in Rio de Janeiro, Brazil
Please notice that a visa is required for some travelers to Brazil, including U.S. and Canadian citizens. More information about visas and passport here
CCGrid 2007 News
· Jun 26th, 2007 - The committee decided to give The Best Sustained Technical Contribution Award to Prof. Ken Kennedy and his team at Rice University. He passed away recently and he had at least one paper in each CCGrid conference since its inception in 2001
· May 25th, 2007 - Fox, Grimshaw e Schneider gave their impressions about the conference during the closing session
· May 23rd, 2007 - The tutorial slides are now online as well
· May 21st, 2007 - The papers (through the IEEE CS Digital Library), keynote slides, posters, and industry track slides are now online
· May 18th, 2007 - Best paper award has been postponed—there were papers being presented in the last session of the conference; therefore, there hasn't been enough time for the organizers to make a clear decision
· May 11th, 2007 - The registration website is now closed. Check the program for information about on-site registrations. Students (including those from Latin America) and members of IEEE and SBC must provide evidence of student/membership status
· May 10th, 2007 - The full program is available (including exhibits and the industry track)
· Apr. 5th, 2007 - Check the CCGrid07 Student Travel Grant results
The CCGrid Series
Grid Computing started as a generalization of Cluster Computing, promising to deliver unprecedent levels of parallelism to high-performance applications by crossing administrative boundaries. Subsequently, this vision evolved to support on-demand access and composition of any computational service, provided by multiple independent sources. Under this new vision, Clusters gained renewed importance as the "super-servers" of the emerging Grid infrastructure. Meanwhile, the use of computational and data resources in high-performance applications, undertaken over Grid infrastructure, have started to now become a reality. Today we face the huge challenge of making on-demand access to any computational service, the "computing as service" vision, a wide-spread reality. The CCGrid Symposia have been part of this journey, bringing together researchers and practitioners and enabling them to share their insight, results, and experience in the multi-faceted areas of Grid and Cluster computing
The areas of interest in CCGrid 2007 include, but are not limited to, the following
|
• Grid Economies and Service Architectures |
• Grid Architectures and Systems |
|
• Utility Computing Models for Clusters and Grids |
• Middleware for Clusters and Grids |
|
• Programming Models, Tools, and Environments |
• Resource Management |
|
• Performance Evaluation and Modeling |
• Peer-to-Peer Systems |
|
• Grid-based Problem Solving Environments |
• Grid Trust and Security |
|
• Service Composition and Orchestration |
• Community networks |
|
• Community and collaborative computing networks |
• Scheduling and Load Balancing |
|
• Scientific, Engineering, and Commercial Applications |
• Parallel and Wide-Area File Systems |
|
• Support for Self-Managing/Self-Configuring Grid Infrastructure |
|
Selected papers will be invited to a Special Issue of Concurrency and Computation: Practice and Experience
Contact Information
For more information about CCGrid 2007, please contact
National Laboratory of Scientific Computing (LNCC)
Av. Getulio Vargas, 333 - Quitandinha
Petrópolis, Rio de Janeiro
25651-075 - Brazil
Phone: +55 (24) 2233-6062
Fax: +55 (24) 2231-5595
E-mail: simone@lncc.br
The Axceleon Vision
To be the global leader in world-class, enterprise-wide distributed computing and grid solutions
About Axceleon
Axceleon is a global leader in high-performance distributed computing software. Axceleon’s flagship software product, EnFuzion, allows end-users to be more productive delivering instant ( return-on-investment ROI)
What is EnFuzion
EnFuzion is powerful software that employs grid computing to automate and accelerate parametric studies -- jobs where the same task is run repeatedly under several different scenarios. Parametric studies are labor intensive and subject to errors. EnFuzion eliminates errors and accelerates results
What is grid computing
Grid computing is the ability to leverage networked computers to work in concert on a single problem – usually a task that demands a multitude of processing cycles or access to vast amounts of data
Who Should Use EnFuzion
Any organization that faces the challenge of compute- and data-intensive computing – jobs that often strain computing and network resources. EnFuzion users extend both legacy and next-generation systems
The finance industry uses EnFuzion to analyze investment portfolios in minutes – as opposed to hours. Biotech companies use EnFuzion to accelerate gene sequencing. Computer animation, aerospace and engineering firms use EnFuzion to slash 50 percent from design times of new products while vastly reducing defects along the way. The energy and telecommunications industries use EnFuzion to accelerate and automate simulations.
Hello ROI -- Good-bye Wasted Resources
With EnFuzion, there is no need to rewrite or modify code, so there is no drain on your valuable programmer resources. Our customers report an almost immediate return on investment
The Axceleon Advantage
The Axceleon management team has over 30 combined years of experience working with distributed computing and grid technologies. EnFuzion is a true and tested product, deployed by Fortune 2000 companies worldwide. Axceleon offers fast, reliable technical support and services, and is a recognized leader in the grid technology space
محاسبات درهم شبکه ای (Grid Computing)
یکی از روشهای تقریبا جدید و پر طرفدار اقتصاد دانان که بعد از 11 سپتامبر2002 توجه بیشتری را به خود جلب کرد توزیع کردن فعالیتها بود و الگوی این مسئله نیز از فعالیتهای گروهی و تخصص گرایی انسانها نشات می گرفت . در واقع موج جدیدی به نام توزیع شدگی (distributet) در برابر سیستمهای سنتی که به صورت مرکزی (Centeralized) پیاده سازی می شدند به و جود آمده است. بعد از مدتی علاوه بر شرکتهای تجاری شرکتهای بزرگ سازنده تکنولوژی مثل UN,Oracle,IBM تصمیم گرفتند که از خاصیت توزیع شدگی محاسبات در تکنولوژی نیز استفاده کنند که مباحث محاسبات شبکه ای درهم (Grid Computing) به وجود آمد . در اصطلاح نرم افزار Grid نوعی از سیستمهای پردازش موازی توام با توزیع شدگی می باشد که در واقع فاکتور قدرت اینگونه سیستمها ایجاد توان بالای محاسباتی از منابع کم ( سخت افزاری یا نرم افزاری) می باشد. با توجه به اینکه سیستمهای Grid نیز ازنُدهای (Node) توزیع شده تشکیل شده اند ممکن است با سیستمهای Cluster ( خوشه ای ) اشتباه شوند. لازم به توضیح است که در سیستمهای Cluster همه نُدها با یکدیگر کار می کنند ولی در واقع عمل مدیریت هماهنگی نُدها با یک نُد مرکزی به نام Central resource manager node انجام می شود. ولی می توان گفت که در grid نُد وجود ندارد چرا که بر اساس synergis ( تشریک مساعی) نُدها با یکدیگر همکاری می کنند. از جمله مثالهای پیاده سازی grid از موارد زیر می توان نام برد:
- پروژه N1 شرکت Sun که ابزاری است برای ساده سازی عملیات IT در یک پایگاه داده ای مرکزی (Data Center)
- نسخه جدید مشهورترین بانک اطلاعاتی دنیا به نام Oracle 10g که حرف g بیانگر grid است و بیان می کند پایه تکنولوژی این بانک اطلاعاتی براساس grid Computing است.