نمایش نتایج: از شماره 1 تا 3 , از مجموع 3

موضوع: کلاسترینگ در لینوکس

  1. #1
    عضو انجمن sat98 آواتار ها
    تاریخ عضویت
    Aug 2010
    نوشته ها
    101
    تشکر تشکر کرده 
    29
    تشکر تشکر شده 
    222
    تشکر شده در
    160 پست

    پیش فرض کلاسترینگ در لینوکس

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

    PVM و MPIمورد استفاده همگان قرار نمیگیرد !
    با اینکه کلاسترهای Beowulf بسیار قدرتمند هستند ، بزرگترین اشکال آنها نیاز به نرم افزارهای خاص می باشد که با استفاده از PVM و MPI نوشته شده باشند تا بتوانند از مزایای کلاستر استفاده کنند. البته این برای مراکز علمی و تحقیقاتی که برنامه های کاربردی خاص خود را از ابتدا می نویسند، اشکال مهمی نیست. آنها به راحتی قادرند تا از MPI و PVM استفاده کنند.
    حقیقتا درصد افراد و موسساتی که برنامه های کاربردی خود را از ابتدا می نویسند بسیار پایین است. برای کسانی که مایل هستند تا یک کلاستر بنا کرده و از مزایای آن در اجرای برنامه های کاربردی عادی استفاده کنند، این یک مسئله بزرگ است! برنامه های کاربردی این دسته از موسسات بدون استفاده از کتابخانه های کلاستر سازی نوشته شده اند، بنابراین ، این گونه موسسات قادر نیستند تا از مزایای کلاسترها بهره گیری نمایند.
    آیا جالب نیست که یک فناوری وجود داشته باشد تا بتوانید با استفاده از آن از مزایای کلاسترهای لینوکس استفاده کنید، بدون آنکه نیاز داشته باشید تا برنامه های کاربردی خود را از ابتدا نوشته و یا حتی آنها را مجددا کامپایل نمایید؟ خوشبختانه چنین فناوری وجود دارد و نام آن OpenMosix است!

    ورود به OpenMosix
    OpenMosix قابلیت های کلاستر سازی را به هسته لینوکس اضافه می کند، بنابراین هر پروسه استاندارد لینوکس قادر خواهد بود تا از مزایای منابع کلاستر استفاده نماید. با استفاده از تکنیک های موازنه بار تطبیقی (Adaptive Load Balancing) پردازش های در حال اجرا بر روی یک گره (node) از کلاستر، قادرند تا بطور نامحسوس به یک گره دیگر از کلاستر مهاجرت کرده و بتوانند سریعتر اجرا شوند. بدلیل اینکه OpenMosix بطور کاملا نامحسوس (Transparent) عمل می کند، پردازش هایی که از یک گره به گره دیگر مهاجرت می کنند، حتی نمی دانند (لازم هم نیست بدانند) که در یک ماشین دیگر در حال اجرا هستند!
    نامحسوس بودن OpenMosix به این معنی است که برای استفاده از مزایای موازنه بار تطبیقی آن، نیازی به برنامه نویسی خاصی نیست. در حقیقت، یک نصب پیش گزیده OpenMosix به طور خودکار پردازش ها را به بهترین گره منتقل خواهد کرد. این قابلیت OpenMosix را تبدیل به یک راه حل کلاستر سازی می کند که می تواند برای بخش عظیمی از برنامه ها مفید باشد.

    OpenMosix دقیقا چکاری انجام میدهد؟
    بزرگترین کاری که OpenMosix انجام می دهد، تبدیل دسته ای از ماشین های لینوکس به یک سیستم بزرگ مجازی چند پردازنده ای متقارن (SMP=Symmetric MultiProcessor) است. هرچند نحوه عملکرد آن با سیستم های SMP واقعی مقداری تفاوت دارد. نخست اینکه سیستم های واقعی SMP که مبتنی بر ۲ یا چند پردازنده هستند، می توانند اطلاعات را با سرعت بسیار بالا تبادل نمایند، در صورتی که در OpenMosix سرعت ارتباط بین گره های کلاستر، محدود به سرعت شبکه محلی است که گره ها در آن قرار دارند. استفاده از ارتباطات اترنت گیگابیت و یا سایر انواع پر سرعت اترنت باعث خواهد شد تا تبادل داده ها با سرعت بالاتری صورت گرفته و کارایی کلاستر بالاتر باشد.
    البته OpenMosix دارای مزایایی نسبت به سیستم های چند پردازنده ای سنتی داراست. با استفاده از OpenMosix شما قادر به ایجاد کلاسترهایی حاوی ده ها و حتی صدها کامپیوتر با سخت افزار ارزان هستید در حالی که سیستم های SMP که حاوی تعداد زیادی پردازنده باشند، می توانند بسیار گرانقیمت باشند. برای بسیاری از برنامه های کاربردی، OpenMosix نسبت به سیستم های SMP یا Mainframe، حرف بیشتری برای گفتن دارد. البته دلیلی وجود ندارد که شما نتوانید OpenMosix را بر روی سیستم های قدرتمند چند پردازنده ای اجرا نمایید. حتی این امکان وجود دارد تا OpenMosix را به همراه برنامه های کاربردی که با MPI یا PVM توسعه یافته اند، اجرا نمایید تا سرعت کلاستر خود را بهینه نمایید.
    همانند سیستم های SMP سنتی، OpenMosix قادر نیست تا یک پروسه را روی چند پردازنده فیزیکی اجرا نماید. واضح تر اینکه نباید انتظار داشته باشید تا اجرای برنامه ای مانند مرورگر موزیلا روی یک کلاستر سریعتر از یک سیستم تک پردازنده ای باشد، مگر اینکه اجرا پروسه آنرا به یک گره سریعتر روی کلاستر منتقل نمایید. بعلاوه در حال حاضر OpenMosix امکان جداسازی رشته های متعدد به هم پیوسته را از یکدیگر فراهم نمی کند.
    OpenMosix قادر است تا پروسه های استاندارد لینوکس را بین گره های کلاستر بدون مشکل مهاجرت دهد. در صورتی که یک برنامه کاربردی تعداد زیادی زیر پروسه داشته باشد، آنگاه OpenMosix قادر است تا هر یک از آنها را به یک گره مناسب در کلاستر منتقل کند. شما می توانید از این قابلیت حتی در برنامه های کاربردی که دارای زیر پروسه نیستند نیز استفاده کنید. برای مثال، در صورتی که نیاز دارید تا تعدادی فایل موسیقی را از فرمت wav به mp3 تبدیل نمایید، تبدیل هر فایل یک پروسه خواهد بود. شما می توانید تمام این پروسه ها را یکجا اجرا نمایید. در آنصورت عمل پردازش بین کلاستر پخش خواهد شد (بجای اینکه عملیات تبدیل فایل ها را یک به یک انجام دهید). در صورتی که شما ۱۲ فایل موسیقی و ۱۲ گره همسان داشته باشید، عملیات تبدیل ۱۲ بار سریعتر انجام خواهد شد.
    Mosix در برابر OpenMosix
    پروژه OpenMosix جدیدترین شعبه پروژه Mosix می باشد که یکی از اهداف آن فراهم کردن کلاستر سازی نامحسوس روی لینوکس است. پس چرا ما از OpenMosix استفاده کنیم؟ دلایل خوبی برای این امر وجود دارد. در اواخر سال ۲۰۰۱ رهبری پروژه Mosix تصمیم به انتشار نسخه های جدیدی از Mosix تحت مجوزهای غیر GPL گرفت (کدهایی که قبلا GPL بودند). بنابراین نسخه های جدید Mosix دیگر نرم افزار آزاد نبودند و حقوق کاربران نیز در آنها نامشخص بود و هیچ مانعی برای نویسنده Mosix وجود نداشت تا از کاربران درخواست پرداخت وجه نماید.
    این تغییر مجوز باعث ایجاد نگرانی هایی در میان کاربران Mosix شد و برداشته شدن کدهای منبع و حذف لیست های پستی Mosix بدون توضیح موجه، این نگرانی را تشدید نمود. خوشبختانه این کاربران تنها کسانی نبودند که در باره این تغییرات جدید نگران بودند. موشه بار (Moshe Bar) یکی از مدیران پروژه Mosix با این تغییر مجوز از GPL موافق نبود. بنابراین وی پروژه OpenMosix را شروع کرد تا این اطمبنان حاصل شود که ارائه نسخه آزاد و رایگان Mosix به عموم مردم ادامه پیدا خواهد کرد. سایت رسمی پروژه OpenMosix در آدرس http://openmosix.sf.net/
    یا http://openmosix.org/ قرار دارد.
    پس از آغاز این پروژه، تعداد زیادی از کاربران
    Mosix به OpenMosix روی آوردند. سیاست توسعه باز موشه باعث شد تا توسعه OpenMosix سرعت بیشتری بگیرد. در حال حاصر ۱۴ نفر بطور فعال روی پروژه OpenMosix کار می کنند در حالی که تعداد افراد پروژه Mosix تنها ۴ نفر است. در حال حاضر تعداد زیادی رفع اشکال، بهینه سازی سرعت و بهینه سازی در کدهای OpenMosix صورت گرفته است و تعدادی قابلیت جدید و بهینه سازی مجدد در سرعت نیز بزودی ارائه خواهند شد. در حقیت جدا شدن پروژه OpenMosix از Mosix باعث ارائه راه حل های بهتری برای کلاستر سازی تحت سیستم عامل لینوکس فراهم نموده است.
    جهت برپا سازی یک کلاستر، شما به حداقل دو دستگاه مبتنی بر لینوکس که به یک شبکه داخلی متصل بوده و قادر به کامپایل کردن و اجرای هسته های سری 2.4 باشند، نیاز دارید. همچنین شبکه شما باید دارای حداقل سرعت ۱۰۰ مگابیت باشد. این سرعت به شما سرعت بسیار خوبی را اعطا خواهد نمود. سرعت اترنت استاندارد یعنی ۱۰ مگابیت به شما سرعت چندان جالب توجهی نخواهد داد. البته در صورتی که شبکه شما از این نوع است و مایل هستید تا فقط OpenMosix را تجربه نمایید، پاسخ گو خواهد بود. استفاده از اترنت های گیگابیت مفید بوده ولی انتخابی است. البته ممکن است واقعا به آن نیاز نداشته باشید و اترنت ۱۰۰ مگابیت امور شما را به خوبی انجام دهد.
    اتصال گره های کلاستر به یک سوئیچ پرسرعت سیستم های شما را قادر خواهد ساخت تا در حالت Full Duplex عمل نموده و پهنای باند شما دو برابر گردد. همچنین می توانید در یک کلاستر ۲ یا ۳ گره ای از سیم کشی مخصوص جهت اتصال مستقیم گره ها به هم استفاده نمایید.
    داشتن فضای Swap کافی قویا توصیه می شود. به این صورت شما قادر خواهید بود تا گره ها را بصورت دینامیک از کلاستر خارج نمایید بدون اینکه با کمبود حافظه مواجه شوید. این موضوع نیز انتخابی بوده و ممکن است در شرایط خاصی که کلاستر تحت فشار کاری بالایی قرار دارد، به شما کمک کند.
    در کنار مطالب بالا، باز هم اضافه می کنم که امکان ایجاد یک کلاستر مبتنی بر فقط دو دستگاه لینوکس و یک اترنت استاندارد نیز وجود دارد.
    لازم نیست که تمام کامپیوترهایی که در یک کلاستر قرار می گیرند قوی باشند و یا مهم نیست که دارای سخت افزارهای متنوعی باشند. هر قدرت پردازشی می تواند به سرعت جمعی کمک کند!

  2. تعداد تشکر ها ازsat98 به دلیل پست مفید


  3. # ADS




     

  4. #2
    عضو انجمن sat98 آواتار ها
    تاریخ عضویت
    Aug 2010
    نوشته ها
    101
    تشکر تشکر کرده 
    29
    تشکر تشکر شده 
    222
    تشکر شده در
    160 پست

    پیش فرض پاسخ : کلاسترینگ در لینوکس

    شروع کار
    فرایند برپاسازی کلاسترهای لینوکس بسیار ساده می باشد. ابتدا باید هسته هایی که
    OpenMosix روی آنها فعال شده اند را روی گره های کلاسترها نصب کرده و سپس ابزارهای کاربری را روی همه آنها نصب کرده و یک تنظیم کوچک در یک فایل پیکربندی انجام دهیم.
    به عنوان نخستین مرحله از کار، باید ابزارهای نرم افزاری لازم را فراهم آورید. نخستین چیزی که به آن نیاز دارید، کد منبع هسته ای است که مایلید روی آن کار کنید. کد منبع هسته خود را می توانید از
    http://kernel.org/ دریافت نمایید. در قدم بعدی باید وصله های هسته OpenMosix و سپس ابزارهای نرم افزاری OpenMosix را دریافت نمایید. برای دانلود وصله های هسته OpenMosix می توانید به سایت رسمی آن در آدرس http://openmosix.sf.net/ یا http://openmosix.org/ مراجعه کنید و یا از لینک های زیر برای هسته های مورد نظرتان استفاده کنید:

    هسته 2.4.21:
    http://tab.tuxfamily.org/download/openmosix/releases/patch-2.4.21-om-20030825.bz2
    هسته 2.4.22:
    http://tab.tuxfamily.org/download/openmosix/releases/patch-2.4.22-om-20031215.bz2
    هسته 2.4.23:
    http://tab.tuxfamily.org/download/openmosix/stable/patch-2.4.23-om-20031215.bz2
    هسته 2.6.0 (آزمایشی):
    http://tab.tuxfamily.org/download/openmosix/unstable/patch-2.6.0-om-0.20031202.1.bz2
    ابزارهای نرم افزاری:
    http://umn.dl.sourceforge.net/sourceforge/openmosix/openmosix-tools-0.3.5.tar.bz2

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

    پس از تعیین گره های کلاستر، شروع به نصب نرم افزارهای لازم برای این کار می کنیم. این عملیات را برای تمام گره ها باید تکرار کرد. برای شروع هسته OpenMosix را نصب می کنیم. ابتدا کد منبع هسته را در آدرس usr/src کپی کرده و آنرا با استفاده از دستورهای زیر باز می کنیم:
    cd /usr/src
    #
    bzip2 -d linux-2.4.23.tar.bz2
    #
    tar -xf linux-2.4.23.tar
    #
    mv linux linux.old
    #
    ln -s linux-2.4.23 linux

    سپس وصله هسته را در کد منبع خود اعمال می کنیم:

    cd linux
    #
    cat /home/alan/patch-2.4.23-om-20031215.bz2 | bzip2 -d | patch -p1 -l
    کد منبع هسته در چند ثانیه وصله خواهد شد. اکنون می توانید طبق روال های گذشته هسته را پیکربندی و کامپایل نمایید. فقط اطمینان حاصل کنید که گزینه های زیر را در بخش OpenMosix پیکربندی هسته انتخاب کنید:
    openMOSIX process migration support[ ] Stricter security on openMOSIX ports[ ] openMOSIX File-System[ ] Poll/Select exceptions on pipes
    برای شروع پیکربندی هسته، دستور زیر را وارد نمایید:

    #
    cd /usr/src/linux
    #
    make menuconfig
    پس از اتمام پیکربندی و ذخیره تغییرات، برای کامپایل شدن هسته دستورات زیر را وارد نمایید:

    #
    make-kpkg clean
    #
    make-kpkg --revision=8:MOSIX01 kernel_image
    و یا خیلی ساده تر:

    #
    make-kpkg clean
    #
    make-kpkg kernel_image
    این نحو عملیات کامپایل هسته به یک بسته دبیان ختم خواهد شد که قادرید آنرا به راحتی روی سیستم نصب نمایید. مدت زمان انجام عملیات کامپایل هسته به سرعت پردازنده سیستم بستگی دارد. پس از اتمام عملیات کامپایل هسته، بسته ای را که ایجاد شده است، نصب می کنیم:

    #
    dpkg -i kernel_image-2.4.23-om_MOSIX01_i386.deb
    هنگام نصب این بسته، مدیر بوت Lilo به طور خودکار پیکربندی خواهد شد. در صورتی که از گراب استفاده می کنید، باید تغییرات را بطور دستی در فایل پیکربندی آن اعمال نمایید. برای این منظور باید فایل boot/grub/menu.lst را ویرایش کرده و خطوط زیر را اضافه نمایید. البته مقادیری مانند پارتیشن های قابل بوت و سایر آدرس ها ممکن است روی سیستم های شما متفاوت باشد که آنها را باید تغییر دهید:

    title Libranet GNU/Linux, kernel 2.4.23 OpenMosix
    root (hd0,1)
    kernel /vmlinuz-2.4.23-om root=/dev/hda3 ro hdb=scsi
    savedefault
    boot
    پس از اتمام نصب هسته ها، اکنون باید ابزارهای نرم افزاری OpenMosix را نصب نماییم. برای این منظور، فایلی را که دانلود کرده بودیم، باز کرده و کامپایل و نصب می کنیم:

    #
    bzip2 -d openmosix-tools-0.3.5.tar.bz2
    #
    tar -xf openmosix-tools-0.3.5.tar
    #
    cd openmosix-tools-0.3.5
    # ./
    configure --with-kerneldir=/usr/src/linux-2.4.23/
    #
    make
    #
    make install
    کامپایل و نصب ابزارهای نرم افزاری مدت زیادی طول نمی کشد (۱الی۲ دقیقه یا کمتر روی پردازنده های قویتر). پس از اتمام آن، باید در یکی از فایل های پیکربندی مربوطه لیست گره های کلاستر را تعریف کرده و سپس سرویس OpenMosix را طوری تعریف کنیم تا هر بار بصورت خودکار اجرا شود. به این منظور ابتدا دستور:

    #
    vi /etc/openmosix.map
    اجرا کرده و باید مشخصات گره ها را بصورت <آدرس IP گره> وارد نماییم:

    <
    Node No.> <Node IP Address> <Node QTY>
    1 192.168.0.1 1
    1 192.168.0.7 1
    آرگومان شماره هنگامی مفید است که بخواهیم چند آدرس IP پشت سرهم را تعریف نماییم. مثلا در صورتی که ۱۰ گره داشته باشیم که آدرس آنها از ۲۵ شروع می شود، وارد خواهیم کرد:

    1 192.168.0.25 10
    و عملیات تایپ ما را بسیار کمتر خواهد کرد. این فایل پیکربندی روی تمام گره ها یکسان است. بنابراین می توانید آنر روی تمام گره ها کپی کنید. پس از انجام این کار به راه اندازی خودکار OpenMosix می پردازیم. ابتدا باید تعیین کنید که سطح اجرایی پیش گزیده هر یک از گره ها کدام است. به این منظور دستور زیر را وارد نمایید:
    # runlevel
    N 2
    خوب سطح اجرایی پیش گزیده ما ۲ است (سیستم های مبتنی بر دبیان). بنابراین وارد دایرکتوری etc/rc2.d می شویم. در صورتی که سطح اجرایی شما متفاوت شد، این عملیات را با دایرکتوری مربوط به آن که می تواند rc3.d، rc4.d و... باشد انجام دهید:

    #
    cd /etc/rc2.d
    #
    ln -s ../init.d/openmosix S20openmosix

    پس از اتمام عملیات بالا و بوت سیستم ها، سیستم هایی داریم که مبتنی بر
    OpenMosix بوده و سرویس آن نیز بطور خودکار اجرا می شود. برای بکار افتادن کلاستر، گره ها را بوت می کنیم. گره شماره ۱ با موفقیت OpenMosix را اجرا می کند، ولی گره شماره ۲ با پیغام Invalid Map File قادر به اتصال به کلاستر نیست. پس مقداری جستجو و بررسی فایل پیکربندی، متوجه می شوم که در فایل etc/hosts یک ورودی به صورت زیر موجود است:

    127.0.0.1
    cyber
    آنرا تبدیل به ورودی زیر می کنم:

    192.168.0.7
    cyber
    مجددا سرویس OpenMosix را با دستور etc/init.d/openmosix restart اجرا می کنم. اکنون بدون مشکل اجرا می شود. برای حصول اطمینان از شناخته شدن تمام گره های کلاستر، با دستور زیر آنها را آزمایش می کنیم:
    # mosctl status 1
    up.
    #
    mosctl status 2
    up.
    اکنون هر دو گره کلاستر در حال اجرا هستند. کلاستر ما آماده است. با استفاده از دستور mosmon می توانید وضعیت کلی کلاستر را بررسی نمایید. اینکه کدام سیستم ها دارای چه مقدار بار فعال هستند و با گذاشتن بار روی یکی از آنها چه اتفاقی خواهد افتاد و ...

  5. تعداد تشکر ها ازsat98 به دلیل پست مفید


  6. #3
    عضو انجمن sat98 آواتار ها
    تاریخ عضویت
    Aug 2010
    نوشته ها
    101
    تشکر تشکر کرده 
    29
    تشکر تشکر شده 
    222
    تشکر شده در
    160 پست

    پیش فرض پاسخ : کلاسترینگ در لینوکس

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



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



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

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

    #
    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
    در حقیت یک حلقه عملیات تبدیل فایل ها را یک به یک انجام می دهد. نتیجه حاصل مطابق جدول زیر می باشد:
    Cyber<<<<<<<<<<<<18:46s
    Debian<<<<<<<<<5:01s
    پس از این مرحله OpenMosix را اجرا کرده و کلاستر را زیر بار می گذارم. دستور عملیات به صورت زیر است:

    cd /root/wav
    #
    for x in .wav
    do
    lame $x &
    done
    با اضافه شدن کاراکتر & تمامی ۵ عملیات به صورت همزمان و در پس زمینه اجرا خواهند شد. اجرای همزمان ۵ پروسه باعث مهاجرت پروسه ها به گره دیگر کلاستر و وارد شدن کلاستر در عملیات می گردد. خوب همانطور که انتظار می رفت، کلاستر کار می کند. نتیجه کار مطابق جدول زیر است:
    cyber>>>>>>>4:11s
    Debian>>>>>>3:36s
    همانطور که می بینید، نتیجه عملیات بسیار جالب است. زمان ۵ دقیقه ای عملیات در دستگاه قویتر به سه دقیقه و نیم و زمان ۱۸ دقیقه و ۴۶ ثانیه ای دستگاه ضعیف تر به چهار دقیقه و ۱۱ ثانیه کاهش یافته است!!

  7. تعداد تشکر ها ازsat98 به دلیل پست مفید


اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. پاسخ ها: 0
    آخرين نوشته: December 17th, 2016, 18:44
  2. پاسخ ها: 2
    آخرين نوشته: August 19th, 2016, 01:10
  3. پاسخ ها: 6
    آخرين نوشته: April 21st, 2016, 02:00
  4. پاسخ ها: 0
    آخرين نوشته: January 1st, 2014, 11:33

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •