راهکار زمانبندی جدید با استفاده از یادگیری تقویتی برای سیستم های توزیع شده ناهمگن
کلاسترهای کامپیوتری، محاسبات ابری و بهره برداری از معماری ها و الگوریتم های موازی در راستای رسیدگی به برنامه های کاربردی علمی که با حجم زیادی از داده ها کار می کنند و محاسبات پیچیده و زمانبری انجام می دهند، به هنجارهایی تبدیل شده اند. با پیدایش برنامه های کاربردی رسانه اجتماعی و دستگاه های هوشمند، میزان داده های دیجیتالی و سرعت تولید آنها بطور نمایی افزایش یافته است، که نشان دهنده ی توسعه ی چارچوب ها و پلتفرم های سیستم توزیع شده ای هستند که بهره وری، سازگاری، تحمل پذیری خرابی و امنیت برنامه های کاربردی موازی را افزایش می دهند. کارایی چنین سیستم ها عمدتا تحت تاثیر وضعیت و ترکیب معماری ماشین های فیزیکی، تخصیص منبع و زمانبندی کارها و وظایف قرارمی گیرد. این مقاله، الگوریتم یادگیری تقویتی را برای حل مسئله زمانبندی در سیستم های توزیع شده پیشنهاد می کند. تکنیک یادگیری ماشین، ناهمگنی گره ها، وضعیت آنها در درون شبکه و آرایش وظایف را در گراف بدون چرخه جهت دار وابستگی ها در نظر می گیرد و در نهایت سیاست زمانبندی را برای زمان اجرای بهتر تعیین می کند. این مقاله همچنین پلتفرم پیاده سازی الگوریتم را پیشنهاد می کند که زمانبندی را بعنوان سرویسی برای سیستم های توزیع شده عرضه می کند.
کلمات کلیدی: زمانبندی، سیستم های توزیع شده، یادگیری ماشین.
New scheduling approach using reinforcement learning for heterogeneous distributed systems
Journal of Parallel and Distributed Computing
Available online 23 June 2017
Abstract
Computer clusters, cloud computing and the exploitation of parallel architectures and algorithms have become the norm when dealing with scientific applications that work with large quantities of data and perform complex and time-consuming calculations. With the rise of social media applications and smart devices, the amount of digital data and the velocity at which it is produced have increased exponentially, determining the development of distributed system frameworks and platforms that increase productivity, consistency, fault-tolerance and security of parallel applications. The performance of such systems is mainly influenced by the architectural disposition and composition of the physical machines, the resource allocation and the scheduling of jobs and tasks. This paper proposes a reinforcement learning algorithm to solve the scheduling problem in distributed systems. The machine learning technique takes into consideration the heterogeneity of the nodes and their disposition within the grid, and the arrangement of tasks in a directed acyclic graph of dependencies, ultimately determining a scheduling policy for a better execution time. This paper also proposes a platform, in which the algorithm is implemented, that offers scheduling as a service to distributed systems.
Keywords: Scheduling, Distributed systems, Machine learning