Коля. Заметки

коля._заметки.1497215226.txt.gz | Хозяин: nikolay_carbonsoft1 | Изменен: 20.05.2019 15:18 nikolay_carbonsoft1 Черновик Новейший утвержденный

Это старая версия документа.


Курс лекций "Алгоритмы во внешней памяти". Максим Бабенко.

http://www.youtube.com/embed/KsPv6X9ysqI http://www.lektorium.tv/lecture/13929

На курсе рассказывают про алгоритмы, которые работают с данными, которые, по тем или иным причинам, не могут поместиться в оперативную память (когда файлы лежат на HDD/SSD или, например, в хадупе на HDFS). Объясняется сложность таких алгоритмов, относительно количества дисковых операций, теория подана довольно просто и интуитивно, мозг хорошо настраивается на мысль, что не так важна производительность кода, когда доступ к данным такой дорогой.

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

В последней лекции акцент смещают с внешней памяти и оперативной на CPU-кеш и оперативную память. Скорости тут, конечно, будут другие, но порядок, на который отличается скорость доступа к кешу и ОЗУ, и порядок ОЗУ и HDD примерно одинаков, на мой взгляд. 5 лекция будет сама по себе полезна, если тебе нужен быстрый алгоритм, который работает с данными в ОЗУ. Минимизация доступа к ОЗУ сможет дать большой прирост производительности, да и круто это, знать как работает кеш в CPU :)

Вместо пятой лекции, конечно, советую прочитать «What Every Programmer Should Know About Memory» https://www.akkadia.org/drepper/cpumemory.pdf , но там много, и мне плохо зашли части про бечмаркинг скорости, т.к. нет под рукой проекта, на который я могу примерять цифры, чтобы их осознавать.

Курс лекций "Методы и системы обработки больших данных". Иван Пузыревский.


http://www.youtube.com/embed/IHVIFVZeXcA http://www.lektorium.tv/lecture/30079

http://compsciclub.ru/courses/bigdatasystems/2017-spring/

Очень качественный и свежий курс про распределенные системы, про их работу под капотом. Речь идет про системы хранения, очереди и БД: HDFS, HBase, Cassandra, Kafka; про MapReduce и системы потоковой обработки: Hadoop MapReduce, Spark, Storm, Spark Streaming, плюс две лекции про Zookeeper и одна про Hive.

Внешнее API систем и примеры использования приведены в основном для общего понимания, основная часть сосредоточена на внутренней архитектуре систем. Очень полезно для определения применимости этих систем в ваших проектах, поможет самостоятельно прикидывать производительность при применении той или иной технологии.

На лекциях разбирается архитектура, строение и алгоритмы, на которых основываются системы. Начинается все с HDFS из хадуповского стека, который является базовым строительным блоком распределенной системы на базе hadoop, на его примере также разбирается работа и деплой кода в hadoop YARN.

Довольно забавно было, когда после первой лекции про HDFS была полная уверенность в том, что оно точно не подходит для БД, а в 3й лекции рассказывают про быстрый и производительный HBase, который хранит свои данные в HDFS и делает это консистентно.

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

В общем, если вы вечно путаете все эти модные словечки из темы MapReduce, не можете запомнить чем отличается Spark и Storm, Spark/HBase/Riak - после просмотра лекций у вас надолго в голове останутся «крючки», за которые в будущем можно будет легко сориентироваться в этом зоопарке.

P.S. нужно будет пересмотреть Яндекс изнутри: инфраструктура хранения и обработки данных, что на самом деле в тренде. P.P.S. Как устроен поиск Яндекса: о чём невозможно прочитать - тоже прикольный видос, давно смотрел, уже не помню про что там.

Семинар по глубокому обучению или как стать Data Scientist’ом

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