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

Доброго дня! Продолжу свою историю сборку «суперкомпьютера в деревне».

Ссылка на 1 часть истории: habr.com/ru/post/454282
Ссылка на 2 часть истории: habr.com/ru/post/454448

Третью часть я начну с выражения искренней благодарности своим друзьям, которые поддерживали меня в трудную минуту, мотивировали, помогали деньгами спонсируя это достаточно дорогое дело на протяжении длительного времени и даже помогали с покупкой комплектующих из-за границы в случаях когда я не мог купить их на прямую сам. Например если фирма торгующая серверными запчастями в США или Канаде просто не слала в Россию. Без их долгой и регулярной помощи мои успехи были бы намного скромнее.
Так-же благодаря их просьбам я решился и завел аккаунт на Youtube, купил старый смартфон Lumia 640 который я использую исключительно как видеокамеру и начал снимать познавательные видео, как про сборку «деревенского суперкомпьютера» так и про другие аспекты и проекты своей деревенской жизни.
Плейлист «Деревенский суперкомпьютер»: www.youtube.com/playlist?list=PL3zeXynsAkrnywl1nXQeHzKNdw09V4D7E
Желающие спойлеров могут ознакомиться, хотя конечно делать это лучше в процессе прочтения моей истории или вовсе после.
Читать полностью »

Доброго времени суток, дорогие Хабровчане!

Хочу продолжить свое повествование о сборке «деревенского суперкомпьютера». И поясню почему он так назван — причина простая. Я сам живу в деревне. И название — легкий троллинг над теми кто кричит в интернете «За МКАД жизни нет!», «Русская деревня спилась и вымирает!» Так вот, где-то это может быть и так, а я буду исключением из правил. Не пью, не курю, делаю вещи которые не всякому «городскому креаклу(с)» по уму и карману. Но вернемся к нашим баранам, точнее — серверу, который в конце первой части статьи уже «подавал признаки жизни».
Плата лежала на столе, я полазил по BIOS настраивая его по своему вкусу, накатал Ubuntu 16.04 Desktop для простоты и решил подключить к «супер-машине» видеокарту. Но под рукой была только GTS 250 с приклеенным здоровенным не родным вентилятором. Которую я и установил в PCI-E 16x слот около кнопки питания.
Читать полностью »

Доброго дня, дорогие Хабровчане!

Хочу поведать вам долгую и как я надеюсь увлекательную, а может быть и ставшую кому-то полезной историю сборки «деревенского суперкомпьютера» из платы ноды сервера Dell, GPU Nvidia Tesla K20 и того что было куплено то тут, то там по всяким интернеты магазинам или в компьютерных магазинах своего города.
Читать полностью »

С каждым новым поколением процессоров Intel появляются новые и все более сложные векторные инструкции. Хотя длина вектора (512 бит) в ближайшее время расти не будет, появятся новые типы данных и виды инструкций. Например, кто сможет с первого взгляда понять, что делает такой интринсик (и соответствующая ему инструкция процессора)?

Bitwise ternary logic that provides the capability to implement any three-operand binary function; the specific binary function is specified by value in imm8.

__m512i _mm512_mask_ternarylogic_epi32 (__m512i src, __mmask8 k, __m512i a, __m512i b, int imm8)
FOR j := 0 to 15
    i := j*32
    IF k[j]
        FOR h := 0 to 31
            index[2:0] := (src[i+h] << 2) OR (a[i+h] << 1) OR b[i+h]
            dst[i+h]   := imm8[index[2:0]]
        ENDFOR
    ELSE
        dst[i+31:i] := src[i+31:i]
    FI
ENDFOR
dst[MAX:512] := 0

ОК, допустим, мы разобрались, как она работает. Следующий уровень сложности — отладка кода, интенсивно использующего такие интринсики.
Читать полностью »

кдпв

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

Обычный день, обычный релиз: все задачи вдоль и поперек проверены нашим QA-инженером, поэтому со спокойствием священной коровы «закатываем» на stage. Приложение ведет себя хорошо, в логах — тишина. Принимаем решение делать switch (stage <-> prod). Переключаем, смотрим на приборы…

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

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

«Запрос назрел»: Алексей Федоров о новой конференции по распределённым системам - 1

Недавно были анонсированы сразу два мероприятия о разработке многопоточных и распределённых систем: конференция Hydra (11-12 июля) и школа SPTDC (8-12 июля). Люди, которым близка эта тема, понимают, что приезд в Россию Лесли Лэмпорта, Мориса Херлихи и Майкла Скотта — важнейшее событие. Но возникали другие вопросы:

— Чего ждать от конференции: «академичности» или «продакшна»?
— Как соотносятся школа и конференция? На кого рассчитано то и другое?
— Почему они пересекаются по датам?
— Будут ли они полезны тем, кто не посвятил всю жизнь распределённым системам?

Обо всём этом хорошо известно человеку, благодаря которому Hydra появилась: нашему директору Алексею Федорову (23derevo). Он и ответил на все вопросы.
Читать полностью »

Я занимаюсь алгоритмической торговлей в Райффайзенбанке. Это довольно специфичная область банковской сферы. Мы делаем торговую платформу, работающую с низкими и предсказуемыми задержками. Успех приложения зависит, в том числе, и от скорости работы приложения, поэтому нам приходится заниматься всем стеком, задействованным в торговле: приватными сетевыми каналами, специальным аппаратным обеспечением, настройками ОС и специальной JVM, и, конечно же, самим приложением. Мы не можем остановиться на оптимизации исключительно самого приложения — настройки ОС или сети имеют не меньшее значение. Это требует технической экспертизы и эрудиции, чтобы понять, как через весь стек проходят данные, и где может быть задержка.

Java это не только кровавый энтерпрайз, но и быстрые latency-sensitive приложения - 1

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

Memcached plugin от MySQL: инструкция по осторожному применению - 1

Здравствуйте! Меня зовут Максим Матюхин, я PHP-программист Badoo. В своей работе мы активно используем MySQL. Но иногда нам не хватает её производительности, поэтому мы постоянно ищем возможности ускорить её работу.

В 2010 году Yoshinori Matsunobu представил NoSQL-плагин для MySQL под названием HandlerSocket. Заявлялось, что этот плагин позволяет выполнять более 750 000 запросов в секунду. Нам стало любопытно, и мы почти сразу же стали использовать это решение. Результат нам настолько понравился, что мы начали выступать с докладами и писать статьи, рекламируя HandlerSocket.

По-видимому, мы были одними из немногих пользователей этого плагина — начиная с версии MySQL 5.7 он перестал работать. Зато в этой версии появился другой плагин от Oracle — InnoDB memcached plugin, который обещал похожий функционал.

Несмотря на то, что memcached-плагин появился ещё в MySQL 5.6 в 2013 году, статей о нём не так много и в большинстве своём они повторяют документацию: создаётся простая табличка, и к ней делаются запросы через memcached-клиент.

Мы имеем большой опыт работы с Memcached и привыкли к простоте взаимодействия с ним. От InnoDB memcached plugin мы ожидали такой же простоты. Но на деле оказалось, что если паттерны использования плагина хотя бы немного отличаются от описанных в документации и статьях, то всплывает масса нюансов и ограничений, которые определённо стоит учитывать, если вы собираетесь пользоваться плагином.
Читать полностью »

Живут ли базы данных в Kubernetes? - 1

Как-то так исторически сложилось, что IT-индустрия по любому поводу разбивается на два условных лагеря: которые «за» и которые «против». Причем предмет споров может быть абсолютно произвольным. Какая ОС лучше: Win или Linux? На смартфоне Android или iOS? Хранить все в облаках или заливать на холодные RAID-хранилища и класть винты в сейф? Имеют ли PHP-шники право называться программистами? Эти споры носят, временами, исключительно экзистенциальный характер и не имеют под собой никакой прочей, кроме спортивного интереса, базы.

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

И, казалось бы, был бы это простой спор между двумя сторонами одной медали. Такой же бессмысленный и беспощадный, как извечное противостояние Win vs Linux, в котором адекватные люди вполне себе существуют где-то посередине. Вот только в случае контейнеризации не все так просто. Обычно в таких спорах не бывает правой стороны, но в случае «применять» или «не применять» контейнеры для хранения БД все становится с ног на голову. Потому что в определённом смысле правы и сторонники и противники подобного подхода.
Читать полностью »

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

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

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


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