mozhgan
08-21-2011, 01:58 AM
کلاستر لینوکس تحت آزمایش
کلاستر لینوکس زیر بار
خوب با پیگیری و انجام مراحل شرح داده شده در بخشهای پیشین مقاله کلاسترها، اکنون یک کلاستر آماده به کار دارید که میتوانید قدرت آنرا آزمایش کرده و به نحوه کلی عملکرد کلاسترها پی ببرید.
برای شروع، از روی ایستگاه کاری که بعنوان مانیتور آنرا در نظر گرفتهام، از روی کنسول وارد گره شماره ۱ و گره شماره ۲ میشوم. روی گره شماره ۱ با استفاده از دستور mosmon برنامه مانیتور کلاستر را که میزان بار هر گره را بصورت نمودارهای میلهای نمایش میدهد، اجرا میکنم. روی گره شماره ۲، دستور زیر را در خط فرمان تايپ میکنم:
# for x in 1 2 3 4
do
awk 'BEGIN {for(i=0;i<10000;i++)for(j=0;j<10000;j++);}' &
done
دستور فوق، ۴ اسکریپت awk را که شدیدا بار
CPU را بالا خواهند برد، بطور همزمان اجرا میکند. به کنسول گره شماره ۱ بازگشته و نمودار بار را زیر نظر میگیرم:
http://pic.azardl.com/images/35156003764719191168.png (http://pic.azardl.com/)
بیچاره گره شماره ۲! نمودار به سقف رسیده است! انتظار میرود پس از چند لحظه پردازشها به گرههای بعدی کلاستر (که ما فقط گره شماره ۱ را داریم) منتقل شوند. بسیار جالب است. پس از چند ثانیه پردازشها به گره شماره ۱ منتقل شده و بار آن به سرعت بالا میرود:
http://pic.azardl.com/images/00147645535334569819.png (http://pic.azardl.com/)
همانطوری که در تصویر بالا مشاهده میکنید، میزان بار گره شماره ۱ به شدت بالا رفته و از بار گره شماره ۲ کاسته میشود. خوب این آزمایش بدی برای حصول اطمینان از کارکرد کلاستر نیست، ولی برای بررسی دقیقتر و گرفتن نتایج عملیتر، نیاز داریم تا تعدادی عملیات واقعی پردازشی را روی کلاستر انجام دهیم. یکی از بهترین عملیات پردازشی که میتواند به خوبی کارایی کلاستر را در بوته آزمایش قرار دهد، عملیات کد کردن فایلهای موسیقی است.
به این منظور، ما دو نرمافزار کد کردن فایلهای موسیقی با فرمت wav را انتخاب کرده و آزمایشات را به کمک آنها انجام خواهیم داد.
نصب نرمافزارهای لازم
نرمافزارهای مورد نیاز را تنها در گرهای که مایلید آزمایشات را از طریق آن انجام دهید نصب نمایید و نصب آن در سایر گرهها ضروری نیست. این قابلیت کلاستر سازی نامحسوس OpenMosix است که باعث میشود تا ما نیازی به نصب این نرمافزارها و قرار دادن فایلهای هدف روی یک اشتراک قابل دسترس در تمام شبکه نداشته باشیم.
نرمافزاری که ما از آن برای آزمایشات خود استفاده خواهیم کرد، نرمافزار کدینگ فایلهای صوتی به فرمت MP3 به نام Lame میباشد که یکی از سریعترین کد کنندههای MP3 در جهان بوده و یک نرمافزار بازمتن است. این نرمافزار را از لینک زیر دانلود نمایید. ضمنا حجم آن کمی بیشتر از ۱ مگابایت میباشد:
http://unc.dl.sourceforge.net/sourceforge/lame/lame-3.93.1.tar.gz
پس از دانلود بسته کد منبع، جهت نصب نرمافزار دستورات زیر را در خط فرمان اجرا نمایید:
# gunzip lame-3.93.1.tar.gz
# tar -xf lame-3.93.1.tar
# cd lame-3.93.1
# ./configure
# make
# make install
نرمافزار Lame پس از چند دقیقه کامپایل و به راحتی نصب میشود. من نرمافزار را روی هر دو گره کلاستر نصب کردهام، چون میخواهم دقیقا نحوه عملکرد آنرا در شرایط مختلف بررسی کنم. مورد دیگری که به آن نیاز است، تعدادی فایل wav است که باید آنها را تهیه کنید. من ۵ عدد فایل wav برای انجام آزمایشات تهیه کردهام که حجم آنها حدود ۱۹۶ مگابایت میباشد (در حقیقت فایلهای MP3 بودهاند که توسط XMMS به فرمت wav برگردانده شدند).
من در دایرکتوری root هریک از گرهها یک دایرکتوری به نام wav ایجاد کرده و فایلهای wav را در آنجا قرار دادم. در مرحله نخست آزمایش، هر یک از گرهها بصورت فردی فایلهای MP3 را کد میکنند. برای انجام آزمایش، دستور زیر را در خط فرمان وارد میکنم:
# cd /root/wav
# for x in *.wav
do
lame $x
done
در حقیت یک حلقه عملیات تبدیل فایلها را یک به یک انجام میدهد. نتیجه حاصل مطابق جدول زیر میباشد:
http://pic.azardl.com/images/17352667979146753785.jpg (http://pic.azardl.com/)
خوب نتیجه قابل انتظار است، ماشین پنتیوم ۸۰۰ مگاهرتزی باید هم سریعتر از سلرون ۳۳۳ مگاهرتزی باشد. پس از این مرحله OpenMosix را اجرا کرده و کلاستر را زیر بار میگذارم. دستور عملیات به صورت زیر است:
# cd /root/wav
# for x in *.wav
do
lame $x &
done
با اضافه شدن کاراکتر & تمامی ۵ عملیات به صورت همزمان و در پس زمینه اجرا خواهند شد. اجرای همزمان ۵ پروسه باعث مهاجرت پروسهها به گره دیگر کلاستر و وارد شدن کلاستر در عملیات میگردد. خوب همانطور که انتظار میرفت، کلاستر واقعا کار میکند! بسیار هیجان انگیز است. نتیجه کار مطابق جدول زیر میباشد:
http://pic.azardl.com/images/63723083194773487815.jpg (http://pic.azardl.com/)
همانطور که میبینید، نتیجه عملیات بسیار جالب است. زمان ۵ دقیقهای عملیات در دستگاه قویتر به سه دقیقه و نیم و زمان ۱۸ دقیقه و ۴۶ ثانیهای دستگاه ضعیفتر به چهار دقیقه و ۱۱ ثانیه کاهش یافته است!
کلاستر لینوکس زیر بار
خوب با پیگیری و انجام مراحل شرح داده شده در بخشهای پیشین مقاله کلاسترها، اکنون یک کلاستر آماده به کار دارید که میتوانید قدرت آنرا آزمایش کرده و به نحوه کلی عملکرد کلاسترها پی ببرید.
برای شروع، از روی ایستگاه کاری که بعنوان مانیتور آنرا در نظر گرفتهام، از روی کنسول وارد گره شماره ۱ و گره شماره ۲ میشوم. روی گره شماره ۱ با استفاده از دستور mosmon برنامه مانیتور کلاستر را که میزان بار هر گره را بصورت نمودارهای میلهای نمایش میدهد، اجرا میکنم. روی گره شماره ۲، دستور زیر را در خط فرمان تايپ میکنم:
# for x in 1 2 3 4
do
awk 'BEGIN {for(i=0;i<10000;i++)for(j=0;j<10000;j++);}' &
done
دستور فوق، ۴ اسکریپت awk را که شدیدا بار
CPU را بالا خواهند برد، بطور همزمان اجرا میکند. به کنسول گره شماره ۱ بازگشته و نمودار بار را زیر نظر میگیرم:
http://pic.azardl.com/images/35156003764719191168.png (http://pic.azardl.com/)
بیچاره گره شماره ۲! نمودار به سقف رسیده است! انتظار میرود پس از چند لحظه پردازشها به گرههای بعدی کلاستر (که ما فقط گره شماره ۱ را داریم) منتقل شوند. بسیار جالب است. پس از چند ثانیه پردازشها به گره شماره ۱ منتقل شده و بار آن به سرعت بالا میرود:
http://pic.azardl.com/images/00147645535334569819.png (http://pic.azardl.com/)
همانطوری که در تصویر بالا مشاهده میکنید، میزان بار گره شماره ۱ به شدت بالا رفته و از بار گره شماره ۲ کاسته میشود. خوب این آزمایش بدی برای حصول اطمینان از کارکرد کلاستر نیست، ولی برای بررسی دقیقتر و گرفتن نتایج عملیتر، نیاز داریم تا تعدادی عملیات واقعی پردازشی را روی کلاستر انجام دهیم. یکی از بهترین عملیات پردازشی که میتواند به خوبی کارایی کلاستر را در بوته آزمایش قرار دهد، عملیات کد کردن فایلهای موسیقی است.
به این منظور، ما دو نرمافزار کد کردن فایلهای موسیقی با فرمت wav را انتخاب کرده و آزمایشات را به کمک آنها انجام خواهیم داد.
نصب نرمافزارهای لازم
نرمافزارهای مورد نیاز را تنها در گرهای که مایلید آزمایشات را از طریق آن انجام دهید نصب نمایید و نصب آن در سایر گرهها ضروری نیست. این قابلیت کلاستر سازی نامحسوس OpenMosix است که باعث میشود تا ما نیازی به نصب این نرمافزارها و قرار دادن فایلهای هدف روی یک اشتراک قابل دسترس در تمام شبکه نداشته باشیم.
نرمافزاری که ما از آن برای آزمایشات خود استفاده خواهیم کرد، نرمافزار کدینگ فایلهای صوتی به فرمت MP3 به نام Lame میباشد که یکی از سریعترین کد کنندههای MP3 در جهان بوده و یک نرمافزار بازمتن است. این نرمافزار را از لینک زیر دانلود نمایید. ضمنا حجم آن کمی بیشتر از ۱ مگابایت میباشد:
http://unc.dl.sourceforge.net/sourceforge/lame/lame-3.93.1.tar.gz
پس از دانلود بسته کد منبع، جهت نصب نرمافزار دستورات زیر را در خط فرمان اجرا نمایید:
# gunzip lame-3.93.1.tar.gz
# tar -xf lame-3.93.1.tar
# cd lame-3.93.1
# ./configure
# make
# make install
نرمافزار Lame پس از چند دقیقه کامپایل و به راحتی نصب میشود. من نرمافزار را روی هر دو گره کلاستر نصب کردهام، چون میخواهم دقیقا نحوه عملکرد آنرا در شرایط مختلف بررسی کنم. مورد دیگری که به آن نیاز است، تعدادی فایل wav است که باید آنها را تهیه کنید. من ۵ عدد فایل wav برای انجام آزمایشات تهیه کردهام که حجم آنها حدود ۱۹۶ مگابایت میباشد (در حقیقت فایلهای MP3 بودهاند که توسط XMMS به فرمت wav برگردانده شدند).
من در دایرکتوری root هریک از گرهها یک دایرکتوری به نام wav ایجاد کرده و فایلهای wav را در آنجا قرار دادم. در مرحله نخست آزمایش، هر یک از گرهها بصورت فردی فایلهای MP3 را کد میکنند. برای انجام آزمایش، دستور زیر را در خط فرمان وارد میکنم:
# cd /root/wav
# for x in *.wav
do
lame $x
done
در حقیت یک حلقه عملیات تبدیل فایلها را یک به یک انجام میدهد. نتیجه حاصل مطابق جدول زیر میباشد:
http://pic.azardl.com/images/17352667979146753785.jpg (http://pic.azardl.com/)
خوب نتیجه قابل انتظار است، ماشین پنتیوم ۸۰۰ مگاهرتزی باید هم سریعتر از سلرون ۳۳۳ مگاهرتزی باشد. پس از این مرحله OpenMosix را اجرا کرده و کلاستر را زیر بار میگذارم. دستور عملیات به صورت زیر است:
# cd /root/wav
# for x in *.wav
do
lame $x &
done
با اضافه شدن کاراکتر & تمامی ۵ عملیات به صورت همزمان و در پس زمینه اجرا خواهند شد. اجرای همزمان ۵ پروسه باعث مهاجرت پروسهها به گره دیگر کلاستر و وارد شدن کلاستر در عملیات میگردد. خوب همانطور که انتظار میرفت، کلاستر واقعا کار میکند! بسیار هیجان انگیز است. نتیجه کار مطابق جدول زیر میباشد:
http://pic.azardl.com/images/63723083194773487815.jpg (http://pic.azardl.com/)
همانطور که میبینید، نتیجه عملیات بسیار جالب است. زمان ۵ دقیقهای عملیات در دستگاه قویتر به سه دقیقه و نیم و زمان ۱۸ دقیقه و ۴۶ ثانیهای دستگاه ضعیفتر به چهار دقیقه و ۱۱ ثانیه کاهش یافته است!