вторник, 25 августа 2015 г.

I used to ...


Просто не мог не оставить это здесь:


Моему самому любимому Hello World'у позавчера исполнилось три месяца и мы продолжаем расти.

З.Ы. Для изучающих английский комикс отлично помогает отработать использование выражения used to.

З.З.Ы Ссылка на оригинал.

Понравилось сообщение - подпишитесь на блог

четверг, 13 августа 2015 г.

Об увеличении производительности работы Java 8 на мейнфрейме IBM z13

Корпорация IBM вкладывает воистину огромные усилия в развитие платформы Java. По сути данная платформа является одним из самых важных стратегических направлений для компании. Ключевое достоинство Java-приложений - это возможность немедленно отреагировать на увеличение производительности работы аппаратного обеспечения, используя Just-In-Time (JIT) компилятор, встроенный в последние релизы Java SDK. Ранее Суровый уже рассказывал о преимуществах, которые предоставляют мейнфреймы IBM и операционная система z/OS для работы ваших Java-приложений (в частности, мы уже видели, что связка z/OS + DB2 может работать в 3 раза быстрее связки Linux + Oracle), теперь же хочу поделиться относительно свежими данными.

Новые горизонты в росте производительности работы приложений открываются при совместном использовании возможностей IBM Java 8 и z13, таких как встроенный в новые процессоры SIMD - Single Instruction Multiple Data векторный движок, выполнение вычислений в несколько потоков на одном ядре (SMT) и улучшенная функция поддержки криптографии (CPACF - CP Assist for Cryptographic Function). Использование всех данных возможностей обеспечивает двукратный рост производительности на ядро (throughput-per-core) для приложений, активно использующих криптографию, и рост до 50% для остальных приложений.

Защищенный сервер приложений

На диаграмме приведены экспериментально полученные данные, демонстрирующие более чем двукратный рост производительности приложений, доступ к которым защищен с помощью SSL. В качестве платформы использовался сервер с 1-м CP и 4 zIIP. За базу взята производительность приложений при использовании IBM Java 7 SR4 на мейнфрейме zEC12.


Разница в производительности между Java 7 и Java 8 объясняется тем, что последние версии JVM используют SIMD и другие инструкции процессора z13. Крайний правый столбик отображает увеличение производительности, вызванное включением SMT на специализированных процессорах zIIP.

Java Store Inventory и Point-of-Sale

Приложение Java Store Inventory and Point of Sale Application представляет собой stand-alone программу, основанную на IT-инфраструктуре реально существующей ритейлинговой компании. Бенчмарк объединяет точку продаж, обработку онлайн-платежей и дата-майнинг. В коде используется множество возможностей языка, а так же функции компрессии и криптографии.


Диаграмма показывает увеличение производительности, достигаемое за счет использования платформой IBM Java 8 криптографических функций (CPACF), SIMD и SMT для zIIP на мейнфрейме z13. Наглядно виден рост производительности на 36% при использовании Java 8 по сравнению с Java 7 SR4 на мейнфрейме zEC12 и дополнительные 30% прироста производительности при работе Java 8 на z13 со включенным SMT.

Обработка бизнес-правил

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


Использование Java 8 для обработки бизнес-правил задействует преимущества векторных инструкций SIMD и SMT для zIIP на мейнфрейме z13, что позволяет достигнуть существенного прироста производительности в расчете на одно ядро процессора. На диаграмме видно, что использование Java 8 на мейнфрейме z13 без SMT дает прирост производительности на 66% по сравнению с использованием Java 7 SR4 на мейнфрейме zEC12. Дополнительные 37% прироста производительности достигаются за счет включения SMT на специализированных процессорах zIIP.

четверг, 6 августа 2015 г.

Живьем брать демона!

Вот бывает так в жизни, что ты сидишь никого не трогаешь, починяешь примус, переносишь менеджер развертывания DMGR сервера приложений WebSphere Application Server for z/OS на другой LPAR, а он там не работает. Т.е. никак. При этом адресные пространства живые, а соответствующие порты никто не слушает. И в логах ничего. Но, как доказали наши предки ровно 100 лет назад, русские не сдаются, поэтому проблему можно и нужно решить.

Если посмотреть содержимое файла /wasv85config/CELL/DMGR/DeploymentManager/profiles/default/config/cells/CELL/nodes/DMGR/servers/dmgr/was.env, то там можно увидеть строчки, ссылающиеся на не верный LPAR, т.е. на тот, с которого мы перенесли менеджер развертывания:


daemonInstanceName=LPAR1
server_configured_system_name=LPAR1
daemon_start_command_args=JOBNAME=DMNC,ENV=CELL.ZPLEX.LPAR1,REUSASID=YES
daemon_was_env_file=/wasv85config/CELL/DMGR/Daemon/config/CELL/ZPLEX/LPAR1/was.env


Недостаточно просто исправить значения данных параметров в файле was.env! Важно помнить, что данный файл генерируется менеджером развертывания и рано или поздно внесенные вручную изменения будут отменены. Изменять необходимо переменные окружения сервера приложений и файл server.xml.

Переменные окружения можно отредактировать с помощью консоли администрирования сервера приложений: Environment -> WebSphere variables, чтобы проще было найти нужные переменные необходимо выбрать Scope - Node=dmgr.


Файл server.xml расположен в каталоге /wasv85config/CELL/DMGR/DeploymentManager/profiles/default/config/cells/CELL/nodes/DMGR/servers/dmgr. В данном файле необходимо найти строчку

<properties xmi:id="Property_15" name="was.ConfiguredSystemName" value="LPAR1" required="false"/>

и изменить значение атрибута value на актуальное.

P.S. За подготовку материалов к заметке благодарю Александра Анискина, ведущего программиста ГВЦ ОАО "РЖД".

Понравилось сообщение - подпишитесь на блог