Разработка высокопроизводительных серверных приложений для Linux/UNIX

2012-04-24

7 июля компания SmartMe проводит мастер-класс с онлайн-трансляцией: "Разработка высокопроизводительных серверных приложений для Linux/UNIX".

Основной темой для нас будут методы и технологии, которые позволяют HTTP серверам, серверам Instant Messaging'а, серверам баз данных и другим серверным приложениям обрабатывать сотни тысяч запросов в секунду и гигабиты трафика на "железе" базового класса. Мы посмотрим на примеры кода, научимся их оптимизировать, разберемся в том, как ведет себя Linux под некоторыми типами нагрузок.

Целевая аудитория - разработчики, уже имеющие опыт программирования на C/C++ для Linux/UNIX, но желающие повысить производительность своих приложений.


  • архитектура сервера (потоки, процессы, очереди, ввод-вывод)
  • concurrency (работа с потоками, синхронизация, переключения контекста)
  • быстрые структуры данных, свойства классических структур данных
  • выравнивание данных и оптимизация работы кэшей процессора
  • lock-free структуры данных
  • аллокаторы памяти (когда не хватает стандартного аллокатора, типы
    аллокаторов, как разработать свой аллокатор)
  • построение внутренних кэшей (структуры данных, политики вытеснения)
  • zero-copy (сетевой и дисковый ввод-вывод без копирования, техники
    снижения копирования в своем коде)
  • CPU-binding (привязка потоков/процессов и прерываний к процессорам)
  • методы работы с большими файлами (доступ с помощью mmap() и O_DIRECT,
    выделение блоков)
  • как Linux работает с файлами (page cache, синхронизация с диском;
    планирование ввода-вывода)
  • профилирование;
  • когда этого мало и стоит переходить на kernel programming.

 

Подробности и регистрация на сайте меропряития.