Как стать автором
Обновить
121.2

Высокая производительность *

Методы получения высокой производительности систем

Сначала показывать
Порог рейтинга
Уровень сложности

Бесшовность 2.0: как работает шардирование в Сбере

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров3.1K

Если у вас не просто большая компания, а целая экосистема с разными сервисами, IT-инфраструктура должна обеспечивать бесшовность. Клиенты и сотрудники могут входить в систему с разных устройств, но изменение информации в одном канале должно отображаться в других, а целостность данных сохраняться, даже если вход совершен в двух каналах параллельно. И в идеале — так, чтобы клиент не видел «внутренней кухни».

Меня зовут Владимир Паршин, я ведущий ИТ-инженер в СберТехе. Расскажу, как выстроена работа с бесшовностью в Сбере.

В статье будет про драматичное прошлое, Джастина Бибера и балансировку нагрузки. А главное — про то, какие решения СберТеха под капотом банка сейчас обеспечивают обработку данных огромного числа клиентов и сотрудников.

Читать далее
Всего голосов 12: ↑11 и ↓1+10
Комментарии4

Новости

Ускоряем Dictionary в C# при помощи структур и CollectionsMarshal

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров5.9K

Если вы C# разработчик, то наверняка вам знаком класс Dictionary. В качестве значений вы, скорее всего, использовали классы. Но что если я скажу, что в Dictionary можно использовать структуры? Не стоит бояться того, что структуры копируются при передаче в метод или возврате из него. Есть способ этого избежать, и это работает быстро.

Узнать как
Всего голосов 14: ↑12.5 и ↓1.5+11
Комментарии21

Теоретическая и реальная производительность Intel AMX

Уровень сложностиСложный
Время на прочтение11 мин
Количество просмотров3.4K

AMX (Advanced Matrix Extension) - это модуль аппаратного ускорения умножения матриц, который появился в серверных процессорах Intel Xeon Scalable, начиная с 4 поколения (архитектура Sapphire Rapids). 

В начале этого года ко мне в руки наконец попал сервер, с данным типом процессора.

Конкретно модель Xeon(R) Gold 5412U - это 24 ядерный процессор с тактовой частотой в 2.1 GHz. При этом 8 приоритетных ядер могут разгонятся до 2.3 GHz, а 1 ядро до 3.9 GHz в Turbo Boost). Кроме того данный процессор поддерживает 8 канальную DDR-5 4400 MT/s. 

Мне как человеку, достаточно долгое время посвятившему оптимизации алгоритмов компьютерного зрения и запуска нейронный сетей на CPU (библиотеки Simd и Synet), было интересно: на сколько AMX позволяет реально ускорить вычисления и как извлечь из него максимальную производительность.

Далее я постараюсь максимально подробно ответить на данные вопросы. Прежде все я буду касаться вопросов однопоточной производительности (многопоточную рассмотрю позже). 

Далее много кода на С++...
Всего голосов 25: ↑26.5 и ↓-1.5+28
Комментарии4

Для дома и офиса: 5 моделей мини-ПК, позволяющих решать разные задачи

Время на прочтение4 мин
Количество просмотров12K

Производители электронных устройств продолжают выпускать все новые и новые модели. Миниатюрные ПК — вовсе не исключение. Кажется, что это разнообразие просто бесконечно. В подборке — модели, которые привлекли мое внимание по какой-либо причине. Например, производительность, необычный корпус или что-то еще. Все самое интересное — под катом.
Читать дальше →
Всего голосов 36: ↑36.5 и ↓-0.5+37
Комментарии39

Истории

Программирование и ИТ во мгле, но это не точно

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров28K

Приветствую хабравчане!

В данной статье хочу поделиться проблемами в ИТ. Высказать об этом своё мнение. Обсудить в комментариях, всё ли так плохо на самом деле и каков выход из данной ситуации. Меня не покидает ощущение, что мы как программисты, что то потеряли при очередном витке ИТ прогресса. Обсудим?

Давай, чё там у тебя
Всего голосов 153: ↑126 и ↓27+99
Комментарии298

Как перезапускать PySpark-приложение и зачем это может понадобиться

Уровень сложностиСложный
Время на прочтение15 мин
Количество просмотров1.5K

Сегодня все крупные компании сохраняют и обрабатывают большие объёмы информации, причём стремятся делать это максимально эффективным для бизнеса способом. Меня зовут Мазаев Роман и я работаю в проекте загрузки данных на платформу SberData. Мы используем PySpark, который позволяет очень быстро распределённо обрабатывать данные в оперативной памяти узлов нашего кластера на базе Hadoop. Я поделюсь способом, с помощью которого можно снизить потребление ресурсов кластера за счёт перезапуска PySpark-приложений между выполняемыми Spark-задачами, и расскажу, как это делать правильно.

Читать далее
Всего голосов 16: ↑16 и ↓0+16
Комментарии11

Шардирование (sharding). Эпизод 1: Начало и шардирование по идентификатору

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров5.4K

Divide et impera (разделяй и властвуй) – древний принцип для управления чем-то большим и сложным.

Многие из нас программируют. Многие из нас делают системы, сложные системы. Но некоторым повезло работать в ситуации, когда объёмы по-настоящему огромны и требования кажутся невыполнимыми. Шардировние – один из излюбленных счастливчиками, которых зовут приключения, приемов.

Что-нибудь разбить на кусочки – это круто! Переходите на сторону шардирования у нас есть печеньки!

За кусочками!!!
Всего голосов 22: ↑22 и ↓0+22
Комментарии7

Опять транзакции…

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров12K

Всем привет. На своем последнем месте работы я выполнял обязанности Java разработчика в одной из команд сервиса, чье приложение установлено в смартфоне большинства жителей РФ. Использовался стандартный стек технологий: Java, Spring(web, jdbc, core), PostgreSQL, Kafka. Обычное синхронное API по работе с данными, без всякой реактивщины, с нагрузкой более миллиона пользователей в день. Я столкнулся с тем что сервисы по работе с БД были обильно «усыпаны» Spring аннотациями @Transactional. Даже одиночные запросы на чтение данных использовали аннотацию с параметром readOnly=true. Я пытался писать комментарии к мердж‑реквестам с вопросом: «зачем вы это делаете?». Но получал ответы из разряда: «для перфоманса», «у нас так принято, чтобы случайно не упустить случай когда транзакция будет действительна нужна», «раньше у нас была какая‑то проблема с коннектами (какая именно никто так и не вспомнил сколько я не пытал), мы везде добавили аннотации и все заработало». Если интересно чем в итоге закончилась эта дискуссия, то подробности далее.

Читать далее
Всего голосов 32: ↑31 и ↓1+30
Комментарии43

Внутри S3. Доклад Яндекса

Время на прочтение12 мин
Количество просмотров16K

Привет, я Паша, разработчик в Yandex Infrastructure, и я катаю гусей. С 2019 года я развиваю S3-хранилище как для внутренних пользователей Яндекса, так и для клиентов Yandex Cloud. А «гусём» называется наш бэкенд S3 API: он написан на Go, а из словосочетания Go + S3 получился goose. Возможно, вы также слышали про GeeseFS — это наш высокопроизводительный FUSE-клиент для S3. C его помощью вы можете на своём ноутбуке или виртуалке подмонтировать папку, которая будет работать с бакетом S3. 

Для чего нам «гуси» и прочая орнитология? Яндексовая инсталляция хранилища S3 хранит миллиарды файлов. Это огромные объёмы данных, а также метаданных. Для хранения метаданных мы научились использовать умное шардирование, и теперь сами управляем распределением занятого места и нагрузкой между шардами баз.

Так что сегодня я расскажу, как сделать так, чтобы ни один клиент, даже с самым неудобным паттерном нагрузки, не положил сервис.

Читать далее
Всего голосов 82: ↑81 и ↓1+80
Комментарии52

Сложная архитектура простых приложений

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров7.9K

По мотивам Adidas Running (ex. Runtastic)

Как я бы проектировал это интересное, но малоизвестное у нас приложение в роли архитектора.

Предыстория

Рынка систем электронных соревнований (в 2012 г) нет, но есть огромный интерес к спортивному образу жизни и к соревнованиям. В США не менее 50 миллионов (!) человек (это примерно 15% всего населения) хотя бы раз в неделю выходят на пробежку.

Адидас имеет объем продаж 20–30 млрд долл. в год.

Основной рынок – США, остальные страны – второстепенные рынки.

Посмотреть архитектуру
Всего голосов 16: ↑14 и ↓2+12
Комментарии3

Вам не нужен time management, вам нужен attention management

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров18K

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

Разбираемся с управлением вниманием на примере огурцов, снежков и медведей

Читать далее
Всего голосов 28: ↑24 и ↓4+20
Комментарии29

Эффективные трассировки в Go

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров2.2K

Пакет runtime/trace содержит мощный инструмент для понимания программ Go и устранения неполадок. Функциональность внутри позволяет создавать трассировку исполнения каждой горутины за определенный период времени. С помощью go tool trace command (или превосходного инструмента gotraceui с открытым исходным кодом) можно визуализировать и исследовать данные в этих трассировках.

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

Читать далее
Всего голосов 17: ↑16 и ↓1+15
Комментарии0

Гигантские ИИ-модели и самые производительные чипы: Nvidia выпустила мощный GPU B200 со скромным потреблением энергии

Время на прочтение3 мин
Количество просмотров2.9K

Корпорация Nvidia продолжает развивать направление производства чипов для ИИ-отрасли. Сейчас руководитель американской компании заявил о выпуске самого мощного ИИ-чипа в мире. Кроме того, готовы и некоторые модульные системы, базирующиеся на основе GPU B200, так называется новинка. Подробности о ней — под катом.

Читать далее
Всего голосов 16: ↑15 и ↓1+14
Комментарии0

Ближайшие события

PG Bootcamp 2024
Дата16 апреля
Время09:30 – 21:00
Место
МинскОнлайн
EvaConf 2024
Дата16 апреля
Время11:00 – 16:00
Место
МоскваОнлайн
Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн

Обновление кешей сервисов в реальном времени с помощью YDB CDC на примере Yandex Monitoring

Время на прочтение15 мин
Количество просмотров1.7K

Меня зовут Егор Литвиненко. Я старший разработчик Yandex Observability Platform. Летом 2023 года я рассказывал на Saint Highload в Санкт-Петербурге про наш путь внедрения YDB CDC для обновления данных в сервисах, чтобы решить проблему инвалидации кешей.

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

Какие подходы к доставке изменений мы использовали.

Почему выбрали переход на CDC и в чём были сложности в работе с изменениями до этого. 

Чем YDB CDC отличается от других решений, как настроить правильно, и на какие грабли мы наступили в процессе.

Какую модель данных выбрать, чтобы решить проблемы с конкурентными изменениями.

Как поддерживать решение после внедрения.

Читать далее
Всего голосов 20: ↑20 и ↓0+20
Комментарии2

Когда одного Postgres'a мало: сравнение производительности PostgreSQL и распределенных СУБД

Уровень сложностиСложный
Время на прочтение12 мин
Количество просмотров10K

Общеизвестно, что PostgreSQL - крайне эффективная СУБД с богатой функциональностью. При этом не секрет, что PostgreSQL масштабируется только вертикально и её производительность ограничена возможностями одного сервера.

Написано много хороших постов, в которых сравнивают архитектуру монолитных и распределенных СУБД. К сожалению, обычно авторы ограничиваются теоретическим сравнением и не приводят конкретные цифры. Данный пост же наоборот основан на эмпирическом исследовании с использованием бенчмарка TPC-C, который является промышленным стандартом для оценки производительности транзакционных СУБД (On-Line Transaction Processing, OLTP).

Мы расскажем, когда именно одного Postgres'a становится мало, и какие возможны компромиссы между производительностью и надежностью. Для тех, кто не готов к компромиссам, мы покажем, что могут предложить такие распределенные СУБД, как CockroachDB и YDB.

Читать далее
Всего голосов 29: ↑28 и ↓1+27
Комментарии50

Что такое и как работает DevOps as a Service

Время на прочтение4 мин
Количество просмотров4.8K

Методология DevOps помогает решить многие проблемы на всех стадиях жизненного цикла ПО. Используя ее, компании могут уменьшить сложность своей IT-инфраструктуры, обеспечить большую безопасность и надежность программных продуктов, чем при традиционных подходах к разработке.

С помощью DevOps происходит автоматизация таких процессов, как подготовка инфраструктуры для разработки, тестирование и эксплуатация приложений, развертывание и мониторинг. Но для реализации этого подхода нужны квалифицированные специалисты. Что делать, если нет возможности нанять в штат DevOps-инженера? Кратко разбираемся в материале.
Читать дальше →
Всего голосов 36: ↑34 и ↓2+32
Комментарии2

Небольшая компания представила процессор с 900 тыс. ядер. Что это за чудо технологий?

Время на прочтение3 мин
Количество просмотров17K

О компании Cerebras на Хабре писали несколько раз, чаще всего с упоминанием того, что она создала самый большой в мире процессор. И сейчас та же ситуация — она повторила свой рекорд, разработав гигант с 900 тыс. вычислительных ядер. Конечно, это чип не для обычных пользователей, а для работы в отрасли искусственного интеллекта. Что это за процессор и на что он способен? Подробности — под катом.

Читать далее
Всего голосов 36: ↑33 и ↓3+30
Комментарии16

SQL HowTo: один индекс на два диапазона

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров3.7K

В прошлой статье я показал, как условие с парой однотипных неравенств, плохо поддающееся индексации с помощью btree, можно переделать на эффективно gist-индексируемое в PostgreSQL условие относительно диапазонных типов, а наш сервис анализа планов запросов explain.tensor.ru подскажет, как именно это сделать.

Но что делать, если неравенств у нас не два, а целых четыре, да еще и с разными типами участвующих полей? Например, для целей бизнеса это может быть задачей вроде "найди мне все продажи за декабрь на сумму 10-20K", что на SQL будет выглядеть примерно так:

dt >= '2023-12-01'::date AND dt <= '2023-12-31'::date AND

sum >= 10000::numeric AND sum <= 20000::numeric

Читать далее
Всего голосов 21: ↑21 и ↓0+21
Комментарии7

От идеи до сервера на Mac mini M2 Pro: как мы запускаем новые продукты

Время на прочтение5 мин
Количество просмотров6K

Меня всегда интересовало, как создают новые гаджеты, автомобили, самолеты и форматы домов. Сейчас я в команде выделенных серверов Selectel и сам участвую в разработке новых продуктов. Под катом делюсь опытом и рассказываю, откуда мы черпаем идеи и как реализуем проекты. На примере новых конфигураций на базе Mac mini®.
Читать дальше →
Всего голосов 34: ↑34 и ↓0+34
Комментарии43

В поисках самой мощной видеокарты! Тестируем А100 и А6000 Ada на большой языковой модели

Время на прочтение11 мин
Количество просмотров6K

Большие языковые модели (LLM) произвели настоящую революцию в мире ML. Все больше компаний стремятся так или иначе извлечь из них пользу. Например, в Selectel мы оцениваем рациональность развертывания частной LLM для помощи сотрудникам техподдержки в поиске ответов на вопросы клиентов. Эту задачу мы решили совместить с тестом нового железа — видеокарты Ada с 48 ГБ RAM. В соперники ей выбрали А100 на 40 ГБ.

Сразу оговоримся, что нормально обучить LLM на одной GPU практически невозможно, но в качестве теста производительности такая задача вполне подходит. Под катом рассказываем, как мы проводили тест-драйв двух GPU и к каким выводам пришли.
Читать дальше →
Всего голосов 37: ↑36 и ↓1+35
Комментарии13
1
23 ...
Изменить настройки темы

Вклад авторов