Толока — это краудсорсинговая платформа, на которой миллионы людей по всему миру размечают и обрабатывают данные различных клиентов сервиса. Результаты используются в машинном обучении, исследованиях, тестировании, технической поддержке, модерации контента и других задачах. С точки зрения бэкенда Толока представляет собой сложный сервис по управлению огромным «вычислительным кластером», где в качестве узлов выступают люди, выполняющие задания. Мы расскажем, как решаем задачу управления «кластером» при помощи механизма, отвечающего за формирование списка доступных заданий для каждого исполнителя. Вы услышите три истории развития различных частей системы, узнаете, с какими проблемами пришлось столкнуться при росте нагрузки и как получилось их решить
Современные приложения состоят из множества подсистем: базы данных, кеши, брокеры сообщений. Для обработки одного запроса от пользователя сервер может выполнять десятки внутренних подзапросов. Вы ска…
Из доклада вы узнаете краткую историю кластеров для обучения нейронных сетей в Яндексе: Зачем они нам понадобились? Что такое современный HPC и почему это не просто объединение нескольких сотен серв…
Genotek был создан в 2010 году, чтобы предоставить человеку генетическую информацию о его здоровье, медицинских рисках, способностях и генеалогии, и сделать персонифицированную медицину доступной для…
Кажется, что уже все слышали о самой масштабной DDoS-атаке в истории интернета — Mēris. Очень многое в этой истории пока ещё проходит «под грифом секретно». Но сейчас мы готовы поделиться большой час…
Современная распределённая БД, как и сама Вселенная, состоит из мельчайших частиц. Из частиц, которые мы называем таблетками, строится петабайтная вселенная данных в Yandex Database. Таблетки решают …
Современный фронтенд — это богатое клиентское приложение, оперирующее развесистым набором данных. Однако, оставаясь в парадигме архитектуры «клиент-сервер», такие приложения всё ещё требуют серверног…
Доклад посвящён основным принципам и целям развития ClickHouse: отличительным чертам и преимуществам системы, которые мы планируем развивать. Также поговорим о недостатках и неудобствах, над которыми…
К конференции уже будет окончательно определено, какие фичи попадут в состав 14-й версии PostgreSQL. Мы обсудим те из них, которые повышают производительность СУБД и помогают создавать устойчивые к в…
Too often, C++ developers tend to ignore ABI compatibility problems and think that incompatibilities are limited to changes in the interface of the library motivated by new features or bugs. However,…
Современные компьютеры кроют в себе множество аппаратных оптимизаций и особенностей работы ЦП и памяти, понимание которых важно при написании многопоточного кода на любом языке, в том числе и Golang.…
Поговорим про JPA и тонкие моменты, связанные с этим фреймворком. Начнем с простых примеров: когда получается N+1 запрос и в каком случае Lazy не работает так, как интуитивно ожидается. Дальше уг…
Массовый переход от монолитов к микросервисам решает одни проблемы, но создаёт другие — взаимодействие сервисов существенно сложнее и дороже, чем взаимодействие объектов в памяти. Частично упростить …
Код языка C++ подобен минному полю. Поэтому качественный внимательный code-review крайне полезен. Этот доклад улучшит ваши навыки в этом нелёгком деле. Мы поговорим о некоторых паттернах ошибок, о ко…
In this talk, Oren Eini, founder of RavenDB, is going to take apart a database engine on stage. We are going to inspect all the different pieces that make for an industrial-grade database engine, fro…
Глубокий рассказ о метапрограммировании в ретроспективе. Обсудим общие подходы в метапрограммировании, а затем перейдём к спискам типов. По шагам напишем небольшую библиотеку для работы со списками т…
Рассказываем о фреймворке Яндекс Go и его внутреннем устройстве. Доклад будет интересен людям, которые хотят разобраться в устройстве корутиновых движков и работе асинхронных фреймворков. Вы узнаете:…
Многие компании занимаются робототехникой и роботизацией, однако в задаче автоматизации последней мили пока нет явного лидера, как нет и общепринятого стандарта, описывающего, как должен выглядеть и …
Initialisation semantics is widely regarded as one of the most difficult aspects of the C++ language. We have many different kinds of initialisation and many different syntaxes for it, and they inter…
Java 11/12 introduced two new Garbage Collectors: ZGC and Shenandoah. The main objective of these two new GCs is to reduce GC pauses to only few milliseconds (and possibly under a millisecond), there…