title

text

Вадим Подольный
Вадим Подольный АО "РАСУ" Независимый эксперт
: декабря
45 мин

Высоконагруженная распределенная система управления современной АЭС

В докладе будет представлена новая платформа распределенной системы управления АЭС.

Вы узнаете, как обеспечивается управление сложнейшими объектами автоматизации в мире. В режиме жесткого реального времени обеспечивается работа более 150 специальных подсистем, управляющих различными технологическими процессами АЭС, таких как система управления реактором мощностью выше 1000 МВт и турбиной весом более 2000 тонн. Более 100К источников данных от датчиков и до 500К расчетных параметров. 5 разновидностей физических процессов: нейтронная кинетика, гидродинамика, химия и радиохимия и физика прочности.

При некоторых отклонениях вся система превращается в огромный источник DDoS полезной диагностической информации, которой всегда больше, чем способна переварить сеть и вычислительные ресурсы автоматизированной системы, что мешает нормальному управлению объектом. Вы узнаете, как мы «разруливаем» такие проблемы.

Из доклада вы узнаете об аппаратной и программной архитектуре таких систем, узнаете, как обеспечивается резервирование и репликация данных в таких системах, зачем нужна избыточность данных и технологическое разнообразие. Как обеспечивается управление нагрузками, как устроен QoS. И что будет, если отключится система нормальной эксплуатации, как, например было на Фукусиме.

Но мы все же про кодинг. Никаких SSD и HDD, только InMemory, структуры данных из десятков миллионов элементов, забудьте про кэш процессора, он не работает. Ваш новый Xeon 4-го поколения потерял все преимущества и превратился в "тыкву", поэтому закатываем рукава и ковыряемся в таймингах, жесточайшей аcинхронике и выжимаем из железа максимум. Кто слабое звено - процессор, память, ОС или сеть. Выясняем это.

Слайды

Видео

Другие доклады

  • Юрий Жуковец
    Юрий Жуковец ЗАО Дилжитал-Дизайн Архитектор ПО
    22 мин

    Технические особенности портирования T-SQL кода на plpgsql и данных из MS SQL в PG на примере перевода СЭДО «Приоритет» на Postgres

    Доклад посвящен продолжению проекта по переводу нашей системы электронного документооборота «Приоритет» с MS SQL на Postgres. Будут затронуты технические решения и моменты переписывания с T-SQL на plpgsql, оптимизации результативного кода и переноса данных. Дополнительно рассмотрим аспекты тестирования производительности с точки зрения поиска «плохого кода» pgplsql как кандидата на оптимизацию. Основная задача презентации - ответить на вопрос: "У нас так на T-SQL - как это перенести на PG?". Доклад предназначается для начинающих разработчиков на Postgres и является продолжением предыдущего доклада сделанного на конференции в 2017 (https://youtu.be/v6_4Szr8t14).

  • Денис Смирнов
    Денис Смирнов КГБУЗ КДЦ Вивея программист
    45 мин

    Greenplum: внутреннее устройство MPP PostgreSQL для аналитики

    PostgreSQL архитектурно является классической вертикально-масштабируемая СУБД для OLTP нагрузок. Параллельно с PostgreSQL много лет существует его альтернативная горизонтально-масштабируемая MPP версия Greenplum, заточенная под большие данные и OLAP нагрузку. В докладе будет рассказано про внутреннее устройство Greenplum (распределенные транзакции, шардирование данных, секционирование с гибридным хранением во внешних системах, колоночные движки хранения со сжатием и много другое), проведено сравнение с внутренним устройством PostgreSQL и показаны области применения каждого решения.

  • Esteban Zimányi
    Esteban Zimányi ULB Professor
    45 мин

    MobilityDB: расширение PostgreSQL для управления мобильными данными

    В ходе доклада мы представим MobilityDB - расширение PostgreSQL, которое раздвигает границы системы типов в PostgreSQL и PostGIS на абстрактные данные для адекватного представления изменяющихся данных об объектах. Эти типы данных могут представлять эволюцию во времени значений некоторого типа элементов, называемого базовым темпоральным типом. Например, темпоральный целочисленный тип данных может использоваться для демонстрации изменения во времени количества сотрудников департамента. В данном случае базовым типом данных будет целочисленный или темпоральный целочисленный. Аналогично, темпоральный тип данных с плавающей точкой может использоваться для записи изменения во времени температуры в помещении или местоположения автомобиля по GPS-координатам. Темпоральные типы данных оказываются полезны, поскольку для работы многих приложений, например, мобильных, принципиально необходимо обрабатывать изменяющиеся во времени величины.

    В расширении MobilityDB темпоральные типы данных основаны на булевых, целочисленных, с плавающей точкой и текстовых типах данных от PostgreSQL, а также на геометрических и географических типах данных от PostGIS (ограниченных размерностью 2D или 3D). MobilityDB соответствует действующим стандартам по перемещаемым объектам OGC http://www.opengeospatial.org/standards/movingfeatures, в частности, OGC Moving Features Access, в котором определены операции, применимые к изменяющимся во времени геометриям.

    Для проведения разноообрзаных операций над темпоральными типами данных доступен богатый набор функций и операторов. В общем случае они разделюятся на три типа:

    • Пожизненные функции и операторы: операторы над базовыми типами (такие как арифметические операции над целыми числами и числами с плавающей точкой, пространственные отношения и расстояния для геометрий) интуитивно обобщаются на случай изменяющихся во времени значений. Пространственно-темпоральные функции в MobilityDB обобщают пространственные функции PostGIS как для геометрических, так и для географических типов данных, к примеру для "ST_Intersection". На базовом уровне, MobilityDB принимает в расчет аспект темпоральности и делегирует обработку пространственных данных в PostGIS.
    • Темпоральные функции и операторы обрабатывают изменяющиеся во времени размерности величины, которая может представлять собой единичное значение, диапазон значений, массив значений или массив диапазонов. Примерами являются функции периодов, которые ограничивают темпоральный тип заданным массивом временных диапазонов, а также функции продолжительности, которые извлекают время определения значения величины.
    • Пространственно-темпоральные функции и операторы - в эту категорию попадают все остальные функции. Примеры: speed(tgeompoint/tgeogpoint), azimuth(tgeompoint/tgeogpoint), maxValue(tfloat/tint), взвешенное по времени среднее twAvg(tfloat) и т.д.

    Как GiST, так и SP-GiST индексы были расширены для поддержки темпоральных типов данных. Индекс GiST реализует R-дерево для темпоральных численно-буквенных типов данных, а TB-дерево - для темпоральных координат. Индекс SP-GiST реализует Quad-дерево для темпоральных численно-буквенных типов данных, а Oct-дерево - для темпоральных координат. Подход, использованный в MobilityDB при разработке SP-GIST индекса, позволил нам добавить индексы SP-GIST для двумерных, трехмерных и n-мерных геометрий в PostGIS.

    Доступны два типа числовых функций аггрегирования. В дополнение к традиционным функциям min, max, count, sum, and avg, теперь есть и их оконные версии (также известные как кумулятивные). Для заданного промежутка времени w, оконная аггрегативная функция вычисляет значение функции в момент времени t, принимая в расчет значения на интервале [t − w, t]. В противоположность стандартной аггрегации, темпоральная аггрегация может возвращать результат большего размера, чем входящие данные. По этой причине темпоральные функции аггрегирования были подвергнуты жесткой оптимизации, чтобы обеспечить их эффективную работу.

    В MobilityDB также есть предварительная реализация функций сбора статистики и селективности для темпоральных типов данных.

    С точки зрения размера, расширение состоит из 67k строк кода на C, 19k строк SQL кода и 67k строк модульных тестов SQL. В нем определены 40 типов, 2300 функций и 1350 операторов.

    В ходе доклада будет проиллюстрирована пространственно-темпоральная концепция и модель данных для темпорального типа. Кратко остановимся на основных компонентах MobilityDB: индексах, аггрегировании, функциях и операторах, а также SQL-интерфейсе. Рассказ будет дополнен примерами запросов и практических случаев использования. Также будет рассказано о текущем статусе проекта MobilityDB и планируемых разработках.

  • Камиль Исламов
    Камиль Исламов Stickeroid Ai CTO
    22 мин

    CTE запросы как основа бизнес-логики

    Рассмотрены особенности разработки и некоторые варианты реализации бизнес-логики высоконагруженных web-приложений на базе хранимых процедур в парадигме широкого применения Common Table Expression запросов.