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

В данной статье я бы хотел рассказать о собственном опыте оптимизации выполнения множества регулярных выражений при помощи системы hyperscan. Так вышло, что при разработке своего спам-фильтра rspamd я столкнулся с необходимостью портировать большой объем старых правил, написанных для spamassassin за несколько лет работы. Моим первым решением было написать плагин, который бы читал эти правила и строил из них синтаксическое дерево. Затем на этом дереве выполнялись различные оптимизации, чтобы сократить общее время выполнения (об этом я даже делал небольшую презентацию).

К сожалению, в ходе эксплуатации выяснилось, что pcre все равно являются узким местом, и на больших письмах этот набор правил работает слишком медленно. Выяснилось, например, что на письме размером в мегабайт pcre проверяет около гигабайта (!) текста. Различные трюки, вроде ограничения количества текста для регулярных выражений, оказывали негативное влияние на срабатывания правил, а оптимизации pcre путем интенсивного использования jit fast path через pcre_jit_exec оказались слишком опасными — некоторые старые выражения были откровенно некорректными и в сочетании с некорректным входным текстом, например, содержащим «битые» UTF8 символы, приводили к воспроизводимым багам с повреждением стека программы. Однако на конференции highload мы поговорили со Славой Ольховченковым, и он мне посоветовал посмотреть на hyperscan. Далее я перейду к сути и расскажу, что из этого получилось.
Читать полностью »

Рассказ будет про один контентный проект, в котором мне пришлось переделать архитектуру. Ранее была реализована классическая Лампа-схема (Linux-Apache-MySQL-PHP). Но кол-во посетителей прибавлялось и прибавлялось, уже стало подходить к 1М хитов и сервер БД переставал справляться. Первым делом, я предложил докупить еще один серак, но в данном сегменте конвертация в партнерских программах довольно низкая, так что, руководство проекта немного пожмотилось.

Если, интересно, как мне пришлось изменить архитектуру и при этом еще прикрутить систему ротации и рейтингов, то добро пожаловать под кат.
Читать полностью »

IBM Watson совершенствует свои когнитивные способности и предлагает новые возможности для разработчиков - 1

Корпорация IBM добавляет новые функции и возможности к своей когнитивной системе Watson постоянно. На этот раз систему научили проводить изучение и анализ определенных фотографий и изображений в Сети, размещенных в разных местах, включая социальные ресурсы. Это поможет Watson узнать, чем занимается определенный пользователь, каковы его интересы и увлечения. Подобная функция — одна из многих десятков, которые доступны для пользователей системы. Сейчас существует уже более 100 коммерческих приложений, которые задействуют возможности Watson, и это далеко не предел – на сегодняшний момент все больше разработчиков работает с IBM Watson.

Цель — создание приложений и сервисов для медицины (например, персонализированное лечение рака), маркетинговых подразделений компаний, метеорологов, физиков-ядерщиков и прочих отраслей науки и бизнеса. Работа с IBM Watson возможна благодаря API системы, с доступом к последнему через облачную платформу IBM Bluemix. Что касается изучения и анализа изображений, этот сервис получил название Visual Insights. Работать с его помощью можно не только с фотографиями, но и с видео, которые загружены на Twitter, Facebook, Instagram.
Читать полностью »

Новые инструменты (Octave и Scilab) во FlyElephant и анонс вебинаров - 1

Команда FlyElephant поздравляет всех с наступившим Новым Годом. Мы начинаем этот год с расширения списка инструментов, вебинаров и формирования сообщества вокруг проекта.

FlyElephant — это платформа, которая предоставляет ученым готовую вычислительную инфраструктуру для проведения расчетов, автоматизирует рутинные задачи и позволяет сосредоточиться на основных вопросов исследований.

Для пользователей платформы FlyElephant стали доступны Octave и Scilab, таким образом полный список поддерживаемых языков и инструментов следующий: GCC (с поддержкой OpenMP), R, Python (v2 & v3), Octave и Scilab. Для участников программы бета-тестирования стал доступен следующий инструментарий: Java (v7 & v8), Julia, OpenFOAM, GROMACS и Blender. Если Вы еще не являетесь пользователем платформы FlyElephant, то зарегистрироваться можно здесь. В честь Нового Года Вы можете пополнить свой счет на $300 введя в Личном кабинете специальный промо-код: 195708679772.
Читать полностью »

Высокоскоростной протокол передачи файлов – Aspera FASP - 1

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

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

При решении задач комбинаторики часто возникает необходимость в расчете биномиальные коэффициентов. Бином Ньютона, т.е. разложение image также использует биномиальные коэффициенты. Для их расчета можно использовать формулу, выражающую биномиальный коэффициент через факториалы: image или использовать рекуррентную формулу:image Из бинома Ньютона и рекуррентной формулы ясно, что биномиальные коэффициенты — целые числа.

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

Наличие большого числа библиотек, реализующих Фурье преобразований (во всевозможных вариантах быстрых версий), делает реализацию алгоритмов не очень сложной задачей для программирования.
Реализованные алгоритмы являются частью библиотеки с открытым исходным кодом FFTTools. Интернет-адрес: github.com/dprotopopov/FFTTools
Читать полностью »

image

В настоящее время огромное количество задач требует большой производительности систем. Бесконечно увеличивать количество транзисторов на кристалле процессора не позволяют физические ограничения. Геометрические размеры транзисторов нельзя физически уменьшать, так как при превышении возможно допустимых размеров начинают проявляться явления, которые не заметны при больших размерах активных элементов — начинают сильно сказываться квантовые размерные эффекты. Транзисторы начинают работать не как транзисторы.
А закон Мура здесь ни при чем. Это был и остается законом стоимости, а увеличение количества транзисторов на кристалле — это скорее следствие из закона. Таким образом, для того, чтобы увеличивать мощность компьютерных систем приходится искать другие способы. Это использование мультипроцессоров, мультикомпьютеров. Такой подход характеризуется большим количеством процессорных элементов, что приводит к независимому исполнение подзадач на каждом вычислительном устройстве.
Читать полностью »

IBM продолжает работу с Apache Spark: корпорация запускает Spark-as-a-service - 1

На конференции IBM Insight 2015 было сделано сразу несколько интересных анонсов. Основное — это продолжение развития идеи поддержки проекта Apache Spark. IBM запускает IBM Analytics on Apache Spark, при этом облачной платформой служит Bluemix. Напомним, что в июне корпорация IBM заявила о намерении инвестировать в проект более 300 миллионов долларов за несколько лет. Кроме того, ранее стало известно, что Apache Spark для Linux будет поддерживаться z Systems.

Такая поддержка будет осуществляться в рамках проекта «аналитика на мейнфреймах». Благодаря этому специалисты по дата-майнингу смогут использовать Apache Spark на мощных мейнфреймах z Systems.
Читать полностью »

Здравствуйте, уважаемыее! Мы решили возобновить публикации еще до окончания больших праздников, но в сегодняшней статье все-таки раскрыта тема справедливой раздачи подарков. Сама же статья, как понятно из названия, посвящена сравнительному анализу параллелизма и конкурентности.

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

IBM открывает blockchain-лабораторию - 1

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

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


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