2017-07-00 External Mem Algorythms.md

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

корзина:статьи_участников:2017-07-00_external_mem_algorythms.md [04.09.2018 07:14]
127.0.0.1 внешнее изменение
корзина:статьи_участников:2017-07-00_external_mem_algorythms.md [20.05.2019 15:18]
Строка 1: Строка 1:
-# Курс лекций "​Алгоритмы во внешней памяти"​. Максим Бабенко 
-Tags: читательский дневник,​ алгоритмы,​ cpumemory 
- 
-[http://​www.youtube.com/​embed/​KsPv6X9ysqI](http://​www.youtube.com/​embed/​KsPv6X9ysqI) [http://​www.lektorium.tv/​lecture/​13929](http://​www.lektorium.tv/​lecture/​13929) 
- 
-На курсе рассказывают про алгоритмы,​ которые работают с данными,​ которые,​ по тем или иным причинам,​ не могут поместиться в оперативную память (когда файлы лежат на HDD/SSD или, например,​ в хадупе на HDFS). Объясняется сложность таких алгоритмов,​ относительно количества дисковых операций,​ теория подана довольно просто и интуитивно,​ мозг хорошо настраивается на мысль, что не так важна производительность кода, когда доступ к данным такой дорогой. 
- 
-На 3-4й лекции завтыкал,​ примеры про алгоритмы на графах мне не очень близки. Может, почитаю про эти алгоритмы в памяти и пересмотрю как все меняется,​ когда граф окажется очень большим. Но первые лекции очень хороши. 
- 
-В последней [лекции](http://​www.youtube.com/​embed/​uCfgk1sx_Pg) акцент смещают с внешней памяти и оперативной на CPU-кеш и оперативную память. Скорости тут, конечно,​ будут другие,​ но порядок,​ на который отличается скорость доступа к кешу и ОЗУ, и порядок ОЗУ и HDD примерно одинаков,​ на мой взгляд. 5 лекция будет сама по себе полезна,​ если тебе нужен быстрый алгоритм,​ который работает с данными в ОЗУ. Минимизация доступа к ОЗУ сможет дать большой прирост производительности,​ да и круто это, знать как работает кеш в CPU :) 
- 
-Вместо пятой лекции,​ конечно,​ советую прочитать "What Every Programmer Should Know About Memory"​ [https://​www.akkadia.org/​drepper/​cpumemory.pdf](https://​www.akkadia.org/​drepper/​cpumemory.pdf) , но там много, и мне плохо зашли части про бечмаркинг скорости,​ т.к. нет под рукой проекта,​ на который я могу примерять цифры, чтобы их осознавать. 
- 
-Также появилась интересная [статья](https://​habrahabr.ru/​company/​otus/​blog/​343566/​) на хабре про стоимость различных операций процессора (от сложения и умножения до особенностей доступа к памяти в NUMA и некоторых особенностей c++). Сборная солянка терминов и механизмов,​ написано емко и не перегружено. Отлично подходит для освежения в голове всех нюансов написания действительно производительного низкоуровневого кода. 
- 
-~~OWNERAPPROVE~~