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

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

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

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

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

Корифеи мне конечно объясняли что мол приложению нужно "прокачаться" перед запуском и даже научили пользоваться бенчмарком для .NET, но забавность еще и в том, что на одной машине бенч может показывать одни результаты, а на другой - другие. И нет, я не про разницу в железе, а о том, что Метод1 на одной машине стабильно быстрее Метода2 на 10%, а на другом ПК - разница просто отсутствует.

Вот и сегодня точно такой же день, я нашёл еще одно условие при котором производительность меняется. Опишу все три что мной уже наёдены:

Первая. Перестановка переменных местами:

int a = 0;
int b = 0;

и следом вариант

int b = 0;
int a = 0;

производительность меняется.

Вторая. Использование for/while:

for(int i = 0; i < 100; i++);
int i = 0; while(i < 100) i++;

еще с 90-х меня учили что в Си-подобных языках конструкции for/while по сути взаимозаменяемы, но в C# почему-то while в некоторых ситуациях оказывается быстрее.

Третья. Обнаружена пару дней назад:

int time = time * 10 + sec - 2;
sec++;

код выше работает медленнее чем

int time = time * 10 + sec++ - 2;

Из множества объяснений самым правдоподобной во всех случаях мне показалась гипотеза о том, в каких случаях какие значения оказываются в регистрах ЦПУ. Возможно это и так, но объяснение объяснением, а вопросы к компилятору всё равно останутся.

Теги:
+1
Комментарии14

Раз в год-два мне приходится вспоминать, что Python — не C++.

В этот раз я наткнулся на случай, когда отформатировать и склеить колонки результата запроса на стороне PostgreSQL и распарсить Python-ом оказалось эффективнее, чем запрашивать колонки как отдельные значения.

Конкретнее, при переходе от этого запроса:

SELECT * FROM o_relations ORDER BY id DESC LIMIT %(limit)s

к этому:

SELECT CONCAT(entry_id::text, '|', tag_id::text) AS ids FROM o_relations ORDER BY id DESC LIMIT %(limit)s

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

Причиной тому тяжёлая конвертация данных из формата С в формат Python внутри Psycopg.

За подробностями можно сходить ко мне в блог: https://tiendil.org/ru/posts/fun-case-of-speeding-up-data-retrieval-with-psycopg

Теги:
-6
Комментарии4

50 оттенков кеширования: от in memory к многоуровневому redis-кластеру — Леонид Ченский / Ural Digital Weekend 2024

Опубликовали запись доклада секции «Разработка» с Ural Digital Weekend 2024.

При разработке команда логистики часто сталкивалась с высокими нагрузками в несколько сотен тысяч rps и очень жесткими SLO времени ответа. При этом с каждым годом менялись функциональные и нефункциональные требования. В выступлении спикер рассказал, как в команде боролись с такими нагрузками, а также о том, с какими трудностями пришлось столкнуться, и какие ошибки допустили.

Сначала Леонид кратко поговорил о проблеме быстрой отдаче сроков доставки. А далее о том, как c каждым годом они адаптировали архитектуру и какие решения для этого использовали.

Итерация 1: in memory cache.

Итерация 2: удаленный шардированный кэш-кластер (redis vs memmcached).

Итерация 3: N-уровневый кэш.

Итерация 4: шардированно-реплицированный multi-DC кэш-кластер Redis.

В конце выступления спикер подвел итог и поговорил об альтернативах KV.

Ссылка на запись доклада в ВКонтакте.

Ссылка на презентацию: https://goo.su/2ik4N

Теги:
Всего голосов 2: ↑1 и ↓10
Комментарии0

В одной из недавних статей узнал про сайт HighLoad.fun, было интересно решить несколько задач и забраться в лидеры. Если кто-то любит highload задачи, то зову принять участие. Общался с автором проекта HL в телеграме - отзывчивый добродушный человек, планируется версия сервера 2.0 с новыми плюшками. Может и выглядит как реклама, но моя заинтересованность чисто спортивная, я решаю такие задачи сколько себя помню, это как кроссворды для меня, а без конкуренции нет желания улучшать результат. В секции C++ конечно соревновательный дух активнее, но я пишу на C# и там результатов не так много.

Теги:
Всего голосов 2: ↑2 и ↓0+3
Комментарии5

Как обрабатывать 5 млн изменяющихся форм в минуту с SLI 99.99% — Кирилл Грищук

Опубликовали запись доклада секции «Разработка» с Ural Digital Weekend 2024.

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

Ссылка на запись доклада в ВКонтакте.

Ссылка на презентацию: https://goo.su/qHW9

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии1

Как мы сделали высокоскоростной RPC с помощью RDMA для собственного SDS — доклад на IT-конференции GoCloud Tech 🦾

На конференции GoCloud Tech расскажем, почему выбрали RDMA RoCE v2 — программный блок для потоковой передачи данных. Посмотрим на внутреннее устройство транспорта с позиции разработчика. Покажем, как изменилась производительность RPC между сервисами SDS. Обсудим недостатки и перспективы решения.

Приходите послушать доклад и обсудить тему в неформальной обстановке.

🕚 Когда: 24 октября с 17:40 до 18:05

📍 Где: онлайн и офлайн в Москве в лофт-пространстве Goelro

👉 Зарегистрироваться на GoCloud Tech

Полезное в блоге:

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

Новые курсы Яндекс Практикума для специалистов с опытом

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

«Эксплуатация и разработка в Kubernetes» — за 3 месяца освоите и примените на практике технологии оркестрации контейнеров. Программу составляли инженеры и тимлиды, которые давно работают с Kubernetes. Благодаря этому, вы будете учиться только тому, что на самом деле пригодится в работе. Ближайший старт — 17 октября.

«Apache Kafka для разработки и архитектуры» — 3-месячный курс для тех, кто хочет влиять на масштабируемость и надёжность систем. С этой технологией вы будете работать с более сложными продуктами и сможете повысить грейд. Есть бесплатная вводная часть. Ближайший старт — 21 ноября. 

«Архитектура программного обеспечения» — за 6 месяцев освоите лучшие практики архитектуры и научитесь решать сложные архитектурные задачи. Есть бесплатная вводная часть. Ближайший старт — 24 октября и 28 ноября.

«Мидл Android-разработчик» — 5-месячная программа для Android-разработчиков с опытом. Курс фокусируется на углублении технических навыков, изучении передовых паттернов и технологий, а также на освоении инструментов и методов, применяемых в реальных проектах. Ближайший старт — 14 ноября.

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

«Apache Kafka для разработки и архитектуры» — новый курс Яндекс Практикума

Навыки работы с Apache Kafka нужны всем, кто хочет влиять на масштабируемость и надёжность систем. На курсе «Apache Kafka для разработки и архитектуры» за 3 месяца вы научитесь использовать эту технологию, чтобы применять её в работе. 

Курс подойдёт специалистам с опытом: бэкенд-разработчикам, архитекторам, DevOps-инженерам и инженерам данных. Нужно знать Java, Python или Golang, понимать принципы работы с базами данных SQL и NoSQL, базово разбираться в архитектуре распределённых систем и уметь работать с Linux.

Преимущества курса:

  • Обучение конкретно Apache Kafka, не в рамках более общего курса;

  • Комплексное погружение в инструмент, а не просто знакомство с основами;

  • Практические задания в каждом уроке и проекты по окончании спринтов;

  • Воршкопы с экспертами, которые помогут разобрать наиболее сложные вопросы.

    Вы научитесь:

  • Настраивать Apache Kafka для своих задач и оптимизировать производительность;

  • Интегрировать Kafka с внешними системами;

  • Работать с производителями и потребителями сообщений;

  • Проектировать и реализовывать потоковые пайплайны данных;

  • Обеспечивать надёжность и отказоустойчивость систем;

  • Настраивать мониторинг кластеров Kafka и управлять им.

Вы получите диплом о профессиональной переподготовке в конце курса, если у вас есть среднее-профессиональное или высшее образование. Если нет, получите сертификат о прохождении курса.

→ Узнать о курсе подробнее и начать обучение

Теги:
Всего голосов 6: ↑5 и ↓1+6
Комментарии0

Сергей Ким, руководитель команды разработки WMS и активный пользователь Яндекс Лавки, рассказал, про внутренний мир Лавок. 

Обсудили: 

  • как Яндекс управляет лавками, узнаёт о товарных остатках и рассчитывает время курьеров, чтобы вовремя доставлять все заказы; 

  • о чём можно узнать с помощью проактивных пушей изменений и периодического пула всего сразу;

  • как перекладывать JSON с минимальным лагом. 

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

Теги:
Всего голосов 7: ↑6 и ↓1+9
Комментарии0

Фотонный процессор в России: что за чудо и с чем его едят?

РИА Новости сообщают, что к концу года в России завершат испытания фотонного процессора. Что в нём инновационного и реально ли ждать в нашей стране такое устройство?

Представьте, что вам надо послать сообщение и вы передаёте письмо «Камазом». Почему же не легковой машиной или даже по интернету? Сейчас с вычислительной техникой ситуация плюс-минус аналогичная — информация передаётся с помощью электронов, а ведь у нас есть частицы гораздо легче — фотоны. Массы покоя они вообще не имеют, а значит любые преобразования способны проводить быстрее. Теоретически. А ещё не будет потерь тепла на сопротивление. Вот и получается, что процессор, в котором вычисления проводятся не на электронах, а на фотонах, должен быть быстрее в десятки тысяч раз и с минимальным энергопотреблением.

Теория замечательная. Однако для фотонов придётся заново создавать вентили, которые смогут превращать их в нули и единицы и совершать с ними операции. Пока есть только тестовые образцы.

Сможет ли Россия обогнать весь? Материаловедение сейчас развивается во всём мире, и тот же Росатом вовсю работает над новыми материалами. Так что на данном этапе всё возможно. Тем более, что в этом году мы получим только прототип фотонного процессора со скромными характеристиками. К 2030 году российские учёные обещают разогнать его до 1000 экзафлопс при энергопотреблении в 10 000 раз ниже обычного. Звучит фантастично. А ведь потом встанет вопрос серийного производства...

Теги:
Всего голосов 16: ↑11 и ↓5+13
Комментарии1

Закрытие темы "Гипотеза о связи относительного количества ожиданий СУБД и производительности СУБД "

Отношение количества событий ожидания влияющих на производительность СУБД к количество событий ожидания не влияющих на производительность в ходе штатной работы СУБД будет примерно постоянное.

Для проверки гипотезы была проведёна серия экспериментов по 3-м сценарям:

1) Базовая(эталонная) нагрузка.

2) Дополнительная нагрузка на CPU/RAM.

3) Очередь ожидания освобождения блокировки строк/таблиц.

Итог: Гипотеза не подтверждается экспериментальными данными : разница в соотношении между ожиданиями составляет ~3% , при деградации производительности ~34%.

Или другими словами: соотношение между ожиданиями при работе СУБД, в общем случае, не зависит от нагрузки и производительности СУБД и остаётся примерно постоянным для конкретной СУБД.

Таким образом - изменение соотношения между ожиданиями СУБД не может являться индикатором деградации производительности.

Тема закрыта. Статья снята с публикации.

P.S. Однако, в ходе экспериментов, получен интересный побочный результат:

При использовании pgbench c параметром "--connect", отношение количества ожиданий влияющих на производительность, к количеству ожиданий не влияющих на производительность - существенно отличается (~38%).

Следствие - данное соотношение может быть использовано как оценочное значение результатов нагрузочного тестирования и для оценки эффективности архитектурного решения.

Теги:
Всего голосов 3: ↑1 и ↓2+1
Комментарии0

Разверните базу данных на выделенном облачном сервере ⚡️

Преимущества DBaaS на выделенном облачном сервере

  • Максимальная производительность,

  • Экономическая выгода,

  • Быстрый запуск,

  • Безопасность.

Сделали все для максимальной производительности ваших баз данных

  • Собрали конфигурации серверов с высокочастотным процессором Intel® Xeon® Gold 6240 в односокетной сборке с включенным Turbo Boost и Hyper-threading. 

  • Используем специальные планки оперативной памяти ECC REG, рекомендуемые для СУБД.

  • Для дополнительной отказоустойчивости добавили дисковую подсистему на сверхбыстрых NVMe SSD дисках компании Intel, собранных в RAID1.

  • Оптимизировали настройки всех систем на сервере от BIOS до ОС.

Создайте базу данных →

Теги:
Всего голосов 7: ↑6 и ↓1+9
Комментарии0

К вопросу о важности определения понятия "производительность СУБД".

Пусть имеется некий запрос к СУБД, который важно мониторить с точки зрения эффективности и качества работы.

Сценарий 1: запрос выдает N1 строк и выполняется за время T1.

Сценарий 2: запрос выдает N2 строк и выполняется за время T2.

Вопрос: можно ли утверждать о инциденте в случае Сценария 2, если "T2 > T1 И N2 > N1" ?

Утверждение: Не имея определения понятия "производительность" и не обладая возможностью рассчитать метрику производительности отдельного запроса, получить однозначный ответ на поставленный вопрос - невозможно.

Теги:
Всего голосов 3: ↑2 и ↓1+3
Комментарии0

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

2 – 18 декабря
Yandex DataLens Festival 2024
МоскваОнлайн
11 – 13 декабря
Международная конференция по AI/ML «AI Journey»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань

Леонид Ченский про систему кэширования и топ-3 ошибок в кэшировании

Мы встретились с Леонидом Ченским, руководителем группы разработки в Ozon и спикером секции «Разработка» UDW2024. Леонид рассказала про обучение разработчиков, систему кэширования и топ-3 ошибок в кэшировании.

Ссылка на интервью: https://www.youtube.com/watch?v=yNuAjXKfcMg

Ural Digital Weekend 2024 — одна из крупнейших IT-конференций на Урале с насыщенной программой и аудиторией 400+ человек, организованная компаниями Spectr и Тэглайн. Билеты для посещения конференции уже могут приобрести все желающие на сайте Ural Digital Weekend 2024 — https://ural-digital-weekend.ru/. А по промокоду CHENSKYGIFT10 можно получить приятную скидку.

Теги:
Всего голосов 2: ↑2 и ↓0+4
Комментарии0

Надежность — не просто слово, а важное дело

Привет! С вами центр надежности Т-Банка, и мы приглашаем инженеров на SRE-митап.

Где: Москва, офис Space, ул. Грузинский Вал, 7
Когда: 29 июля в 19:00

На встрече вы узнаете:

  • как не напрягаясь казаться надежнее, чем есть на самом деле;

  • понять, что ест ресурсы в PostgreSQL и как это прекратить;

  • построить хранилище логов, если Grep вы уже переросли.

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

О чем расскажут эксперты

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

Go: Раскрытие потенциала скорости

Я всегда борюсь за скорость. Началось это все с того, как я прочитал книгу “Грокаем алгоритмы” и меня заинтересовало измерение скорости выполнения. Потом, решая задачи на LeetCode я расстраивался, если алгоритм получался медленным. Недавно мне пришла идея написать пост на эту тему, а во время написания изучить этот вопрос получше. Я прочитал не мало статьей, большинство из которых - англоязычные.Так что вот советы по увеличению скорости Вашего приложения на Golang :

1. Выделять ёмкость для среза с помощью make

При создании среза выделяйте ёмкость с помощью make, так Вы избавитесь от перераспределений

2. При возвращении указателя, объявлять его при создании переменной

 func (r Ruleset) Match(path string) (*Rule, error) {
 	for i := len(r) - 1; i >= 0; i-- {
		rule := r[i] //так НЕ надо
		rule := &r[i] //так надо
 		match, err := rule.Match(path)
 		if match || err != nil {
			return &rule, err //так НЕ надо
			return rule, err //так надо
 		}
 	}
 	return nil, nil
}

3. Пишите бенчмарки

Пишите бенчмарки для вашего приложения, так Вы поймете, в каком месте оно работает медленнее всего. Источник для того, чтобы научиться писать бенчмарки: https://dave.cheney.net/2013/06/30/how-to-write-benchmarks-in-go и др.

4. Используйте горутины!

Когда есть возможность, используйте горутины. Например, когда результат 2-х операций не зависит друг от друга, можете использовать горутины. Думаю, доказывать, что таким образом приложение становится быстрее, не надо :)

Теги:
Всего голосов 5: ↑2 и ↓3+3
Комментарии4

Привет! Мы проводим SRE Week — открытый интенсив по теме Site Reliability Engineering от Школы анализа данных и экспертов Yandex Infrastructure. 

О чём интенсив

Site Reliability Engineering — область, посвящённая эксплуатации больших и нагруженных компьютерных систем. Если вы хотите делать сервисы, способные выдерживать значительные нагрузки и работать на большом количестве железа, вам придётся столкнуться и с вопросами эксплуатации. 

Программа интенсива

На интенсиве будет пять лекций и один семинар, занятия пройдут с 17 по 22 июня.

На лекциях:

  • посмотрим на поломки больших систем, общие принципы, статистику аварий и разберём конкретный инцидент;

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

  • изучим опасности, которые могут поджидать в протоколе, связывающем отдельные серверы, и освоим средства диагностики распределённых систем; 

  • обсудим, из чего состоит ежедневная работа в эксплуатации и как организована работа в команде. 

На семинаре:

  • научимся настраивать ядро Linux для повышения производительности; 

  • разберём на практике несколько реальных проблемных ситуаций, для диагностики которых воспользуемся утилитами с лекций.

Как принять участие

Для участия в интенсиве зарегистрируйтесь по ссылке. Регистрация открыта до 16 июня. Для получения доступа к итоговому практическому заданию нужно пройти отбор до 22 июня и сдать задание до 3 июля. Тем, кто успешно справится, будет выдан сертификат.

Теги:
Всего голосов 4: ↑4 и ↓0+8
Комментарии0

Разбор доклада Артёма Арутюняна про Архитектуру и Реактивное Программирование

Топ перлов:

  • Реактивное программирование - это программирование на событиях.

  • Реактивность нужна между модулями, а внутри - не нужна.

  • По одному лишь графу связей можно понять правильно произведена декомпозиция или нет.

Мета: Копилка благодарностей, Новости, Форум

Теги:
Всего голосов 7: ↑4 и ↓3+1
Комментарии9

Или я плохо ищу или действительно , тема корреляционного анализа производительности СУБД , еще не исследовалась.

Например было бы очень интересно установить - какой из факторов оказывает максимальное влияние на производительность СУБД или наоборот - как производительность СУБД влияет на показатели СУБД и инфраструктуры :

  • Количество соединений

  • Утилизация CPU

  • Утилизация RAM

  • Утилизация I/O

  • Количество ожиданий СУБД

  • Показатели CPU (iowait и т.п)

  • Показатель Cache Hit Ratio

  • Объем обработанных блоков shared_buffer

  • Что-то еще из огромного списка метрик

Теги:
Всего голосов 3: ↑2 и ↓1+3
Комментарии7

Блогер GPU Tester проверил работоспособность бюджетной видеокарты Nvidia GTX 1060 с 6 ГБ видеопамяти в современных играх в разрешении Full HD на ПК с процессором AMD Ryzen 7 7700X с 32 ГБ ОЗУ DDR5 6000 МГц.

Игра Call of Duty Modern Warfare II на сбалансированных настройках в среднем работает при 76 кадрах в секунду, а Apex Legends на ультранастройках удалось достичь 103 FPS. Шутер Counter‑Strike 2 на высоких настройках показал 145 FPS.

Требовательная Starfield показала средний результат в 25 FPS при вручную подобранных настройках графики, Star Wars Jedi: Survivor и Hogwarts Legacy на низких и средних настройках соответственно показали 33 FPS и 43 FPS. Игра Plague Tale Requiem и Dying Light 2 Stay Human на ультра- и средних настройках графики показали 47 FPS и 54 FPS соответственно, Cyberpunk 2077 на индивидуальных настройках показал 44 FPS, а God of War — 56 FPS.

Видеокарта Nvidia GeForce 1060 была представлена в 2016 году. На сегодняшний день это очень бюджетное решение, которое можно купить в России в среднем за 12 тыс. рублей.

Теги:
Всего голосов 3: ↑2 и ↓1+3
Комментарии2

infra.conf 4 июня: обсудим с разработчиками кейсы создания и эксплуатации высоконагруженных систем

Команда Yandex Infrastructure 4 июня проведёт конференцию про создание инфраструктуры и эксплуатацию высоконагруженных систем. Встретимся в Москве и в онлайн‑эфире, чтобы поговорить про платформенную разработку, базы данных и облачные технологии, тестирование и безопасность, ML‑инфраструктуру и опенсорс‑решения.

Только практика от крупных компаний: Авито, Иннотех, Альфа‑Банк, Selectel, СберМаркет и SberDevices, Postgres Pro, Лаборатория Касперского и др.

Среди уже объявленных спикеров:

  • Борис Литвиненко, Yandex Infrastructure: расскажет о том, как удобно жить на железе в 2К24 базовой инфраструктуре, о пути сетевого пакета и о специфике обслуживания этой части инфраструктуры. В финале вместе сделаем своё облако с DPDK и попытками преодолеть проблемы монолитной инфраструктуры.

  • Дарья Николаенко, Тинькофф: в докладе «Потребитель и железка. Где связь?» расскажет про неочевидные и хитросплетённые зависимости масштабной инфраструктуры и их влияние на выполнение и постановку рабочих задач, а также поделится опытом визуализации и систематизации инфраструктурных компонентов.

  • Виктор Корейша, Ozon Tech: расскажет о проектировании собственной S3 поверх Ceph, а также о проблемах, возникших при разработке, миграции и эксплуатации на реальной нагрузке. И, конечно, покажет пути решения и поделится результатами.

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

Теги:
Всего голосов 4: ↑4 и ↓0+6
Комментарии0

В Китае в продажу поступил ноутбук MSI Titan 18 Pro в версии 192 ГБ ОЗУ и SSD накопителем на 4 ТБ.

За производительность устройства отвечает 24-ядерный процессор Intel Core i9–14 900HX с 32 потоками, а также мощная видеокарта Nvidia GeForce RTX 4090. Энергопотребление системы достигает 250 Вт.

Ноутбук имеет 18» Mini‑LED экран с разрешением 3840×2400 пикселей и с частотой обновления изображения 120 Гц, а также охватом цветового пространства DCI‑P3 на 100%. Заявленная яркость экрана составляет 1000 нит.

Среди прочих особенностей отмечается наличие аккумулятора ёмкостью 99,9 Вт*ч, 6 динамиков, Wi‑Fi 7 и различных портов для подключения внешних устройств, в том числе двух USB‑C с поддержкой Thunderbolt 4, двух USB-A 3.2 Gen 2 и HDMI 2.1.

В Китае MSI Titan 18 Pro в версии на 192 ГБ и 4 ТБ продаётся за 39,6 тыс. юаней (около 500 тыс. рублей).

Теги:
Всего голосов 4: ↑4 и ↓0+5
Комментарии3

1 мая стартует новый формат соревнований на HighLoad.Fun, который напомнит вам о первых HighLoad CUP от Mail.Ru в 2017 и 2018 годах.Смысл соревнования написать HTTP сервер на любом языке программирования который реализует API описанный с помощью Swagger'а, запаковать в Docker контейнер и загрузить в registry платформы, где произойдёт тестирование. Чьё решение быстрее и без ошибок обработает входящий поток запросов — победит.

HighLoad.Fun некомерческий продукт, я занимаюсь этим проектом уже несколько лет. У меня нет споносоров, поэтому больших призов не будет, но должно быть весело и интересно.

Ссылка на соревнование: https://highload.fun/timed_competitions/authserver

Теги:
Всего голосов 4: ↑4 и ↓0+5
Комментарии0

Гендиректор Nvidia Дженсен Хуанг (Jensen Huang) лично доставил свой новый флагманский ускоритель DGX H200 в офис компании OpenAI в Сан-Франциско, подчеркнув тесную связь между двумя гигантами в отрасли искусственного интеллекта.

Хуанга встретили соучредитель OpenAI Грег Брокман и гендиректор компании Сэм Альтман.

DGX H200 – это новейший ускоритель ИИ-вычислений Nvidia, оснащенный 141 ГБ памяти HBM3e. Производитель позиционирует это решение как самый мощный ИИ-ускоритель Nvidia, знаменующий шаг вперёд в области технологий ИИ с производительностью в 1 экзафлопс.

Теги:
Всего голосов 3: ↑3 и ↓0+4
Комментарии3

«Много ядер» не имеет смысла

Нашумевший в конце прошлого года своим выходом мощный процессор AMD Threadripper Pro 7995, оказывается, не оправдывает себя в реальной жизни. Здесь понимаем под этим обычные условия использования, т. е. нет специального навороченного охлаждения, обычный корпус, память в пределах разумного и т. д.

AMD Threadripper 7000
AMD Threadripper 7000

Вот тут описывается опыт использования в разных конфигурациях. Вкратце: из‑за поставленного ограничения на тепловыделение в 350 Вт процессор не использует всю имеющуюся у него мощь, так что работа всего на 16 ядрах оказывается равносильна работе на всех 96. Процессор просто сбрасывал скорость при достижении предельного тепловыделения. Нагрузка была в виде сборки всего проекта Хромиум. Плюс ко всему, потребовалось значительно больше памяти, для того, чтобы сборка в принципе работала на таком большом количестве ядер. Для использования всей мощности автору пришлось делать специальную конфигурацию машины.

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

По своему опыту могу сказать: на старенькой машинке Атлон II x4 (2009г) Хромиум собрался за ~40 часов.

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии14

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

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

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

Тестовая установка включала ЦП ARM Cortex-A57, GPU Nvidia и тензорный процессор Google Edge. Благодаря одновременной и гетерогенной многопоточности выполнение расчёта примера кода прошло в 1,95 раза быстрее, а потребление энергии сократилось на 51%.

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

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

Теги:
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Какая облачная конфигурация нужна для работы 1С в связке с PostgreSQL и Microsoft SQL Server

При переезде 1С в облако клиенты часто озабочены выбором оптимальной конфигурации
При переезде 1С в облако клиенты часто озабочены выбором оптимальной конфигурации

По опыту, нередки 4 варианта:

  1. Сервер 1С и managed БД на разных ВМ. Получаем отказоустойчивость и хороший уровень изоляции. Но скорость коммуникации между серверами зависит от сети, особенно, если ВМ в разных зонах доступности.

  2. Сервер 1С и ВМ с БД на разных ВМ. У каждой из ВМ полный доступ к ресурсам, что даёт производительность для требовательных задач и возможности тюнинга.

  3. Сервер 1С и БД на одной ВМ. Вся обработка данных — на одной машине, что устраняет задержки сети.

  4. Сервер 1С и БД на одной ВМ, временные таблицы БД — на RAM‑диске. Так можно ускорить обработку данных, т.к. операции чтения/записи в RAM быстрее, чем на традиционных дисках. Это сокращает время отклика при выполнении операций на временных таблицах.

    Конфигурацию можно оптимизировать:

    • В Microsoft SQL вынести tempdb на RAM‑диск. Если допустимо, рассмотреть вынос других служебных таблиц.

    • Настроить параметры Delayed Durability, Max degree of parallelism, размер автоувеличения файлов БД, shared memory. Если важна персистентность, настроить периодический сброс данных, например, в ImDisk Virtual Disk Driver.

    • В PostgreSQL вынести временные таблицы на RAM‑диск для ускорения обработки, настроить nr_hugepages для сокращения расходов памяти.

    При оценке производительности этой конфигурации тест Гилёва показал более 42 баллов.

На вебинаре 12 марта вместе с «Первым Битом» разберём эти сценарии миграции в облако, дадим рекомендации. Подключайтесь.

Теги:
Всего голосов 5: ↑5 и ↓0+5
Комментарии0

В новосибирском Академгородке запустили суперкомпьютер «Сергей Годунов», который назван в честь советского и российского математика с мировым именем.

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

Суперкомпьютер «Сергей Годунов» создан на основе передовой платформы «РСК Торнадо» с использованием жидкостного охлаждения. Каждый узел системы оснащён двумя процессорами Intel Xeon Ice Lake-SP, имеющими по 38 ядер и работающими на частоте 2,4 ГГц. В момент введения в эксплуатацию общая производительность кластера достигла 54,4 Тфлопс.

Планируется увеличить производительность более чем в два раза, до 120,4 Тфлопс. И.о. директора ИМ СО РАН Андрей Миронов отметил, что новый суперкомпьютер поможет существенно повысить эффективность научных исследований и будет способствовать развитию новых технологий.

Планируемые задачи для новой системы:

  • медицинская электроакустическая томография;

  • вычислительная аэрогидродинамика и оптимизация турбулентных потоков;

  • моделирование сценариев развития системы биосфера-экономика-социум;

  • решение обратных задач геофизики прямым методом на основе подхода Гельфанда — Левитана.

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

Дайджест продуктовых обновлений за январь ?

В начале года мы постарались сохранить немного праздничного настроения и выпустили несколько важных апдейтов. Среди них — свежие серверы на базе Mac mini®, обновленная версия Kubernetes 1.29: Mandala, улучшения в безопасности аккаунтов и другие фичи по заявкам.

Подробнее об апдейтах читайте в полной версии дайджеста ?

Чтобы оставаться в курсе новостей и пользоваться специальными предложениями, подписывайтесь на нашу рассылку ?

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Как внедрить телеметрию в on-premise-инфраструктуре

На предстоящий DevOpsConf 2024 выступлю с докладом по телеметрии и расскажу:
— Какие инструменты вам помогут в деле формирования, сбора, хранения и отображения данных телеметрии.
— Как выбрать тот или иной продукт и не наткнуться на несовместимость решений.
— Какой набор инструментов использовать, если вы работаете исключительно с on-premise инфраструктурой.
Материалы доклада помогут собрать решение для вашего случая.

Кому будет полезен доклад:
DevOps-инженерам и архитекторам.

Обо мне:
Ведущий DevOps-инженер Hilbert Team. Более 15 лет в IТ. Cоавтор курсов Yandex Cloud: «DevSecOps в облачном CI/CD», «Аутентификация и управление доступами», «Managed Service for ClickHouse», «Масштабирование нагрузки в K8s».

Если планируете посетить DevOpsConf, приходите 4 марта в 10:00 в Зал «Кейптаун».

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Компьютер двоичный, многоичный и аналоговый.

Все привыкли к двоичным. Гонка за разрядностью сделала нормой 64 разряда в двоичной системе. Однако также как и системы исчисления бывают разные - шестидесятеричная, десятичная, двадцатеричная, так и вычислительные машины могут иметь разное основание.
Вот например недавно на Хабре была статья про троичный компьютер.
С детальным разбором того, чем он интересен. https://habr.com/ru/companies/timeweb/articles/723404/

Но хранение в одной ячейке памяти не двух возможных значений, а больше (трех, десяти) должно бы сильно сократить физический размер компьютерной памяти.
Для восьмеричного компьютера в четыре раза. Если при этом сами вычисления останутся двоичными, то будет проблема передачи данных из памяти в вычислитель и обратно.

Троичный вычислитель уже делали. А такой, у которого больше доступных состояний? Надо уметь делать действия с числами, которые записаны не в виде 0 и 1 а как 0,1..7. Возможно ли это? Вполне. Можно, например, умножение реализовать на операционных усилителях с компаратором. Цифровой вычислитель имеет внутри аналоговый умножитель и компаратор для получения точных значений.

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

Теги:
Всего голосов 4: ↑3 и ↓1+2
Комментарии2

«Яндекс» изучил поисковые запросы программистов и составил карту технических навыков, которые регулярно используют ML-разработчики. Этот проект показывает, какие ML-технологии и методы сейчас особенно популярны, как они связаны между собой и как менялся к ним интерес. 

Размер навыка на карте соответствует его популярности у ML-разработчиков. Положение навыков относительно друг друга определяется сходством контекста: чем чаще два навыка соседствуют с одними и теми же тегами на Stack Overflow, тем меньше расстояние между ними на карте.

Для оценки близости контекста в «Яндексе» рассчитали векторы совстречаемости каждого навыка со всеми остальными, затем нормализовали метрикой TF-IDF. Для укладки навыков на карте использовали алгоритм UMAP.

В дополнение к карте технических навыков «Яндекс» опубликовал рейтинги навыков, интерес к которым сильно вырос в 2023 году по сравнению с 2022 годом. Это десять самых актуальных библиотек и фреймворков и десять ML-технологий и методов. Большинство из них связаны с генеративными моделями и нейросетями для распознавания объектов.

Библиотеки и фреймворки:

  1. langchain;

  2. python-polars;

  3. faiss;

  4. sentence-transformers;

  5. huggingface-datasets;

  6. jax;

  7. stable-baselines;

  8. onnxruntime;

  9. huggingface-transformers;

  10. pytorch-geometric.

ML-технологии и методы:

  1. large-language-model;

  2. stable-diffusion;

  3. openai-api;

  4. gpt-3;

  5. fine-tune;

  6. generative-art;

  7. text-parsing;

  8. hdbscan;

  9. transformer-model;

  10. nlp-question-answering.

Теги:
Всего голосов 6: ↑5 и ↓1+4
Комментарии3

Президент РФ поручил до 1 марта 2024 года разработать и реализовать меры для увеличения вычислительных мощностей суперкомпьютеров в России. Перечень поручений опубликован на сайте Кремля.

«Разработать и реализовать комплекс мер, направленных на увеличение вычислительных мощностей суперкомпьютеров, находящихся в РФ, определив конкретные параметры увеличения этих мощностей», — говорится в публикации.

К 1 марта правительству РФ поручено разработать механизмы использования архивов государственных и муниципальных органов, библиотечных фондов в целях создания наборов данных. Ответственным назначен премьер-министр Михаил Мишустин.

В октябре 2023 года «Ведомости» со ссылкой на данные АНО «Цифровая экономика» сообщили, что семь российских суперкомпьютеров входят в мировой рейтинг топ-500. У США в нем 150 машин, у Китая — 134. Далее идут Германия с 36 суперкомпьютерами и Япония с 33. По состоянию на июнь 2023 года Россия занимала в рейтинге 12 место.

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Вышла вторая редакция проекта PLB (Programming Language Benchmark) по тестированию производительности решения типовых задач на различных языках программирования. В ней измеряется производительность кода для умножения матриц и решения задачи расстановки 15-ферзей, а также дополнительно оценивает поиск решений в игре Судоку и определение пересечений двух массивов.

Код для тестирования PLB написан на 20 языках программирования. Наиболее высокую производительность показала реализация тестовых приложений на языке C (при компиляции в clang). На втором месте оказался язык Zig, на третьем Nim, на четвёртом Mojo. Далее примерно на одном уровне следуют D, Java, JavaScript-платформа Bun и Rust, а после них Go, Crystal и V.

Высокие результаты показали Node.js, Dart, Lua и C#. Хорошие показатели у Java и C# объясняются использованием отдельной стадии JIT-компиляции, в то время как в Dart, Bun, Node.js, Julia, LuaJIT, PHP, PyPy и Ruby3 (YJIT) JIT-компиляция выполняется на лету и затрагивает только часто выполняемый код. JavaScript-платформа Bun заметно обогнала Node.js. Относительно медленными оказались результаты у Julia и Swift.

Наихудшие показатели производительности выявлены у PHP, Ruby, Perl и CPython, при этом производительность PHP оказалась примерно в 4 раза выше, чем CPython.

Дополнение: В реализации на языках Rust, D и Julia внесены оптимизации, которые позволили Rust занять второе место, D - третье, Julia - 7, а V показал лучший результат в nqueen+matmul.

Источник: OpenNET.

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии3

Группа исследователей из компании Hugging Face и Университета Карнеги-Меллона опубликовала результаты анализа энергопотребления при выполнении различных моделей машинного обучения.

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

Например, выполнение 1000 итераций наиболее энергозатратной модели генерации изображений потребовало 11,49 кВт*ч энергии, что соответствует 950 зарядам аккумулятора смартфона, то есть одна генерация изображения по энергопотреблению соответствует примерно одной средней ежедневной зарядке смартфона (0,012 кВт*ч).

Потребление наиболее энергоэффективной модели генерации изображений составило 1,35 кВт*ч на 1000 итераций, что в 8 раз лучше наименее эффективной модели. Тем не менее, эти показатели значительно выше, чем у других видов моделей, например 1000 итераций наиболее эффективной модели генерации текста потребляет 0,042 кВт*ч, классификации изображений — 0,0068 кВт*ч, а классификации текста — 0,0023 кВт*ч.

Источник: OpenNET.

Теги:
Рейтинг0
Комментарии0

Недавно к нам обратился клиент, у которого потенциально 2 млн пользователей и ему нужно разработать стриминговый сервис, где 10К-20К пользователей могут смотреть медиа-контент в разрешении 4К онлайн.

Фильм 4К весит 5 гб, если 10К пользователей одновременно его смотрят, то это большая нагрузка на хранилище данных. Сложность в том, чтобы сбалансировать трафик на сервис, чтобы система не перегружалась, а пользователи не испытывали дискомфорта.

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

Для хранения контента на 2 млн человек, потребуется от 300-400 ТБ устойчивого хранилища. Нужно построить системы хранения данных.

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

Когда 10 тыс. человек запрашивают одно видео или хотя бы два-три видео, это легко решается кешированием. А если эти 10 тыс. смотрит разный контент, то стандартная СХД не справится. Скорость не позволит находить это на жестких дисках.

В реализации нужно:

— Построить архитектуру хранения и обслуживания клиентов СХД с высоким уровнем IOPS — количество запросов, которые приходят к системе хранения данных за секунду. Чем ровнее запросы из разных секторов жестких дисков, тем сложнее и дольше приходится обрабатывать их сервера.

— Построить балансировщики, которые обрабатывают большое количество разного контента на обычных HDD дисках и отказоустойчивых хранилищах.

Теги:
Всего голосов 14: ↑13 и ↓1+12
Комментарии4

Qualcomm утверждает, что процессор Snapdragon X Elite превзойдёт Apple, Intel и AMD. Чипы будут построены по 4-нм техпроцессу и получат пропускную способность памяти 136 ГБ/с. 

Qualcomm утверждает, что Snapdragon X Elite превзойдёт несколько процессоров Intel Core i7 в тесте Geekbench 6, который измеряет многопоточную производительность. Диаграммы показывают, что чип X Elite превосходит AMD Ryzen 9 7940HS в тестах графического процессора с неоднозначной «относительной производительностью».

Qualcomm также утверждает, что её чип обеспечит «на 50% более быструю пиковую многопоточную производительность», чем Apple M2. У X Elite на 50% больше ядер, чем M2, но он потребляет гораздо больше энергии. 

Qualcomm также анонсировала новую технологию под названием Snapdragon Seamless. Это «кроссплатформенная технология, которая позволяет устройствам Android, Windows и Snapdragon, использующим другие операционные системы, обнаруживать друг друга и обмениваться информацией.

Теги:
Рейтинг0
Комментарии0

Осознанно управляя дыханием – увеличивая длительность/интенсивность вдохов или, наоборот, выдохов -- можно изменять состояние нервной системы. Такие изменения могут иметь как немедленный, так и длительный, эффект. Если делать акцент на:

  • Вдохах -> возбуждаться (речь не только и не столько о сексуальном возбуждении).

  • Выдохах -> успокаиваться.

  • Нет акцента -> баланс между возбуждениеми спокойствием.

                Простое понимание этого незамысловатого правила помогает в реальных жизненных ситуациях: всего пара-тройка минут осознанного дыхания по подходящей для конкретного момента схеме часто приводит нервную систему в нужное состояние. Самое тяжелое -- вспомнить об этом (и это не шутка).

 

Несколько примеров распространенных и проверенных в ходе научных исследований дыхательных упражнений.

Вот несколько примеров распространенных и проверенных в ходе научных исследований дыхательных упражнений.
Физиологический вздох -> доминирует выдох -> снижается пульс -> снижает стресс, улучшает настроение, улучшает сон.
Дыхание квадратом (Box Breathing) -> вдох и выдох равны -> выравнивает пульс -> снижает стресс, успокаивает, улучшает сон.
Циклическая гипервентиляция -> доминирует выдох -> повышает пульс -> улучшает концентрацию, повышает внимание и желание действовать, выброс адреналина.

Этот пост – тизер к более обширному материалу. Комментируйте, ваши комменты очень помогут.

Теги:
Рейтинг0
Комментарии0
1

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