Научная статья на тему 'Перспективні технології дослідження великих даних у розподілених інформаційних системах'

Перспективні технології дослідження великих даних у розподілених інформаційних системах Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
497
90
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
система / технологія / великі дані / інформація / методика / база даних / веб-аплікація / моделювання / обробка / аналіз / система / технология / большие данные / информация / методика / база данных / веб-аппликация / моделирование / обработка / анализ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Бойко Н. І.

Актуальність. Розглянуто питання коректної інтерпретації інформаційних потоків у розподілених інформаційних системах. Об’єктом дослідження є методи дослідження просування «великих даних» по кластерах системи. Мета роботи є дослідження перспективних напрямків та технологій для аналізу структур даних у розподілених інформаційних системах. Метод. Розглянуто технології обробки великих даних. Проведено аналіз кожної з них. Наведено приклад застосування парадигми MapReduce, завантаження великих обсягів даних на сервер, опрацювання та аналіз неструктурованої інформації та розподілення її у кластеризовану базу даних. В статті узагальнено поняття “великі дані”. Наводяться приклади методів по роботі з масивами неструктурованих даних. Виділені наукові спрямування для аналізу великих даних. Сформульовані принципи роботи неструктурованих даних у розподілений інформаційних системах. Приводиться робота платформ Hadoop MapReduce та Apache Spark. Аналізуються їхні властивості та приводяться відмінності. Наводиться порівняльний аналіз продуктивності обох платформ у відношенні – час виконання до кількості ітерацій. Розглядаються способи створення RDD: розпаралелення переданої колекції в програмі та посилання на зовнішню файлову систему в Hadoop. Також наводиться приклад розпаралеленої системи RDD. Пропонується робота класу одинак для основних операцій з базою даних: підключення до бази даних, створення таблиці, знищення таблиці, отримання рядка по id, повернення усіх елементів бази даних, оновлення, видалення та створення рядка. Результати. Проведений аналіз моделей Spark та Hadoop MapReduce для поеапної побудови розподіленої інформаційної системи. Побудований SparkConf об’єкт, який містить інформацію про аплікацію і є кінцевим варіантом експеременту. Висновки. Проведені експерименти підтвердили працездатність запропонованих методів, які здатні обробляти горизонтальні масиви даних, що розпаралелені через неякісний спосіб представлення інформації. Такі перспективні напрямки роботи аналізують структуру даних з метою прогнозу результатів та створюють алгоритми передових кореляцій, що сприяють новому розумінню діяльності розподілених інформаційних систем. Подальші дослідження можуть полягати в широкому застосуванні інформаційних систем, які би забезпечували повний комплекс технологічного процесу адаптації інформаційних потоків у кластери.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Бойко Н. І.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ПЕРСПЕКТИВНЫЕ ТЕХНОЛОГИИ ИССЛЕДОВАНИЯ БОЛЬШИХ ДАННЫХ В РАСПРЕДЕЛЕННЫХ ИНФОРМАЦИ- ОННЫХ СИСТЕМАХ

Актуальность. Рассмотрены вопросы корректной интерпретации информационных потоков в распределенных информационных системах. Объектом исследования являются методы исследования продвижение «больших данных» по кластерам системы. Цель работы является исследование перспективных направлений и технологий для анализа структур данных в распределенных информационных системах. Метод. Рассмотрены технологии обработки больших данных. Проведен анализ каждой из них. Приведен пример применения парадигмы MapReduce, загрузка больших объемов данных на сервер, обработка и анализ неструктурированной информации и распределение ее в кластеризованного базу данных. В статье обобщены понятие «большие данные». Приводятся примеры методов по работе с массивами неструктурированных данных. Выделенные научные направления для анализа больших данных. Сформулированы принципы работы неструктурированных данных в распределенной информационной системы. Приводится работа платформ Hadoop MapReduce и Apache Spark. Анализируются свойства и приводятся различия. Приводится сравнительный анализ производительности обеих платформ в отношении – время выполнения количеству итераций. Рассматриваются способы создания RDD: распараллеливания переданной коллекции в программе и ссылки на внешнюю файловую систему в Hadoop. Также приводится пример распараллеленных системы RDD. Предлагается работа класса одиночка для основных операций с базой данных: подключение к базе данных, создание таблицы, уничтожение таблицы, получение строки по id, возвращение всех элементов базы данных, обновления, удаления и создания строки. Результаты. Проведенный анализ моделей Spark и Hadoop MapReduce для поеапнои построения распределенной информационной системы. Построен SparkConf объект, который содержит информацию о аппликацию и является конечным вариантом эксперимента. Выводы. Проведенные эксперименты подтвердили работоспособность предложенных методов, которые способны обрабатывать горизонтальные массивы данных, распараллеленных из-за некачественного способ представления информации. Такие перспективные направления работы анализируют структуру данных для прогноза результатов и создают алгоритмы передовых корреляций, способствующих новому пониманию деятельности распределенных информационных систем. Дальнейшие исследования могут заключаться в широком применении информационных систем, которые бы обеспечивали полный комплекс технологического процесса адаптации информационных потоков в кластеры.

Текст научной работы на тему «Перспективні технології дослідження великих даних у розподілених інформаційних системах»

НЕЙРО1НФОРМАТИКА ТА ШТЕЛЕКТУАЛЬШ СИСТЕМИ

НЕЙРОИНФОРМАТИКА И ИНТЕЛЛЕКТУАЛЬНЫЕ СИСТЕМЫ

NEUROINFORMATICS AND INTELLIGENT SYSTEMS

УДК004.021

Бойко Н. I.

Канд. екон. наук, доцент, доцент кафедри 1нформацйних систем та мереж, Нац/ональний ун1верситет «Льв1вська

полтехшка», Льв1в, УкраТна

ПЕРСПЕКТИВЫ ТЕХНОЛОГИ ДОСЛ1ДЖЕННЯ ВЕЛИКИХ ДАНИХ _У РОЗПОД1ЛЕНИХ 1НФОРМАЦ1ЙНИХ СИСТЕМАХ_

Актуальшсть. Розглянуто питання коректно! штерпретаци шформацшних n0T0KÍB у розподшених iнформацiйних системах. Об'ектом дослiдження е методи дослiдження просування «великих даних» по кластерах системи.

Мета роботи е дослщження перспективних напрямкiв та технологш для аналiзу структур даних у розподшених шформацшних системах.

Метод. Розглянуто технологи обробки великих даних. Проведено аналiз кожно! з них. Наведено приклад застосування парадигми MapReduce, завантаження великих обсяпв даних на сервер, опрацювання та аналiз неструктуровано! шформаци та розподiлення !! у кластеризовану базу даних. В статт узагальнено поняття "велию даш". Наводяться приклади методiв по роботi з масивами неструктурованих даних. Видшеш науковi спрямування для аналiзу великих даних. Сформульоваш принципи роботи неструктурованих даних у розподшений iнформацiйних системах. Приводиться робота платформ Hadoop MapReduce та Apache Spark. Аналiзуються !хш властивостi та приводяться вщмшностг Наводиться порiвняльний аналiз продуктивностi обох платформ у вщношенш - час виконання до кшькост iтерацiй. Розглядаються способи створення RDD: розпаралелення передано! колекци в програмi та посилання на зовнiшню файлову систему в Hadoop. Також наводиться приклад розпаралелено! системи RDD. Пропонуеться робота класу одинак для основних операцш з базою даних: шдключення до бази даних, створення таблищ, знищення таблищ, отримання рядка по id, повернення уах елементiв бази даних, оновлення, видалення та створення рядка.

Результати. Проведений аналiз моделей Spark та Hadoop MapReduce для поеапно! побудови розподшено! шформацшно! системи. Побудований SparkConf об'ект, який мютить iнформацiю про аплiкацiю i е кшцевим варiантом експеременту.

Висновки. Проведен експерименти пiдтвердили працездатнiсть запропонованих методiв, якi здатнi обробляти горизонтальнi масиви даних, що розпаралеленi через неяюсний спосiб представлення шформаци. Такi перспективш напрямки роботи аналiзують структуру даних з метою прогнозу результата та створюють алгоритми передових кореляцш, що сприяють новому розумiнню дiяльностi розподшених шформацшних систем. Подальшi дослiдження можуть полягати в широкому застосуваннi шформацшних систем, яга би забезпечували повний комплекс технолопчного процесу адаптаци шформацшних потогав у кластери.

Ключовi слова: система, технолопя, великi данi, шформащя, методика, база даних, веб-аплiкацiя, моделювання, обробка, аналiз.

НОМЕНКЛАТУРА

1Т - шформацшш технологи; SN-apxiTeKTypa - Shared Nothing Architecture; NoSQL - Not only Structured query language; БД - база даних;

СКБД - Система керування базами даних; GPS - Global Positioning System; API - Application Program Interface; RDD - Resilient Distributed Datasets; UI - User Interface. ВСТУП

Останшми роками перспективною областю наукових дослщжень е область IT. Донедавна велию системи скла-

© Бойко Н. I., 2017

DOI 10.15588/1607-3274-2017-4-8

далися iз десятюв серверiв та терабайлв iнформацii. Сьо-годнi вони використовують хмаркову кластерну модель, яка складаеться iз тисячi мульти-ядерних процесорiв та петабайтiв iнформацii.

Такий розвиток подш сприяв створенню нового нау-кового напряму - «велию дат», яю вже знайшли свое вщображення в академiчних вузiвських програмах. З по-зицii наукових дослiджень до «великих даних» вщносять iнформацiю: структуровану чи неструктуровану данi, медiа та випадковi процеси, якi на практищ важко обро-бити традицiйними методами. На змiну традицiйним монолiтним системам приходять новi асинхроннi та па-ралельнi рiшення, якi спрощують роботу з «великими даними». Данi системи складаються з декiлькох незалеж-

них блоюв, яю ефективно обробляють шформащю в умовах И неперервного накопичення та в1дпов1дного !! розподшення по численних вузлах кластера. В таких системах, обсяги шформацп зростають за експоненщаль-ним законом i значну !х частину складають неструктуро-ваш дат. Тому питання коректно! штерпретацп шфор-мацiйних потокiв у системах такого типу являються на сьогоднi актуальними та водночас складними.

Отже, процес дослщження просування «великих да-них» по кластерних системах являеться об'ектом даного дослiдження.

Предметом дослiдження е методи та засоби побудо-ви, редагування та адаптацп iнформацiйних потоюв у розподiлених iнформацiйних системах.

Метою роботи е досл^ження перспективних на-прямкiв та технологiй для аналiзу структур даних у роз-подшених iнформацiйних системах.

1 ПОСТАНОВКА ЗАДАЧ1:

1) розглянути методи та принципи роботи з «великими даними»;

2) проаналiзувати iснуючi технологи обробки «великих даних»;

3) здшснити порiвняльний аналiз продуктивностi методiв Hadoop та Spark платформ для обробки неструк-турованих обсягiв даних на мовi Scala.

2 О1ЛЯД ЛГГЕРАТУРИ

Сьогодення диктуе новi вимоги до шформацшних систем, якi важко досягнути вчорашнiми технологiями. Су-часш системи повиннi реагувати на проблеми вчасно насюльки це можливо. Дослщження вiдомих iноземних вчених [1-5] показали важлив^ть дано! проблеми, яка повинна бути вирiшуватись швидко та ефективно. У роботах [4, 6] акцентуеться увага на стшкост системи до збо!в та можливостi !! залишатися реагувати навiть пiсля збою.

Дослщниками [8, 10, 14] являеться актуальним питання масштабування кластера, адже кластерш системи вва-жаються доволi складним. Тому в будь-яких системах е перспективним питання ll продуктивности тому автори [13, 15] виокремлюються два варiанти масштабування: горизонтальне та вертикальне. Вони дослщили, що при застосуванш горизонтально! кластеризацп однi компонента повиннi бути iзольованими вщ iнших, i при цьому система повинна реагувати при рiзних навантаженнях на кластери. Науковцi дослiджували ll здатшсть збшьшу-вати або зменшувати обсяг ресурсiв, який видiляеться для ll обслуговування. Дослiдники вважали, що система повинна покладатися на асинхронну передачу повдам-лень, для встановлення розмежування мiж компонента -ми. Тим самим вона гарантуе слабозв'язашсть, iзоляцiю та прозорiсть розташування вузлiв кластера, забезпечуе засоби для делегування помилок та повiдомлень. 1нши-ми авторами [10-12] виявлено, що система повинна уп-равляти навантаженнями, еластичшстю, управляти потоками, формувати та мошторити черги повiдомлень в системi i застосовувати зворотний тиск при необхщноста. Вона повинна мати номери для блокування зв' язку, що дозволить одержувачам споживати тшьки активнi ресур-си, що призведе до менших витрат системи.

Науковщми [10-12] встановлено, що при використаннi даного типу систем виникае деяка проблема взаемодп всiх вузлiв кластерно! системи. До прикладу рiзним додаткам потрiбен доступ до даних з рiзних вузлiв. Це ускладнюе роботу кластерно! системи, але гснуе можливiсть вертикального масштабування даних, що забезпечуе доступ до даних всiх вузлiв системи. Дослiдниками [8] виокремлено, що запропонований вище процес вертикального масшта-бування шформацп дозволяе ввддшяти кластер вiд систем, яю з'еднують мiж собою безлiч машин.

На основi проведеного аналiзу встановлено, що для створення розподшено! шформацшно! системи не гснуе единих методiв та технологш, якi б поеднували вм етапи побудови кластерних систем. Тому робота з детальним описом технологш вертикального масштабування шформацп для виршення такого роду проблем е актуальною. 3 МАТЕР1АЛИ I МЕТОДИ

1снуе багато визначень стосовно того, що таке «велик дат». Серед них таю: «велию дат» - це петабайти шформацп, яю неможливо обробити в MS Excel; також, це дат, яю неможливо обробити на одному комп'ютерц «велию дат» - це будь-яка структурована чи неструкту-рована шформащя великих обсяпв [1-3].

Узагальнюючи поданi визначення, можна виокреми-ти, що «велию дат» - це не самi дат, а методи !х опрацю-вання, як1 дозволяють розподiлено обробити шформащю. ^ методи можна застосувати до масивiв будь-яко! розмi-рноста. У роботi наводяться декiлька прикладiв джерел ут-ворення великих даних та методи, яю призначенi для роботи з ними: дат про поведшку користувачiв в 1нтернетц GPS - сигнали; данi, зiбранi з лiчильникiв; данi, знятi iз камер спостереження; оцифрованi книги iз бiблiотек; iнформацiя про транзакцil умх клiентiв банку тощо.

З перелiчених прикладiв можна видiлити те, що юльюсть iнформацiйних джерел стрiмко зростае, вщпов-iдно технологil !х обробки та методи аналiзу великих даних набирають велико! популярности

Тому, серед основних наукових спрямувань для анал-iзу великих даних слщ видiлити:

- Data Mining: кластерний аналiз.

- Краудсорсинг: передача певних виробничих функцiй невизначеному колу ошб.

- Машинне навчання: використання моделей на базi машинного навчання для отримання комплексних про-гнозiв на осжда базових моделей.

- Iмiтацiйне моделювання: метод, що дозволяе буду-вати моделi процесiв, якi описують дшсш iнформацiйнi процеси.

- Вiзуалiзацiя даних: штерактивне вивчення вiзуаль-ного представлення абстрактних даних для посилення людського тзнання.

- Штучнi нейроннi мережi: модел^ побудованi за принципом функцюнування бiологiчних нейронних мереж.

Проаналiзувавши дiяльнiсть дослiдникiв [1-10] в га-лузi великих даних, можна сформулювати певш принципи роботи iз ними. Серед таких можна видшити:

- Горизонтальне масштабування, коли зростання об-сягу даних призводить до розширення системи та збшьшення кiлькостi техшчних засобiв у кластерi.

- Вщмовостшкпъ. При горизонтальному масштабу-ваннi машин в кластерi може бути багато. Для прикладу, Hadoop-кластер компанiï Yahoo мае бшьше нiж 42000 машин у кластер^ Така кiлькiсть машин не може безпе-ребiйно працювати. Даний принцип оперуеться методами обробки великих даних, яю враховують можливiсть збоïв та попереджують ïх.

- Локальнiсть даних. У розподшених системах данi фiзично знаходяться на одному сервер^ а обробляються на шшому, тим самим збiльшуючи витрати ресурсiв си-стеми на передачу даних - до витрат на ïх обробку.

Tехнологiчний аспект обробки великих даних повинен сл^вати згаданим вище принципам.

Найчастше в якост базового принципу обробки великих даних вказують SN-архiтектуру, яка забезпечуе паралельну обробку, масштабовану без деградацп на сотнi й тисячi вузлiв кластера. До основних ïï технологiï обробки «великих даних» вщносять:

- NoSQL;

- MapReduce;

- Apache Hadoop;

- Apache Spark.

Збшьшення обсяпв iнформацiï призводить до певних проблем, з якими класичт реляцiйнi архiтектури не справ-ляються. Тому виникла потреба спроектувати архитектуру NoSQL, яка здатна адаптуватися до зростання даних та ефективжй ïх обробки.

До особливостей NoSQL тдходу слiд вiднести:

- високу пропускну здатнiсть;

- необмежене горизонтальне масштабування;

- консистентнiсть у жертву продуктивности

До класифiкацiйних ознак NoSQL БД слщ вiднести:

1. Cховища типу ключ-значення. Модель даних - асоц-iативний масив або словник, який дозволяе працювати з даними по ключу. Основне завдання таких сховищ - максимальна продуктивтсть системи, яка не збериае шфор-мацiю про структуру значення. До прикладiв таких баз даних можна ввднести: Redis, Scalaris, Riak, Tokyo Tyrant.

2. Документш сховища. Модель даних об'еднуе мно-жину пар ключ-значення в абстракцiю, яку називають

«документ». Документа мають вкладену структуру, що об'еднуються в колекцп. Робота з документами проводиться по ключу, також юнують ршення, якi дозволяють виконувати запити по значенням атрибутiв. До прикладiв даних БД вщносять: SimpleDb, CouchDb, MongoDb.

3. Стовпцевi сховища. Модель даних - збереження значень, якi не штерпретоваш в байтових масивах та ад-ресуються кортежами. Основою тако! моделi даних е сто-впчик чи необмежене число стовпцiв для певно! таблицi. Стовпцi по ключам об'еднуються у имейства та набува-ють властивостi певних наборiв. До таких БД слщ вщнес-ти: BigTable, HBase, Cassandra.

4. Графовi сховища. Модель даних складаеться iз вершин, ребер i !х властивостей. Робота з даними виконуеться шляхом обходу графа по ребрах iз заданими властивос-тями. Педбш сховища застосовуються для роботи з даними типу графiв (наприклад, соцiальна мережа). Прикладом може бути БД Neo4j.

Також юнують класичнi методи для розробки засобiв оброблення неструктурованих даних. Однiею iз таких -парадигма MapReduce.

Дана модель розподшено! оброблення даних, запро-понована компанiею Google для обробки надвеликих обсяпв даних на комп'ютерних кластерах (рис. 1). Кластер - це декшька незалежних обчислювальних машин, якi використовуються спiльно та працюють як одна система [5].

Метод MapReduce передбачае оргатзащю даних у виг-лядi списков, обробка яких вiдбуваеться у 3 етапи (рис. 2):

1. Стадiя Map, на якiй данi обробляються за допомо-гою функцп map(), яку визначае користувач. Робота на цш стадп полягае у переробщ та фшьтрацп даних. Робота операцп схожа на метод map() у функцюнальних мовах програмування - функщя застосовуеться до кожного елементу списку. Функщя map приймае список на входi i повертае множину пар ключ-значення (key-value).

2. Стадiя Shuffle, на якш функцiя map «розбираеться по корзинам» - кожна корзина вщповщае одному ключу стадп map. В подальшому цi корзини на входi послужать функцп reduce().

Обчислювальш машини, що працюють спiльно

Рисунок 1 - Кластерна модель

3. Стад1я Reduce. Функщя reduce визначае фшальний результат для окремо! «корзини». Множина ycix значень, як1 повертае фyнкцiя reduce() е фiнальним результатом MapReduce - задачг

Ум запуски фyнкцiй map(), reduce() i shuffle(), що наведет на рис. 2, працюють незалежно та можуть оброб-ляти шформащю паралельно на рiзних машинах кластера. Така робота методу MapReduce дозволяе виконува-ти принцип горизонтального масштабування.

На сьогодш, леером у заcтоcyваннi парадигми MapReduce та створенш програмно! платформи для оргатзацп розподшено! обробки великих обcягiв даних е технологи Apache Hadoop MapReduce та Apache Spark.

Apache Hadoop MapReduce - це вшьна платформа, для оргатзацп обробки великих обсяпв даних (вишряеть-ся у петабайтах) з використанням парадигми MapReduce (рис. 3). Даний метод дозволяе здшснювати подiл вщо-соблених фрагментiв, кожен з яких може бути запущений на окремому вyзлi кластера. До складу Hadoop входить реалiзацiя розподшено! файлово! системи Hadoop HDFS, яка автоматично забезпечуе резервування даних та е оптишзованою для роботи з MapReduce. Для спро-щення доступу до даних в cховищi Hadoop розроблена SQL-подiбна мова Hive, яка е свого роду SQL для MapReduce, i запити яко! можуть бути розпаралелет й оброблет кшькома Hadoop-платформами.

Apache Spark - це високопродуктивний технiчний заciб для обробки даних, яю зберiгаютьcя в клаcтерi Hadoop (рис. 4). Порiвняно з попередшм Hadoop MapReduce, Spark забезпечуе в 100 разiв бiльшy продук-тивнicть при обробцi даних у пам'ят та у 10 разiв

бiльшy - при розмiщеннi даних на дисках. Даний ме-хашзм виконуеться на вузлах кластера Hadoop за допо-могою Hadoop YARN, та у в^окремленому режимi. У ньому пiдтримyетьcя обробка даних у сховищах HDFS, Cassandra, Hive та у будь-якому формат введення Hadoop. У жовтш 2014 року Apache Spark встановив свгтовий рекорд при сортувант 100 терабайт даних.

Основна в^мшшсть моделi Spark в^ Hadoop MapReduce (рис. 3-4) у тому, що Spark збертае шформащю на пам'ять комп 'ютера, тим самим забезпечуе вищу продуктивтсть платформи. В той час як Hadoop збертае !! на диску, забезпечуючи вищий рiвень безпеки.

Окрш традищйних можливостей моделi Apache Hadoop MapReduce, тобто обробки неструктурованих обсяпв даних, Apache Spark платформа включае в себе Spark Streaming для роботи з асинхронними семами, Mlib - бiблiотекy для машинного аналiзy та GraphX (рис. 5).

Модуль MLib (рис. 5) включае в себе алгоритми машинного навчання (клаcифiкацiя, регреciя, кластериза-щя, колаборативна фiльтрацiя i т.д.). Перевагою викорис-тання технологи Spark, модуля MLib для машинного навчання е те, що в Spark даш можна кешувати в оперативнш пам'ять Це дозволяе ^тотно прискорити обчислення для iтеративних алгоритмiв, якими е бiльшicть алгоритмiв машинного навчання.

GraphX - шструмент для аналiзy та обробки графiв (рис. 5). Концепщя графа реалiзована у виглядi так званого Property Graph - це мультиграф з метками на вершинах i ребрах. Мультиграф - це орiентований граф, в якому дозволен кратш ребра та петлi. Тут визначеш такi поняття, як вхiдна стетнь (число вхiдних ребер) та вихщ-на cтепiнь (число вихiдних ребер).

Вщфшьтроваш данi

Вiдфiльтрованi данi

Колекщя даних

Вiдфiльтрованi данi

Стадiя map()

Стадiя shuffle() Стадiя reduce()

Рисунок 2 - !люстращя роботи MapReduce

HDFS

HDFS запис

HDFS HDFS запис

Вхщш данi

HDFS

зчитування

Запит 1

--> Запит 2 ->

tr

Запит 3 r

Результат 1

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

i--

Результат 2 Результат 3

Повшьний через копiювання, серiалiзацiю та зберiгання на диску

Рисунок 3 - Схема обробки даних у MapReduce

У 10-100 разш швидше нiж через мережу чи диск

Рисунок 4 - Схема обробки даних у Spark

Spark SQL

SQL та обробка неструктурованих даних

MLlib

Алгоритм машинного навчання

GraphX

Обробка графiв Spark Streaming

Обробка CT^iM потошв

Spark Streaming

MLlib (machine learning)

Apache Spark

GraphX (graph)

Рисунок 5 - Модул1 Spark

Spark Streaming - це один iз найцiкавiших компонента Spark. 1з Spark Streaming можна створювати канали да-них, яю обробляються у реальному чаci (рис. 5). Крiм того, вiн забезпечуе cтiйкicть до збо!в, яка необхщна при роботi з real-time даними.

Нижче наводиться порiвняльний аналiз продуктив-ноcтi обох платформ у в^ношенш - час виконання до кшькосп iтерацiй (рис. 6).

Spark надае API на Scala, Java, Python, R мовах про-грамування.

4 ЕКСПЕРЕМЕНТИ

Проведет досл^ження методiв Spark та Hadoop MapReduce дозволяють зробити наступш висновки, що Spark е продуктившшою технологiею (рис. 6). Адже про-

грама спочатку створюе SparkContext об'ект, який вка-зуе Spark метод доступу до кластера. На осжда запропо-нованих вище методiв, для створення SparkContext cлiд здiйcнити експеримент - побудувати SparkConf об'ект, який метить iнформацiю про аплiкацiю.

Для детального аналiзy cлiд привести приклад створення SparkContext на Scala (рис. 7):

import org.apache.spark.SparkContext

import org.apache.spark.SparkConf

val conf = new SparkConf().

setAppName(appName).setMaster(master) new SparkContext(conf)

Основою Spark е концепщя пружного розподiленого набору - RDD. Це вiдмовоcтiйка колекцiя елементiв, яка

час виконання (С)

10

20

30

к1льк1сть ггеращи

Рисунок 6 - Порiвняльний аналiз продyктивноcтi Hadoop та Spark платформ

Рисунок 7 - Приклад створення Spark Context

опрацьовуеться паралельно. G два способи створення RDD: розпаралелення передано! колекцп в програмi та посилання на зовнiшню файлову систему, таку як HDFS або будь-яке шше джерело даних в Hadoop.

Для прикладу, в даному роздiлi аналiзуеться розпара-лелена система RDD. Вона повинна приймати csv або exel документ i3 надвеликою кiлькiстю iнформацiйних рядкiв про транзакцп. Для цього слiд завантажити документ на сервер, передати у Spark RDD, опрацювати та проаналiзувати шформащю та розподiлити у кластери-зовану базу даних.

Для проведення експеременту потрiбно роздшити структуру сервiсу на двi частини: перша - це веб-сто-ршка, на якiй буде UI з формою для вщправлення документу на сервер та штерфейсом i3 аналiзом даних пiсля отримання оброблених даних i3 сервера; друга - це API нашо! системи, яка буде представляти бiблiотеку методiв для прийому, обробки, аналiзу i вщправки даних ктенту (нашу веб-сторiнку).

Тут слщ зосередити увагу на API системи при засто-суваннi Apache Spark. Приклад тако! системи наведений на мовi Scala. Для початку, слщ задати налаштування кон-фцураци кластера та створити SparkContext.

import org.apache.spark.{SparkContext,

SparkConf}

object SparkUtil {

lazy val sparkConf = new

SparkConf() .setMaster("local[*]").setAppName("spark-app")

lazy val sc = new SparkContext(sparkConf)

В кодi master URL - це налаштування конф^рацп кластера; setMaster("local[*]") - означае запуск Spark локально з визначеним числом шформацшних потоюв вiдповiдно до кiлькостi ядер на певнш машинi; setMaster(spark://HOST:PORT) - конф^уращя для з'еднання iз зовнiшнiм кластером.

Також в кодi master URL слщ застосувати метод, для отримання файлу вщ клiента, здiйснити перевiрку: чи тип файлу вiдповiдае оч^ванням (csv або xlsx). Якщо так, тсд файл буде завантажено на сервер та передано його назву в метод parseAttachment(inputFile: String). 1накше -метод поверне попередження (warning). //метод отримання файлу в1д кл1ента def file = Action(parse.multipartFormData) { request =>

request.body.file("file").map { file => val filename: String = file.filename

val contentType : Option[String] = file.contentType

contentType match {

case Some ("text/csv") =>

SparkUtil.parseAttachment(filename)

case Some ("application/

vnd . openxmlformats-officedocument.spreadsheetml.sheet") =>

=> SparkUtil.parseAttachment(filename) case _ => SparkUtil.warning = true;

}

}

На наступному крощ експерименту, кожен елемент файлу передаеться в конструктор CSVReader, його слiд

розпарсити та повернути сирий контент у Spark RDD. Цей процес описуе метод розпаралелення над^ланого файлу та дозволяе розпаралелити опрацювання даних. Далi повертаеться колекцiя (list), яка передаеться в конструктор toTransactions(data), таким чином повертаеться колекщя з транзакцп. Шсля цього процесу, кожен елемент колекцп передаеться у DAO.create(), тобто зберь гаеться у базi даних.

//метод розпаралелення отриманого файлу

def parseAttachment(inputFile: String): Unit = {

val input = sc.wholeTextFiles(inputFile) // наш RDD

val result = input.flatMap { case (_, txt) =>

val reader = new CSVReader (new StringReader (txt) )

reader.readAll () } //розпарсити csv файл

//розпаралелити розпарсений RDD i повернути колекцп (list)

val data =

result.collect().map(_.mkString(",")).toList.tail val importedData = toTransactions(data) val importedCount = importedData.size //зберегти в базу даних кожен елемент ко-лекц^

importedData.foreach(U => DAO.create(U)) }

}

Наступним етапом проведення експерименту е зас-тосування класу одинака в кодi master URL для здшснен-ня основних операцiй з базою даних: тдключення до бази даних, створення таблищ, знищення таблицi, отримання рядка по id, повернення умх елементiв бази даних, онов-лення, видалення та створення рядка.

// клас одинак (scala object) для основних

опера^й з базою даних

object DAO extends DbSupport {

class TransactionTable(tag : Tag) extends Table[Transaction](tag, "TRANSACTIONS") {

def id: Rep[Long] = column[Long]("id", O.AutoInc, O.PrimaryKey, O.SqlType("BIGINT")) def account: Rep[String] = column[String]("account", O.SqlType("TEXT")) def description: Rep[String] = column[String] ("description", O.SqlType("TEXT"))

def currency_code: Rep[String] = column[Strin^]("currency_code",C^.SqlType(,,VARCHA^(255)")) def amount: Rep[BigDecimal] = column [BigDecimal] ("amount", O.SqlType("DECIMAL"))

def * = (id, account, description, currency_code, amount) <> (Transaction.tupled,

Transaction.unapply) }

val transactions = TableQuery[TransactionTable] def queryById = Compiled(

(id: Rep[Long]) =>

transactions.filter(_.id === id))

def createTable =

transactions.schema.create def dropTable =

transactions.schema.drop def setup = DBIO.seq(

createTable) val runDb = db.run(setup) def all = {

db.run(transactions.result)

}

def update(id:Long, transaction : Transaction) = {

db.run(queryById(id).update(transaction)) }

def delete(id:Long) = {

db.run(queryById(id).delete)

}

def c r e a t e ( t r an s a c t i on : T r an s a c t i on ) : Future[Int] = { db.run(

transactions += transaction)}} Наступним етапом експерименту являеться створення класу транзакцiй, який мае 4 поля: id, aKaym^account), on^(desc), код(code) i кiлькiсть(amount). //клас трaнзaкцiй

case class Transaction(id: Long, account: String, desc: String, code: String, amount: BigDecimal)

Для подaльшоï роботи, потрiбно створити трейт для налаштування бази даних, пiдключення, створення сесп та ïï запуску.

//скала трейт для запуску бази даних trait DbSupport {

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

val db = Database.forConfig("db")

implicit val session: Session = db.createSession()

def startDb() = { DAO.runDb } Пiсля налаштування БД, наступним етапом е створення актора для асинхронжи передaчi повiдомлень, для того, щоб встановити межу мiж компонентами. Вона гарантуе слaбозв'язaнiсть, iзоляцiю, прозорiсть розташу-вання та забезпечуе засоби для делегування помилок чи повiдомлень.

import akka.actor.Actor

import models.{Transaction, DAO}

object DbActor {

case object FetchAll

case class Update(id: Long, transaction : Transaction)

case class Delete(id : Long) case class Create(transaction:Transaction) case object CreateTable case object DropTable

}

class DbActor extends Actor {

import DbActor._ def receive: Receive = { case FetchAll =>

sender ! DAO.all case Update(id: Long, transaction : Transaction) => sender ! DAO.update(id, transaction) case Create(transaction : Transaction) =>

sender ! DAO.create(transaction) case Delete(id : Long) => sender ! DAO.delete(id) case CreateTable =>

sender ! DAO.createTable case DropTable =>

sender ! DAO.dropTable}} Останшм етапом в кодi master URL е об'еднання умх елементiв для створення основного класу запуску апль кaцiï. У робота використана скала бiблiотекa - spray, для запуску сервера i розгортання аплжацп. Слiд створити конф^ращю, об'еднати ïï з базою даних, створити сервю, систему aкторiв та запустити http сервер. //основний клас запуску апл!кац11 object Boot extends App with DbSupport{

implicit val system = ActorSystem(Config.actorSystemName)

implicit val timeout = Timeout(5.seconds) startDb()

Config.log.info("Database is up and running")

val application =

system.actorOf(Props[ApplicationActor], "website-service")

val port = Properties.envOrElse("PORT", Config.port.toString).toInt IO(Http) ? Http.Bind( listener = application, interface = Config.interface, port = port

)}

5 РЕЗУЛЬТАТИ

Кiнцевим вaрiaнтом експерименту е побудова SparkConf об'екту, який метить iнформaцiю про аплжа-щю. Вiн поданий на рис. 8, де наводиться штерфейс роботи аплжацп - злiвa та справа - вмют бази даних, тсля завантаження csv документу з даними на сервер.

Apache Spark - це фреймворк, за допомогою якого можна створити додатки для розподшених шформацш-них систем. Для роботи Spark надае програмне АР1 для неперервноï роботи з шформацшними процесами. Модуль розкидае код по вузлах кластера, при цьому розби-вае ïх на зaдaчi, створюе план виконання та слщкуе за його застосуванням.

Результатом роботи метода Spark е можливють запус-кати код через рiзнi розподiленi iнформaцiйнi системи. В режим Stand-alone mode, метод управляе уама ресурсами кластера. Yarn дозволяе додаткам запускатись на Hadoop кластерг Mesos та Local mode працюють в локальному ре-жимi та являються альтернативними системами для управ-лiння iнформaцiйними процесами кластера.

Метод Spark ж^вняно з Hadoop MapReduce е гнучк-iший. У нього новий aрхiтектyрний пiдхiд, який дозволяе серитзувати та зберiгaти в оперативнш пaм'ятi промiжнi дaнi. Також в процем його роботи, обмiн шформацшними процесами мiж вузлами проходить напряму, що при-швидшуе iнiцiaлiзaцiю та запуск задач метода Spark. Вш оперуе RDD aбстрaкцiями, яю бiльш yнiверсaльнi, а нiж MapReduce. Також Spark дозволяе розробляти додатки: для задач пакетжи обробки даних (batch processing); для роботи з потоками дaних(stream processing).

я а

и 'й

с

а

и

т о

к о

н

у

с и Р

На 0CH0Bi проведеного amni3y поданих моделей Spark та Hadoop MapReduce встановлено, що для створення розподшено! iнформaцiйноi системи не юнуе единих методiв та технологш, якi б поеднували всi етапи побудо-ви кластерних систем. Тому робота з детальним описом технологш вертикального масштабування iнформaцii для виршення такого роду проблем е актуальною. 6 ОБГОВОРЕННЯ

Сьогоднi в усьому свiтi ведеться активна робота над розробленням нов^шх iнформaцiйних технологiй, яю допомагають у надшвидкий час обробляти велию обся-ги неструктурованих даних [8-11]. Адже проблемою е широке використання класичних iнформaцiйних систем, яю здaтнi обробляти горизонтaльнi масиви даних. Проблематика розпаралелення iнформaцiйних потоюв спри-чинена неякiсним способом представлення шформацп на сайтах, ayдiо та вiдео-метерiaлaх малою адаптоваш-стю сучасних iнформaцiйних систем.

Дана проблематика немае широкого застосування, адже повшьними темпами розробляються iнформaцiйнi системи, якi би забезпечували повний комплекс техно-лопчного процесу aдaптaцii iнформaцiйних потокiв у кластери. 1снують поодинокi системи, ям виконують лише окремi фyнкцii. Це спричинено складшстю адап-тaцii та об'еднання рiзних програмних та апаратних за-собiв у одну систему. У результата немае повноцшних розроблених програмно-алгорштшчних зaсобiв, якi би забезпечували виршення сформульованих задач. ВИСНОВКИ

Завдяки прогресу i багатьом змiнaм в IT, машинний aнaлiз та обробка великих обсяпв даних сприяють вiдкрит-тю нових горизонтiв у област наукових дослiджень. Розви-ток явища, що називаеться «великими даними» створюе можливють трaнсляцii подiй у реальному чам, призводить до розробки дедуктивного програмного забезпечення. Таю перспективнi напрямки роботи aнaлiзyють структуру даних з метою прогнозу результата та створюють алгоритми передових кореляцiй, що сприяють новому розумшню дiяльностi розподлених iнформaцiйних систем. ПОДЯКИ

Дослiдження, що становлять мaтерiaл статга, безпосеред-ньо пов'язaнi з науково-до^дним напрямом кафедри шфор-мaцiйних систем та мереж Нацюнального yнiверситетy «Львiвськa полггехтка». Результата, викладет у роботi, ви-конано вдаовдао до держaвноi нayково-дослiдноi роботи за темою Мшстерства освiти i науки Укра!ни ДБ «ЖЕСТ» у 2011-2012 рр. (номер державжа реестрацп 0111U001222).

СПИСОК Л1ТЕРАТУРИ

1. What is Big Data [Electronic resource] - Access mode: http: //

datascience.berkeley.edu/what-is-big-data/

2. Shaw J. Why "Big Data" Is a Big Deal [Electronic resource] / J. Shaw. - Режим доступу: http://harvardmag.com/pdf/2014/03-pdfs/0314-HarvardMag.pdf

3. Schutt P. What is Big Data? [Electronic resource] / Р. Schutt. -Режим доступу: https://blogs.oracle.com/bigdata/big-data-and-analytic-top- 10-trends-for-2014

4. Boyko N. Basic concepts of dynamic recurrent neural networks development / N. Boyko, P. Pobereyko // ECONTECHMOD : an international quarterly journal on economics of technology and modelling processes. - Lublin : Polish Academy of Sciences, 2016. -Vol. 5, № 2. - P. 63-68.

5. Leskovec J. Mining of massive datasets / J. Leskovec, A. Rajaraman, J. D. Ullman. - Massachusetts : Cambridge University Press, 2014. - 470 р.

6. Mayer-Schoenberger V. A revolution that will transform how we live, work, and think / V. Mayer-Schoenberger, K. Cukier. - Boston New York, 2013. - 230 р.

7. Boyko N. A look trough methods of intellectual data analysis and their applying in informational systems / N. Boyko // Komp"yuterni nauky ta informatsiyni tekhnolohiyi CSIT 2016 : Materialy XI Mizhnarodnoyi naukovo-tekhnichnoyi konferentsiyi CSIT 2016 : proceedings. - L'viv : Vydavnytstvo L'vivs'koyi politekhniky, 2016. - P. 183-185.

8. Benderskaia E. N. Ostsilliatornye neironnye seti s khaoticheskoi dinamikoi v zadachakh klasternogo analiza / E. N. Benderskaia, S. V. Zhukova // Neirokomp'iutery: razrabotka, primenenie; Radiotekhnika : proceedings. - Moscow : Radyotekhnyka, 2011. -№ 7. - P. 74-86.

9. Benderskaia E. N. Modelirovanie neironnoi aktivnosti mozga i bionspirirovannye vychisleniia / E. N. Benderskaia, K. V. Nikitin // Nauchno-tekhnicheskie vedomosti SPbGPU. Informatika. Telecommunicatcii. Upravlenie : proceedings. - St.-Petersburg : Izd-vo Politehn. un-ta. - 2011. - № 6-2(138). - P. 34-40.

10.Benderskaia E. N. Vozmozhnosti primeneniia nekotorykh kharakteristik sinkhronizatsii dlia vyiavleniia samoorganizuiushchikhsia klasterov v ostsilliatornoi neironnoi seti s khaoticheskoi dinamikoi / E.N. Benderskaia // Neirokomp'iutery: razrabotka, primenenie: nauchno-tekhnicheskii zhurnal : proceedings. - Moscow : Nauchnyi tsentr neirokomp'iuterov, 2012. - № 11. - P. 69-73.

11. Feng J. Fixed-point attractor analysis for a class of neurodynamics / J. Feng, D. Brown // Neural Computation : proceedings. -Massachusetts : MIT Press Cambridge, 1998. - Vol. 10. - P. 189-213.

12. Kaneko K. Life: an introduction to complex systems biology / K. Kaneko. - Berlin : Springer-Verlag, 2006. - 369 p.

13. Maass W. Real-time computing without stable states: a new framework for neural computations based on perturbations

/ W. Maass, T. Natschger, H. Markram // Neural Computation : proceedings. - Switzerland: Institute for Theoretical Computer Science, 2002. - Vol. 11. - P. 2531-2560.

14. Schrauwen B. An overview of reservoir computing theory, applications and implementations / B. Schrauwen, D. Verstraeten, J. V. Campenhout // Proc. of the 15th European Symp. on Artificial Neural Networks : proceedings. - Belgium : Bruges, 2007. -P. 471-482.

15. Coombes S. Waves, bumps, and patterns in neural field theories / S. Coombes // Biological Cybernetics : proceedings. - Nottingham : University of Nottingham, 2005. - Vol. 93, № 2. - P. 91-108.

Стаття надшшла до редакцп 02.03.2017.

Шсля доробки 17.04.2017. Бойко Н. И.

Канд. экон. наук, доцент, доцент кафедры информационных систем и сетей, Национальный университет «Львовская политехника», Львов, Украина

ПЕРСПЕКТИВНЫЕ ТЕХНОЛОГИИ ИССЛЕДОВАНИЯ БОЛЬШИХ ДАННЫХ В РАСПРЕДЕЛЕННЫХ ИНФОРМАЦИОННЫХ СИСТЕМАХ

Актуальность. Рассмотрены вопросы корректной интерпретации информационных потоков в распределенных информационных системах. Объектом исследования являются методы исследования продвижение «больших данных» по кластерам системы.

Цель работы является исследование перспективных направлений и технологий для анализа структур данных в распределенных информационных системах.

Метод. Рассмотрены технологии обработки больших данных. Проведен анализ каждой из них. Приведен пример применения парадигмы MapReduce, загрузка больших объемов данных на сервер, обработка и анализ неструктурированной информации и распре-

деление ее в кластеризованного базу данных. В статье обобщены понятие «большие данные». Приводятся примеры методов по работе с массивами неструктурированных данных. Выделенные научные направления для анализа больших данных. Сформулированы принципы работы неструктурированных данных в распределенной информационной системы. Приводится работа платформ Hadoop MapReduce и Apache Spark. Анализируются свойства и приводятся различия. Приводится сравнительный анализ производительности обеих платформ в отношении - время выполнения количеству итераций. Рассматриваются способы создания RDD: распараллеливания переданной коллекции в программе и ссылки на внешнюю файловую систему в Hadoop. Также приводится пример распараллеленных системы RDD. Предлагается работа класса одиночка для основных операций с базой данных: подключение к базе данных, создание таблицы, уничтожение таблицы, получение строки по id, возвращение всех элементов базы данных, обновления, удаления и создания строки.

Результаты. Проведенный анализ моделей Spark и Hadoop MapReduce для поеапнои построения распределенной информационной системы. Построен SparkConf объект, который содержит информацию о аппликацию и является конечным вариантом эксперимента.

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

Ключевые слова: система, технология, большие данные, информация, методика, база данных, веб-аппликация, моделирование, обработка, анализ.

Boyko N.

PhD., Associate Professor, Associate Professor of Department of Information Systems and Networks, Lviv Polytechnic National University, Lviv, Ukraine

ADVANCED TECHNOLOGIES OF BIG DATA RESEARCH IN DISTRIBUTED INFORMATION SYSTEMS

Context. Considered question correct interpretation information flow in distributed information systems. The object of study methods are promotion "big data" on cluster system.

Objective. Is the study promising areas and technology for the analysis of structures data in distributed information systems.

Method. The big data tendency prospects as well as timeliness of the problem are studied in this paper. The principles of work with them are addressed. Big data processing technologies are provided. The analysis of each one is performed. An example of "MapReduce" paradigm application, uploading of big volumes of data, processing and analyzing of unstructured information and its distribution into the clustered database is provided. The article summarizes the concept of "big data". Examples of methods for working with arrays of unstructured data. Dedicated scientific guidance for analyzing big data. The principles of unstructured data in distributed information systems. Driven work platform "Hadoop MapReduce" and "Apache Spark". Analyzed their properties and given the differences. An analysis of comparative performance against both platforms - the performance of the number of iterations. Consider ways to create RDD: parallelization transmitted collection program and a link to an external file system in "Hadoop". There is an example rozparalelenoyi system RDD. Proposed work lone class for basic database operations: database connection, create a table, a table, get in line id, returning all elements of the database, update, delete and create the line.

Results. The analysis Models Spark and Hadoop MapReduce for phased construction distributed information system. built up SparkConf object, containing information about applique and is the final version of the experiment.

Conclusions. Conducted experiment confirmed efficiency the proposed method, are capable process horizontal data arrays, that parallelization by defective presentation of information. These promising areas of analyze structure data for the purpose of forecast results and create algorithms advanced correlation, contributing new understanding activity distributed information systems further research can consist in wide use information systems, that would provide a full range technological process adaptation information flows in clusters.

Keywords: system, technology, big data, information, technique, database, Web application, modeling, processing, analytics.

REFERENCES

1. What is Big Data [Electronic resource]. Access mode: http:// datascience.berkeley.edu/what-is-big-data/

2. Shaw J. Why "Big Data" Is a Big Deal [Electronic resource]. Rezhym dostupu: http://harvardmag.com/pdf/2014/03-pdfs/0314-HarvardMag. pdf

3. Schutt P. What is Big Data? [Electronic resource]. Rezhym dostupu: https://blogs.oracle.com/bigdata/big-data-and-analytic-top-10-trends-for-2014

4. Boyko N., Pobereyko P. Basic concepts of dynamic recurrent neural networks development, ECONTECHMOD : an international quarterly journal on economics of technology and modelling processes. Lublin, Polish Academy of Sciences, 2016, Vol. 5, No. 2, pp. 63-68.

5. Leskovec J., Rajaraman A., Ullman J. D. Mining of massive datasets. Massachusetts, Cambridge University Press, 2014, 470 p.

6. Mayer-Schoenberger V., Cukier K. A revolution that will transform how we live, work, and think. Boston New York, 2013, 230 p.

7. Boyko N. A look trough methods of intellectual data analysis and their applying in informational systems, Komp"yuterni nauky ta informatsiyni tekhnolohiyi CSIT 2016 : Materialy XI Mizhnarodnoyi naukovo-tekhnichnoyi konferentsiyi CSIT 2016 : proceedings. L'viv, Vydavnytstvo L'vivs'koyi politekhniky, 2016, pp. 183-185.

8. Benderskaia E. N., Zhukova S. V. Ostsilliatornye neironnye seti s khaoticheskoi dinamikoi v zadachakh klasternogo analiza, Neirokomp"iutery: razrabotka, primenenie; Radiotekhnika : proceedings. Moscow, Radyotekhnyka, 2011, No. 7, pp. 74-86.

9. Benderskaia E. N., Nikitin K. V. Modelirovanie neironnoi aktivnosti mozga i bionspirirovannye vychisleniia, Nauchno-tekhnicheskie vedomosti SPbGPU. Informatika. Telecommunicatcii. Upravlenie : proceedings. St.-Petersburg, Izd-vo Politehn. un-ta, 2011, No. 6-2(138), pp. 34-40.

10. Benderskaia E. N. Vozmozhnosti primeneniia nekotorykh kharakteristik sinkhronizatsii dlia vyiavleniia samoorganizuiushchikhsia klasterov v ostsilliatornoi neironnoi seti s khaoticheskoi dinamikoi, Neirokomp"iutery: razrabotka, primenenie: nauchno-tekhnicheskii zhurnal : proceedings. Moscow, Nauchnyi tsentr neirokomp"iuterov, 2012, No. 11, pp. 69-73.

11. Feng J., Brown D. Fixed-point attractor analysis for a class of neurodynamics, Neural Computation : proceedings. Massachusetts, MIT Press Cambridge, 1998, Vol. 10, pp. 189-213.

12. Kaneko K. Life: an introduction to complex systems biology. Berlin, Springer-Verlag, 2006, 369 p.

13. Maass W., Natschger T., Markram H. Real-time computing without stable states: a new framework for neural computations based on perturbations, Neural Computation : proceedings. Switzerland, Institute for Theoretical Computer Science, 2002, Vol. 11, pp. 2531-2560.

14. Schrauwen B., Verstraeten D., Campenhout J. V. An overview of reservoir computing theory, applications and implementations, Proc. of the 15th European Symp. on Artificial Neural Networks : proceedings. Belgium, Bruges, 2007, pp. 471-482.

1 5 . Coombes S. Waves, bumps, and patterns in neural field theories, Biological Cybernetics : proceedings. Nottingham, University of Nottingham, 2005, Vol. 93, No. 2, pp. 91-108.

i Надоели баннеры? Вы всегда можете отключить рекламу.