Top Banner
Большие данные и высокопроизводительные вычисления Федулова И.А., к.ф.-м.н. IBM
38

HPC vs Big Data (Russian version)

Aug 13, 2015

Download

Science

Irina Fedulova
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: HPC vs Big Data (Russian version)

Большие данные и высокопроизводительные вычисленияФедулова И.А., к.ф.-м.н.IBM

Page 2: HPC vs Big Data (Russian version)

Agenda

• Сравнениe HPC и Big Data– Задачи– Инфраструктура– Алгоритмы и программы

• Современные тренды в Big Data– Apache Spark

2

Page 3: HPC vs Big Data (Russian version)

HPC: Задачи

Научное исследование

Физический эксперимент Теория Компьютерное

моделирование

3

Page 4: HPC vs Big Data (Russian version)

HPC: Задачи

Науки о материалах и нанотехнологии

Геномика Системная биология

ГидродинамикаФинансы

и оценка рисков

Обработка геофизических

данныхМоделирование климата и землетрясений

Исследование пандемий

4

Page 5: HPC vs Big Data (Russian version)

HPC: Алгоритмы и программы• Многие задачи сводятся к дифференциальным и интегральным уравнениям

• Алгоритмы требуют большого количества обменов между узлами– MPI = Message Passing Interface – PGAS = Partitioned Global Address Space

• Узлы многоядерные– OpenMP, CUDA– Гибридное программирование

• Математические библиотеки– ESSL, ScaLAPACK, FFTW, …

• Прикладные программы– Химия, биология, физика– Визуализация

http://www.fz-juelich.de/ias/jsc/EN/Expertise/Support/Software/_node.html

5

Page 6: HPC vs Big Data (Russian version)

HPC: Hardware = «суперкомпьютеры»

• Суперкомпьютер– (почти) однородные узлы– очень быстрая сеть

• Архитектура – тор или дерево– Параллельная файловая система

• Lustre, IBM GPFS– Бенчмарк

• Linpack http://www.netlib.org/linpack/• Graph500 http://www.graph500.org/

– Основное внимание – утилизация cpu, memory, networkbandwidth

6

Page 7: HPC vs Big Data (Russian version)

HPC: Примеры систем

• Top500– http://top500.org/lists/2014/11/

7

Page 8: HPC vs Big Data (Russian version)

HPC: Как выглядит суперкомпьютер

8

Page 9: HPC vs Big Data (Russian version)

9

Page 10: HPC vs Big Data (Russian version)

Big Data: The Four V’s

• Volume = Объем• Variety = Разнообразие• Velocity = Скорость• Veracity = (Не)Достоверность

10

Page 11: HPC vs Big Data (Russian version)

11http://www.ibmbigdatahub.com/infographic/four-vs-big-data

Page 12: HPC vs Big Data (Russian version)

12http://www.ibmbigdatahub.com/infographic/four-vs-big-data

Page 13: HPC vs Big Data (Russian version)

13http://www.ibmbigdatahub.com/infographic/four-vs-big-data

Page 14: HPC vs Big Data (Russian version)

14http://www.ibmbigdatahub.com/infographic/four-vs-big-data

Page 15: HPC vs Big Data (Russian version)

Big Data: Задачи

• Задачи, параллельные по данным– Применение одного преобразования ко всем элементам

• Машинное обучение• Примеры

– Анализ логов• Поведение пользователей в интернете

– Рекомендательные системы» Магазины» Банки » Сотовые операторы» …

• Internet Of Things: сенсоры– Anomaly detection

– Анализ графов• Социальные сети

15

Page 16: HPC vs Big Data (Russian version)

Big Data: Алгоритмы и программы

16

• Data Mining and Machine Learning – Снижение размерности (“dimensionality reduction”)

• Principal Component Analysis, locally linear embedding, …– Регрессия– Классификация– Кластеризация– Anomaly detection– Supervised learning

• Нейросети, логистическая регрессия, support vector machines, k-NN

• Численные методы линейной алгебры

• External memory and cache obliviousness– Algorithms and data structures minimizing I/Os for data not fitting

on memory but fitting on disk. B-trees, buffer trees, multiwaymergesort, …

Page 17: HPC vs Big Data (Russian version)

Big Data: Алгоритмы и программы (2)

17

High dim. data

Locality  sensitive  hashing

Clustering

Dimensionality  

reduction

Graph data

PageRank,  SimRank

Community  Detection

Spam  Detection

Infinite data

Filtering  data  

streams

Web  advertising

Queries  on  streams

Machine learning

SVM

Decision  Trees

Perceptron,  kNN

Apps

Recommender  

systems

Association  Rules

Duplicate  document  detection

J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

Page 18: HPC vs Big Data (Russian version)

Аналогия: HPC vs Big Data

• Параллельное перемножение больших матриц

• Поэлементное перемножение матриц

x =

C(m,n)Row A(m,k) Col B(k,n)

C(m,n)

x =

B(m,n)A(m,n)

18

Page 19: HPC vs Big Data (Russian version)

Big Data: Hardware = «датацентры»

• Commodity Cluster– Традиционный – on premise– Cloud

• Сеть может быть не очень быстрая и/или очень неоднородная– Архитектура интерконнекта – обычно «черный ящик» (особенно на cloud)

• Большой объем HDD– Параллельная файловая система

• Так как датацентрыстроят из обычных компонентов, то велик failure rate– Необходима избыточность и fault tolerant software

• Бенчмарк– 1PB Parallel sort

• Основной фокус – нагрузка на HDD, network bandwidth

19

Page 20: HPC vs Big Data (Russian version)

Big Data: примеры датацентров• Google

– ~1 миллион серверов– Проиндексировано 60*10^12 веб страниц– Суммарное энергопотребление - 260MW– 3*10^6 поисков в минуту– http://www.google.com/about/datacenters

• Microsoft– ~1 миллион серверов– Bing, One Drive, Azure cloud, …

• Facebook– ~200 000 серверов– Обеспечивает трафик для 1.35 миллиарда пользователей– …которые закачивают 750Тб контента в сутки– Собственная инфраструктура сети – data center fabric

• Yandex– Около 10 датацентров– http://habrahabr.ru/company/yandex/blog/258823/

20

Page 21: HPC vs Big Data (Russian version)

21

Page 22: HPC vs Big Data (Russian version)

Map Reduce

• Программная модель для обработки распределенных данных– Идея пришла из функциональных языков

• Map() = применение некоторой элементарной операции ко всем элементам списка

• Reduce() = «свёртка» – преобразование списка к одному значению при помощи заданной функции

• Google MapReduce (2004)– http://research.google.com/archive/mapreduce.html

• Apache Hadoop – opensource реализация– Всю работу по распределению работы фреймворк берет на себя

22

Page 23: HPC vs Big Data (Russian version)

Map Reduce: Пример

• Word Count

23

Image source: http://blog.trifork.com/2009/08/04/introduction-to-hadoop/

Page 24: HPC vs Big Data (Russian version)

Hadoop Distributed File System

• Основные идеи– Hardware failure tolerance– Batch processing oriented

• High throughput instead of low latency– Large datasets

• 10000+ nodes, ~450PB– Simple Coherency Model

• Write once, read many - no appending writes– “Moving Computation is Cheaper than Moving Data”– Portability

• HDFS живет поверх файловой системы ОС

24

Page 25: HPC vs Big Data (Russian version)

Hadoop Distributed File System (2)

https://www.cac.cornell.edu/vw/MapReduce/dfs.aspx

Block size = 64MBReplication factor = 3

25

Page 26: HPC vs Big Data (Russian version)

Big Data: Экосистема

Image: www.facebook.com/hadoopers 26

Page 27: HPC vs Big Data (Russian version)

Map Reduce и дисковые операции

27Итеративные алгоритмы работают очень медленно

Page 28: HPC vs Big Data (Russian version)

Spark

• Развитие идей Hadoop Map Reduce • Хранение промежуточных результатов в оперативной памяти– До 100 раз быстрее, чем Hadoop

• Итеративные алгоритмы машинного обучения• Интерактивное изучение данных • Real-time stream processing

• Написан на Scala– + поддерживает Python, Java

28

Page 29: HPC vs Big Data (Russian version)

Основная идея Spark

• Алгоритм формулируется в терминах преобразований датасетов

• Resilient Distributed Dataset (RDD)– Коллекция объектов, которые могут храниться в памяти или на диске

– Построена при помощи параллельных преобразований– Последовательность преобразований (lineage) записывается– В случае сбоев объекты автоматически вычисляются заново

• Всю работу по распределению работы фреймворк берет на себя

29

Page 30: HPC vs Big Data (Russian version)

Возможные операции над RDD

map

filter

groupBy

union

join

leftOuterJoin

rightOuterJoibn

reduce

count

fold

reduceByKey

groupByKey

cogroup

flatMap

take

first

partitionBy

pipe

distinct

save

...

30

Page 31: HPC vs Big Data (Russian version)

Word Count: From Map Reduce to Spark

Map Reduce Spark

31

http://www.slideshare.net/databricks/bdtc2

Page 32: HPC vs Big Data (Russian version)

Hadoop vs Spark

32

http://www.slideshare.net/databricks/bdtc2

Page 33: HPC vs Big Data (Russian version)

Spark Components

• Spark streaming• MLLib• SparkSQL• GraphX• SparkR• …

33

Page 34: HPC vs Big Data (Russian version)

Berkeley Data Analytics Stack

https://amplab.cs.berkeley.edu/software

34

Page 35: HPC vs Big Data (Russian version)

IBM and Spark

• http://www.ibm.com/analytics/us/en/technology/spark/

• IBM SystemML – технология машинного обучения будет встроена в Spark

• IBM Analytics продукты будут поддерживать Sparkна IBM BlueMix

• Будет открыт Spark Technology Center в Сан-Франциско• MOOC Обучение для data scientists

35

Page 36: HPC vs Big Data (Russian version)

Big Data Online Education

• edX– Introduction to Big Data with Apache Spark

• https://courses.edx.org/courses/BerkeleyX/CS100.1x/1T2015/info

– Scalable Machine Learning with Apache Spark• https://courses.edx.org/courses/BerkeleyX/CS190.1x/1T2015/info

• Udacity– Intro To Hadoop and Map Reduce

• https://www.udacity.com/course/intro-to-hadoop-and-mapreduce--ud617

• Coursera– Mining Massive Datasets

• https://www.coursera.org/course/mmds

– Machine Learning• https://www.coursera.org/learn/machine-learning/home/info

• IBM Big Data University– http://bigdatauniversity.com/

• Kaggle competitions– https://www.kaggle.com/

36

Page 37: HPC vs Big Data (Russian version)

Заключение

• HPC vs Big Data– Нужно определиться с терминологией– «Разные» задачи?– «Разная» инфраструктура?

• Beouwlf cluster == HPC of 1994 == “Big Data” cluster of today• Infiniband + Hadoop = HPC?

37

HPC BigData

BigCompute

Page 38: HPC vs Big Data (Russian version)

Спасибо!

[email protected]

38