Тип работы:
Предмет:
Язык работы:


Методы обучения с подкреплением для класса задач теории расписания

Работа №128073

Тип работы

Дипломные работы, ВКР

Предмет

информатика

Объем работы69
Год сдачи2021
Стоимость4340 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
25
Не подходит работа?

Узнай цену на написание


Введение 3
Постановка задачи 6
Обзор литературы 8
Глава 1. Обучение с подкреплением 11
1.1. Мотивация 11
1.2. Концепция 14
1.2.1 Марковский процесс принятия решений 15
1.2.2 Policy iteration и Value iteration 20
1.2.3 Importance Sampling 22
1.3. Temporal Difference Learning 24
1.3.1 SARSA 25
1.3.2 Q-learning 26
1.4. Policy Gradient 27
1.4.1 REINFORCE 29
1.4.2 Actor-Critic 30
1.5. DQN 31
1.6. A3C 36
Глава 2. Данные и распределенные вычисления 39
2.1. Генерация данных 39
2.2. Алгоритм для сравнения 41
2.3. Ray и RLlib 44
Глава 3. Реализация 47
3.1. Архитектура 47
3.2. Результаты 48
Выводы 51
Заключение 51
Список литературы 52
Приложение 56


Проблема распределения связанных между собой задач между исполнителями присутствует во многих областях нашей жизни. В качестве примера можно рассмотреть две такие области: облачные вычисления и энергетика.
Потребность общества в вычислительных ресурсах растет из года в год весьма стремительно, а появление новых технологий только подстегивает взрывной рост. Как пример, рост популярности нейронных сетей привел к появлению запроса на высокопроизводительные вычисления с тензорами, что сильно увеличило спрос на видеокарты (GPU), которые ранее использовались в основном в узкоспециализированных задачах (компьютерная графика, симуляция физики). Нейронные сети внедряются повсеместно, что повлекло за собой внедрению специализированных вычислительных модулей в потребительской электронике, даже в мобильной технике.
Хоть рост вычислительной мощности индивидуальных устройств в целом следует знаменитому закону Мура, приближение к физическим ограничениям технического процесса производства процессоров и кремния как материала, становится очевидно [1], что локальные вычисления далеко не всегда смогут удовлетворять нужды пользователей.
Появление Apache Hadoop в 2006 году позволило популяризировать распределенные вычисления, показав преимущества горизонтальной интеграции и параллельных вычислений. Сейчас рынок облачных (распределенных) вычислений оценивается в 760 миллиардов долларов, и только продолжит расти [2].
При взаимодействии большого числа вычислительных узлов возникает проблема управления: как оптимально распределять связанные между собой вычислительные задачи? На эту проблему можно посмотреть с различных точек зрения: оптимизация по числу единовременно задействованных ресурсов, энергоэффективности, длительности выполнения задачи, затрачиваемым ресурсам, стоимости. Данную проблему в математике решает класс алгоритмов теории расписаний.
Алгоритмы теории расписаний долго применялись в данной области, но развитие нейронных сетей и алгоритмов обучения с подкрепление позволило превзойти классические эвристики [3].
Отдельно можно выделить проблему построения расписания на направленных ациклических графах. Для некоторых вычислительных задач уже заранее может быть известен набор подзадач, связи между ними и последовательность их выполнения, представляющий собой вычислительных граф. К таким задачам относится обучение нейронных сетей, декодирование генома.
Если же рассматривать энергетику, то рост так называемой зеленой экономики способствует к всё более широкому использованию возобновляемых источников энергии. Два наиболее популярных - солнечная и ветряная энергия имеют один существенный недостаток: непостоянство. Энергия ветра, преобразуемая в электричество ветряными электрогенераторами, может быть весьма непредсказуемой - в день с сильным ветром энергии может быть переизбыток, в то время как в штиль энергии может не быть совсем. Солнечная энергия же циклична, нам хорошо известен промежуток времени, когда её возможно генерировать. Но здесь возникает известная в энергетике проблема - что делать при резком скачке спроса на электричество? Освещение и отопление в большей степени требуется ночью, когда солнце уже не светит.
Хранение полученный из таких источников энергии может серьёзно повысить их эффективность и привлекательность для потребителя, даже на уровне отдельного домохозяйства [4]. Баланс между запасанием энергии из нескольких непостоянных источников, продажей её обратно в электросеть (популярно в Европе и США), и расходом сейчас может представлять из себя комплексную оптимизационную задачу.
Как и в случае с распределенными вычислениями, мы можем оптимизировать по уровню использования, энергоэффективности, цене. Возникает задача распределения нагрузки, получаемой из различных источников между потребителями и устройствами хранения. Если же уровень потребления электроэнергии известен заранее или может быть достаточно точно предсказан, можно выстроить граф подзадач потребления энергии и распределять каждую подзадачу на один из генераторов энергии.
Две приведенные выше области, на первый взгляд различные, имеют один и тот же набор оптимизационных задач - распределение связанных между собой задач между исполнителями. Для их решения возможно эффективно применить Reinforcement Learning, который превосходит классические алгоритмы теории расписаний, что и будет показано в данной работе.
Постановка задачи
Пусть задан направленный ациклических граф G= (V, E), где V = v1,...,vn- множество вершин графа, представляющих собой задачи, E - множество ребер графа. Все вершины и ребра имеют веса: вес вершины WVi представляет собой трудозатраты на исполнение задачи, вес ребра Wi;jв свою очередь представляет собой трудозатраты исполнителя при переключении на новую задачу. Каждое ребро (i,j) 2 E представляет собой отношение предшествования, задача не может начать своё выполнение, пока не были выполнены все предшествующие задачи.
Вершина без предшественников называется входной вершиной, без наследников - выходной. Если вершин без предшественников несколько, то все они становятся наследниками псевдо-входной вершины с нулевым весом как самой вершины, так и исходящих из неё рёбер. По аналогии, если выходных вершин несколько, то они все получат единого наследника с нулевым весом вершины и входящих в неё ребер. Данное требование не несет в себе практической цели для данной работы, но было введено с целью согласования с возможными требованиями алгоритмов для данного класса задач, по аналогии с работами
Введем понятие исполнителя - агента, который выполняет задачи. Пусть задано 3 типа исполнителя: small, medium, large.Каждый из исполнителей принадлежит к определенному типу, единственное их отличие будет заключаться в значении их мощности - параметра, характеризующего эффективность исполнителя при выполнении задачи. Пусть P = {Psmaii, Pmedium, Piargeg- множество параметров мощности. Пусть задано множество исполнителей M ={miP, ...,mkP g. Для исключения тривиальных решений будем полагать, что к < п.
Введем pred(vi), succ(vi) - множества непосредственных предшественников и наследников соответственно. Пусть comp(mjP) - множество выполненных исполнителем mjP*. - множество предшественников Vi , которые не были выполнены на машине mjp*. Это означает что, если предшественник задачи был выполнен на данной машине, то затраты на переключение с предшественника на текущую задачу не будет.
Введем понятие относительной длины расписания [5]:
makespan(solution)
Pv.2CPM,N minp.ep W„,
Знаменатель в SLRпредставляет собой нижнюю границу расписания, являясь минимумом вычислительных затрат задач, составляющего критический путь (наиболее длинный путь в смысле весов, т.е. “самый тяжелый” путь), и без учета веса ребер. В [5] показано, что это значение является нижней границей makespan,и, исходя из этого SLR > 1.
Целью работы является построение Reinforcement Learning модели, которая будет добиваться минимизация SLR при заданном графе Gи наборе исполнителей Р.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


Поставленная задача выполнена полностью. Были рассмотрены подходы к решению проблемы построения расписания на графах, на основе рассмотренных подходов сделан выбор в пользу методов обучения с подкреплением. Была реализована модель обучения с подкреплением, решающая задачу минимизации относительной длительности расписания на графах. Был выбран алгоритм для сравнения из классических эвристик для построения расписания на графах, сгенерированы данные для тестирования. Проведенное сравнение показало, что построенная в рамках работы модель превосходит классические эвристики. Модель, основанная на обучении с подкреплением выполняет свою задачу и обладает потенциалом к масштабированию.


[1] We’re not prepared for the end of Moore’s Law // 2020 URL:https://www.technologyreview.com/2020/02/24/905789/were-not- prepared-for-the-end-of-moores-law/(дата обращения: 14.02.2021)
[2] Cloud Computing Market Worth // 2020
URL:https://www.globenewswire.com/news-release/2020/10/01/2102033/0/ en/Cloud-Computing-Market-Worth-760-98-Billion-at-18-6-CAGR-Tech- Giants-Such-as-IBM-and-Microsoft-to-Focus-on-Introducing-Advanced- Cloud-Solutions-Fortune-Business-Insights.html
(дата обращения: 14.02.2021)
[3] Shyalika, C., Silva, T. Karunananda, A. Reinforcement Learning in Dynamic Task Scheduling: A Review // SN COMPUT. SCI. 1, 2020, pp. 306.
[4] Fares, R., Webber, M. The impacts of storing solar energy in the home to reduce reliance on the utility // Nat Energy 2, 17001, 2017.
[5] Lin, H., Li, MF., Jia, CF. et al. Degree-of-Node Task Scheduling of Fine¬Grained Parallel Programs on Heterogeneous Systems // J. Comput. Sci. Technol. 34, 2019, pp. 1096-1108.
[6] Topcuouglu H, Hariri S, Wu M Y. Performance-effective and low-complexity task scheduling for heterogeneous computing // IEEE Trans. Parallel Distrib. Syst., 13(3), 2002, pp. 260-274.
[7] Arabnejad H, Barbosa J G. List scheduling algorithm for heterogeneous systems by an optimistic cost table // IEEE Trans. Parallel and Distributed Systems, 25(3), 2014, pp. 682-694.
[8] Bittencourt L F, Sakellariou R, Madeira E R M. DAG scheduling using a lookahead variant of the heterogeneous earliest finish time algorithm // In Proc. the 18th Euromicro Int. Conf. Parallel, Distributed and Network¬Based Processing, 2010, pp.27-34.
[9] M. Divyaprabha, V. Priyadharshni and V. Kalpana, Modified Heft Algorithm for Workflow Scheduling in Cloud Computing Environment // 2018 Second International Conference on Inventive Communication and Computational Technologies (ICICCT), 2018, pp. 812-815.
[10] Fei, Yin, D. Xiaoli, Jiang Chang-jun and Deng Rong., Directed Acyclic Task Graph Scheduling for Heterogeneous Computing Systems by Dynamic Critical Path Duplication Algorithm // Journal of Algorithms and Computational Technology 3, 2009, pp. 247-270.
[11] Bozinovski, S. A self learning system using secondary reinforcement // Cybernetics and Systems Research: Proceedings of the Sixth European Meeting on Cybernetics and Systems Research, 1982, pp. 397-402.
[12] Degris, T., Martha White and R. Sutton. “Off-Policy Actor-Critic.” ArXiv, 2012, abs/1205.4839.
[13] Mnih, V., Kavukcuoglu, K., Silver, D. et al. Human-level control through deep reinforcement learning // Nature 518, 2015, pp. 529-533.
[14] Mnih, V., Adria Puigdomenech Badia, Mehdi Mirza, A. Graves, T. Lillicrap, Tim Harley, D. Silver and K. Kavukcuoglu. // Asynchronous Methods for Deep Reinforcement Learning, ArXiv, 2016, abs/1602.01783.
[15] Baheri, Betis and Qiang Guan, MARS: Multi-Scalable Actor-Critic Reinforcement Learning Scheduler // ArXiv, 2020, abs/2005.01584.
[16] Mao, Hongzi, M. Schwarzkopf, S. Venkatakrishnan, Zili Meng and M. Alizadeh, Learning scheduling algorithms for data processing clusters // Proceedings of the ACM Special Interest Group on Data Communication, 2019.
[17] Silver, D., Huang, A., Maddison, C. et al. Mastering the game of Go with deep neural networks and tree search // Nature 529, 2016, pp. 484-489.
[18] Carastan-Santos, Danilo and R. D. Camargo // Obtaining dynamic scheduling policies with simulation and machine learning, Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, 2017.
[19] Grandl, Robert, Srikanth Kandula, S. Rao, Aditya Akella and Janardhan Kulkarni // GRAPHENE: Packing and Dependency-Aware Scheduling for Data-Parallel Clusters, OSDI, 2016.
[20] Thiam P., Kessler V., Schwenker F. // A Reinforcement Learning Algorithm to Train a Tetris Playing Agent, Lecture Notes in Computer Science, vol 8774. Springer, Cham, 2014.
[21] Sutton R.S., Barto A.G. // Reinforcement Learning: An Introduction, MIT Press, Cambridge, MA, 2018.
[22] Williams, R. J. // Simple Statistical Gradient-Following Algorithms for Connectionist Reinforcement Learning, Machine Learning 8, 1992, pp. 229¬256.
[23] Recht, B., Christopher Re, Stephen J. Wright and Feng Niu. // Hogwild: A Lock-Free Approach to Parallelizing Stochastic Gradient Descent, NIPS, 2011.
[24] Daggen // 2013
URL:https://github.com/frs69wq/daggen/(дата обращения: 09.03.2021)
[25] Guan Wang, Yuxin Wang, Hui Liu, He Guo // HSIP: A Novel Task Scheduling Algorithm for Heterogeneous Computing Scientific Programming, vol. 2016, Article ID 3676149, 2016, pp. 5-8.
[26] Ray // 2021
URL:https://docs.ray.io/en/master/index.html(дата обращения: 24.02.2021)
[27] Liang, Eric, Richard Liaw, P. Moritz, Robert Nishihara, Roy Fox, Ken Goldberg, J. Gonzalez, Michael I. Jordan and I. Stoica // RLlib: A Framework for Distributed Reinforcement Learning, ArXiv, 2017, abs/1712.09381.
[28] Brockman, Greg, Vicki Cheung, Ludwig Pettersson, J. Schneider, John Schulman, Jie Tang and W. Zaremba // OpenAI Gym, ArXiv, 2016, abs/1606.01540.

Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2025 Cервис помощи студентам в выполнении работ