تبليغاتX
XGRID تکنولوژی
 
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 را به دقت مطالعه نمایید.


 

 |+| نوشته شده در  دوشنبه بیست و نهم مرداد 1386ساعت 7:30 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
راه اندازی یک سیستم پردازش موازی روی لینوکس ( قسمت اول )

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


آنچه در نهایت خواهید داشت یک سیستم پردازشی موازی با معماری 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 های پیچیده و... هست. ضمنا این رو هم حتما می دونید که فعلا تو سرعت تقریبا به بن بست رسیده ایم. چون برای با لا بردن سرعت باید ماسفت ها رو کوچیک کرد ولی تکنولوژی کوانتم مکانیک فعلی جواب کوچیک تر از چند ده نانومتر رو نمی ده به همین خاطر دارن روی پردازنده های چند هسته ای یا سیستم های چند پردازنده ای کار می کنن. البته هر چند که ما نه شبیه سازی انفجار اتمی می کنیم و ماهواره هواشناسی داریم که بخواهیم داده های عظیمشو تحلیل کنیم ولی اگر بخواهیم روزی به این سمت بریم برنامه نویسی موازی به نظر می رسه فعلا تنها راه حله :موفق:

همین دیگه .... دفعه بعد می گم با این سیستم چطوری برنامه موازی می نویسم.

 |+| نوشته شده در  دوشنبه بیست و نهم مرداد 1386ساعت 7:28 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
محاسبات موازی - بخش ششم - مدل های برنامه نویسی موازی

مدل های برنامه نویسی موازی

      
  • چندین مدل برنامه نویسی رایج وجود دارد :

          حافظه مشترک - Shared Memory
          موضوعی - Threads ( معادل دیگری همچون ریسمانی نیز بیان شده است )
          انتقال پیام - Message Passing
          داده موازی - Data Parallel
          مرکب - Hybrid

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

        1.  مدل حافظه مشترک بر روی یک ماشین با حافظه توزیع شده : Kendall Square Research (KSR) ALLCACHE

          حافظه ماشین از نظر فیزیکی توزیع شده است اما برای کاربر به عنوان تک حافظه مشترک ( فضای آدرس دهی سراسری ) پدیدار می شود. بطور جامع ، این نگرش به " حافظه مشترک مجازی " اشاره دارد. هر چند KSR دیگر در تجارت وجود ندارد ولی این دلیل نمی شود که بیان کنیم ترکیب هایی این چنینی در آینده توسط کمپانی دیگری به کار گرفته نشود.

        2.  مدل انتقال پیام بر روی یک ماشین حافظه مشترک : MPI on SGI Origin
          SGI Origin توسط نوع CC-NUMA از معماری حافظه مشترک به کار گرفته می شود ، جایی که هر وظیفه یا برنامه ( Task ) دسترسی مستقیم به حافظه سراسری دارد. توانایی ارسال و دریافت پیام با MPI ، که معمولا تحت شبکه ای از ماشین ها با حافظه توزیع شده انجام می شود ، بسیار مورد استفاده قرار می گیرد.

        
  • مدلی که مورد استفاده قرار می گیرد اغلب ترکیبی از آنچه موجود است و انتخاب شخصی می باشد. بهترین مدل هیچ گاه وجود ندارد ، هر چند که برخی نسبت به انواع دیگر ترکیب های بهتری هستند.

    مدل حافظه مشترک

    • در مدل برنامه نویسی موازی ، برنامه ها فضای آدرس دهی متداولی را به اشتراک می گذارند که به صورت غیر همزمان ( در زمان های مختلف ) عملیات خواندن و نوشتن را انجام می دهند.
    • مکانیزم های مختلفی همچون locks / semaphores ممکن است برای کنترل دسترسی به حافظه استفاده شود.
    • یک مزیت این مدل از دیدگاه یک برنامه نویس این است که مفهوم مالکیت اطلاعات وجود ندارد، پس نیازی نیست که صریحا ارتباطات اطلاعاتی بین برنامه ها مشخص شود. تولید یک برنامه به آسانی صورت می گیرد.
    • یکی از مهمترین معایب این مدل بر حسب عملکرد سخت تر شدن درک و مدیریت اطلاعات به صورت محلی است.
    اجرا
    • بر روی پلتفرم های حافظه مشترک ، کامپیالر محلی متغیر های برنامه کاربر را به آدرس های واقعی حافظه که سراسری است ، تبدیل می کند.
    • تاکنون هیچ اجرا بر روی پلتفرم حافظه توزیع شده موجود نیست. هر چند همانطور که در بخش های قبلی اشاره شد KSR ALLCACHE  نمایی از حافظه مشترک را ارائه می دهد در حالیکه حافظه فیزیکی ماشین توزیع شده است.

 |+| نوشته شده در  دوشنبه بیست و نهم مرداد 1386ساعت 7:20 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام

محاسبات موازی - بخش پنجم

حافظه مرکب توزیع شده - مشترک : Hybrid Distributed-Shared Memory

خلاصه ای از ویژگی های اساسی ماشین های حافظه مشترک و توزیع شده :

 

 

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



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

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

 

 |+| نوشته شده در  دوشنبه بیست و نهم مرداد 1386ساعت 7:16 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
محاسبات موازی - بخش چهارم

معماری های حافظه برای کامپیوتر های موازی

حافظه اشتراک گذاشته شده - 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 ).

 

 |+| نوشته شده در  دوشنبه بیست و نهم مرداد 1386ساعت 6:49 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
محاسبات موازی - بخش سوم

مفاهیم و اصطلاحات محاسبات و برنامه نویسی موازی

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


   طراحی پایه :
      حافظه برای ذخیره سازی هم برنامه و هم دستور العمل ها استفاده می شود.
      دستور العمل های برنامه ، داده های کد شده ای هستند که به کامپیوتر می گوید چه کاری انجام دهد.
      داده بسادگی اطلاعاتی است که توسط برنامه استفاده می شود.
      یک واحد مرکزی پردازش ( CPU ) دستور العمل ها و داده ها را از حافظه می گیرد ، دستور العمل ها را رمز گشایی ( decode ) می کند و سپس آنها را پی در پی اجرا می کند.

طبقه بندی کلاسیک Flynn
   راه های مختلفی برای دسته بندی کامپیوتر های موازی وجود دارد. یکی از پر استفاده ترین این طبقه بندی ها که از سال 1966 تاکنون استفاده می شود طبقه بندی Flynn نام دارد. (Flynn's Taxonomy )
   طبقه بندی Flynn ، معماری کامپیوتر های چند پردازنده ای را بر اساس اینکه تا چه حدی می توانند به دو بعد مجزای دستور العمل ها  ( Instruction ) و داده ها ( Data ) دسته بندی شوند ، متمایز می کند. هر یک از این دو بعد ، تنها می توانند یکی از این دو وضعیت ممکن را داشته باشند : یگانه و تک ( Single ) یا چندگانه ( Multiple ).

   در زیر 4 طبقه بندی ممکن را بر اساس Flynn می بینید.

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


تک دستور العمل ، تک داده ( SISD ) :

   یک کامپیوتر سریالی ( غیر موازی )
   تک دستور العمل : تنها یک مسیر دستور العمل ، توسط CPU در طی یک سیکل کلاک اجرا می شود.
   تک داده : تنها یک مسیر داده به عنوان ورودی در طی یک سیکل کلاک استفاده می شود.
   اجرای قطعی
   این قدیمی ترین و رایج ترین فرم یک کامپیوتر تاکنون است.
   مثال : اغلب PC ها ، پایانه های کامپیوتری و مین فریم های تک CPU


تک دستور العمل ، چندین داده ( SIMD ) :

   مدلی از یک کامپیوتر موازی
   تک دستور العمل : تمام واحد های پردازشی ، یک دستور العمل را در طی هر سیکل کلاک داده شده  ؛ اجرا می کنند.
   چندین داده : هر واحد پردازشی ، می تواند بر روی یک عنصر داده ای متفاوت عمل کند.
   این مدل از ماشین یک دستور العمل توزیع کننده ، شبکه داخلی با پهنای باند بسیار بالا و یک آرایه بسیار بزرگ از واحد های دستور العمل با ظرفیت کم ، را داراست.
   این مورد برای مسائل خاص که با سطح بالایی از نظم مشخص می شوند همچون پردازش تصویر عالی می باشد.
   اجرای قطعی و همزمان
   در دو نوع مختلف : آرایه های پردازنده ( Processor Arrays ) و کانال های برداری  ( Vector Pipelines  )
   مثال :

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



چندین دستور العمل ، تک داده ( SIMD ) :

   یک تک مسیر داده ، چند واحد پردازشی را تغذیه می کند.
   هر واحد پردازشی بر روی داده ها ، مستقل و از طریق مسیر های دستور العمل مستقل عمل می کند.
   تعداد کمی از نمونه های واقعی این کلاس از کامپیوتر های موازی هنوز وجود دارد. یکی از آن ها کامپیوتر آزمایشی Carnegie-Mellon C.mmp  محصول 1971 می باشد.
   برخی کاربرد های ممکن :
      فیلتر های چند فرکانسی که بر روی تک مسیر سیگنال عمل می کنند.
      چندین الگوریتم رمز نویسی که برای شکستن رمز تک پیام کد شده استفاده می شوند.


چندین دستور العمل ، چندین داده ( MIMD ) :

   در حال حاضر متداول ترین نوع کامپیوتر های موازی هستند. اکثر کامپیوتر های مدرن در این دسته قرار می گیرند.
   چندین دستور العمل : هر پردازنده ممکن است مسیر دستور العمل متفاوتی را اجرا کند.
   چندین داده : هر پردازنده ممکن است با مسیر داده ای متفاوتی کار کند.
   اجرا می تواند همزمان و یا غیر همزمان باشد ، قطعی یا غیر قطعی.
   مثال : اکثر ابر کامپیوتر های امروزی ، کامپیوتر های موازی شبکه ای " Grids " و کامپیوتر های SMP چند پردازنده ای - شامل برخی از انواع PC ها.


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

Task
   یک بخش گسسته منطقی از عمل محساباتی. یک Task نوعا یک برنامه یا سری دستور العمل های شبیه برنامه است که توسط یک CPU اجرا می شود.

Parallel Task
   یک Task که می تواند توسط چندین پردازنده به صورت امن اجرا شود ( منجر به تولید نتایج صحیح ).

Serial Execution
   اجرای یک برنامه به صورت ترتیبی و سریالی ، یک دستور در آن واحد. چیزی که بر روی یک ماشین تک پردازنده روی می دهد. هر چند ، واقعا تمام Parallel Task ها بخش هایی از یک برنامه موازی خواهند داشت که باید سریالی اجرا شود.

Paralle Execution
   اجرای یک برنامه با بیش از یک Task ، که هر Task می تواند دستور یکسان یا متفاوتی را همزمان انجام دهد.

Shared Memory
   از یک دیدگاه شدیدا سخت افزاری ، یک معماری کامپیوتر را توصیف می کند که تمام پردازنده ها دسترسی مستقیم ( معمولا تحت باس یا گذرگاه ) به حافظه فیزیکی دارند. در مفهوم برنامه نویسی ، مدلی را توصیف می کند که تمام Parallel Task تصویری ( Picture ) یکسان از حافظه دارند و می توانند مستقیما مکان های روی حافظه را آدرس دهی کنند و به آن ها  بدون توجه به اینکه حافظه فیزیکی واقعا کجا قرار دارد ، دسترسی داشته باشند.

Distributed Memory
   در سخت افزار ، به دسترسی به حافظه تحت شبکه برای حافظه فیزیکی اشاره دارد که رایج نیست. به عنوان یک مدل برنامه نویسی ، Task ها می توانند به صورت منطقی حافظه ماشین محلی را ببینند ( See ) و باید از ارتباطاتی برای دسترسی به حافظه بر روی دیگر ماشین ها که دیگر Task ها اجرا می شوند ، استفاده کنند.

Communications
   Parallel Task ها نوعا نیاز به تبادل داده ها دارند. راه های زیادی وجود دارد که این عمل روی دهد همچون یک گذرگاه Shared Memory و یا بر روی یک شبکه ، به هر حال عمل واقعی تبادل داده بدون توجه به روش مورد استفاده ، عموما به Comminucations اشاره دارد .

Synchronization
   هماهنگی بلادرنگ Parallel Task ها ، اغلب با Communications مرتبط است و معمولا با ایجاد یک نقطه Synchronization ( همزمانی ) درون برنامه تکمیل میشود. این نقطه جایی است که ممکن است یک Task بیش از این جلو نرود تا زمانی که یک Task یا Task های دیگر  به نقطه یکسان یا از نظر منطقی برابر با آن Task نرسند.

Granularity
   در محاسبات موازی ، Granularity یک میزان کیفی از نسبت محسابات به ارتباطات است ( The Ratio of Computation to Communication ).
      Coarse : نسبتا مقادیر زیاد کار محاسباتی که بین رویداد های ارتباطی انجام شده است.
      Fine : نسبتا مقادیر کم کار محاسباتی که بین رویداد های ارتباطی انجام شده است.

Observed Speedup
   Observed Speedup ( افزایش سرعت مشاهده شده ) برای یک کد که موازی شده است ، به صورت زیر تعریف می شود :
حاصل تقسیم   wall-clock time of serial execution   بر   wall-clock time of parallel execution .
یعنی اگر زمان اجرای سریالی برنامه را بر زمان اجرای موازی آن تقسیم کنیم ؛ حاصل نشان دهنده " افزایش سرعت مشاهده شده " می باشد. روش فوق یکی از پر کاربرد ترین شاخص های کارایی برنامه موازی می باشد.

Parallel Overhead
   مقدار زمان مورد نیاز برای هماهنگ سازی Parallel Task  ها ، در مقابل انجام کار مفید. Parallel Overhead می تواند فاکتور های زیر را دارا باشد :
      زمان راه اندازی Task
      همزمان سازی - Synchronizations
      ارتباطات داده ها
      پردازش نرم افزار اعمال شده توسط کامپیالر های موازی ، کتابخانه ها ، ابزار ها ، سیستم عامل و ...

Massively Parallel
   به سخت افزاری اشاره دارد که شامل سیستم موازی داده شده است - پردازندها های زیادی دارد. معنی زیاد در اینجا فزاینده و افزایشی است ، که اکنون BG/L ( ابر کامپیوتر بلوجین که قویترین ابر کامپیوتر حال حاضر دنیاست ) این تعداد را تا 6 رقم به جلو برده است.

Scalability
   به توانایی سیستم ( سخت افزار و / یا نرم افزار )  های موازی برای نمایش یک افزایش متناسب در تسریع موازی ( Parallel Speedup ) با افزایش پردازنده های بیشتر اشاره دارد. فاکتور هایی در Scalability  ( مقیاس پذیری ) نقش دارند :
      سخت افزار - به خصوص پهنای باند حافظه و CPU و ارتباطات شبکه
      الگوریتم برنامه
      Parallel Overhead مرتبط
      ویژگی های خاص برنامه نویسی و برنامه شما

در مقاله بعدی به انواع مدل های حافظه می پردازیم.

 |+| نوشته شده در  دوشنبه بیست و نهم مرداد 1386ساعت 6:46 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
محاسبات موازی - بخش دوم

چرا از محاسبات موازی استفاده کنیم ؟

دلایل اصلی استفاده از محاسبات موازی :

   صرفه جویی در زمان
   حل مسائل بزرگتر و عظیم تر
   فراهم کردن همزمانی ( انجام چند عمل به صورت همزمان )

دیگر دلایلی که ممکن است وجود داشته باشد :

   بهره مندی از مزایای منابع غیر محلی - استفاده از منابع محاسباتی در دسترس بر روی یک شبکه گسترده و یا حتی اینترنت ، زمانی که منابع محاسباتی محلی اندک باشند
   صرفه جویی در هزینه - استفاده از چند منابع محاسباتی ارزان به جای هزینه کردن برای یک ابر کامپیوتر
   غلبه بر محدودیت های حافظه - یک کامپیوتر منابع حافظه بسیار محدودی دارد. برای مسائل عظیم تر ؛ استفاده از حافظه های چندین کامپیوتر می تواند این مشکل را برطرف کند.

محدودیت های محاسباتی سریالی

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

آینده : طی 10 سال گذشته ، گرایش به شبکه های سریعتر ، سیستم های توزیعی ، معماری کامپیوتر چند پردازنده ای ( حتی در سطح
کامپیوتر های رومیزی ) به وضوح نشان می دهد که توازی یا موازی نگری ( Parallelism ) آینده محاسبات می باشد.

چه کسی و چه چیزی ؟

Top500.org آمازی از کاربران محاسبات موازی ارائه می دهد - نمودار های زیر تنها یک نمونه هستند. نکاتی که درباره نمودار زیر باید توجه شوند :
   بخش های نمودار زیر ممکن است اشتراک داشته باشند- برای مثال ، تحقیق ممکن است تحقیق طبقه بندی شده ، باشد.
   تعیین نشده "Not Specified"  بمراتب بزرگترین برنامه است. - احتمالا به معنی چندین برنامه است.



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

 

 |+| نوشته شده در  دوشنبه بیست و نهم مرداد 1386ساعت 6:40 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
محاسبات موازی - بخش اول

محاسبات موازی یا Parallel Computing چیست ؟
در گذشته ، نرم افزار برای محاسبات سریال ( نوبتی ) نوشته می شده است :
  برای اجرا بر روی کامپیوتری که تنها یک واحد مرکزی پردازش CPU دارد .
  یک مسئله به سری هایی مجزا از دستور العمل ها تقسیم می شود.
  دستور العمل ها یکی پس از دیگری اجرا می شود.
  تنها یک دستور العمل در هر لحظه می تواند اجرا شود.






به ساده ترین معنی ، محاسبات موازی استفاده همزمان از چند منبع محاسباتی برای        حل  یک مساله محاسباتی می باشد.
   برای اجرا با استفاده از چند CPU
   یک مسله به چند بخش تقسیم می شود ؛ به نحوی که بتوان آن قسمت ها را همزمان ( با هم )   حل کرد.
   هر بخش نیز به سری از دستور العمل ها تقسیم می شود.
   دستور العمل های هر بخش همزمان بر روی CPU های مختلف اجرا می شود.



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

مسئله محاسباتی ویژگی هایی را نشان می دهد که آیا توانایی موارد زیر دارد یا نه :
   شکسته شدن به بخش های مجزا که بتوان همزمان آن ها را اجرا کرد.
   اجرا کردن چندین دستور العمل برنامه در هر لحظه ( اجرای یک دستور العمل در هر لحظه از ویژگی های محاسبات سریال بود )
   حل شدن مساله در زمان کمتر با چندین منبع محاسباتی نسبت به استفاده از یک منبع محاسباتی

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

به صورت عادی ، محاسبات موازی به عنوان " نقطه اوج محاسبات " مطرح شده است و با شبیه سازی عددی سیستم های پیچیده
و مسائل چالش بر انگیز به حرکت در آمده است :

   آب و هوا و اقلیم
   واکنش های شیمیایی و هسته ای
   ژنوم زیستی انسان
   فعالیت های زمین لرزه ای و زمین شناختی
   دستگاه های مکانیکی - از پروتز ها تا سفینه های فضایی
   مدار های الکترونیکی
   فرآیند های تولیدی

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

سرانجام ، محاسبات موازی تلاشی است برای بیشینه سازی و افزایش متاعی نادر به نام زمان .

در مقاله بعدی به این سوال که " چرا از محاسبات موازی استفاده کنیم ؟ " پاسخ خواهیم داد.

 

 |+| نوشته شده در  دوشنبه بیست و نهم مرداد 1386ساعت 6:29 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
اولين پردازنده‌ي 64 هسته‌يي به نمايش درآمد

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

به گزارش سرويس فن‌آوري اطلاعات خبرگزاري دانشجويان ايران (ايسنا)، با ساخت اولين پردازنده‌ي 64 هسته‌يي توسط تيلرا، رقابت بر سر جا دادن هسته‌هاي بيشتر يا دستگاه‌هاي پردازنده‌ي مجزا در يك تراشه‌ي منفرد وارد مرحله‌ي تازه‌اي شد.

معماري شبكه‌يي اين پردازنده مشابه طراحي‌هايي است كه اينتل و شركت‌هاي ديگر در حال كار برروي آن هستند.

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

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

اين شركت كاربردهاي شبكه‌يي مانند پخش ويديو و فيلتر هرزنامه را به عنوان اولين بازار براي اين فن‌آوري مدنظر قرار داده است.

 

 |+| نوشته شده در  دوشنبه بیست و نهم مرداد 1386ساعت 6:24 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
ParallelKnoppix

ParallelKnoppix یک دیسک زنده‌ بر پایه‌ی کناپیکس است که می تواند پردازش موازی و کلاسترینگ را در مدت ۱۵ دقیقه برای شما فراهم کند.

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

 سایت : >>> http://www.knoppix.net

 

 |+| نوشته شده در  دوشنبه بیست و نهم مرداد 1386ساعت 6:18 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
ايران به شبكه جهانی گريد پيوست

جواد لاریجانی از عضویت جمهوری اسلامی ایران در شبکه‌ عظیم جهانی اطلاعات و محاسبات «گرید» خبر داد.


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

رئیس پژوهشگاه دانش‌های بنیادی افزود: در این راستا قراردادی با وزارت ارتباطات و فناوری اطلاعات بسته‌ایم که زیرساخت‌های لازم را برای پیاده‌سازی این مهم داشته باشیم.

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

این شبکه جهانی همچنین امکان استفاده از منابع محلی مثل تبادل پول با دیگر شرکای حاضر در گرید را بدون ایجاد محدودیت برای کاربر فراهم می‌کند. همچنین تاسیس سازمان‌های مجازی (Virtual Organization) بین گروه‌های مختلف دارای اهداف مشترک در شبکه جهانی گرید امکانپذیر است. به علاوه در این شبکه همکاری مراکز تحقیقاتی علمی وجود دارد.

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



 |+| نوشته شده در  چهارشنبه بیست و چهارم مرداد 1386ساعت 4:24 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
مقاله‌ای بدون هیچ محتوی توسط یک مجله‌ی Elsevier پذیرفته شد!

تعدادی از دانش‌جویان دکتری شریف مقاله‌ای که توسط یک نرم‌افزار شناخته‌شده به‌صورت خودکار تولید شده است را برای یک مجله‌ی آی‌اس‌آی (Applied Mathematics & Computation) که توسط ناشر معروف Elsevier چاب می‌شود ارسال کردند. این مقاله که به‌وضوح بی‌معنا و مسخره است (و این با خواندن فقط چکیده کاملاً روشن است) پس از دو سه هفته بدون هیچ ایرادی پذیرفته شد و هم‌اکنون به صورت online قابل دست‌رسی است‌.

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

این مطلب به‌خصوص برای دانش‌جویان رشته‌ی کامپیوتر که رشته‌ای است مبتنی بر کنفرانس‌های معروف صادق است‌. به‌نظر من یک دانش‌جوی دکتری رشته‌ی کامپیوتر با چاپ دست کم دو مقاله در کنفرانس‌های top-10-15 که برای هر زمینه‌ی پژوهشی از قبل مشخص می‌شود باید بتواند دانش‌آموخته شود، البته به شرط آن‌که خود کارهم در حد دکتری باشد.

هم‌اکنون ما شاهد دانش‌آموخته‌گان خوب ‌خودمان در دانشگاه‌های عالی آمریکا و کانادا هستیم که دارند دکتری خود را تمام می‌کنند و فقط چند مقاله در بهترین کنفرانس‌ها دارند. خیلی از این دانشگاه‌ها و استادها اصولا اعتقادی به چاپ مقاله در مجله توسط دانش‌جویان دکتری ندارند ولی انتطار دارند که کار دکتری در کنفرانس‌های خوب تخصصی آن زمینه پذیرفته شود. بدیهی است که مقاله‌های این کنفرانس‌ها پس از تکمیل می‌تواند در آینده در مجلات بسیار معتبر تخصصی چاپ شوند. مثلاً در زمینه‌ی علم کامپیوتر نظری تعداد مقالات در کنفرانس‌هایی مانند FOCS, STOC و SODA اعتبار علمی افراد را مشخص می‌کند (مقاله‌ای در این زمینه بخوانید.)

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


البته در برخی از رشته‌های دیگر مانند ریاضی و فیزیک اصولاً کنفرانس‌ها جایگاه چندان بالایی ندارند و آن‌چه اهمیت دارد چاپ مقاله در مجلات علمی است. شاید به این دلیل تغییر سیاست دانشگاه در این مورد مشکل باشد.

اصل مقاله
توضیح دانش‌جویان البته من همه‌ی نتیجه‌گیری‌های آنان را قبول ندارم
مقاله به صورت آنلاین آماده‌ی چاپ است

 

 |+| نوشته شده در  چهارشنبه بیست و چهارم مرداد 1386ساعت 12:11 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
ديدگاه گيتس در مورد ابر محاسبات

بنيان گذار مايكروسافت اظهار مي كند كه در سرتاسر جهان شاهد تركيب محاسبات توده اي با ابر محاسبات خواهيم بود.
اخيرا بيل گيتس، رئيس مايكروسافت كه در كنار هزاران كاربر محاسبات فني حضور به هم رسانده بود، پيش بيني كرد سيستم هاي ابر محاسباتي، ارزشي كمتر از 10 هزار دلار خواهند داشت، و همين طور محاسبات توده اي يا كامپيوترهاي ويندوزي ، با توانمندترين سيستم هاي جهان تركيب خواهند شد. وي به افراد حاضر گفت : مي توانيم فكر كنيم كه بهترين مغزها را از ابر محاسبات و محاسبات توده اي به دست بياوريم و اين دو را به نحوي با هم تركيب كنيم تا شاهد پيشرفتي بزرگ در دهه ي آينده باشيم.
ويندوز در محاسبات سطح بالا ، نقش چنداني ندارد . در آخرين فهرست مربوط به 50 ابر محاسبات برتر كه دو هفته گذشته انتشار يافت ، نقاط ضعف اين سيستم عامل باعث شدند تا لينوكس تقريبا 75 درصد از 500سيستم برتر را اجرا نمايد. در اين ميان، يونيكس با 20 درصد و مك اواس اكس ، با 1 درصد رده بندي شده اند. جالب است كه در اين فهرست ، نامي از ويندوز ديده نمي شود. جان ابات با اشاره به نقش محدود مايكروسافت در محاسبات فني سطح بالا، مي گويد: خيلي شگفت آور است كه در اين فهرست نام مايكروسافت ديده نمي شود. وي اضافه مي كند كه براي مايكروسافت خيلي مهم است كه براي مايكروسافت خيلي مهم است كه در بازار محاسبات سطح بالا نيز از جايگاه مناسبي برخوردار باشد ، زيرا در اين بازار است كه فناوري هايي مانند شبكه گريد و خوشه اي كردن قابليت هاي خود را به اثبات مي رسانند.
گيتس همچنين در اين همايش گفت كه مايكروسافت به مراكز ابر محاسبه اي بيشتري دسترسي پيدا مي كند تا بداند كه بهتر است با نرم افزارهاي خود چه كاري انجام دهد و اينكه چه طور مي تواند با ديگر نرم افزارها كه با روش هايي بهتر عمل مي كنند ، ارتباط برقرار كند . مارتين گاستوبر، اظهار مي كند كه سخنان بيل گيتس تاثير چنداني نداشتند. وي مي گويد: حرف هاي گيتس، بيشتر در مورد بازاريابي محصولات مايكروسافت بود، اين براي من به معناي يك بينش يا بصريت نيست ، اين حرف ها گام بعدي در كاري است كه وي قصد انجام آن را دارد و با نسل بعدي محصولي كه وي در نطر دارد ، ارتباطي تنگاتنگ خواهند داشت.
اما تد دادز مدير ارشد فناوري در دانشگاه كلمبيا در ونكوور در كانادا، مي گويد گيتس، شرح دقيق از روندهاي جاري در فناوري و احتمالا امكانات آينده را داده است . او مي گويد: خوشه هاي ويندوز تقريبا در بسياري از جنبه ها اجتناب ناپذير شده اند. من فكر مي كنم تصور تركيب محاسبات توده اي و محاسبات فني خاص با يكديگر ، خيلي واضح است.
وي ادامه مي دهد: مايكروسافت بدون روي آوردن به مدل اوپن سورس ، محصولاتي را توسعه خواهد داد كه به روشي بسيار عالي تركيب مي شوند.
ويليام كرامر رئيس همايش ابر محاسبات و رئيس محاسبات با عملكرد بالا در مركز محاسبات علمي مربوط به پروژهش هاي انرژي ملي در آزمايشگاه لورنس بركلي ، مي گويد: حضور گيتس، نشانه اي از رشد آگاهي از اهميت ابر محاسبات است. نتيجه فعاليت هاي محاسبات سطح بالا، ديگر بر هيچ كسي پوشيده نيست . وي مي افزايد: ابر محاسبات در حال فراگير شدن است ، به طوري كه مردم بيشتري مي توانند از اين ابزارهاي پيچيده استفاده نمايند و من فكر مي كنم اين يكي از علل ابزار علاقه ي مايكروسافت در اين زمينه است.

 

 |+| نوشته شده در  چهارشنبه هفدهم مرداد 1386ساعت 4:42 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
ايران به جمع كشورهای پيشرفته سازنده قويترين ابررايانه های فوق سريع پيوست

قويترين ابررايانه ايران و خاورميانه با سرعت ‪ ۸۶۰‬گيگافلاپ در دانشگاه صنعتي اميركبير ساخته شد.

با ساخت اين سامانه كه قويترين ابررايانه فوق سريع ساخته شده در خاورميانه محسوب مي‌شود، ايران به جمع چند كشور پيشرفته داراي اين فناوري مي‌پيوندد.

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

در اين طرح كه حاصل تلاش دو ساله اين گروه تحقيقاتي است، ‪ ۲۱۶‬هسته پردازشي اپترون ‪ ۲‬گيگاهرتز با بهره‌گيري از فناوري كلاستر به صورت موازي عمل مي‌كنند.

اين سامانه حافظه‌اي برابر ‪ ۵۶‬گيگابايت دارد و ظرفيت ذخيره‌سازي آن معادل ‪ ۵۸۰۰‬گيگابايت است. اين ابررايانه داراي حداكثر توان پردازشي ‪۸۶۰‬ ميليارد عمل در ثانيه است.

اين درحالي است كه در قوانين تجارت جهاني، ابررايانه‌هاي قويتر از ‪ ۱۹۰‬ميليارد عمل در ثانيه كالاي راهبردي محسوب شده و فروش آنها مشمول تحريم مي‌گردد.

سيستم عامل مورد استفاده در اين سامانه لينوكس است و يك نرم‌افزار نيز براي مديريت، نظارت و كنترل سيستم توسط محققان اين مركز تهيه شده است. همچنين مجموعه‌اي از نرم‌افزارهاي كاربردي مانند ‪ MM5‬و ‪ ARPS‬براي پيش‌بيني وضع هوا بر روي اين ابررايانه نصب و مورد استفاده قرار گرفته است. نتايج بدست آمده در اين طرح به تاييد كارشناسان شركتهاي اروپايي نيز رسيده است.

منبع : >>> http://www1.irna.ir/fa/news/view/menu-152/8605152754135829.htm

 

 

 |+| نوشته شده در  چهارشنبه هفدهم مرداد 1386ساعت 10:7 قبل از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام

لیست کنفرانس های Parallel and Distributed Computing موسسه IASTED در سال های 2007 و 2008

The 19th IASTED International Conference on
Parallel and Distributed Computing and Systems
~PDCS 2007~

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

 

The IASTED International Conference on
Parallel and Distributed Computing and Networks
~PDCN 2008~

as part of the 26th IASTED International Multi-Conference on APPLIED INFORMATICS

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

 

 

 |+| نوشته شده در  شنبه سیزدهم مرداد 1386ساعت 4:31 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
سومين کنفرانس فناوری اطلاعات و دانش

آدرس سایت     : >>>  http://ikt07.um.ac.ir

پوستر کنفرانس : >>> 

http://ikt07.um.ac.ir/index.php?module=ContentExpress&func=display&ceid=736

 

موضوعات کنفرانس

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

   

 

تاریخ های مهم

حداکثر مهلت ارسال مقالات به کنفرانس

اول شهریور 1386

اعلام نتایج داوری مقالات

10 مهر 1386

حداکثر مهلت ارسال پيشنهاد برگزاري کارگاه آموزشی

۱ مهر 1386

حداکثر مهلت ارسال مقالات نهايي آماده چاپ و ثبت نام ارائه دهنده

5 آبان 1386

 


دبیران کمیته علمی قسمت پردازش موازی ، مشبک ،توزیع شده و سیستم های عامل (رايانش اينترنتی، مشبک و خوشه ای، پردازش موازی، سيستم توزيع شده، سیستم های عامل،نرم افزارهای پایه و متن باز)

دکتر محمود نقیب زاده

دانشگاه فردوسی مشهد

دکتر محمد کاظم اکبری

دانشگاه صنعتی امیرکبیر، انجمن فناوری اطلاعات وارتباطات ایران

دکتر میرفخرائی

دانشگاه تهران

دکترحسین دلداری

دانشگاه فردوسی مشهد

دکتر سربازی آزاد

دانشگاه صنعتی شریف

دکتر زمانی فر

دانشگاه صنعتی اصفهان

دکتر شاه حسینی

دانشگاه علم وصنعت ایران

 

 

 |+| نوشته شده در  دوشنبه هشتم مرداد 1386ساعت 9:3 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
لیست کنفرانس ها در مورد سیستم های توزیع شده

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)

Country: Lemesos, Cyprus
Conference Dates: 24-26, September, 2007
Submission deadline: May 4, 2007 at 23:59 EDT
Acceptance notification: July 6, 2007
Camera-ready copy due: July 18, 2007
Homepage: http://www2.cs.ucy.ac.cy/~disc07

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
Country: Goa, India
Conference Dates: 18-21, December, 2007
Submission deadline: May 07, 2007
Acceptance notification: July 16, 2007
Camera-ready copy due: August 20, 2007
Homepage: http://www.hipc.org/

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

Country: Istanbul, Turkey
Conference Dates: 24-26, October, 2007
Submission deadline: May 11, 2007
Acceptance notification: Jun 27, 2007
Homepage: http://www.cmpe.boun.edu.tr/mascots07

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

Country: Lake Tahow, CA, USA
Dates: 7-10, October, 2007
Submission deadline: May 11, 2007
Acceptance notification: July 13, 2007
Final manuscript: August 10, 2007
Homepage: http://www.iccd-conference.org

ISCIS: International Symposium on Computer and Information Sciences

Country: Ankara, Turkey
Dates: 7-9, November, 2007
Submission deadline: May 14, 2007
Acceptance notification: July 14, 2007
Camera-ready copy due: August 4, 2007
Homepage: http://www2.cs.ucy.ac.cy/~disc07

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

Country: Gdansk, POLAND
Dates: September 9-12, 2007
Submission deadline: May 15, 2007
Acceptance notification: June 30, 2007
Camera-ready copy due: Oct. 15, 2007
Homepage: http://ppam.pcz.pl

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
Country: Melbourne, Victoria, AUSTRALIA
Dates: December 17-19, 2007
Submission deadline: June 11th, 2007
Acceptance notification: August 6th, 2007
Camera-ready copy due: September 14th, 2007
Homepage: http://www.deakin.edu.au/conferences/prdc2007/

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

Country: Hsinchu, Taiwan
Dates: December 17-19, 2007
Submission deadline: May 20, 2007
Acceptance notification: August 3, 2007
Camera-ready copy due: September 2, 2007
Homepage: http://www.ccrc.nthu.edu.tw/icpads2007

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

Country: Adelaide, Australia
Dates: December 3-6, 2007
Submission deadline: June 5th, 2007
Acceptance notification: August 1th, 2007
Camera-ready copy due: September 1th, 2007
Homepage: http://www.cs.adelaide.edu.au/pdcat07

 |+| نوشته شده در  دوشنبه هشتم مرداد 1386ساعت 7:20 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
چند لینک از قسمت های پردازش موازی دانشگاه صنعتی شریف

لینک گروه کامپیوتر شریف :

http://ce.sharif.edu 

 

لینک وبلاگ گروه نرم افزار شریف

http://software.ce.sharif.edu

 

لینک آزمایشگاه های گروه کامپیوتر شریف :

http://ce.sharif.edu/old/research

 

لینک High Performance Computing Architectures and Networks

http://hpcan.ce.sharif.edu

(قسمت Grid Computing گروه نرم افزار شریف )

 

لینک Internet Algorithms Weekly Seminars

http://ada.ce.sharif.edu/ia

 

لینک Parallel Processing Lab

http://ada.ce.sharif.edu/pp

( در این قسمت مطالبی در مورد کلاستر MPI و معرف کتاب های پردازش موازی و مقالات و لینک های مفید موجود است )

 

لینک Computational Geometry Group

http://ada.ce.sharif.edu/cg

 

 

 |+| نوشته شده در  دوشنبه هشتم مرداد 1386ساعت 6:22 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
Design and Analysis of Distributed Algorithms

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 ]

 

 |+| نوشته شده در  یکشنبه هفتم مرداد 1386ساعت 6:27 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام

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

 

دانلود : >>>

http://aspect1.linux.tucows.com/files/sce-1.5-1.src.tar.gz

 

 |+| نوشته شده در  شنبه ششم مرداد 1386ساعت 10:21 قبل از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
یک سیستم فایل موازی نسل جدید برای کلاسترهای لینوکس

منبع :مجله علم الکترونیک و کامپیوتر

دانشمندان علوم کامپیوتر از کامپیوترهای عظیم موازی به منظور شبیه سازی رویدادهایی که در دنیای واقعی رخ می دهند استفاده می کنند. این اعمال در چنین مقیاس بزرگی جهت درک بهتر نمودهای علمی یا پیش بینی رفتارها لازم و ضروری می باشند. در اغلب موارد منابع محاسباتی یک فاکتور محدود کننده در حوزه این شبیه سازی ها محسوب می گردند. منابع محدود تنها شامل 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 بیاندازید.

 

 |+| نوشته شده در  جمعه پنجم مرداد 1386ساعت 9:25 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
پردازش موازی در سرور های لينوکس(کلاستر کردن)   

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


ماشین موازی مجازی(به جاوا مربوط نیست) یک سرویس و
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(MAXelse max = 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();
}


 |+| نوشته شده در  جمعه پنجم مرداد 1386ساعت 9:20 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
کلاسترهای کامپیوتر

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

 

 |+| نوشته شده در  جمعه پنجم مرداد 1386ساعت 8:33 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
خدمات كامپيوترى با كمتر از يك دلار

شركت سان مايكروسيستمز، خدمات كامپيوترى سودمندى را با قيمت كمتر از يك دلار بابت هر گره در ساعت، ارائه خواهد كرد. اين شركت هدف سرويس هاى خود را بر روى برنامه هاى كاربردى مابين پردازنده ها مانند شبيه سازى، طرح ريزى و انتقال متمركز كرده است. اين شركت هزاران پردازنده در سرورهاى آتش (Fire) سان را براى دريافت اين سرويس هاى جديد در دسترس قرار خواهد داد.نخستين سرويس كه Compute@Sun نام دارد، هزينه اى برابر با ۷۹ سنت در ازاى هر پردازنده در هر ساعت دارد، در حالى كه دومين سرويس با نام Sun Utility Computing for Grid، مبلغ ۹۹ سنت در ساعت بابت پردازنده هاى دو گره اى هزينه خواهد داشت.سان از كسب و كارها و شركت هاى ديگر انتظار دارد كه همان گونه كه امروزه سرويس هاى تلفن همراه را خريدارى مى كنند، در آينده سرويس ظرفيت محاسبات را نيز خريدارى كنند.اين شركت همچنين سرويس محاسبه دقايق را به صورت عمده به شركاى تجارى تأمين كننده خدمات مى فروشد كه آن ها نيز مجدداً پردازنده زمان را به مشتريان خود مى فروشند. اين شركا عبارتند از: Atos Origin، Electronic Data Systems و CGI Group.اين شركت همچنين نمونه قيمت گذارى سودمندى براساس سيستم StorEdge ۶۹۲۰ خود براى خدمات ذخيره سازى گروه ها و شركت هاى متوسط ارائه كرده است.

 |+| نوشته شده در  جمعه پنجم مرداد 1386ساعت 8:7 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
با پروژه ای از IBM کامپیوتر خود را ابر رایانه کنید

تا جالا به این فکر کردین اگه همه ی کامپوتر های دنیا با همدیگه شبکه ای وصل بشن قدرتشون چقدر زیاد میشه و قابلیت انجام چه محاسباتی رو دارند . محققین شرکibmlogo.jpgت IBM با استفاده از ایده ای به نام Grid سعی در انجام چنین پروژه ای را دارند طی این عمل نرم افزاری از نوع Peer to Peer با قابلیت دانلود بر روی کامپیوتر ها نصب شده و در زمان اتصال به اینترنت بدون کاهش دامنه ی اتصال به طور محسوس پروژه ها را که بسیار بزرگ هستند و به وسیله ی کامپوتر مرکزی به قسمت های کوچک تری تقسیم شده است را دریافت می کند و در زمان بیکاری کامپیوتر آن را انجام داده و در اتصال بعدی آن را ارسال کرده و پروژه ی جدیدی را دریافت می کند . حال با انجام این عمل یک پروژه خورد شده و در کامپیوتر های زیادی تقسیم میشود و پس از انجام در کامپیوتر مرکزی در جای خود قرار میگیرد این چنین است که یک پروژه که قرار است چند سال طول بکشه در ارز چند ماه حل میشه به همین راحتی .

جالا اگر شما هم مشتاق به این هستین که کامپیوتر شما هم جزئی از این ابر رایانه بشه کافیه به این آدرس : www.worldcommunitygrid.org برید و در How You Can Help بر روی Download Now کلیک کنید و پس از یه ثبت نام عادی نرم افزار را دانلود کنید یوزر و پس خود را وارد کنید و از این پس نرم افزار مابقی کارها را انجام داده و دیگه نیازی به دخالت شما نیست .

 

 |+| نوشته شده در  جمعه پنجم مرداد 1386ساعت 7:49 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام

اينترنت ازجنسى ديگر

آيكون ساعت شنى با وجود گسترش و بزرگ شدن هر لحظه اينترنت (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ساعت 1:13 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
راهنمای راه اندازی یک سیستم Client / Server برای اجرای نرم افزار های حرفه ای تحت پروتوکل X Window

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

Sample Diagram

البته راه حل هاي 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ساعت 1:8 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
Univa محصولی مبتنی بر grid منبع باز می‌سازد

شركت 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 بسته به نحوه نصب آن متفاوت است.

 

 |+| نوشته شده در  جمعه پنجم مرداد 1386ساعت 1:0 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
سرورهای برتر دنيا شبكه جديدی راه‌اندازی می‌كنند

IBM ، Hp و اينتل در تلاش براي تحقق بخشيدن به نظريه بي‌شكل بودن محاسبات شبكه‌اي ، گروه جديدي به نام ائتلاف جهاني (Globus Consortium) راه‌اندازي كردند.
اين ائتلاف تلاش مي‌كند بسته نرم‌افزاري اپن‌سورس جديدي به نام گلابس تول‌كيت را اداره كند كه به دانشگاه‌ها ، شركت‌ها و ساير مشتريان كمك مي‌كند ، نرم‌افزار را روي گروه بزرگي از كامپيوترهاي شبكه شده كه grids نام دارد اجرا كنند. grids يا همان شبكه‌هاي بزرگ كامپيوتري امروزه براي كارهاي محاسباتي با كارايي بالا چون شبيه‌سازي اقليم آب و هوايي استفاده مي‌شود ، اما شركت‌هاي كامپيوتري معتقدند كه آنها سرانجام مي‌‌توانند نرم‌افزارهاي تجاري معمولي را نيز روي اين شبكه‌ها اجرا كنند.
اعضاي ديگر اين ائتلاف يونيوا و Nortel Networks است . يونيوا وظيفه تجاري كردن نرم‌افزار گلابس تول‌كيت را برعهده دارد .
گريك ناوروكي ، رياست اين ائتلاف را برعهده دارد وظيفه اين ائتلاف ارتقاء تلاش‌ها براي استاندارد كردن شبكه ، آموزش شبكه به مشتريان و گوش دادن به فعاليت‌هايي كه مشتريان دوست دارند به شبكه اضافه كنند و ايجاد كار براي تقويت گلابس تول‌كيت است.
ناوروكي در پايان افزود : هدف ما از ايجاد شبكه جديد ، توسعه استانداردها نيست ، بلكه سرعت بخشيدن به پذيرش استانداردها ا ز طريق نرم‌افزار اپن‌سورس گلابس تول‌كيت است.

 |+| نوشته شده در  جمعه پنجم مرداد 1386ساعت 12:48 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام

چند مقاله در مورد 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

رزومه : >>> دانلود روزمه کاری

 

 |+| نوشته شده در  دوشنبه یکم مرداد 1386ساعت 9:5 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام

کنفرانس 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

 

 

 |+| نوشته شده در  دوشنبه یکم مرداد 1386ساعت 7:49 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
معرف سایت www.axceleon.com

 

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

 |+| نوشته شده در  دوشنبه یکم مرداد 1386ساعت 7:6 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام

محاسبات درهم شبکه ای (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 است.
 

 |+| نوشته شده در  دوشنبه یکم مرداد 1386ساعت 6:21 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
 
  بالا