Library
|
Your profile |
Cybernetics and programming
Reference:
Agibalov O.I., Ventsov N.N.
Assessing Time Dependencies of the Genetic Algorithm Carried Out on CPU and GPU
// Cybernetics and programming.
2017. № 6.
P. 1-8.
DOI: 10.25136/2644-5522.2017.6.24509 URL: https://en.nbpublish.com/library_read_article.php?id=24509
Assessing Time Dependencies of the Genetic Algorithm Carried Out on CPU and GPU
DOI: 10.25136/2644-5522.2017.6.24509Received: 22-10-2017Published: 10-11-2017Abstract: The subject of the research is the problem of choosing the most efficient hardware architecture to execute a stochastic population-based algorithm. The object of the research is the genetic algorithm carried out using the central processing unit (CPU) or graphics processing unit (GPU). In their research the authors give results of a computational experiment aimed at comparing time dependencies of the genetic algorithm executed on the central processing unit or graphics processing unit based on the number of chromosomes used. The authors also compare the overall time of task solutions and time necessary to initialize CPU and GPU. Due to the fact that it was impossible to obtain the precise time assessment of the genetic algorithm, the authors have developed a loose time assessment of GPU-algorithm for 3000 chromosomes. The research method is based on the experimental assessment of time dependencies of the genetic algorithm executed using CPU or GPU based on the number of species in the population. The computational complexity of the genetic algorithm for both types of processing units is approximately O(n)-O(n2). Based on the results the authors have stated that in cases when the population is 2000-2500 chromosomes, the genetic algorithm should be better executed using CPU and when the population exceeds 3000-4000 chromosomes it is better to execute it using GPU. Such unclarity of efficiency frontiers is caused by the stochastic nature of the genetic algorithm. It should be also noted that these frontiers for choosing the most efficient hardware architecture are right exclusively for solving the above mentioned task. The results will be different for simpler tasks and other hardware and software conditions. The present research focuses not only on the numerical assessment of efficiency frontiers but on whether such crossing point can be defined or not. Keywords: population-based algorithms, optimization, time complexity, central processing unit, graphics processing unit, genetic algorithm, chromosome, population, optimization of the algorithm, efficient frontierВведение В настоящее время усложняются не только непосредственные процессы поиска оптимальных решений, но и связанные с ними процессы управления доступными вычислительными ресурсами [3,4]. Относительно новым подходом к распределению вычислительных ресурсов является применение GPU для решения оптимизационных задач. Изначально графические процессоры предназначались исключительно для обработки графических операций в компьютерной графике. Однако возможности архитектуры этих устройств были оценены профессионалами, занимающимися научными вычислениями. После этого производители графических процессоров перестроили архитектуры таким образом, чтобы на них можно было производить вычисления общего (не графического) характера [2]. Активное использование ресурсов GPU для решения классических оптимизационных задач требует не только исследования особенностей использования алгоритмов, ориентированных на GPU, но и сравнение эффективности использования алгоритмов, разработанных для GPU и CPU [1,5].
Постановка задачи При разработке генетических алгоритмов существенное влияние уделяется не только выбору архитектуры генетического поиска, но и количеству используемых особей (хромосом). Например, в работе [6] рассматривается задача правильного определения оптимального числа конвергируемых поколений и оптимального числа особей, используемых в генетическом алгоритме оптимизации простых многоэкстремальных функций. Установлено, что существует определенный рубеж, после превышения которого дальнейшее увеличение рассматриваемых параметров (число итераций работы алгоритма и число особей в популяции) становится неэффективным, если значения параметров находятся ниже значения рубежа, результаты работы алгоритма значительно ухудшаются. На основе полученных данных можно сделать вывод, что корректный выбор значений числа особей в популяции и числа поколений генетического алгоритма оптимизации простых многоэкстремальных функций значительно повышает его эффективность [6]. Если будет известно необходимое количество особей в популяциях, то, с точки зрения управления вычислительными ресурсами, актуальной становится задача выбора аппаратной составляющей, на которой используемый алгоритм будет реализован за наименьшее время. Примером такой задачи может быть выбор между реализацией алгоритма на GPU или CPU. Поэтому необходимо определить границы более эффективной реализации каждой версии алгоритма. В качестве целевой функции рассмотрим 20-мерную функцию Экли: - где n- количество аргументов функции.
Необходимо определить зависимости времени работы алгоритмов, реализованных для CPU и GPU, от количества особей в популяции. Поскольку генетический алгоритм носит стохастический характер, была проведена серия экспериментов, результаты которых приведены ниже.
Таблица 1. Зависимость общего времени работы генетического GPU-алгоритма от числа хромосом
Таблица 2. Зависимость общего времени работы генетического алгоритма, выполненного на CPU, от числа хромосом
Данные, представленные в таблицах 1 и 2, позволяют построить сравнительную таблицу усредненных зависимостей времени реализации алгоритма на CPU и GPU. Таблица 3. Усредненные зависимости общего времени выполнения алгоритма на GPU и ЦП
Графическая форма данных из таблицы 3 приведена на рисунке 1.
Рис. 1 Графики усредненных зависимостей общего времени выполнения алгоритмов на GPU и CPU Из представленных на рисунке данных следует, что при увеличении популяции до 3000-4000 хромосом алгоритм на графическом процессоре начинает опережать алгоритм на центральном процессоре. Определить точную границу предпочтительности каждого алгоритма невозможно по причине стохастичности алгоритма. Архитектуре GPU требуется некоторое время на этап инициализации, в процессе которого готовится процессор, загружаются библиотеки и происходят другие операции, которые мы, как разработчики, контролировать не можем. Распределение времени требуемого для работы алгоритмов, на CPU и GPU, приведено в таблице 3.
Таблица 3. Распределение времени, требуемое для работы алгоритмов
По причине стохастичности генетического алгоритма фактическое время его работы нельзя описать скалярным значением, даже при фиксированном числе особей в популяции. Для более адекватного описания времени работы можно использовать нечеткие оценки. Можно построить нечёткое число, описывающее время работы алгоритма как качественный показатель. Для этого была проведена серия экспериментов из 30 запусков алгоритма на графическом процессоре для 3000 хромосом. Результаты эксперимента приведены в таблице 4. Таблица 4. Результаты измерений времени работы алгоритма
Разбив интервал времени от 900 до 1600 мс на отрезки по 100 делений и посчитав, сколько замеров попали в каждый из них, получим таблицу частотного распределения результатов работы генетического алгоритма. Таблица 5. Частотное распределение результатов работы генетического алгоритма.
На основе таблицы 5 построим график распределения частот, по отрезкам рассматриваемого временного интервала. Рис. 2 График распределения частот, по отрезкам рассматриваемого временного интервала На рис.3 приведен нормализованный график. Рис. 3 Нормализованный график распределения частот Представленные на рис.3 данные можно трактовать как функцию нечёткого числа, обозначающего время работы GPU-алгоритма на 3000 хромосомах. Заключение 1. На основании представленных результатов установлено, что при использовании популяций объёмом до 2000-2500 хромосом генетический алгоритм целесообразнее реализовывать на CPU, а при использовании более 3000-4000 - на GPU. Это утверждение справедливо исключительно для данной задачи. Для прочих задач, в иных аппаратных и программных условиях эти результаты будут другими. В рассматриваемом случае важны не cтолько количественные оценки сколько сам факт возможности определения такой точки перелома. 2. Размытость границы эффективности обусловлена стохастичностью генетического алгоритма. 3. По причине невозможности получения точной временной оценки генетического алгоритма построена расплывчатая оценка времени работы GPU-алгоритма на популяции размером 3000 хромосом. References
1. Sukhoroslov O.V. Organizatsiya vychislenii v geterogennykh raspredelennykh sredakh // Izvestiya YuFU. Tekhnicheskie nauki. Tematicheskii vypusk: Superkomp'yuternye tekhnologii. 2016. №12 (185). S. 115-130.
2. Chernyshev Yu.O., ,Ventsov N.N., Dolmatov A.A. Rekonfiguriruemyi agent v nechetkom geterogennom prostranstve reshenii // Inzhenernyi vestnik Dona, 2017, № 2,URL: http:// http://ivdon.ru/ru/magazine/archive/N2y2017/4163 3. Agibalov O.I., Zolotarev A.A. Sovremennye graficheskie protsessory kak sredstva optimizatsii parallel'nykh vychislenii // Naukoemkie tekhnologii v kosmicheskikh issledovaniyakh Zemli, 2014. T.6. № S. 60-63. 4. Zolotarev A.A., Ventsov N.N., Agibalov O.I., Deeva A.S. Optimizatsiya raspredelitel'nykh protsessov na osnove analiticheskikh metodov i evristicheskikh algoritmov //Vestnik nauki i obrazovaniya Severo-Zapada Rossii. 2016. T. 2. № 1. S. 74-82. 5. Zololaterev A.A., Agibalov O.I. Abilities of Modern Graphics Adapters for Optimizing Parallel Computing//World Applied Scientific Journal, 2013. V. 23 (5). P. 644-649. 6. Saprykin A.N., Akinina K.D., Saprykina E.N. Nakhozhdenie optimal'nogo chisla poleznykh osobei v populyatsii i konvergiruemykh pokolenii geneticheskogo algoritma optimizatsii prostykh mnogoekstremal'nykh funktsii //Actualscience. 2016. T. 2. № 11. S. 168-169. |