Как стать автором
Обновить

«Половина научных работ по Concurrency — полная чушь!» — интервью с Романом Елизаровым из Devexperts

Время на прочтение26 мин
Количество просмотров43K
Всего голосов 75: ↑67 и ↓8+59
Комментарии27

Комментарии 27

Вот!
Вот такие статьи нужны на Хабре!
Вот таких статей тут не хватает!
Вот без таких статей он перестает быть тортом!

Спасибо, ребята!
спасибо. интересное интевью
Вопрос к Роману: Вот вы говорите, что в мире мало информации, мало статей по вашим задачам. Например, про локальный атомарный HashMap — ноль статей. Читатель как-то сразу ожидает фразы "а теперь уже одна, наша". Почему вы не публикуете сами такие статьи?
Как говорится, критикуешь — предлагай, да и двигать мировую науку всегда почётно.
Кроме того, в США полезно такие алгоритмы патентовать, даже если нет намерения их использовать. И научная статья может быть хорошей рекламой патента, пусть это и не основная её задача.
Прежде чем публиковать, нужно из частного технического решения вычленить общую часть и формализовать алгоритм. Это не самая простая задачка, IMHO, требующая времени и усилий.
Мы ничего не скрываем, просто писать статьи мы еще только учимся. Пока же основной формат донесения новых знания до человечества это презентации. Про HashMaps вообще я в свое время делал доклад: http://www.slideshare.net/elizarov/ss-13204837 Хороший concurrent hashmap должен быть в первый очередь быстрым при работе из одного потока и безусловно должен базироваться на тех же принципах.

А работа над более совершенными lock-free hash maps это пока еще work in progress. Это была одна из целей создания отдела исследований. Нас интересует не только теоретически корректный алгоритм, но и его правильная реализация. Даже попытки реализовать уже известные concurrent алгоритмы частенько приводят к очень тонким и труднообнаружимым багам, поэтому мы параллельно работаем над инструментами проверки корректности многопоточного кода.
НЛО прилетело и опубликовало эту надпись здесь
Спасибо за интервью, небольшой вопрос по

Чтобы у тебя в худшем случае хеш-таблица не вырождалась в O(N^2)-алгоритм, а чтобы она хотя бы за O(N logN) работала.

Мне кажется, что при совпадении кодов таблица вытянется в список и поиск будет просто O(N), в каком случае получается квадрат?
O(N^2) в сумме по N операциям.
Тут, судя по всему, имеется в виду стоимость N операций. Если коды совпадают, то единичная операция над хеш-таблицей действительно будет O(N), а над деревом O(logN)
Всё верно. Нам важна общая стоимость проведения N операций, где N может исчисляться миллионами или даже десятками миллионов объектов.
После таких новостей так и тянет почитать что-то новое для себя. Сразу же заказал книгу Херлихи и Шавита. Спасибо!
это была одна из целей с моей стороны — чтобы народ книжки заказал.
Я сразу давал ссылки на Kindle-версию :)
я про те, что вы обсуждали — лекции студентам в ИТМО
вооо, большое спасибо!
Всегда было интересно, как люди, которым все время в разъездах и на конференциях успевают шагать в ногу со временем, ведь для того чтобы быть «в тренде», нужно постоянно что-то разрабатывать, а это занимает довольно много времени
Мне кажется, чтоб быть в тренде — нужно много общаться и быть в разьездах как раз. А постоянная разработка — зацыкливает на конкретной задаче.
Для того, чтобы быть теоретиком и вещать на конференциях — согласен.
За любыми докладами должен стоять реальный опыт, иначе они бесполезны, а реальный опыт требует серьезных временных затрат.
Реальный опыт безусловно нужен. Программист только тот, кто программирует.
А можете посоветовать какую-то хорошую книжку по математике, которая лучше написана, чем обычный учебник, которая выделяется может как-то среди среди других учебников?
Например где описаны полезные теоремы для программиста.
Заинтересовался этим в последнее время, начал с того, что изучаю пока алгоритмы сортировок подробнее, с точки зрения математика в том числе, а также графы.
Конкретная Математика — это главный сборник математики именно для программистов. Это математическая база, которая нужна для анализа алгоритмов. Но там нет самих алгоритмов. По алгоритмам мне лично очень нравится Алгоритмы: построение и анализ. Ну и Искусство Программирования Кнута, конечно.
elizarov, Роман, вы не думали сделать MOOC (ну или просто видеолекции с хорошем качестве?) по теретической части многопоточности? Тема очень интересная, и с практической точки зрения дает общее представление того, как все работает внутри. Я просмотрел 4 лекции на лекториуме (все, что было), мне очень понравился материал, пошел читать Херлихи. Но качество картинки и особенно звука лекций оставляет желать лучшего, а в ИТМО посчастливилось учиться далеко не все((
«не думали ли вы сделать MOOC» — реализация не только от лектора зависит, к сожалению.
Для того, чтобы записать хороший MOOC нужно много денег и много времени.
это 100% так, так и ИТМО не шарага же) Вон олимпиады принимает!
Зарегистрируйтесь на Хабре, чтобы оставить комментарий