Параллельные и распределенные вычисления. Лекции от Яндекса для тех, кто хочет провести праздники с пользой

в 11:30, , рубрики: Без рубрики

Праздничная неделя подходит к концу, но мы продолжаем публиковать лекции от Школы анализа данных Яндекса для тех, кто хочет провести время отдыха с пользой. Сегодня очередь курса, важность которого в наше время сложно переоценить, даже если у вас всего один компьютер, не говоря уже о сложных системах – «Параллельные и распределенные вычисления».

Что внутри: знакомство с параллельными вычислениями и распределёнными системами обработки и хранения данных, а также выработка навыков практического использования соответствующих технологий. Курс состоит из четырех основных блоков: concurrence, параллельные вычисления, параллельная обработка больших массивов данных и распределенные вычисления.

Лекции читает Олег Викторович Сухорослов, старший научный сотрудник Центра грид-технологий и распределенных вычислений ИСА РАН. Доцент кафедры распределенных вычислений ФИВТ МФТИ. Кандидат технических наук.

Concurrency (одновременность).

Области применения и проблематика. Способы реализации одновременных систем, процессы и потоки, программный инструментарий. Основы многопоточного программирования на примере языков C++ и Java. Типичные ошибки многопоточного программирования. Взаимное исключение и условная синхронизация. Модель памяти и низкоуровневые примитивы синхронизации. Альтернативные подходы к реализации одновременных программ.

Параллельные вычисления.

Области применения и проблематика. Современные параллельные вычислительные системы. Теоретические основы параллельных вычислений. Показатели качества параллельного алгоритма. Принципы разработки и типовые структуры параллельных алгоритмов. Методология PCAM. Системы параллельного программирования. Типовые модели программирования и шаблоны. Основы параллельного программирования на системах с общей памятью на примере технологии OpenMP. Основы параллельного программирования на системах с распределенной памятью на примере технологии MPI.

Параллельная обработка больших массивов данных.

Феномен Big Data. Модель программирования MapReduce. Принципы параллельной реализации вычислений. Область применения и примеры задач. Принципы распределенной реализации MapReduce на кластерных системах. Платформа Apache Hadoop. Интерфейсы прикладного программирования и реализация программ для Hadoop. Локальная отладка и запуск программ на кластере. Приемы и стратегии реализации MapReduce-программ. Высокоуровневые языки и инструментарии для работы с Hadoop. Практические примеры использования MapReduce. Ограничения модели MapReduce, расширения и альтернативные подходы.

Распределенные системы и вычисления.

Области применения, характерные особенности и виды распределенных систем. Проблемы построения распределенных систем. Теоретические основы распределенных вычислений, примеры распределенных алгоритмов. Способы взаимодействия распределенных процессов, сетевые протоколы. Технологии распределенного программирования. Знакомство с языком Erlang. Распределенные системы хранения данных, репликация данных, NoSQL-системы. Технологии распределенных вычислений, гриды, добровольные вычисления. Облачные вычислительные системы.

Автор: anton

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js