Highload++, Москва, 24-25 октября 2012
15 июля 2012, 14:02
Автор: rgbeast
Объявлена конференция разработчиков высоконагруженных систем Highload++ 2012.
См. наш обзор Highload++ 2011 и спешите зарегистрироваться на официальном сайте
Пока Программа только формируется, немного о примерах докладов и собрании Программного комитета HL++. Компания Мамба, 250М хитов в сутки, вполне себе хайлоад, представит целую серию докладов:
+ специализированный поиск примерно в 100 раз быстрее Сфинкса;
+ персистентный производительный брокер очередей;
+ правильная система деплоя (заметьте - не просто система деплоя, а правильная!);
+ i18n на больших проектах;
+ использование comet для реалтайм счетчиков под реально большой нагрузкой.
Доклад Александра Короткова "Индексный поиск по регулярным выражениям".
Существует два основных подхода к выполнению поиска по регулярным выражениям с помощью индекса: "FREE indexing engine", основанный на выделении из регулярного выражения непрерывных фрагментов текста, и метод разработанный для Google Code Search, осуществляющий рекурсивный анализ составных частей регулярного выражения, с целью выявления его атрибутов. В целом же оба этих подхода используют инвертированные индексы на основе k-грам (подстрок исходной строки длиной k) и различаются методом извлечения k-грам из исходного выражения для последующего сканирования.
Данный доклад представляет новый метод извлечений k-грам из регулярного выражения, основанный не на анализе исходного регулярного выражения, а на преобразовании соответствующего конечного автомата. Предлагаемый подход позволяет осуществить более полное извлечение k-грам из регулярного выражения, что подтверждается примерами. Разработан патч к модулю pg_trgm СУБД PostgreSQL, реализующий данный подход.
Все из нас используют индексы в СУБД, но редко кто понимает, как они работают. Именно это понимание и отличает highload-разработчика от просто разработчика.
Алексей Тутубалин сделает доклад под кодовым названием "Используем современный процессор на 146%" про современное состояние параллельных вычислений. Приведем краткий конспект выступления:
+ Векторные операции (SIMD: MMX, SSE, AVX). SIMD расшифровывается как single instruction, multiple data - одиночный поток команд, множественный поток данных. Что умеет, типы данных, виды операций. Требования к программам и алгоритмам, выравнивание данных. Быстродействие формальное и реальное. Кто сделает SIMD-код?
+ Многоядерные процессоры, многопроцессорные конфигурации. Сложно думать параллельно, сложно отлаживать (невоспроизводимые ситуации), data races, расход ресурсов на синхронизацию, проблемы с процессорными кэшами если потоки работают с одними/близкими адресами в памяти. Типичное современное использование:
++ Несколько/много изолированных процессов
++ Несколько/много потоков (threads), обрабатывающих независимые запросы
++ Сложные многопоточные программы, сильно связанные внутри себя
++ Data-parallel программы: пилим (большие) данные на (независимые) куски и обрабатываем: map-Reduce (всех видов), сортировка, точки синхронизации/reduce понятны, не требуется синхронизация в случайный момент, да еще и по внешнему событию. Data races маловероятны. Программа выглядит последовательной, а вычислительно-интенсивные места используют все ядра/CPU.
+ Параллельные языки программирования:
++ ISPC: интересует CPU-only, двойная буферизация болезненна, нет желания таскать большой рантайм вне программы.
++ OpenCL: планируется/возможен перенос на GPU, рантайм не пугает, двойная буферизация не пугает.
См. наш обзор Highload++ 2011 и спешите зарегистрироваться на официальном сайте
Пока Программа только формируется, немного о примерах докладов и собрании Программного комитета HL++. Компания Мамба, 250М хитов в сутки, вполне себе хайлоад, представит целую серию докладов:
+ специализированный поиск примерно в 100 раз быстрее Сфинкса;
+ персистентный производительный брокер очередей;
+ правильная система деплоя (заметьте - не просто система деплоя, а правильная!);
+ i18n на больших проектах;
+ использование comet для реалтайм счетчиков под реально большой нагрузкой.
Доклад Александра Короткова "Индексный поиск по регулярным выражениям".
Существует два основных подхода к выполнению поиска по регулярным выражениям с помощью индекса: "FREE indexing engine", основанный на выделении из регулярного выражения непрерывных фрагментов текста, и метод разработанный для Google Code Search, осуществляющий рекурсивный анализ составных частей регулярного выражения, с целью выявления его атрибутов. В целом же оба этих подхода используют инвертированные индексы на основе k-грам (подстрок исходной строки длиной k) и различаются методом извлечения k-грам из исходного выражения для последующего сканирования.
Данный доклад представляет новый метод извлечений k-грам из регулярного выражения, основанный не на анализе исходного регулярного выражения, а на преобразовании соответствующего конечного автомата. Предлагаемый подход позволяет осуществить более полное извлечение k-грам из регулярного выражения, что подтверждается примерами. Разработан патч к модулю pg_trgm СУБД PostgreSQL, реализующий данный подход.
Все из нас используют индексы в СУБД, но редко кто понимает, как они работают. Именно это понимание и отличает highload-разработчика от просто разработчика.
Алексей Тутубалин сделает доклад под кодовым названием "Используем современный процессор на 146%" про современное состояние параллельных вычислений. Приведем краткий конспект выступления:
+ Векторные операции (SIMD: MMX, SSE, AVX). SIMD расшифровывается как single instruction, multiple data - одиночный поток команд, множественный поток данных. Что умеет, типы данных, виды операций. Требования к программам и алгоритмам, выравнивание данных. Быстродействие формальное и реальное. Кто сделает SIMD-код?
+ Многоядерные процессоры, многопроцессорные конфигурации. Сложно думать параллельно, сложно отлаживать (невоспроизводимые ситуации), data races, расход ресурсов на синхронизацию, проблемы с процессорными кэшами если потоки работают с одними/близкими адресами в памяти. Типичное современное использование:
++ Несколько/много изолированных процессов
++ Несколько/много потоков (threads), обрабатывающих независимые запросы
++ Сложные многопоточные программы, сильно связанные внутри себя
++ Data-parallel программы: пилим (большие) данные на (независимые) куски и обрабатываем: map-Reduce (всех видов), сортировка, точки синхронизации/reduce понятны, не требуется синхронизация в случайный момент, да еще и по внешнему событию. Data races маловероятны. Программа выглядит последовательной, а вычислительно-интенсивные места используют все ядра/CPU.
+ Параллельные языки программирования:
++ ISPC: интересует CPU-only, двойная буферизация болезненна, нет желания таскать большой рантайм вне программы.
++ OpenCL: планируется/возможен перенос на GPU, рантайм не пугает, двойная буферизация не пугает.