لطفا وارد شوید یا ثبت‌نام کنید تا به انجمن‌ها دسترسی کامل داشته باشید.



 
امتياز موضوع :
  • 0 رأي - معدل امتيازات : 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشورت درباره‌ی برپائی یک کلاستر محاسباتی
2006-12-20, 11:45 PM,
ارسال : #1
مشورت درباره‌ی برپائی یک کلاستر
سلام

من در حال ساخت یک کلاستر محاسباتی در گروه فیزیک دانشگاه اصفهان هستم. کلاستر مزبور دارای ۶۴ نود با مشخصات زیر است:
هر نود:
پردازشگر: دو عدد opteron 248
ram: دو گیگابایت
هارددیسک: ۲۵۰GB SATAII
شبکه: دو عدد شبکه‌ی گیگابیت nForce که فقط از یکی از آن‌ها استفاده می‌کنیم
گرافیک: ندارد

نودها با استفاده از سه عدد سویچ گیگابیت ۲۴ پورت سیسکو به هم وصل شده‌اند.

اهداف:
۱. رسیدن به بیشترین کارآئی با نرم‌افزارهای آزاد (قصد نداریم از کمپایلرها و پکیج‌های انحصاری استفاده کنیم).
۲. استفاده‌ی آسان برای کاربران
۳. به روز آوری آسان

تاکنون به صورت آزمایشی چند عدد از نودها را موازی کرده‌ایم و به ازای هر نود با استفاده از بنچ‌مارک linpack به سرعت 6.1 گیگافلاپس در حالت موازی (و 6.8 گیگافلاپس در حالت standalone) دست یافته‌ایم.

Frontned مختلفی را امتحان کرد‌ایم شامل Gluster، Rocls، Oscar اما هر کدام به نحوی نواقصی داشتند مانند به روز نبودن gcc (ما به نسخه‌ی 4.1 کمپایلر گنو احتیاج مبرم داریم. چون برای اولین بار کمپایلر فرترن آن از اشاره‌گرهای cray حمایت می‌کند)، کارائی پایین شبکه، بهینه نبودن blas و lapack برای سخت‌افزارها) و ...
هر چند می‌توان این نواقص را بر طرف کرد ولی دیدیم به دردسرش نمی‌ارزد Smile

بالاخره پیروز این میان gentoo بود. با تجربیاتی که به دست آورده‌ایم اکنون قادر هستیم کلاستر خود را با استفاده از gentoo در طی یک روز هم به صورت diskless و هم به صورت عادی برپا کنیم.Frontend خود ساخته‌ی مااز لحاظ کارائی یک سر و گردن بالاتر از توزیع‌های آماده است. هر چند مشکلات کوچکی نظیر مدیریت و ... در آن سخت تر است. از طرف دیگر به لطف استفاده از atlas-blas، atlas-lapack و goto-blas سرعت blas و lapack به صورت خارق‌العاده‌ای زیاد شده است.

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

برنامه‌هائی که تاکنون با موفقیت در این کلاستر اجرا شده‌انذ:
<!-- m --><a class="postlink" href="http://www.mmm.ucar.edu/mm5">http://www.mmm.ucar.edu/mm5</a><!-- m -->
<!-- m --><a class="postlink" href="http://www.wien2k.at">http://www.wien2k.at</a><!-- m -->
<!-- m --><a class="postlink" href="http://www.netlib.org/linpack">http://www.netlib.org/linpack</a><!-- m -->
<!-- m --><a class="postlink" href="http://ab-initio.mit.edu/wiki/index.php/MIT_Photonic_Bands">http://ab-initio.mit.edu/wiki/index.php ... onic_Bands</a><!-- m -->
<!-- m --><a class="postlink" href="http://www.aos.princeton.edu/WWWPUBLIC/htdocs.pom">http://www.aos.princeton.edu/WWWPUBLIC/htdocs.pom</a><!-- m -->

نرم‌افزارهای مانیتورینگ و مدیریت job مانند ganglia و torque هم به خوبی کار می‌کنند.

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

ما یک مشکل جدی نیز داریم: سرعت کارت شبکه‌ها با استفاده از gentoo بهتر از frontendهای دگیر است ولی باز هم از 650mbps بالاتر نمی‌رود. من از درایور forcedeth کرنل 2.6.19.1 استفاده می‌کنم. کمپایل به صورت ماژول غیر فعال شده است.

با تشکر
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2006-12-24, 04:12 PM,
ارسال : #2
Re: مشورت درباره‌ی برپائی یک کلاس
تجربه خیلی جالبیه ، امیدوارم با تلاش شما دوستان در اصفهان این تجربه مستند و دوباره استفاده بشه .
با این حال ، از اول که پست شما رو دیدم از این قضیه کارتهای Nvidia بر اساس احتمالا برد های Nvidia خیلی ترسیدم! همون طور که احتمالا میدونید به علت همکاری نکردن Nvidia تمام درایور های Nvidia روی Ethernet Controller ها کاملا Reversed Engineered شده اند .

من شخصا Benchmark خیلی بدی روشون دارم ، مسئله مشکل ساز اصلا Peak Rate اشون نیست ، مشکل Drop و Delay های زیادشونه که کاملا مشکل درایوره . من پیشنهاد میکنم از این سری کارت استفاده کنید :

Marvell Yukon
Broadcom Tigon3
Broadcom NetXtremeII

من شخصا تجربه مشابه خیلی خوبی داشتم Smile

مورد مهم بعدی استفاده از سری کرنله ، بهترین کارایی رو میتونید با استفاده از سری آخر کرنل ۲.۶ داشته باشید ولی در کنار این مشکل ، مشکل Arp Cache این سری پیش میاد که برای اکثر نیازهای معمول عالیه ولی برای پردازش موازی مشکل سازه ، با توجه به سابقه برنامه نویسی که داری حتما میتونی ( و بر خلاف ۲.۴ راهی جز این نداری ) که Arp Expire Time رو به میزان معقولی ( ۷۲۰۰ ثانیه یا بیشتر اگر Node های جا به جایی ندارند ) افزایش بدی .

از بار شبکه‌ای که راجع بهش نوشتی اطلاع ندارم ، ولی اگر مشکل Congestion داری بهترین راه استفاده از Ttcp و یا روشهای Congestion Control مانند Scalable TCP است .

دیگه دیگه دیگه ... امم...

Wish you Were here ...
مشاهده تارنمای کاربر جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ


رفتن به انجمن :


کاربران در حال مشاهده موضوع : 1 مهمان