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

Введение

В настоящее время все больше и больше корпоративных приложений разрабатываются на основе переносимых кроссплатформенных технологий, таких как Java Enterprise Edition. В состав данной платформы входит набор программных интерфейсов, позволяющих разработчикам абстрагироваться от конкретных СУБД и механизмов очередей сообщений. Это позволяет развернуть приложение практически на любой платформе, в том числе и на мейнфрейме.

В сообществе специалистов по информационным технологиям распространено представление, что мейнфреймы – это очень надежная, но уступающая по производительности привычным решениям на основе процессоров Intel и операционной системе Linux платформа. В данной статье мы хотели бы поделиться результатами тестирования производительности одной и той же банковской платежной системы, работающей на IBM zEnterprise EC12, но в одном случае использующей Linux и СУБД Oracle, а в другом – операционную систему z/OS и СУБД DB2.
Читать полностью »

Квантовая песочница: часть 2 - 1
Квантовая песочница: часть 1
Что такое квантовое состояние? Чем обычное состояние отличается от квантового? В какой момент обычное состояние становится квантовым и что будет, если от него отнять квантовости? Оно всё еще будет квантовым или уже превратится в обычное? Оно же только что было квантовым. Наверное, оно стало запутанным, и кот тоже стал запутанным.

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

Вступление

Чем больше программируешь на php, тем чаще попадаются задачи, для решения которых нужен демон на сервере. Да, конечно существует phpDaemon, cron или костыли, которые при каждом n-ом запуске скрипта вызывают какой-то определенный набор операций. Но когда мы говорим о проектах с нагрузкой больше, чем на обычном сайте, мы начинаем расстраиваться.

В одном из проектов для решения такой задачи мы решили использовать связку php+RabbitMQ+erlang. На php уже был написан необходимый функционал, нам надо было лишь разнести вызовы по времени и на разные машинки. Конкретно задача звучала так: написать парсер пользователей с внешнего хранилища данных и, самое главное, поддерживать актуальность данных, а в случае их изменения, посылать уведомления.
Читать полностью »

Этот пост посвящён оптимизации PHP с помощью профайлера Blackfire в PHP-скрипте. Нижеприведённый текст является подробным техническим объяснением статьи в блоге Blackfire.

Обычно применяется метод strlen:

if (strlen($name) > 49) {
...
}

Однако такой вариант примерно на 20% медленнее этого:

if (isset($name[49])) {
...
}

Выглядит неплохо. Наверняка вы уже собрались открыть ваши исходники и заменить все вызовы strlen() на isset(). Но если внимательно прочитать оригинальную статью, то можно заметить, что причина 20-процентной разницы в производительности — многократные вызовы strlen(), порядка 60-80 тысяч итераций.
Читать полностью »

Привет. Меня зовут Вячеслав Бирюков. В Яндексе я руковожу группой эксплуатации поиска. Недавно для студентов Курсов информационных технологий Яндекса я прочитал лекцию о работе с памятью в Linux. Почему именно память? Главный ответ: работа с памятью мне нравится. Кроме того, информации о ней довольно мало, а та, что есть, как правило, нерелевантна т.к. эта часть ядра Linux меняется достаточно быстро и не успевает попасть в книги. Рассказывать я буду про архитектуру x86_64 и про Linux­-ядро версии 2.6.32. Местами будет версия ядра 3.х.

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

Термины

Резидентная память – это тот объем памяти, который сейчас находится в оперативной памяти сервера, компьютера, ноутбука.
Анонимная память – это память без учёта файлового кеша и памяти, которая имеет файловый бэкенд на диске.
Page fault – ловушка обращения памяти. Штатный механизм при работе с виртуальной памятью.
Читать полностью »

300 потрясающих бесплатных сервисов - 1

300 потрясающих бесплатных сервисов - 2

A. Бесплатные Веб-Сайты + Логотипы + Хостинг + Выставление Счета

  • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
  • Bootswatch: Бесплатные темы для Bootstrap.
  • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
  • WordPress.org | WordPress.com: Бесплатное создание веб-сайта.
  • Strikingly.com Domain: Конструктор веб-сайтов.
  • Withoomph: Мгновенное создание логотипов (англ.).
  • Hipster Logo Generator: Генератор хипстерских логотипов.
  • Squarespace Free Logo: Можно скачать бесплатную версию в маленьком разрешении.
  • Hive: Первый в мире безлимитный облачный сервис.
  • Invoice to me: Бесплатный генератор счета-фактуры.
  • Free Invoice Generator: Альтернативный бесплатный генератор счета-фактуры.
  • Slimvoice: Невероятно простой счет-фактура.

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

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

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

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

Intel® Graphics Technology: почти Gran Turismo - 1

В посте про «новшества» Parallel Studio XE 2015 я обещал написать про интересную технологию от Intel — Graphics Technology. Собственно, это я и собираюсь сделать сейчас. Суть Intel® Graphics Technology заключается в использовании интегрированного в процессор графического ядра для выполнения вычислений на нем. Это оффлоад (offload) на графику, что, естественно, дает прирост производительности. Неужели интегрированная графика настолько мощна, что этот прирост будет действительно велик?
Давайте посмотрим на семейство новых графических ядер GT1, GT2 и GT3/GT3e, интегрированных в процессоры 4-го поколения Intel® Core™.
Читать полностью »

Анализ OpenMP регионов с Intel® VTune™ Amplifier XE - 1
OpenMP* — довольно популярная модель параллельного программирования, особенно для высокопроизводительных вычислений. Но чтобы этой высокой производительности достичь, OpenMP конструкции частенько приходится «настраивать». И здесь не обойтись без хорошего профилировщика. Большинство профилировщиков выдают данные о производительности, ассоциированные с функциями или циклами, но не дают картины по конкретным OpenMP регионам. В результате программист теряет контекст. А без OpenMP-контекста диагностика дисбалансов или накладных расходов становится весьма затруднительной.
Intel® VTune™ Amplifier XE умеет профилировать OpenMP регионы. Свежая версия 2015 Update 2 делает анализ гораздо более простым и понятным, благодаря представлению данных в «OpenMP терминах». Инструмент показывает время параллельных и последовательных регионов, разницу между фактическим и идеализированным временем исполнения региона, разбивку по параллельным циклам и загрузку ЦПУ по каждому региону в отдельности.
Пользователь может легче понять, куда вкладывать усилия в первую очередь, благодаря метрике «potential gain». Классификация накладных расходов помогает определить причину неэффективности – например, ожидание из-за дисбаланса нагрузки или на «замке» из-за синхронизации.
Статья описывает некоторые типы OpenMP проблем, определяемых VTune Amplifier, как их нужно понимать и устранять.
Читать полностью »

IBM Research объявила о запуске инновационной облачной технологии для защиты персональных данных - 1

Исследователи IBM сегодня объявили о запуске новой облачной технологии, которая поможет потребителям усилить защиту их персональных данных в интернете.

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


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