Рубрика «высокая производительность» - 42

Приоритеты современной военной авиации сосредоточены на качественной ситуационной осведомлённости, поэтому современный истребитель представляет собой летающий рой высокотехнологичных сенсоров. Сбор информации с этих сенсоров, её обработку и представление пользователю осуществляет бортовая микропроцессорная система. Вчера для её реализации использовались HPEC-гибриды (включающие в себя CPU, GPU и FPGA). Сегодня для её реализации используются однокристальные SoC-системы, которые помимо того, что все компоненты на один чипсет собирают, так ещё и внутричиповую беспроводную сеть организуют (NoC), как альтернативу традиционной магистрали передачи данных. Завтра, когда SoC-системы станут ещё более зрелыми, ожидается приход полиморфной наноэлектроники, которая даст существенный прирост производительности и снизит темп своего морального устаревания.

Аппаратные компоненты бортовой МПС унифицированного ударного истребителя F-35 - 1

Читать полностью »

Всем привет!

Сегодня мы разберем очень короткий, но полезный лайфхак о том, что нужно сделать, чтобы не вводить, к примеру, «import pandas as pd» по 10 раз в день.

Также не будем забывать, и автоматизировать и сокращать всё эффективно:

image

Для нашего лайфхака нужно:

  1. Перейти к ~/.ipython/profile_default;
  2. Создать папку с именем startup, если ее там еще нет;
  3. Добавить новый файл Python с именем start.py;
  4. Поместите ваш любимый импорт в этот файл;
  5. Запустить IPython или Jupyter Notebook, и ваши любимые библиотеки будут автоматически загружаться каждый раз!

Для наглядности, давайте всё визуализируем. Во-первых, местоположение start.py:

image

Здесь содержимое моего файла start.py:Читать полностью »

Используем все возможности индексов в PostgreSQL - 1

В мире Postgres индексы крайне важны для эффективной навигации по хранилищу базы данных (его называют «куча», heap). Postgres не поддерживает для него кластеризацию, и архитектура MVCC приводит к тому, что у вас накапливается много версий одного и того же кортежа. Поэтому очень важно уметь создавать и сопровождать эффективные индексы для поддержки приложений.

Предлагаю вашему вниманию несколько советов по оптимизации и улучшению использования индексов.

Примечание: показанные ниже запросы работают на не модифицированном образце базы данных pagila.
Читать полностью »

Эволюция архитектуры торгово-клиринговой системы Московской биржи. Часть 2 - 1

Это продолжение длинного рассказа о нашем тернистом пути к созданию мощной, высоконагруженной системы, обеспечивающей работу Биржи. Первая часть тут.
Читать полностью »

При выполнении запросов в ClickHouse можно обратить внимание, что в профайлере на одном из первых мест часто видна функция LZ_decompress_fast. Почему так происходит? Этот вопрос стал поводом для целого исследования по выбору лучшего алгоритма разжатия. Здесь я публикую исследование целиком, а короткую версию можно узнать из моего доклада на HighLoad++ Siberia.

Данные в ClickHouse хранятся в сжатом виде. А во время выполнения запросов ClickHouse старается почти ничего не делать — использовать минимум ресурсов CPU. Бывает, что все вычисления, на которые могло тратиться время, уже хорошо оптимизированы, да и запрос хорошо написан пользователем. Тогда остаётся выполнить разжатие.

Как ускорить разжатие LZ4 в ClickHouse - 1

Вопрос — почему разжатие LZ4 может быть узким местом? Казалось бы, LZ4 — очень лёгкий алгоритм: скорость разжатия, в зависимости от данных, обычно составляет от 1 до 3 ГБ/с на одно процессорное ядро. Это уже существенно больше скорости работы дисковой подсистемы. Более того, мы используем все доступные ядра, а разжатие линейно масштабируется по всем физическим ядрам.

Читать полностью »

Сейчас на хайпе тема DevOps. Конвейер непрерывной интеграции и доставки CI/CD внедряют все, кому не лень. Но большинство не всегда уделяют должное внимание обеспечению надежности работы информационных систем на различных этапах CI/CD Pipeline. В данной статье я хотел бы поговорить о своем опыте автоматизации проверок качества ПО и реализации возможных сценариев по его «самовосстановлению».

Continuous Monitoring – автоматизация проверок качества ПО в CI-CD Pipeline - 1

Источник
Читать полностью »

Недавно мы в команде придумали и реализовали функцию передачи денег по воздуху с помощью технологии Bluetooth LE. Я хочу рассказать вам, как мы это сделали и что Apple предоставляет нам из инструментов. Многие разработчики думают что Bluetooth — это сложно, ведь это достаточно низкоуровневый протокол, и по нему не так много специалистов. Но всё не так страшно, и на самом деле использовать эту функцию очень просто! А те функции, которые можно реализовать с помощью Bluetooth LE, безусловно, интересны и впоследствии позволят выделить ваше приложение среди конкурентов.

Bluetooth LE не так уж и страшен, или Как улучшить пользовательский опыт без особых усилий - 1
Читать полностью »

Рассказываем о предпосылках и приводим мнения экспертов индустрии.

Нехватка гелия может замедлить развитие квантовых компьютеров — обсуждаем ситуацию - 1
/ фото IBM Research CC BY-ND

Зачем нужен гелий в квантовых компьютерах

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

Квантовые машины оперируют кубитами. Они, в отличие от классических битов, могут находиться в состояниях 0 и 1 одновременно — в суперпозиции. В вычислительной системе возникает явление квантового параллелизма, когда операции производятся одновременно с нулем и единицей. Эта особенность позволяет машинам на основе кубитов решать некоторые задачи быстрее классических компьютеров — например, моделировать молекулярные и химические реакции.Читать полностью »

Ежедневно в сервисе Pyrus работают десятки тысяч сотрудников из нескольких тысяч организаций по всему миру. Отзывчивость сервиса (скорость обработки запросов) мы считаем важным конкурентным преимуществом, так как она напрямую влияет на впечатление пользователей. Ключевой метрикой для нас является «процент медленных запросов». Изучая ее поведение, мы заметили, что раз в минуту на серверах приложений возникают паузы длиной около 1000 мс. В эти промежутки сервер не отвечает и возникает очередь из нескольких десятков запросов. О поиске причин и устранении узких мест, вызванных сборкой мусора в приложении, пойдет речь в этой статье.

Оптимизация сборки мусора в высоконагруженном .NET сервисе - 1
Читать полностью »

Мы начинаем цикл статей, рассказывающих о различных ситуациях, в которых использование инструментов Intel для разработчиков позволило существенно повысить скорость работы программного обеспечения и улучшить его качество.

Наша первая история произошла в Новосибирском Университете, где исследователи разрабатывали программное средство для численного моделирования магнитогидродинамических проблем при ионизации водорода. Данная работа проводилась в рамках глобального проекта моделирования астрофизических объектов AstroPhi; в качестве аппаратной платформы использовались процессоры Intel Xeon Phi. В результате использования Intel Advisor и Intel Trace Analyzer and Collector производительность вычислений увеличилась в 3 раза, а скорость решения одной задачи сократилась с недели до двух дней.

Улучшаем производительность ПО с инструментами Intel для разработчика. Численное моделирование астрофизических объектов - 1
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js