Виконав студент групи КП-52м:
Зайка Владислав Андрійович
Науковий керівник:
к.т.н., доцент Заболотня Тетяна Миколаївна
1. Дослідити існуючі алгоритми аналізу великих об'ємів даних
2. Запропонувати власні вдосконалення існуючих рішень
Об'єкт дослідження - процес збирання, узагальнення та кластеризації масивів даних.
Предмет дослідження - оптимізований алгоритм для класифікації та кластеризації масивів даних.
Регулярна обробка великого масиву даних.
Мільйони пошукових запитів.
Визначення тематичних рубрик
Розподілити обробку пошукових даних на комп'ютерний кластер
Використати генетичні алгоритми для виділення рубрик(застосовується розфарбування графів).
1. Обрати підходящі python бібліотеки
2. Виконати тестування на одній машині
3. Конфігурувати кластер машин
4. Розподілити обчисленя на кластер
5. Порівняти бібліотеки
6. Запропоновати вдосконалення
FW для розподілених паралельних обчислень
Працює разом з PP модулем
Створений для локальних мереж
Швидкий старт
Планувальник! --
on the nodes: node-1> ./ppserver.py -a node-2> ./ppserver.py -a
final_pop = ea.evolve(generator=generate, evaluator=inspyred.ec.evaluators.parallel_evaluation_pp,
pp_evaluator=evaluate,
pp_servers=("*",),
pp_dependencies=(my_squaring_function,),
pp_modules=("math",),
pop_size=8,
bounder=inspyred.ec.Bounder(-5.12, 5.12),
maximize=False,
max_evaluations=256,
num_inputs=3)
FW спеціально створений для розподілених обчислень
Використовує SCOOP для розпаралелювання
Проект університету Laval, Quebec
Підключення до будь-якої машини
Без налаштування нод
Складність конфігурування
Ручне налаштування хостів
from scoop import futures
toolbox.register("map", futures.map)
python -m scoop --hostfile hosts program.py
hostname_or_ip 4
other_hostname
third_hostname 2
Inspyred:
DEAP:
PP
SCOOP
Планувальник PP модуля назначає всі роботи на початку
Планувальник SCOOP чекає поки існуючі роботи будуть виконані
Розробка паралелізму scoop для inspyred
final_pop = my_ec.evolve(generator=generate,
evaluator=parallel_evaluator_scoop,
scoop_evaluator=evaluate,
pop_size=1,
maximize=True,
max_generations=5,
num_elites=_NumberOfElite,
seeds=None,
dimension_bits=_NumberOfBits
)
def parallel_evaluator_scoop(candidates, args):
evaluator = args['scoop_evaluator']
results = list(futures.map(evaluator, candidates, args))
return results
OAR - менеджер робіт на кластері
jdoe@idpot:~$ oarsub -I -l /nodes=3/core=1
jdoe@idpot5:~$ cat $OAR_NODEFILE
idpot5.grenoble.grid5000.fr
idpot8.grenoble.grid5000.fr
idpot9.grenoble.grid5000.fr
#!/bin/bash
python3 insp_script.py
Наукова доповідь: "Prediction of miRNA-disease associations with vector space model."