Высокопроизводительные вычисления Больших данных

Дхабалешвар К. Панда, Сяойи Лу и Дипти Шанкар

 

Первое издание на английском языке: август 2022

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

MIT Press выражает благодарность анонимным рецензентам, предоставившим комментарии к черновикам данной книги. Щедрая работа академических экспертов необходима для установления авторитета качества наших публикаций. Мы с благодарностью признаём вклад этих не указанных в титрах читателей.

Опубликовано The MIT Press

Cambridge, Massachusetts

US

One Broadway

12th Floor

Cambridge, MA 02142

UK

Unit 57710

PO Box 6945

London W1A 6US UK

ISBN 9780262046855

LC Record

MIT Press

2022-08-02

 Состав исполнителей

Издания на английском языке
Авторы
Дхабалешвар К. Панда
Сяойи Лу
Дипти Шанкар

 www.Manning.com

 Благодарности

Мы благодарны нашим ученикам и сотрудникам Адитье Бхату, Раджарши Бисвасу, Шашанк Гугнани, Юджи Хуи, Нусрату Исламу, Хасибу Джаведу, Арджуну Кашьяпу, Куналу Кулкарни, Тяньси Ли, Юке Ли, Хао Ци, доктору Васи-ур-Рахману, Хайян Ши и Цзе Чжан за их совместную научную работу в течение последних десяти лет. Мы искренне благодарим Шашанк Гугнани, Хасибу Джаведу, Арджуну Кашьяпу, Юке Ли, Хао Ци и Хайян Ши за их вклад в этот сборник и за корректуру нескольких версий данной рукописи. Особая благодарность Мари Ли, Кейт Элвелл и Элизабет Суэйзи из MIT Press за их существенную помощь в публикации этой книги. Кроме того, мы обязаны Национальному научному фонду (NSF) за несколько грантов (например, IIS-1447804, OAC-1636846, CCF-1822987, OAC-2007991, OAC-2112606 и CCF-2132049). Эта книга была бы невозможна без такой поддержки.

Наконец, мы посвящаем эту книгу нашим любящим семьям (П. С. Панда, С. М. Панда, Дебашри Пати, Абха Панда, Цзунхе Лу, Хайинг Ю, Шерри Пэн, Ада Лу, Аливия Лу, Алан Лу, доктор Р. Шивашанкар, Г. С. Ушарани, и Манджу Г. Сиддаппа) за их любовь и понимание во время длительного процесса написания этой книги в течение последних пяти лет.

Дхабалешвар К. Панда, Сяойи Лу и Дипти Шанкар

19 марта 2022

 Об этой книге

Углублённый обзор новой области, объединяющей высокопроизводительные вычисления, обработку Больших данных и глубокое обучение.

За последнее десятилетие экспоненциальный взрыв данных, известных как Большие данные, изменил наши понимание и применение мощности данных. Новая область высокопроизводительных вычислений Больших данных, объединяющая высокопроизводительные вычисления (HPC), обработку Больших данных и Глубинное обучение, направлена ​​на решение проблем, связанных с крупномасштабной обработкой данных. Эта книга предлагает подробный обзор высокопроизводительных вычислений Больших данных и связанных с ними технических вопросов, подходов и решений.

Книга охватывает основные концепции и необходимые базовые знания, включая структуры обработки данных, системы хранения и аппаратные возможности; предлагает подробное обсуждение технических вопросов ускорения вычислений Больших данных с точки зрения вычислений, взаимодействия, памяти и хранения, проектирования кода, характеристики рабочей нагрузки и сравнительного анализа, а также развёртывания системы и управления ею; также исследует эталонное тестирование и рабочие нагрузки для оценки систем промежуточного программного обеспечения Больших данных. В ней подробно обсуждаются вычислительные системы и приложения для Больших данных с высокопроизводительными сетевыми, вычислительными технологиями и технологиями хранения, включая самые современные разработки для систем обработки и хранения данных. Наконец, в книге рассматриваются некоторые передовые темы исследований в области высокопроизводительных вычислений Больших данных, в том числе разработка высокопроизводительных стеков глубинного обучения на основе Больших данных (DLoBD), а также технологий Облачных решений высокопроизводительных вычислений.

Глава 1. Введение

Глава 2. Модели и системы параллельного программирования

Глава 3. Параллельные и распределённые системы хранения

Глава 4. Архитектура и тенденции HPC

Глава 5. Возможности и проблемы ускорения вычислений Больших данных

Глава 6. Эталонное тестирование систем Больших данных

Глава 7. Ускорение RDMA

Глава 8. Ускорение при помощи многоядерных технологий и дополнительных вычислительных устройств

Глава 9. Ускорение при помощи технологий высокопроизводительного хранения

Глава 10. Глубинное обучение на основе Больших данных

Глава 11. Проектирование с применением технологий Облачных решений

Глава 12. Передовые исследования в области высокопроизводительных вычислений Больших данных

Об авторах

Дхабалешвар К. Панда профессор и почётный научный сотрудник в области вычислительных наук и инженерии в Университете штата Огайо.

Сяойи Лу доцент кафедры компьютерных наук и инженерии Калифорнийского университета в Мерседе.

Тайлер Леонхардт работает инженером-программистом в команде PowerShell около 2 лет, а в Microsoft — почти 3 года. Участник команды PowerShell.

Дипти Шанкар в настоящее время работает в SAP в Германии.

Об обложке

 Содержание

Вводная часть
Благодарности
Об авторах
Глава 1. Введение
Обзор
Характеристики и тенденции Больших данных
Существующие системы для управления и обработки данных
Тенденции технологии
Конвергенция в HPC, Больших данных и Глубинном обучении
Схема данной книги
Выводы
Глава 2. Модели и системы параллельного программирования
Обзор
Среды пакетной обработки
Apache Hadoop MapReduce
Образец WordCount с применением MapReduce
Apache Spark
Образец WordCount с применением Spark
Dryad
DataMPI
Вертикально интегрированные решения
Среды обработки в потоках
Apache Storm
Потоковая обработка Apache Spark
Apache Heron
Apache Fink
Среды обработки запросов
MySQL
Hive
HBase
Spark SQL
Вертикально интегрированные решения
Среды обработки в графах
GraphX
Pregel
Giraph
GraphLab
GraphBLAS
Вертикально интегрированные решения
Среды Машинного обучения и Глубинного обучения
Google TensorFlow
PyTorch Facebook
Apache MXNet
Spark MLlib
Вертикально интегрированные решения
Взаимодействие инструментов Больших данных
Инструменты с открытым исходным кодом
Размещаемые и коммерческие инструменты визуализации
Инструменты мониторинга и диагностики
Starfish
Dynatrace
Sparklint
Datadog
Выводы
Глава 3. Параллельные и распределённые системы хранения
Обзор
Файловые хранилища
Параллельная файловая система
Lustre
IBM GPFS
API файловой системы POSIX
Распределённая файловая система
Распределённая файловая система Hadoop
Файловая система Google и Colossus
Хранилища объектов
Amazon S3
OpenStack Swift
Ceph
Образец API объектного хранилища
Блочные хранилища
Amazon EBS
Cinder
Blizzard
Образец API блочного хранилища
Ориентированные на память хранилища
Сосредоточенные на оперативной памяти Базы данных
Cassandra
Apache Ignite
Хранилища ключ- значение
Memcached
Redis
RAMCloud
Файловые системы в оперативной памяти
Инструменты мониторинга и диагностики
Выводы
Глава 4. Архитектура и тенденции HPC
Обзор
Вычислительные возможности
Архитектуры многоядерных ЦПУ
Тенденции аппаратных средств
Оптимизированные под ЦПУ библиотеки
Архитектуры GPU
Тенденции аппаратных средств
Программный интерфейс для GPU
Специализированные аппаратные средства: FPGA
Intel FPGA
AMD Xilinx Virtex и Versal
Специализированные аппаратные средства: ASIC
Google TPU
Intel Nervana и Habana
Cerebras WSE
SambaNova
Graphcore
Emu
Хранилища
Тенденции аппаратных средств хранения
SSD на основе PCIe
NVMe
Память долговременного хранения
Буферизация ускорения и параллельная файловая система
Библиотеки ввода/ вывода
Сетевой интерконнект
Тенденции сетевых аппаратных средств
InfiniBand Software Library и RDMA
Сетевые протоколы поверх допускающего RDMA интерконнекта
RDMA поверх NVM
Выводы
Глава 5. Возможности и проблемы ускорения вычислений Больших данных
Обзор
C1: Проблемы вычислений
C2: Проблемы взаимодействия и перемещения данных
C3: Проблемы управления памятью и хранением
C4: Проблемы совместной разработки систем и приложений Больших данных
C5: Проблемы снятия характеристик и эталонного тестирования рабочей нагрузки Больших данных
C6: Проблемы развёртывания и управления
Выводы
Глава 6. Эталонное тестирование систем Больших данных
Обзор
Автономная аналитическая обработка данных
Эталонное тестирование Hadoop
Эталонное тестирование PUMA
SparkBench
Эталонное тестирование Больших данных AMPLab
Обработка данных в потоке
Эталонное тестирование потоков Yahoo!
Stream Bench
Обработка данных в реальном времени
OLTPBench
Эталонное тестирование облачного обслуживания Yahoo!
Mutilate
Обработка данных в графах
LinkBench
LDBC Graphalytics
Анализ HPC масштабируемых графов
Рабочие потоки Машинного обучения и Глубинного обучения
MLPerf и MLCommons
MLBench
Stanford DAWNBench
CloudSuite
Платформа Facebook оценки производительности ИИ
Deep500 и HPC AI500
Baidu DeepBench
Всесторонние комплекты эталонного тестирования
BigDataBench
Intel HiBench
TPC Benchmarks
CloudSuite
Комплект микротестов Ohio State HiBD
Выводы
Глава 7. Ускорение RDMA
Обзор
Пакетные и потоковые системы обработки
Apache Spark с ускорением RDMA
Hadoop-A
HOMR
Apache Kafka с ускорением RDMA
Ускорение Hadoop MapReduce с применением RDMA
Системы обработки в графах
Wukong
Mizan-RMA
Библиотеки RPC
RPC Hadoop с применением RDMA
gRPC на основе RDMA
RFP на основе RDMA
Обработка запросов в Базах данных
Ускорение реляционных баз данных с применением RDMA
HTM и RDMA
Высокоскоростная обработка запросов с применением RDMA
Хранилища Ключ-Значение в оперативной памяти
Memcached на основе RDMA
Односторонний RDMA для Put(K, V) и Get(K)
Применяющие RDMA хранилища KV для аналитики
Проект HiBD
Практические примеры и преимущества производительности
Среды аналитики данных с применением RDMA
RDMA для Spark
RDMA для Hadoop 2.x
Системы управления с применением RDMA
RDMA поверх Memcached
RDMA для баз данных
Выводы
Глава 8. Ускорение при помощи многоядерных технологий и дополнительных вычислительных устройств
Введение
ЦПУ со множеством ядер
Ускорение GPU для вычислений Больших данных
FPGA и ASIC
Практические примеры и преимущества производительности
Выводы
Глава 9. Ускорение при помощи технологий высокопроизводительного хранения
Обзор
Изучение ориентированных на NVM архитектур
ПО промежуточного слоя гибридного и иерархического хранения
Системы буферизации с ускорением
Практические примеры и преимущества производительности
Выводы
Глава 10. Глубинное обучение на основе Больших данных
Обзор
Конвергенция Глубинного обучения, Больших данных и HPC
Проблемы разработки стеков DLoBD
Обзор стеков DLoBD
Определение характеристик стеков DLoBD
Практические примеры и преимущества производительности
Обсуждение оптимизации для рабочих нагрузок Глубинного обучения
Выводы
Глава 11. Проектирование с применением технологий Облачных решений
Обзор
Обзор технологий Высокопроизводительных вычислений в Облачных решениях
Ультрасовременные архитектуры
Практические примеры и преимущества производительности
Выводы
Глава 12. Передовые исследования в области высокопроизводительных вычислений Больших данных
Системы обработки и управления Больших данных с учётом неоднородности
Обработка Больших данных и управление ими для Гибридных систем хранения
Действенные и согласованные связь взаимодействие и вычисления для систем Больших данных
Выводы
Дополнение A. Ссылки
Указатель