اطلاعیه

Collapse
No announcement yet.

سرعت در mini pc های کلاستر شده

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    سرعت در mini pc های کلاستر شده

    نوشته اصلی توسط روح الامین نمایش پست ها
    فکر کنم برای مقایسه باید از بنچ-مارک ها استفاده کرد. ولی چیزی که من می بینم اینه که این مینی-سوپر کامپیوتر ها خیلی خوب هستن چون پردازش موازی انجام میدن. همین سرور من رو با 11 مینی کامپیوتر 4 هسته ای باید بشه ساخت. ممکنه یه کمی تفاوت داشته باشه ولی شک نکن زیاد نیست
    با سلام خدمت دوستان
    در رابطه با ایده واقعا عالی ای که آقای مهندس روح الامین در مورد استفاده از mini pc ها ارائه دادند، من حقیقتا استفاده بردم. هیچ شکی هم در مقرون بصرفه بودن و سرعت و ... این روش ندارم (واقعا توی خیلی موارد میارزه)
    فقط در رابطه با میزان سرعتش یه صحبت کوچیک دارم. (هدفم از گفتنش اینه که دوستایی که میخوان این کار رو انجام بدن حتما قبلش بهتره یه تحقیقی در این موارد انجام بدن)
    برای اینکه اون تاپیک از مسیر خودش خارج نشه این تاپیک رو زدم.

    بحث سرعت محاسبات سنگین و موازی منوط به مجموعه ای از عوامل میشه که یکی از این موارد تعداد پروسسورها می باشد. این موارد رو به دو قسمت تقسیم میکنم:
    سخت افزار:
    تعداد پروسسور ، سرعت پروسسور ، نوع و مقدار حافظه کش پرسسور، نوع رم ، مقدار رم ، سرعت کلاک رم ، سرعت باس اطلاعات ، سرعت فضای ذخیره سازی و ...
    دلیل همه موارد مشخصه ، فقط درمورد سرعت باس اطلاعات اینو باید بگم که هرچقدر سرعت پروسسورها ، رم و فضای ذخیره سازی زیاد باشد ، اگر مسیر ارتباطی بین آنها از سرعت پایینی برخوردار باشدتمام آن اطلاعات پردازش شده یا ذخیره شده باید برای عبور از این مسیر اطلاعاتی (BUS) همچنان منتظر نوبت بمانند. درنتیجه با وجود پروسسورهای زیاد و رم خوب اما میبینیم که همچنان سرعت در آن حدی که انتظارش را داشتیم اصلا نیست. پس سرعت باس اطلاعات هم قطعا در سرعت نهایی مهم خواهد بود.
    نرم افزار:
    صرف داشتن یک سخت افزار قوی بما سرعت بالایی در انجام محاسبات نمیدهد بلکه روش برنامه ای که نوشته شده در سرعت نهایی به همان اندازه مهم است. قطعا برنامه باید بصورت پردازش موازی نوشته شده باشد اما به چه ترتیب؟
    * در برنامه ها دو جور توابع یک دسته به تنهایی اجرا می شوند و دسته ای دیگر برای اجرا و پردازش ، نیازمند داشتن مقادیر توابع قبل از خود می باشند.
    * در مورد اطلاعات موجود در رم هم دو جور توابع وجود دارد. یکسری از آنها از دسته ای از اطلاعات استفاده می کنند که برای صرفه جویی در رم و یا ... بصورت اشتراکی از آن خانه های رم استفاده میشود و دسته ای دیگر از اطلاعات بصورت اختصاصی برای توابع استفاده میشوند. طبعا فضای بیشتری به این ترتیب اشغال میشود. اما در مقابل ، دسته ای از توابع که از اطلاعات اشتراکی رم استفاده میکنند، باید برای دریافت اطلاعات در نوبت قرار گیرند. مثلا تصور کنید که مقدار یک متغیر عمومی برای 5 پروسسور یا بیشتر بخواهد ارسال شود.
    * بهینه کردن برنامه: حذف حلقه های غیر الزامی، حذف یا جابجایی کدهای غیر ضروری ازداخل حلقه های تکرار ، حذف یا جایگذینی شرط های بی مورد ، استفاده از دستوراتی با تعداد کمتر سیکل پردازشی مورد نیاز و ... من یادمه مطلبی میخوندم درمورد اینکه شخصی کارش بهینه سازی کدهای زبان C استفاده شده در برنامه های در حال اجرای سوپر کامپیوترهاست و با همین بهینه سازی ها همان برنامه ها را تا 30 درصد سریعتر اجرا میکردو درآمد قابل توجهی هم کسب میکرد.
    درحال حاضر نرم افزارهای بزرگی از شرکتهای صاحب نام دنیا شامل اینتل ، AMD و ... صرفا برای بررسی برنامه های درحال ساخت پردازش موازی و آنالیز توابع سری و موازی و رم اشتراکی و اختصاصی هریک و کلا ، نودهای محاسباتی برنامه و ارائه نمودارهای خروجی و پیشنهادات بهینه سازی وجود دارد.

    در کل همه این موارد در سرعت نهایی تاثیر گذار خواهند بود. جدای از بحث نرم افزار ، باید دید که موارد گفته شده سخت افزاری بالا در مینی پی سی های کلاستر شده به چه ترتیب است. برای همین باید بر روی آن تست های بنچ مارک انجام شود.
    تاپیک ویدیوهای آموزشی حواشی آردوینو و ESP
لطفا صبر کنید...
X