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

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

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

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

Envoy — как писать чистый бизнес-код для микросервисной архитектуры

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

Привет, Хабр, это моя первая статья. Меня зовут Константин, я системный инженер в компании ГНИВЦ. Здесь я хотел бы вам рассказать, что такое Envoy и как с его помощью можно упростить жизнь разработчикам и повысить надёжность взаимодействия микросервисов, минуя инфраструктуру для кого-то страшного и непонятного Kubernetes, а используя простой и старомодный Docker. Также эта статья поможет познакомиться с Envoy поближе и узнать, как он шагает в ногу с таким проектом как Istio.

Читать далее

Новости

Чем отличается пессимистическая и оптимистическая блокировка в MySQL

Время на прочтение5 мин
Количество просмотров1.4K
При проектировании приложений, использующих базы данных, часто возникают такие ситуации, в которых требуется конкурентный доступ к данным. Это может приводить к самым разным последствиям, поскольку состояние базы данных может нарушиться, или некоторые данные могут быть потеряны. Чтобы предотвратить такие сценарии, существуют различные способы контролировать доступ к ресурсам. Например, применяется оптимистическая и пессимистическая блокировка, о которых мы здесь поговорим.
Читать дальше →

Оптимизация ядра WebGPU для перемножения матриц и достижения производительности свыше 1ТФЛОПС

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

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

Я работаю в компании Nomic, и многие из моих коллег заняты созданием больших TSNE-подобных визуализаций, работающих в браузере. При визуализации таких двумерных карт возникает две проблемы: проецировать эти конструкции (напр. TSNE и UMAP) в 2D-координатную систему протекает медленно и требует больших затрат оперативной памяти, особенно по мере того, как вы увеличиваете датасет и пытаетесь визуализировать в браузере миллионы точек данных, не расплавив при этом ноутбук невзначай.

Отобразить в браузере миллионы точек данных, не расплавив компьютер — та ещё задача. Мне доводилось слышать, что многие проблемы с масштабированием удаётся решать при помощи инструмента Deepscatter, разработанного Беном Шмидтом.

Но многие из таких разговоров, которые мне известны, вертятся вокруг Typescript и великолепия WebGPU как такового. Готовя эту статью, я не смог найти ни одной библиотеки для автоматического дифференцирования выражений, которая была бы написана с применением WebGPU. Но было бы упущением не назвать здесь два репозитория с функционально схожим наполнением: webGPT (библиотека на основе трансформеров, приспособлена только для логического вывода) и webgpu-blas (ядра для быстрого перемножения матриц под webGPU). Поэтому, в качестве самообразования и желая получше изучить WebGPU и Typescript, я решил написать Surfgrad, высокопроизводительную библиотеку для автоматического дифференцирования выражений под управлением WebGPU. Она обеспечивает тензорные операции в браузере. Как понятно по названию и по принципу работы, она во многом сделана по примеру tinygrad и micrograd.

Читать далее

Jintide: доступный и недорогой аналог Intel. Проверим?

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

Китайская компания Montage Technology представила новую линейку процессоров Jintide, которая имеет от 16 до 48 ядер и базируется на архитектуре x86. Если вы вдруг пропустили, этот производитель выпускает процессоры, которые по сути являются «клонами» Intel Xeon, но при этом стоят значительно дешевле.

Мы подумали, а почему бы нам не протестировать эти процессоры в сторонних серверах и найти ответы на простые вопросы:

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

— Действительно ли они ничем не отличаются от Intel, и если отличаются, то как это сказывается на реальной работе ОС и приложений?

Под катом расскажем об итогах тестирования и поделимся мнением, подходит ли китайское «железо» для высоких нагрузок.

Узнать результаты тестирования

Истории

Действуем на опережение: предотвращаем скрытые угрозы с помощью статистики

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

Современные киберугрозы становятся все более сложными и изощренными, поэтому для стабильной работы организация уже не может обойтись без новейших методов защиты. Долгое время считалось, что для обеспечения безопасности веб-приложений вполне достаточно использования WAF (Web Application Firewall). Однако стремительный рост числа API и увеличивающееся количество угроз заставили пересмотреть этот подход. Многие компании столкнулись с тем, что они зачастую не имеют полного представления, какие ресурсы используются и насколько они уязвимы, вследствие чего у них недостаточно контроля над своими API.

В ответ на эту проблему команда разработчиков Вебмониторэкс создала средство защиты ПроAPI Структура, которое позволяет инвентаризировать все API, узнать их состав и выявить уязвимости. Важным дополнением нашего решения стала новая функциональность, которая позволяет собирать статистику по роутам и использовать её для раннего обнаружения атак и оперативного реагирования на них. Сегодня я представлю это нововведение.

Чтобы глубже понять, как работает наша новая функция, давайте разберем ключевые термины. При работе с API используются понятия эндпоинт и роут. Первое – это само обращение клиента, запускающее конкретное действие приложения. Например, GET, PATCH, DELETE. Роут же представляет собой URL, то есть имя, по которому API запускает работу эндпоинтов. Примером может служить функция авторизации, соответствующая роуту example.com/login.php. При этом, важно помнить, что один роут может запускать несколько эндпоинтов.

Читать далее

Как написать Raft на чистом Python: основы

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

Привет, друзья! В этой статье рассмотрим, как реализовать алгоритм Raft на Python.

Raft — это алгоритм распределённого консенсуса, который делает три вещи:

1. Выбирает лидера (тот, кто рулит кластером).
2. Реплицирует данные по всем узлам (чтобы не потерять, если что-то пойдет не так).
3. Гарантирует согласованность данных (никакой битой записи в журнале).

Читать далее

Кэшируем поток данных из Kafka в Tarantool: подробный пример реализации с кодом и результатами

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

Apache Kafka — популярный распределенный брокер сообщений, который собирает и сохраняет сообщения (данные) со всех источников, а после предоставляет их программам и сервисам-получателям. Благодаря своей производительности и архитектуре инструмент довольно активно используется в проектах, где нужно гонять большие объемы данных. Но даже возможностей Kafka не всегда достаточно — иногда системам нужен буст по скорости и надежности. И получить его можно с помощью кэширования данных в Tarantool.

Меня зовут Никита Молоствов. Я старший программист в команде разработки VK Tech. В этой статье я расскажу о том, как можно наладить взаимодействие Kafka и Tarantool, зачем может понадобиться кэширование потока из Kafka в Tarantool, и дам подробную пошаговую инструкцию, с которой каждый сможет применить мои наработки в собственной системе.

Читать далее

Конвейеризация: универсальный способ повышения пропускной способности

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

Что общего между стиральной машиной, CPU и микросервисами? Все они выигрывают от «конвейеризации» (англ. pipelining).

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

Читать далее

Управление распределенной командой на GitHub – а что, так можно было?

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

Привет, меня зовут Ася Исакова, и я организационный психолог. Возможно, единственный в мире организационный психолог, который умеет создавать пулл-реквесты на GitHub. Как так вышло? Дело в том, что я 2+ года занималась тем, что выстраивала нормальную работу на удаленке без 8 звонков в день для одной распределенной команды, используя GitHub как основной инструмент. Подробности о том, что это, как это было, что получилось и вдруг вам тоже надо, под катом.

Читать далее

JavaScript. Как сделать невероятно быстрый многопоточный Data Grid на 1 000 000 строк. Часть 1/2: нюансы работы с DOM

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

Demo | GitHub

Особенности Fast Data Grid:
— Невероятно быстрый
— Многопоточный
— Всего 523 строчки кода
— Нет зависимостей
— Vanilla JavaScript

Попробуйте скролл и поиск по 1 000 000 строк — Fast Data Grid.

В статье перечислю нюансы работы с DOM. Про многопоточность в следующей статье.

Читать далее

Применение аппаратных ускорителей в SDN: как мы добились скорости передачи пакетов на уровне Bare Metal

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

Каждый, кто имеет дело с более-менее крупной IT-инфраструктурой, знает, что в мире сетей есть две прямо противоположных реальности. В одной — виртуализация с эффективным дроблением ресурсов, но потерей скоростей, в другой — Bare Metal с высокой скоростью и мощностью, но слабой гибкостью в вопросах выделения ресурсов. И если вы уже задались вопросом: «А можно без крайностей?», я инженер R&D-команды Cloud.ru Вадим Михеев, расскажу, как нам удалось достичь скоростей передачи пакетов в SDN на уровне Bare Metal на примере облака OpenStack. А еще посмотрим, какой прирост к скорости передачи пакетов дает технология ASAP².

Статья будет полезна всем обладателям железок NVIDIA Mellanox ConnectX-5/6/7, использующим виртуализацию, ну а остальные смогут посмотреть, какие способы ускорить сеть для своих клиентов мы тестируем и, возможно, вдохновиться.

Узнать больше

Throttling в процессорах — инволюция. Зеленые против Красных

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

Мы привыкли, что производительность процессоров растет с каждой новой моделью. Иначе зачем их покупать? Зеленые технологии в процессорах ранее присутствовали, но легко управлялись через схему питания в Windows. Однако новый кластер серверов от Lenovo сумел неприятно удивить, а после изучения документации возникло много вопросов к архитекторам и архитектуре. И зеленое будущее уже видится не таким приятным.

Читать далее

PostgreSQL — особенности работы с памятью для 1С-систем. Часть 2

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

Продолжаем исследовать и настраивать память в PostgreSQL. Начало см. здесь.

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

В первой части были рассмотрены параметры shared_buffers, maintenance_work_mem, autovacuum_work_mem. А сегодня на повестке параметры temp_buffers и work_mem.

Читать далее

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

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

Об инциденте с NTP-серверами

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

Недавно на Хабре вышла статья об аномальной нагрузке на публичные NTP‑серверы в рунете. К сожалению, к этой ситуации привела ошибка в прошивке Яндекс Станций.

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

Читать далее

Темы, доклады, две конфы: история трека для инженеров и исследователей «Под капотом»

Время на прочтение8 мин
Количество просмотров408

И вот, 24 октября прошла уже вторая наша конференция — GoCloud Tech — на этот раз специально для технарей и инженеров. И вновь мы организовывали ресерческий трек, который в этот раз назвали «Под капотом». Что на нем было, какие впечатления остались у участников и слушателей, какая у всего этого предыстория и ценность — читайте в статье. А еще заглядывайте за ссылками на статьи и записи наших докладов.

Заглянуть под капот

Катастрофическое падение производительности из-за hyperthreading

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

Недавно я писал статью - что такое 50% cpu? На системах с hyperthreading 50% cpu по метрикам означает, что большая часть ресурсов сервера уже использована. То есть cpu>50% - это уже "желтая зона", и мы ожидаем замедление всего, чего можно. Но я никогда не думал до экспериментов, что падение может быть столь катастрофическим.

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

Читать далее

Одноплатный компьютер Next SBC с Ryzen 7840HS: мал да удал. Игры, офис и все остальное. Что за девайс?

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

Крошечный компьютер с большими амбициями — так можно описать NexT-SBC, новый одноплатный ПК, разработанный известным пользователем YouTube под псевдонимом ETA Prime. Этот мини-ПК умещается на ладони, но по характеристикам не уступает полноценным настольным системам.

Созданный на базе 4-нм процессора AMD, NexT-SBC позиционируется как универсальное решение для дома и офиса. Цена устройства составляет $329, что делает его в три раза дешевле флагманского смартфона iPhone 16 Pro.
Читать дальше →

ИИ-инструменты для аналитиков: теория, кейсы, советы

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

ИИ давно перестал быть просто забавным развлечением, он позволяет высвободить время от рутины и операционки, что дает сконцентрироваться на уникальных нетипичных задачах, где требуется весь спектр навыков аналитика. В течение пары лет я активно использовал ИИ в работе и искал точки применения, в которых они оптимизируют мою работу. Если раньше на подготовку к интервью и его расшифровку я мог потратить несколько часов или даже целый день, теперь это занимает около получаса. Другой пример – подготовка схем и диаграмм для визуализации проекта. С помощью ChatGPT и PlantUML на подготовку черновика диаграммы у меня уходит минут пять. И таких примеров очень много, о некоторых из них я расскажу подробнее в этой статье.

Читать далее

Развенчан слух, что Китай взломал современную криптографию с помощью квантового компьютера

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


В октябре 2024 года мировые СМИ стали распространять пугающие новости о том, что китайским учёным якобы удалось взломать современные криптографические шифры военного применения с помощью квантового компьютера D-Wave Advantage (на фото вверху).

Эти новости основаны не на пустых словах, а на научной статье от группы исследователей под руководством д-ра Ван Чао (Wang Chao) из Шанхайского университета. Статья опубликована в сентябре 2024 года в журнале Chinese Journal of Computers. Авторы использовали D-Wave Advantage для успешной атаки на три алгоритма — Present, Gift-64 и Rectangle, которые являются критически важными для расширенного стандарта шифрования (AES), используемого для защиты данных в правительственном, военном и финансовом секторах.

Западные эксперты по криптографии изучили статью и оценили достижения китайских коллег.
Читать дальше →

Продовольственная безопасность. Часть I

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

Продовольственная безопасность — элемент национальной безопасности государства.  Продовольственная безопасность является одной из главных целей аграрной  и экономической политики государства
Продовольственная безопасность РФ
В России основным документом, определяющим совокупность официальных взглядов на цели, задачи и основные направления государственной экономической политики в области обеспечения продовольственной безопасности страны, является Доктрина продовольственной безопасности Российской Федерации, утвержденная указом президента Дмитрия Медведева от 1 февраля 2010 года. В 2019 году в Совете Безопасности РФ начата разработка новой редакции доктрины, которую предполагается принять до конца года.

Россия по итогам 2020 года заняла по уровню продовольственной безопасности 24-е место среди 113 стран, по уровню продовольственной безопасности превзошла Польшу, а доля населения, живущего за глобальной чертой бедности, в России втрое меньше, чем в Польше. Это следует из Глобального индекса продовольственной безопасности, который уже в девятый раз подготовили аналитики The Economist Intelligence Unit при поддержке Corteva Agriscience. В 2020 году Россия почти в два раза улучшила свои позиции в Глобальном индексе продовольственной безопасности - в 2019 году Россия занимала только 42-е место

Читать далее
1
23 ...

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