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

Авиалайнер «Боинг 787» генерирует 500 ГБ за каждый полёт

Авиакомпаниям придётся сделать апгрейд своей ИТ-инфраструктуры, потому что самолёты нового поколения генерируют очень большие объёмы трафика. Например, ИТ-директор авиакомпании Virgin Atlantic Дэвид Булмэн (David Bulman) рассказал, что новый пассажирский самолёт Boeing 787 Dreamliner за один полёт генерирует более 500 гигабайт информации, которую нужно сохранить и обработать.

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

В ноябре 2012 года был дан старт конкурсу по параллельному программированию от компании Intel, и этому даже был посвящён отдельный пост на хабре. О конкурсе мы узнали от нашего преподавателя Евгения Калишенко. Он читает курс по «высокопроизводительным и параллельным вычислениям» в Санкт-Петербургском Академическом Университете и стал руководителем нашей команды.

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

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

В процессе разработки и дальнейшего развития крупного разнородного проекта мы также столкнулись с проблемами оптимизации. Но должны же быть способы уменьшить время сборки? Мы решили найти способ решения этой задачи. Собрать за 60 секунд!..

Оптимизация сборки крупного проекта

О том, чего в итоге удалось добиться, и пойдет речь в нашем топике.Читать полностью »

GHC (Glasgow Haskell Compiler) — стандартный компилятор Хаскеля. GHC — один из самых крутых компиляторов в мире, но к сожалению без дополнительных телодвижений скомпилированные им программы по скорости больше напоминают интерпретируемые, т. е. работают очень медленно. Однако если раскрыть весь потенциал компилятора, Хаскель приближается по производительности к аналогичному коду на C.

В этой статье я обобщаю опыт выжимания максимума из GHC при создании dataflow-фреймворка Yarr.
Читать полностью »

Проектирование высокопроизводительных систем: о чем не расскажут в книгах

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

Почему так происходит? Обеспечение высокой производительности и надежности ошибочно почитается многими за «черную магию». И неспроста — чуть ли не в каждой книге или статье на эту тему вы первым делом наткнетесь на утверждение типа «нельзя просто так взять и повысить производительность».

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

Не так давно была статья о выходе js-yaml 2.0.0, который был полностью написан на JS и при этом работал весьма быстро. И только недавно я узнал, насколько же все хорошо на самом деле :). А началось все с того, что знакомый пожаловался на руби, который долго парсил 7-мегабайтный yaml-файл. Это было довольно странно, потому что руби использует биндинги к libyaml. Мы написали несколько примитивных тестов для руби с питоном, и получили такие результаты, что я заподозрил ошибку.

Тогда создал тему на LOR, там нашли пару косяков и добавили примеров с других языков. Картину мира это улучшило, но не сильно. JS подозрительно быстр. Результат ниже, а в конце пара замечаний.
Читать полностью »

На сегодняшний день возможно построение домашнего суперкомпьютера, о чем и пойдет речь.

В статье рассмотрены способы аппаратного построения высокопроизводительных вычислительных комплексов. Одно из интересных применений – криптография. Например, благодаря современным технологиям, любому стал доступен взлом MD5 или WPA. Если постараться (информацию быстро выпиливают), в Интернете можно найти способ взлома алгоритма A5/2, используемого в GSM. Другое применение – инженерные, финансовые, медицинские расчеты, биткойнмайнинг.
Читать полностью »

О чем это я?

Доброго времени суток, читатели!
По долгу службы возникла необходимость сделать быстрый кэш в памяти с сохранением его в БД. Во время разработки, соответственно, встает вопрос о выборе стандартных и не очень контейнеров. Можно конечно руководствоваться выбором исходя из сложности применяемых алгоритмов, но я решил проверить все на практике, для чего были написаны парочка тестов. Задача проверки эффективности использования памяти не ставилась. Для проверки всего этого дела использовались STLPort 5.2.1 и собранный с ним boost 1.52.0, компилировалось все на gcc 4.6 под ОС Ubuntu 12.04.2. Задача проверки эффективности использования памяти не ставилась, только скорость.
Читать полностью »

С приходом облачных технологий утопичная идея «иметь доступ к чему угодно, откуда угодно, с чего угодно» стала постепенно воплощаться в реальность. Всего за несколько лет понятия «частное облако», VDS, VDI и т.п. стали массово употребимыми – не без участия маркетологов практически всех крупных международных вендоров. Тем не менее, до сих пор существует определенная путаница терминов и понятий на рынке, а также ряд «неустаревающих» вопросов. Например, что такое виртуализация десктопов? Это технология или подход? В чем отличие виртуализации десктопов от инфраструктуры виртуальных рабочих столов? Наконец, при чем здесь Dell? За ответами на эти и другие вопросы просим под кат.Читать полностью »

Цель: установить и поддерживать миллион одновременных соединений используя Ruby.

Приложение должно:

— оставаться отзывчивой и обрабатывать минимум 100 запросов в секунду
— использовать максимум 15GB RAM; нагрузка 8-и ядерного компьютера должно остаться ниже 10-и
— «общаться» с клиентами каждые 15 секунд без особых затрат

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


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