Abstract
An efficient resource allocation is a fundamental requirement in high performance computing (HPC) systems. Many projects are dedicated to large-scale distributed computing systems that have designed and developed resource allocation mechanisms with a variety of architectures and services. In our study, through analysis, a comprehensive survey for describing resource allocation in various HPCs is reported. The aim of the work is to aggregate under a joint framework, the existing solutions for HPC to provide a thorough analysis and characteristics of the resource management and allocation strategies. Resource allocation mechanisms and strategies play a vital role towards the performance improvement of all the HPCs classifications. Therefore, a comprehensive discussion of widely used resource allocation strategies deployed in HPC environment is required, which is one of the motivations of this survey. Moreover, we have classified the HPC systems into three broad categories, namely: (a) cluster, (b) grid, and (c) cloud systems and define the characteristics of each class by extracting sets of common attributes. All of the aforementioned systems are cataloged into pure software and hybrid/hardware solutions. The system classification is used to identify approaches followed by the implementation of existing resource allocation strategies that are widely presented in the literature
چکیده
تخصیصکارآمد منابع نیاز اساسی سیستم های محاسباتی کارا می باشد. بسیاری از پروژهها به سیستمهای محاسباتی توزیع شده بزرگ مقیاس اختصاص یافته است که ماشینهای تخصیص منابع را با معماریها و سرویسهای مختلف و متنوع طراحی کرده و توسعه میدهند. در این مقاله بررسی جامعی جهت توصیف تخصیص منابع در سیستم های محاسباتی کارای مختلف گزارش شده است. هدف از این بررسی جمع آوری راه حل های موجود سیستم های کارا تحت چارچوبی مشترک، جهت ارائه تجزیه تحلیل کامل ویژگی های مدیریت و استراتژی تخصیص منابع می باشد. سازوکار و استراتژیهای تخصیص منابع، نقشی حیاتی جهت بهبود عملکرد و طبقه بندی سیستمهای کارا ایفا میکنند. بنابراین، بررسی جامعی درباره استراتژی تخصیص منابع به طور گستردهای در محیطهای سیستمهای محاسباتی کارا مورد نیاز است. این سیستم ها به سه دسته گسترده (الف) خوشه(ب) توری و (ج) سیستمهای ابری تقسیم شدهاند و ویژگیهای هر کلاس با استخراج مجموعهای از ویژگیهای مشترک تعریف شده است. علاوه بر این، پروژه های شناخته شده و برنامه های کاربردی هر بخش مورد بحث قرار گرفته است. کلیه سیستم های فوق به دو دسته کاملا نرم افزاری و ترکیبی از سیستم ها یا سخت افزاری تقسیم شده اند.
1-مقدمه
هدف از پارادایم محاسبات توزیع شده به هم گره زدن قدرت تعداد زیادی از منابع توزیع شده در سراسر شبکه می باشد. هر کاربر دارای شرایط از طریق یک کانال ارتباطی مناسب در معماری شبکه به اشتراک گذاشته می شود . پارادایم محاسبات توزیع شده به سه دلیل عمده استفاده می شود. اول، ماهیت استفاده از برنامه های توزیع شده از یک شبکه ارتباطی که به چندین کامپیوتر متصل شده است را نشان می دهد. چنین شبکه های برای تولید داده هایی که برای اجرای وظایف روی منابع از راه دور لازم است، مورد نیاز می باشد. دوم، بسیاری از برنامه های کاربردی موازی فرآیندهای متعدد دارند که همزمان بر روی گره های ارتباطی بسیاری با بیش از یک اتصال با سرعت بالا اجرا می شوند . استفاده از کارایی بالای سیستم های توزیع شده برای برنامه های کاربردی موازی نسبت به تک پردازنده ها با دلایل منطقی مفید تر است. توانایی خدمات توزیع شده در شبکه گسترده کم هزینه است و کل سیستم را برای دستیابی به سطح مورد نظر کارایی عملکرد، مقیاس پذیر و منطبق می سازد . سوم، قابلیت اطمینان سیستم های توزیع شده بالاتر از یک ماشین تک پردازنده یکپارچه است. خرابی تنها یک گره شبکه در محیط های توزیع شده باعث متوقف شدن کل فرایند در مقایسه با سیستم های تک پردازنده نمی شوند. برخی از تکنیک های برای دستیابی به قابلیت اطمینان در محیط های توزیع شده حالت برداری و تکثیر می باشد. مقیاس پذیری، قابلیت اطمینان، به اشتراک گذاری اطلاعات، و تبادل اطلاعات از منابع راه دور انگیزه های اصلی برای کاربران سیستم های توزیع شده می باشد...