HPC vs Big Data (Russian version)
-
Upload
irina-fedulova -
Category
Science
-
view
231 -
download
2
Transcript of HPC vs Big Data (Russian version)
Agenda
• Сравнениe HPC и Big Data– Задачи– Инфраструктура– Алгоритмы и программы
• Современные тренды в Big Data– Apache Spark
2
HPC: Задачи
Науки о материалах и нанотехнологии
Геномика Системная биология
ГидродинамикаФинансы
и оценка рисков
Обработка геофизических
данныхМоделирование климата и землетрясений
Исследование пандемий
4
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
HPC: Hardware = «суперкомпьютеры»
• Суперкомпьютер– (почти) однородные узлы– очень быстрая сеть
• Архитектура – тор или дерево– Параллельная файловая система
• Lustre, IBM GPFS– Бенчмарк
• Linpack http://www.netlib.org/linpack/• Graph500 http://www.graph500.org/
– Основное внимание – утилизация cpu, memory, networkbandwidth
6
Big Data: The Four V’s
• Volume = Объем• Variety = Разнообразие• Velocity = Скорость• Veracity = (Не)Достоверность
10
Big Data: Задачи
• Задачи, параллельные по данным– Применение одного преобразования ко всем элементам
• Машинное обучение• Примеры
– Анализ логов• Поведение пользователей в интернете
– Рекомендательные системы» Магазины» Банки » Сотовые операторы» …
• Internet Of Things: сенсоры– Anomaly detection
– Анализ графов• Социальные сети
15
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, …
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
Аналогия: 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
Big Data: Hardware = «датацентры»
• Commodity Cluster– Традиционный – on premise– Cloud
• Сеть может быть не очень быстрая и/или очень неоднородная– Архитектура интерконнекта – обычно «черный ящик» (особенно на cloud)
• Большой объем HDD– Параллельная файловая система
• Так как датацентрыстроят из обычных компонентов, то велик failure rate– Необходима избыточность и fault tolerant software
• Бенчмарк– 1PB Parallel sort
• Основной фокус – нагрузка на HDD, network bandwidth
19
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
Map Reduce
• Программная модель для обработки распределенных данных– Идея пришла из функциональных языков
• Map() = применение некоторой элементарной операции ко всем элементам списка
• Reduce() = «свёртка» – преобразование списка к одному значению при помощи заданной функции
• Google MapReduce (2004)– http://research.google.com/archive/mapreduce.html
• Apache Hadoop – opensource реализация– Всю работу по распределению работы фреймворк берет на себя
22
Map Reduce: Пример
• Word Count
23
Image source: http://blog.trifork.com/2009/08/04/introduction-to-hadoop/
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
Hadoop Distributed File System (2)
https://www.cac.cornell.edu/vw/MapReduce/dfs.aspx
Block size = 64MBReplication factor = 3
25
Spark
• Развитие идей Hadoop Map Reduce • Хранение промежуточных результатов в оперативной памяти– До 100 раз быстрее, чем Hadoop
• Итеративные алгоритмы машинного обучения• Интерактивное изучение данных • Real-time stream processing
• Написан на Scala– + поддерживает Python, Java
28
Основная идея Spark
• Алгоритм формулируется в терминах преобразований датасетов
• Resilient Distributed Dataset (RDD)– Коллекция объектов, которые могут храниться в памяти или на диске
– Построена при помощи параллельных преобразований– Последовательность преобразований (lineage) записывается– В случае сбоев объекты автоматически вычисляются заново
• Всю работу по распределению работы фреймворк берет на себя
29
Возможные операции над RDD
map
filter
groupBy
union
join
leftOuterJoin
rightOuterJoibn
reduce
count
fold
reduceByKey
groupByKey
cogroup
flatMap
take
first
partitionBy
pipe
distinct
save
...
30
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
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
Заключение
• HPC vs Big Data– Нужно определиться с терминологией– «Разные» задачи?– «Разная» инфраструктура?
• Beouwlf cluster == HPC of 1994 == “Big Data” cluster of today• Infiniband + Hadoop = HPC?
37
HPC BigData
BigCompute