Мэйнфрейм (Mainframe) — это вымышленный персонаж, который появляется во вселенной Marvel Comics. Он появился в комиксе под названием A-Next #1 (октябрь 1998 год), а его создателями являются Том ДеФалько и Рон Френц. Мэйнфрейм представляет собой разумную компьютерную программу, которая основана на мозговых волнах Тони Старка, помимо этого, он являющаяся одним из основателей команды А-Некст.

Биография

В альтернативной Вселенной известной как Земля-982, после последней провальной миссии Мстителей, уставший Тони Старк решил уйти из героев и окончательно отставить броню Железного человека. Тем не менее, он осознавал и боялся, что со временем может возникнуть новая угроза для Земли, поэтому, Тони решил подстраховаться на случай возникновения не предвиденных обстоятельств и создать то, чтобы может её предотвратить. Для этих целей, он сконструировал по образу брони Железного человека, андроида, которого назвал Мэйнфрейм. Старк также заложил в андроида отпечаток своих мозговых волн. Однако, когда он закончил работу над Мэйнфреймом, не было активной команды Мстителей, по этой причине, могущественный андроид оставался неактивным.

Спустя целых десять лет после создания андроида, произошла чрезвычайная ситуация, когда взрослый Кевин Мастерсон (сын покойного Эрика Мастерсона, также известный как Громобой, который был одним из Мстителей) прибыл в особняк Мстителей расположенный в Нью-Йорке. Который прибыл туда, чтобы забрать мистическое оружие, которое ему завещал его отец. Извлечение мистического оружия из хранилища привлекает внимание Локи, который желает его заполучить для себя. С этой целью, он направляет Троллей. В это время, в Особняке Мстителей присутствует Эдвин Джарвис, который является его смотрителем. Джарвис становится свидетелем нападения и посылает сигнал Мстителям. Данный сигнал также приводит к активации Мэйнфрейма, впервые за все время после его создания.

На данный сигнал отзываются Джубилейшен Ли (в настоящее время лидер команды Икс-Люди), Кассандры Лэнг (дочь Скотта Лэнга, бывшего Человека-муравья) известная под псевдонимом Жало и Хелен Такахама под псевдонимом Джолт. Поскольку Кевин пытаясь скрыться от Тролей бежит по улицам, он также привлекает внимание Спидбола и Джей2. В то время, когда Кевин загнан в угол, его в последнюю секунду спасает Мэйнфрейм. Но несмотря на то, что героям удаётся разобраться со всеми Троллями, все они были быстро пойманы Локи, который забирает всех героев в Асгард. Там он намеревался зарядить оружие «Громобой», после чего использовать его против своего брата Тора, который теперь является правителем Асгарда. Когда Локи производит зарядку Громобоя, Кевин удаётся выбраться и завладеть оружием, а также освободить других героев. Между героями и Локи вновь разгорается сражение, в котором он опять начинает одерживаться верх, однако, данная заварушка привлекает внимание Тора, в результате чего, злодей был вынужден бежать. Тор возвращает героев обратно на Землю, по прибытию Мэйнфрейм предполагает организовать новое воплощение Мстителей. В конечном счёте, Мэйнфрейм, Жало, Джей2 и Кевин (который становится новым Громобоем) объединяются и сформировывают команду получившая название, А-Некст.

После создания команды, Мэйнфрейм сразу же попытался стать её лидером. Он часто сталкивается с противодействием в лице Жало (которая не знала, что Мейнфрейм является андроидом). Но когда Мэйнфрейм был серьёзно поврежден, его тайна раскрывается, однако, Жало была одной из первых, кто хочет ему помочь починить его (с помощью своего отца). Со временем выясняется, что всякий раз, когда Мейнфрейм был серьёзно повреждён, он загружает свою личность и воспоминания в другое тело, собранное на орбитальном спутнике.

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

Другии версии

Супергерой известный как Вижен (Земля-691) преобразовался в Мэйнфрейма. Он стал главной операционной системой целой планеты, под его контролем находилось буквально всё, начиная с климата заканчивая планетарной стабильности. Мэйнфрейм был хранителем щита Капитана Америки . Кроме этого, он хранил своё оригинальное тело на планете Нептун.

Способности

Мейнфрейм является высокотехнологичным андроидом, который способен мыслить и действовать самостоятельно. Оболочка его тела изготовлена из очень прочного сплава металлов, способный выдерживать удары огромной силы, как энергии так и других видов. Он обладает суперсилой и способен летать на сверхзвуковых скоростях. Мейнфрейм может испускать репульсорные лучи; лазерные, электрические и магнитные вспышки. Помимо этого, на его запястьях находятся выдвижные пулеметы, которые могут стрелять гранатами и ракетами. Он способен поглощать энергию радиоизлучения. Мейнфрейм обладает высоким интеллектом и обширными знаниями в различных областях науки и технологий.

Пожалуй самой главной особенностью Мейнфрейм является его способность переносить своё сознание (программу) из одного роботизированного тела в другое. Как правило, он пользуется данной особенностью, когда его тело было уничтожено или повреждено.

В СМИ

Мультсериалы

Мэйнфрейм появляется в мультсериале «Халк и агенты СМЭШ», персонажа озвучил Джеффри Комбс. Он появляется в качестве главного злодея в эпизоде под названием «Колеса ярости». Эта версия персонажа является продвинутым андроидом, который был создан Тони Старком, в качестве достойного для него противника, против которого он сможет играть в игры. После того как Мэйнфрейму надоедает проигрывать, он начинает подчинять себе различное оружие и оборудование в Старк Индастриз. Когда появляются Халки, Мэйнфрейм предлагает провести гонки на роликах, если они проиграют то он уничтожит город. После того как герои его обыгрывают, он решает отправиться изучить человечество поближе.

Мэйнфрейм (версия Вижена) появляется в фильме «Стражи Галактики . Часть 2″, персонажа озвучила Майли Сайрус.

Что такое мейнфрейм

Обычно когда люди слышат слово "мейнфрейм", им представляется нечто такое древнее, ужасное, занимающее целый машинный зал, а то и не один, связанное с тысячами устройств и управляемое с помощью старого-доброго терминала . На самом деле конечно же все уже давно не так, современные мейнфреймы корпорации IBM представляют собой одно- (Business Class Model, BC12 ) или двустворчатый (Enterprise Class Model, EC12 ) шкаф, чуть выше человеческого роста, внешне похожий на этакий высокотехнологичный холодильник, набитый сверху-донизу различным оборудованием.

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

Возникает вполне закономерный вопрос: в принципе благодаря горизонтальной масштабируемости можно работать и на россыпи x86 -серверов, так зачем чем же нужны мейнфреймы. Для ответа на него следует заметить, что с помощью информационных технологий мы решаем множество абсолютно непохожих друг на друга задач. Такие корпорации как Google , Facebook , ВКонтакте , часто рассматриваемые как эталон высоких нагрузок, обрабатывают миллионы запросов в секунду, но при этом имеют полное право не выполнить некоторые из них по причине аппаратного или программного сбоя. Ничего страшного не случится, в крайнем случае пользователь просто повторит действие. Аналогичным образом данные компании могут потерять часть данных, это хуже, но данные не являются критичными и легко восстанавливаются. Например, когда вы ставите "лайк" в Facebook , то это вовсе не значит, что он тут же становится видим всем пользователям данной социальной сети.

Абсолютно другое дело - приложения, обрабатывающие пользовательские транзакции. При переводе денег из банка в банк невозможно допустить ситуацию, когда они спишутся с одного счета, но не попадут на другой. Аналогично невозможно допустить потери даже части пользовательских данных о финансовых транзакциях. Требования к согласованности данных и надежности информационных систем для того же Google и, например, Федерального резерва абсолютно несопоставимы друг с другом. Данная статья призвана рассказать о том, каким же образом мейнфреймы IBM обеспечивают высочайшую надежность и производительность, и как воспользоваться данными уникальными механизмами из ваших программ на языке Java .

Заглянем под капот


Процессоры

Для обеспечения максимально возможной производительности мейнфрейм zEnterprise EC12 снабжается специальными 6-ти ядерными процессорами , выпускаемыми по технологии 32 нм. и работающими на тактовой частоте 5.5 Ghz . На момент выпуска машины, а возможно и сейчас, это была самая быстрая модель процессора в мире. Топовая модель мейнфрейма может иметь на борту 20 процессоров, что составляет 120 ядер . Часть ядер используется для резервирования, работы канальной подсистемы ввода-вывода и специального использования, а 101 ядро доступно для использования в приложениях. Каждое из этих ядер можно настроить следующим образом:

  • как процессор общего назначения (CP );
  • исключительно для Java- и XML- приложений (zAAP );
  • исключительно для работы информационных систем, например СУБД DB2 (zIIP );
  • исключительно для запуска специальной версии Linux (IFL );
  • для работы аппаратной подсистемы кластеризации (ICF );
  • опционально, как дополнительный процессор для работы канальной подсистемы ввода-вывода (SAP ).
О процессорах для Java -приложений я немного расскажу подробнее ниже.

Распределение числа зарезервированных и доступных к использованию ядер в зависимости от модели мейнфрейма представлено в таблице:


Скорость роста тактовой частоты процессоров от поколения к поколению можно увидеть на графике:


Процессоры zEnterprise EC12 имеют три уровня кэш-памяти и один, четвертый, уровень реализован на отдельных микросхемах. Объемы каждого уровня следующие:
  • L1 : 64 Кб инструкций, 96 Кб данных на ядро;
  • L2 : 1 Мб инструкций, 1 Мб данных на ядро;
  • L3 : 48 Мб на процессор;
  • L4 : 384 Мб на группу из шести процессоров.
В названиях System z и zEnterprise буква "z" обозначает "zero-downtime" , т.е. полное отсутствие простоев. Одна из основных решаемых мейнфреймами задач - обеспечение высокой доступности и надежности работы приложений. Поэтому все системы мейнфрейма резервируются, включая даже сервисные элементы - специальные ноутбуки. Процессоры тоже резервируются, каждая модель мейнфрейма имеет по два резервных процессора, при этом важным является тот факт, что переключение процессора в случае выявления системой неисправности происходит на лету, без прерывания исполняемой программы . Данная возможность реализуется исключительно мейнфреймами и ее наличие вполне понятно: в мире существует множество областей, в которых ошибка вычисления может дорого стоить в прямом смысле этого слова.

Понятно, что 120 ядер, работающих с тактовой частотой 5.5 Ghz должны довольно ощутимо греться, поэтому каждый мейнфрейм снабжается системой воздушного охлаждения . Опционально можно подключить так же систему водяного охлаждения .

Оперативная память

Каждый мейнфрейм zEnterprise EC12 имеет на борту больше установленной памяти нежели заказано. Часть установленной памяти используется для реализации Redundant Array of Independent Memory (RAIM) . Для приложений, работающих на мейнфрейме, доступно до 3 Tб оперативной памяти, при этом одному логическому серверу в составе машины (LPAR ) доступно до 1 Тб ОЗУ.

Планки оперативной памяти вместе с группами процессоров и портами ввода-вывода помещаются в специальный модуль, называемый "книгой" (book ).


Каждая книга имеет точки подключения системы охлаждения в том числе при необходимости и водяной. Распределение объема доступной ОЗУ по книгам в зависимости от модели мейнфрейма приведено в таблице:


Внутренняя инфраструктура ввода-вывода

Внутренняя инфраструктура ввода-вывода в машине представлена двумя вариантами: InfiniBand I/O , впервые представленной в машинах серии z10 и поддерживающей 6 Гб/с InfiniBand I/O interconnect и PCI Express Generation 2 (PCIe Gen2) , используемой ранее в машинах серии z196 и z114 , поддерживающей 8 Гб/с PCIe I/O interconnect . Только последняя инфраструктура доступна на новых машинах.

Мы рассмотрели основные внутренние системы мейнфрейма. С некоторыми другими аппаратными возможностями познакомимся уже применительно к вопросу обеспечения работы Java -приложений на данной платформе.

Место для Java

Корпорация IBM считает виртуальную машину JVM и язык программирования Java одним из своих стратегических приоритетов. Инвестиции в данную инфраструктуру огромны. Чего стоит один только сервер приложений IBM WebSphere AS - один из лучших Java EE -совместимых серверов приложений в мире. Так же код на языке Java поддерживается такими продуктами как WebSphere MQ и Integration Bus , адаптеры для Java имеют координаторы транзакций IBM с долгой историей: CICS и IMS TM . Так же на языке Java можно писать хранимые процедуры для реляционной СУБД DB2 .

Корпорация заинтересована в стабильной надежной и быстрой работе Java -приложений на мейнфрейме и прилагает к этому множество усилий. Давайте рассмотрим какие возможности мейнфрейма уникальны для исполнения Java -кода.

Настраиваемые наборы процессоров

В последние годы на рынке программного обеспечения наметилась тенденция лицензирования по ядрам. Чем больше процессорных ядер в вашей машине, тем больше лицензий на программное обеспечение вам нужно купить, тем оно дороже. По данной схеме лицензируются СУБД, сервера приложений, различное ПО промежуточного уровня (брокеры сообщений, ESB , BPM и т.д.), а так же корпоративное ПО (CRM , ERP , АБС и т.д.) При этом объективно Java является довольно тяжелой нагрузкой, что связано и со сборкой мусора, и с необходимостью в JIT -компиляции, и с поздним связыванием. Поэтому можно зарезервировать часть имеющихся на борту мейнфрейма ядер под работу исключительно с данным типом нагрузки. Такие зарезервированные ядра или, в терминах мейнфреймщиков, "процессоры" называются zEnteprise Application Assist Processor (zAAP) . По аппаратной составляющей это - обычный процессор zEnterprise , часть команд которого отключается в настройках. Сам по себе такой процессор стоит гораздо дешевле обычного, т.н. Generic центрального процессора zEnterprise . Но основная выгода даже не в этом. Данный процессор не участвует в расчете лицензий на программное обеспечение . Таким образом использование zAAP позволяет существенно сэкономить.

При этом zAAP не может исполнять некоторые действия, такие как управление операциями ввода-вывода или работа JNI . Поэтому операционная система z/OS при выполнении диспетчеризации TCB (в мире распределенных систем используется термин "поток") может лениво переводить их с общего центрального процессора (GP ) на zAAP и обратно. Если диспетчер видит, что выполняется Java -код, запущенный на GP , то он при выделении следующего кванта времени данному TCB перенесет его на ядро, сконфигурированное как zAAP . Аналогично, если диспетчер понимает, что выполняется JNI , то он при выделении следующего кванта времени запустит соответствующий TCB на GP , а не на zAAP . Естественно, такие переносы занимают время на перестройку кэша и TLB , но в целом оно не настолько критично по сравнению с выигрышем на стоимости лицензий.

Важный момент: использовать процессоры zAAP можно только под операционной системой z/OS , допускается не более двух zAAP на один GP .

Помимо выполнения Java -кода, процессоры zAAP могут использоваться и при работе с XML .

Аппаратная транзакционная память

Мейнфрейм zEnterprise EC12 - первый сервер общего назначения от IBM , содержащий реализацию технологии транзакционной памяти, впервые использованной для того, чтобы сделать суперкомпьютер IBM Blue Gene/Q-based Sequoia , расположенный в Lawrence Livermore National Lab , самым быстрым в мире (по состоянию на октябрь 2014-го года данный суперкомпьютер занимает третью строчку в списке ТОП-500). В мейнфрейме zEnterprise EC12 IBM улучшила данную технологию, адаптировав ее для ускорения выполнения конкурентных операций над общим набором данных, например для параллельного проведения различных финансовых операций по одному и тому же набору счетов.

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

Транзакция начинается специальной командой процессора TBEGIN , а заканчивается командой TEND . Если за время выполнения транзакции какой-то из задействованных ею участков памяти был изменен другим процессором, то транзакция откатывается и восстанавливается состояние регистров общего назначения и оперативной памяти, которое было до ее начала. Затем управление передается блоку transaction failure handler , который решает повторить ли выполнение транзакции или наложить традиционную блокировку (coarse-locking ), чтобы гарантировать выполнение нужного кода.


Цель описанного выше zEnterprise EC12 Transactional Execution (TX) facility - избежать необходимости в coarse-grained-locking с целью обеспечить безопасное, свободное от блокировок (lock-free ), конкурентное исполнение критических секций. Рассмотрим пример использования TX при работе нескольких читателей и писателя. В классической реализации, использующей блокировки, все читатели ждут освобождения критической секции, соответственно они могут читать область памяти исключительно по одному, друг за другом. В реализации с использованием TX , т.н. lock-elision , читатели работают параллельно до тех пор, пока писатель не изменит общую область памяти.


zEnteprise EC12 Transaction Execution facility включает в себя множество функций обеспечивающих широкое поле оптимизаций, таких как lock-elision , примитивы compare-and-swap (CAS) над несколькими словами (multi-word ) и спекулятивные оптимизации.

В IBM Java7 SR3 с включенной опцией -Xaggressive становится доступной реализация многопоточной очереди ConcurentLinkedQueue (CLQ) , использующая TX . CLQ - это потокобезопасная реализация очереди, работающей по принципу "первый пришел - первый ушел (FIFO )". Стандартные реализации методов CLQ.offer() и CLQ.poll() основаны на свободных от блокировок алгоритмах и используют циклы и атомарные CAS -операции, т.е. стандартные примитивы, применяемые для построения множества конкурентных алгоритмов. IBM JVM компилирует данные алгоритмы в сотни машинных инструкций. При использовании TX , реализации методов CLQ.offer() и CLQ.poll() заменяются на описанные выше последовательности инструкций, обеспечивающие работу транзакций. Это существенно повышает эффективность алгоритмов из-за того, что сокращается исполняемый набор машинных инструкций и уменьшается необходимость в доступе к данным. Повышение эффективности в два раза подтверждается микробенчмарком.


В последней версии IBM JVM для z/OS - IBM Java7R1 аналогичным образом доработано поведение класса HashTable , эффективность повысилась более чем в 5 раз.


Аппаратная поддержка сжатия данных

Знаете ли вы, что каждый день в мире создается более 2000 петабайт данных? Цифровая вселенная увеличится более чем в 300 раз за время между 2005-м и 2020-м годами, со 130 до 40 000 экзабайт.

В последней версии IBM JVM для z/OS - IBM Java7R1 для работы класса, обеспечивающего поточное сжатие данных, - java.util.zip.GZIPOutputStream - используется специальная карточка - zEDC Express I/O Adapter . Задействование данной карточки позволяет снизить использование процессора на 91% по сравнению с программно реализованным сжатием. Среднее время сжатия снижается на 74% , а уровень сжатия повышается примерно в 5 раз .


zEDC I/O Adapter может использоваться через стандартные API : Java и zlib .

Специальные команды процессора

Начиная с поколения z196 , в процессоры машин было добавлено более 70 новых машинных инструкций , часть которых используется для ускорения работы Java . JIT -компилятор использует их при генерации кода. Подробная информация о работе процессора является конфиденциальной, но ознакомиться с системой команд, поддерживаемыми типами данных и некоторыми особенностями можно, изучив документ z/Architecture. Principles of Operation .

Работа с упакованными десятичными числами

В мире финансовых вычислений для обеспечения точности округления и ускорения операций используется формат данных под названием "упакованные десятичные числа" или по-английски Packet Decimal . Данный формат реализован в zEnteprise EC12 аппаратно. Версия IBM Java7R1 предлагает библиотеку для работы c packed decimal . Данная библиотека решает следующие задачи:

  • маршалинг и демаршалинг: трансформация примитивных типов в байтовые массивы, поддерживается как big- , так и little-endian ;
  • операции над packed decimal (PD) : арифметические, сравнения, проверки ошибок (проверяет, является ли PD -операнд верно сформированным) и специальные: сдвиги и перемещения;
  • конвертация типов: преобразование из Packed Decimal (PD) , External Decimal (ED) и Unicode Decimal (UD) в примитивные типы (int , long ) и обратно, преобразование между разными десятичными типами (PD , ED , UD ) и преобразование десятичных типов в Java -объекты: BigDecimal и BigInteger .


Библиотека является платформенно- и JVM -независимой. Работает непосредственно с массивами байт и не требует создания деревьев Java -объектов, а так же позволяет JIT сгенерировать максимально эффективный для платформы код.

Multi-tenant JVM

В версии IBM Java7R1 в качестве технологического превью доступна такая опция, как multi-tenancy . Включается данная опция с помощью аргумента командной строки, передаваемого при запуске JVM : -Xmt .


Суть данной опции в следующем: в системе стартует единая JVM в виде демона javad . У данной JVM настраивается размер кучи, количество потоков, использование ввода-вывода, CPU . Каждый последующий запуск java создает не отдельную JVM , а лишь небольшую прокси к демону javad .


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

Выводы

В данной статье мы рассмотрели основные преимущества, которые дает программно-аппаратная синергия для работы Java -приложений. Корпорация IBM производит весь стек технологий, начиная от аппаратной реализации, включающей в себя процессор, оперативную память, подсистему ввода-вывода и в целом архитектуру машины, и заканчивая JRE и сервером приложений. Именно благодаря этому обеспечивается максимальная эффективность: низкоуровневые операции, такие как конвертация форматов данных, сжатие, шифрование, передаются на уровень специализированной аппаратуры, освобождая центральные процессоры машины от рутинных действий. Аппаратура берет на себя и резервирование, обеспечение бесперебойной работы, облегчает построение кластеров и масштабирование ваших приложений.

Сама по себе огромная вычислительная мощь мейнфрейма (101 ядро!) позволяет делать вещи, недоступные на других системах. Например, возможно разместить СУБД, критические для бизнеса приложения и веб-портал, работающий под управлением IBM WebSphere AS , на одной машине, что совместно с применением технологии общей памяти и гиперсокетов позволяет гарантировать минимальное время отклика всего комплекса и его соответствие самому жесткому SLA . Из взаимодействия приложений убирается самая медленная и нестабильная часть - компьютерная сеть.

Использование аппаратной транзакционной памяти (Hardware transactional memory ) открывает новую веху в разработке многопоточных приложений. Ученые и энтузиасты долгое время уже занимаются изучением программной транзакционной памяти, накоплены определенные знания, алгоритмы, есть реализации библиотек, в частности под Clojure . Теперь все данные возможности доступны на уровне самой машины, что существенно увеличивает производительность многопоточных приложений. Данное утверждение подтверждено результатами тестов, приведенными в статье.

В целом можно отметить, что слухи о смерти "танцующего динозавра" слишком преувеличены. Уникальная серия, которая недавно отметила свои 50 лет лидерства в серверном мире, продолжает шествие по планете. Мейнфрейм от IBM предлагает высокопроизводительную, надежную, максимально зарезервированную среду исполнения приложений и для нашего любимого языка программирования. Не COBOL "ом единым!


Из графика видно, что за последние 10 лет производительность Java на мейнфреймах выросла в 12 раз .

На последок уместно привести высказывание одного из основателей корпорации IBM , сделанное задолго до появления не только персональных компьютеров, но и средних ЭВМ:

"Развитие вычислительной техники полностью повторит развитие транспорта. Когда-нибудь появятся персональные ЭВМ, как появились персональные автомобили, и для них будет существовать целая сеть мастерских, "дорог" и "заправок". Это будет лучшее средство решения индивидуальных проблем. Наверняка будут средние ЭВМ, роль которых будет аналогична автобусам - решать проблемы небольшой группы потребителей. Решение особых задач потребует быстрых и сверхдорогих компьютеров - их место подобно авиации. Но для решения масштабных задач всегда будут использоваться железные дороги - поезд гарантированно перевезет сотни и тысячи людей на огромные расстояния за очень умеренные деньги. Да, железным дорогам требуется прокладка рельсов, строительство вокзалов, подготовка машинистов и прочее, но в целом ряде случае альтернативы им нет и никогда не будет. Это место наших машин - мейнфреймов.”

Если у вас появились вопросы о работе мейнфрейма, о работе Java на нем, может быть вы - представитель партнера IBM и хотите протестировать или обеспечить работу вашего приложения на zEnterprise , то могу предложить несколько каналов связи. Во-первых, вы можете писать в комментарии, во-вторых, обратиться ко мне по электронной почте [email protected] , в-третьих, позвонить по телефону +7-495-775-88-00 ext. 4353 . Всегда буду рад вам помочь.

Материалы

Данная статья во многом основана на презентации Marcel Mitran, Chief Architect IBM JVM on System z под названием A Survey of Java Performance on zEnteprise EC12 . Так же использовались следующие ресурсы:


Начало и конец истории мейнфреймов связан с именем IBM, и это не удивительно. В далёкие 1930-е годы, когда "компьютером" фактически был ваш напарник с логарифмической линейкой, который производил за вас все вычисления, компания IBM была в основном известна своими перфорационными машинами. Но во многом благодаря дальновидному руководству, которое в то время было представлено Томасом Уотсоном (Thomas Watson), IBM трансформировалась из одного из многих продавцов офисной техники в компанию, которая позднее стала монополистом по производству компьютеров.

Harvard Mark I

Машина, получившая название Harvard Mark I, стала примером дальновидности Томаса Уотсона, хотя с практической точки зрения она не была технологической отправной точкой последующих открытий. И всё же стоит взглянуть на эту машину, ведь только так мы сможем увидеть, насколько далеко зашёл прогресс.

Всё началось в 1936 году, когда гарвардский математик Говард Айкен (Howard Aiken) пытался решить проблему, связанную с разработкой вакуумных трубок (ламп). Чтобы добиться прогресса, ему нужно было решить систему нелинейных уравнений, а под рукой не было ничего, что могло бы сделать это за него. Айкен предложил гарвардским учёным построить крупномасштабный калькулятор, который мог бы решать подобные задачи. Однако его предложение было встречено без энтузиазма.

Затем Айкен обратился в Monroe Calculating Company, но компания отвергла его предложение. Тогда Айкен пошёл в IBM. Предложение Айкена, по сути, представляло собой список требований, а не настоящий проект, поэтому компании IBM самой нужно было понять, как воплотить эти требования в жизнь. Начальная стоимость проекта была оценена в $15 000, но она быстро взлетела до $100 000 к тому моменту, когда в 1939 году предложение было принято официально. В итоге воплощение данной идеи в жизнь стоило IBM около $200 000.

Только в 1943 году пятитонный механический "монстр" длиной около 15 метров начал выполнять свои первые вычисления. Поскольку компьютеру нужна была механическая синхронизация между разными вычислительными блоками, по всей его длине располагался вал, приводимый в движение мотором мощностью в пять лошадиных сил. Компьютерная "программа" создавалась путём вставки проводков в штекерную панель. Данные считывались с помощью перфокарт, и результаты печатались на перфокартах или выводились с помощью электрических пишущих машин. Даже по тем временам этот "компьютер" работал медленно. Он мог делать только лишь три операции сложения или вычитания в секунду, а на одно умножение у машины уходило целых шесть секунд. Вычисление каждого логарифма и тригонометрические преобразования занимали более одной минуты.

Как уже говорилось выше, машина Harvard Mark I была технологически бесперспективной и не сделала ничего особо важного за все свои 15 лет использования. Тем не менее, она представляла собой первую в истории полностью автоматизированную вычислительную машину. Несмотря на то, что машина Mark I работала очень медленно, была механической, и ей не хватало таких важных операций, как условный переход, это всё же был компьютер, который был лишь маленьким намёком на то, чему ещё предстояло появиться.

ABC (Atanasoff-Berry Computer)


Первым электронным компьютером на самом деле была машина ABC (Atanasoff-Berry Computer), хотя этот факт был признан многими годами позднее. Словосочетание "электронный компьютер" может показаться странным, однако только что на примере Harvard Mark I мы видели, что действительно были компьютеры без электронных компонентов, которые использовали механические переключатели, регулируемые зубчатые колёса, реле и рукоятки. В отличие от таких машин, компьютер ABC все вычисления производил с помощью электроники, поэтому он является очень важным этапом в развитии вычислительной техники.

Несмотря на то, что компьютер ABC был электронным, его компоненты очень сильно отличались от тех, что используются сегодня. На самом деле, здесь потребовались бы транзисторы и интегральные микросхемы, но в 1939 году, когда Джон Атанасов (John Atanasoff) получил финансирование на сборку прототипа, таких компонентов ещё не было, поэтому он использовал то, что было доступно на тот момент: электровакуумные лампы. Электровакуумные лампы могли усиливать сигналы и работать как переключатели, а значит, они могли использоваться для создания логических схем. Впрочем, эти лампы потребляли много энергии, сильно нагревались и были очень ненадёжными. Такими вот недостатками обладали компьютеры, построенные на электровакуумных лампах, но с этим приходилось мириться.

Логические схемы, созданные Атанасовым с помощью электровакуумных ламп, работали быстро и могли выполнять по 30 операций сложения и вычитания в секунду. Сегодня это является нормой, но тогда компьютеры редко использовали двоичную систему счисления, поскольку в то время с ней были знакомы немногие. Ещё одной важной технологией было использование конденсаторов для памяти и "подпитка" их электричеством для сохранения "содержимого" (аналогично регенерации динамической памяти типа DRAM, используемой сегодня). Однако память не была по-настоящему "random" (не обладала произвольным доступом), поскольку она фактически находилась во вращающемся барабане, который совершал полный оборот за 1 секунду. Конкретные области памяти могли быть считаны только тогда, когда участок барабана, где они находились, оказывался над считывателем. Из-за этого возникали серьёзные задержки. Позднее Атанасов добавил перфорационную машину (в те времена перфокарты очень широко использовались организациями для хранения документов и выполнения расчётов), чтобы хранить данные, которые не могли поместиться в барабан памяти.

В ретроспективе, компьютер ABC был не так уж полезен. Его даже нельзя было запрограммировать. Но, по крайней мере, на концептуальном уровне он представлял собой очень важный этап в развитии компьютеров и стал прародителем компьютеров будущего. Работая над этой машиной, Атанасов пригласил Джона Мочли (John W. Mauchly) посмотреть на своё изобретение. Эта встреча оказалась знаковой. И вот почему.

ENIAC


Нажмите на картинку для увеличения.

7 декабря 1941 года Япония напала на Перл-Харбор, втянув Соединённые Штаты во Вторую мировую войну. Каждая воюющая страна столкнулась с проблемой создания баллистических таблиц стрельбы для всех производимых типов артиллерии. Это был очень длительный и утомительный процесс. Поэтому армия США предоставляла средства Электротехнической школе Мура при Университете штата Пенсильвания на разработку электронного компьютера, который смог бы облегчить процесс создания баллистических таблиц стрельбы. Вы уже, должно быть, догадались, что участие во всём этом принимал уже известный нам Джон Мочли, он взялся за проект вместе с талантливым аспирантом по имени Дж. Преспер Эккерт (J. Presper Eckert).

Но Вторая мировая война закончилась до того, как машина была готова. Работа над компьютером была завершена в 1946 году, и публике был представлен "монстр" весом в 30 тонн, состоящий из 15-метровых шкафов, 18 000 вакуумных ламп, 1500 реле, 70 000 резисторов, 10 000 конденсаторов и 6000 ручных переключателей и потребляющий 200 киловатт. Хотя разработка этого компьютера закончилась уже после войны, он всё же принёс пользу. Производительность машины была невероятно высокой: 5000 операций сложения, 357 умножений или 38 делений в секунду. Задачи, на которые у математика уходило 20 часов работы, ENIAC решал всего за 30 секунд.

Основная проблема этого компьютера, помимо ненадёжности, присущей всем машинам на вакуумных лампах, заключалась в том, что он не был программируемым в общепринятом смысле этого слова. "Программы" вводили сотрудницы лаборатории (так называемые "ENIAC girls") с помощью штекерных панелей и блоков переключателей. Этот процесс обычно занимал от нескольких часов до нескольких дней. Кроме того, в отличие от компьютера ABC, ENIAC работал с десятичными, а не с двоичными числами, и это был своего рода шаг назад.

Тем не менее, ENIAC на славу послужил Соединённым Штатам, особенно после дальнейшей модернизации, пока в 1955 году его не "отправили в отставку". За время своего существования ENIAC работал над самыми разными проблемами: прогнозы погоды, исследование случайных чисел, теплового воспламенения, аэродинамической трубы, расчёт траектории артиллерийских снарядов и даже разработка водородной бомбы. Подсчитали, что за свою "жизнь" ENIAC сделал больше расчётов, чем всё человечество вплоть до 1945 года.

Хотя история компьютера ENIAC заканчивается в 1955 году, Мочли и Эккерту предстоит ещё многое сделать.



СОДЕРЖАНИЕ

Высочайшая надежность обусловлена двойной-тройной избыточностью узлов и блоков, заложенной при проектировании, а также уникальными построениями архитектуры и структуры в сочетании с решениями внутреннего математического обеспечения и внешней операционной среды.Одним из главных преимуществ является организация системы ввода/вывода, при которой возможно одновременное параллельное выполнение операций по многим десяткам каналов ввода/вывода без остановки процессов вычисления.Наличие от 10 до 20 процессоров и параллельное выполнение ввода/вывода обеспечивают высокую производительность и вычислительную мощность и позволяют одновременно решать множество задач.

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

Современные модели мэйнфреймов IBМ, являющиеся развитием линии S/390 , под общим названием еServer zSeries , основаны на архитектуре z/Architecture , которая представляет собой расширение архитектуры ESA . Данная архитектура позволяет обеспечить полноценную поддержку 64-разрядной реальной и виртуальной памяти, поддерживает кластеризацию (до 640 процессоров) и виртуальные машины, позволяющие выполнять сотни и тысячи экземпляров других операционных систем, в частности, Linux, позволяет устранять проблемы, связанные с недостатком адресуемой памяти, и с помощью интеллектуального диспетчера ресурсов (Intelligent Resource Director, IRD) может автоматически направлять имеющиеся ресурсы на решение наиболее приоритетных задач.

Надежность и отказоустойчивость мейнфреймов IBM z Series обеспечивается за счет целого ряда функций: динамическое резервирование памяти , расширенное динамическое переконфигурирование системы, возможность перезагрузки части памяти – это лишь малая часть обширного списка уникальных возможностей, заложенных как в архитектуре, так и в системном программном обеспечении.

В связи с расширением применения Linux на мейнфрейме серверы z / Series и S /390 (модели 9672 генерации G 6) обретают новую жизнь. На одной платформе, имеющей высокую надежность, производительность и масштабируемость, возможно установить большое количество различных приложений, использующих разные операционные среды.

При использовании Linux-технологий под управлением операционной среды z/VM на одной платформе мэйнфрейм можно иметь сотни и тысячи Linux-серверов. Для каждого приложения, каждой базы данных используется отдельный Linux-сервер. Linux-серверы эффективно используются для создания файл-серверов, почтовых серверов, web-серверов и т.д. Таким образом, имеет место консолидация Linux-серверов на одной платформе.

При использовании z/VM можно в режиме Online создавать по мере необходимости новые Linux-серверы. При создании Linux-серверов под управлением z/VM не требуется жесткого закрепления определенного объема оперативной памяти за каждым сервером. В этом случае память для серверов является виртуальной. Для связи Linux-серверов с локальными сетями пользователей через Интернет используется имеющийся в архитектуре мейнфрейм специальный узел - Open System Adapter (OSA), который позволяет обмениваться данными со скоростями 1 или 2 Gbit в сек. для платформы S/390 (модели 9672 генерации G6) и 1, 2 или 4, а в новейших разработках и 10 Gbit в сек. для платформы z/Series. При этом один адаптер OSA может использоваться многими или всеми имеющимися в мейнфрейме Linux-серверами, динамически переключаясь между ними в зависимости от текущих потребностей и приоритетов.

Мэйнфреймы семейства zSeries обладают мощнейшими функциями обеспечения безопасности данных, реализованными как на программном, так и на аппаратном уровне. Для обеспечения безопасности данных мейнфреймы семейства zSeries содержат встроенный аппаратный программируемый криптографический адаптер, позволяющий выполнять SSL-операции и операции шифрования с открытым ключом. Опыт многих клиентов и самой компании IBM доказывает: «большое железо» открывает большие возможности, в том числе и в области сокращения расходов на инфраструктуру.

Публикации

Мэйнфрейм (англ. Mainframe ) - данный термин имеет два основных значения:

  • Большая универсальная ЭВМ - высокопроизводительный компьютер со значительным объемом оперативной и внешней памяти, предназначенный для организации централизованных хранилищ данных большой емкости и выполнения интенсивных вычислительных работ.
  • Компьютер с архитектурой IBM System/360, 370, 390, zSeries.

История Мэйнфрейма (Mainframe )

Историю мейнфреймов принято отсчитывать с появления в 1964 году универсальной компьютерной системы IBM System/360, на разработку которой корпорация IBM затрачувала $ 5 млрд. Сам термин «мэйнфрейм» происходит от названия типовых процессорных стоек этой системы. В 1960-х - начале 1980-х годов System/360 была безоговорочным лидером на рынке. Ее клоны выпускались во многих странах, в том числе - в СССР (серия ЕС ЭВМ).

Мэйнфреймы IBM используются в более чем 25 000 организациях по всему миру (без учета клонов). Около 70% всех важных бизнес-данных хранятся на мэйнфреймах.

В начале 1990-х начался кризис рынка мейнфреймов, пик которого пришелся на 1993 год. Многие аналитики заговорили о полном вымирании мейнфреймов, о переходе от централизованной обработки информации к распределенной (с помощью персональных компьютеров, соединенных двухуровневой архитектурой «клиент-сервер»). Многие стали воспринимать мейнфреймы как вчерашний день вычислительной техники, считая Unix - и PC -серверы более современными и перспективными.

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

Еще один аргумент против мейнфреймов состоял в том, что в них не соблюдается основной принцип открытых систем, а именно - совместимость с другими платформами.Виднисшись к критике конструктивно, руководство компании IBM, основного производителя аппаратного и программного обеспечения мейнфреймов, выработало кардинально новую стратегию в отношении этой платформы с целью резко повысить производительность снизить стоимость владения, а также добиться высокой надежности и доступности систем. Достижению этих планов способствовали важные перемены в технологической сфере: на смену биполярной технологии изготовления процессоров для мейнфреймов пришла технология КМОП. Переход на новую элементную базу позволил значительно снизить уровень энергопотребления мейнфреймов и упростить требования к системе электропитания и охлаждения (водяное охлаждение было заменено воздушным). Мэйнфреймы на базе КМОП-микросхем быстро прибавляли в производительности и теряли в габаритах. Самым кардинальным же событием стал переход на 64-разрядную архитектуру zArchitecture. Современные мейнфреймы перестали быть закрытой платформой: они способны поддерживать на одной машине сотни серверов с различными ОС, включая Linux.

Согласно одному из прогнозов Gartner Group, последний мэйнфрейм предполагалось устранить в 1993 году. Срок этого прогноза давно закончился, а рынок мейнфреймов остается стабильным, и их продажи ежегодно растут.

С 1994 года вновь начался рост интереса к мэйнфреймов. Дело в том, что, как показала практика, централизованная обработка на основе мейнфреймов решает многие задачи построения информационных систем масштаба предприятия проще и дешевле чем распределенная.

Характеристики Mainframe

  • Среднее время наработки на отказ оценивается в 12-15 лет. Надежность мейнфреймов - это результат почти 60-летнего их совершенствования. Мейнфреймы могут изолировать и исправлять большинство аппаратных и программных ошибок.
  • Дублирования . Резервные процессоры. Запасные микросхемы памяти. Альтернативные пути доступа к периферийным устройствам. Горячая замена всех элементов вплоть до каналов, плат памяти и центральных процессоров. Группа разработки VM / ESA затрачувала уже двадцать лет на удаление ошибок из операционной системы, и была в результате создана система, которую можно использовать в самых ответственных случаях.
  • Целостность данных . В мэйнфреймах используется память, исправляющая ошибки. Ошибки не приводят к разрушению данных в памяти, или данных, ожидающихустройства ввода-вывода. Дисковые подсистемы построены на основе RAID -массивов с горячей заменой и встроенных средств резервного копирования гарантируют от потери данных.
  • мейнфреймов может составлять 80% -95% от их пиковой производительности. Для UNIX-серверов, конечно, рабочая нагрузка не может превышать 20% -30% от пиковой загрузки. Серверы типа Unix или тем более Windows чтобы быть устойчивыми должны выполнять один приложение, то есть под каждый приложение типабазы данных, промежуточного ПО. или интернет-сервера должна быть выделена отдельная машина, тогда как S/390 тянуть все сразу, причем все приложения будут тесно сотрудничать и использовать общие куски ПО.
  • Пропускная способность подсистемы ввода-вывода мэйнфреймов разработана так, чтобы работать в среде с высоким рабочим нагрузкам на ввод-вывод. Ряд тестов показал что мэйнфрейм может обрабатывать на 400-500% более интенсивное ввода-вывода чем SUN E10000 или серверы HEWLETT-PACKARD класса T.
  • Масштабирование может быть как вертикальным так и горизонтальным. Вертикальное масштабирование обеспечивается линейкой процессоров с производительностью от 5 до 200 MIPS и наращиванием до 12 центральных процессоров в одном компьютере. Горизонтальное масштабирование реализуется объединением ЭВМ в ParallelSysplex - многомашинный кластер, выглядит с точки зрения пользователя единым компьютером. Всего в ParallelSysplex можно объединить до 32 машин. Географически распределенный ParallelSysplex называют GeoPlex. В случае использования ОС VM для совместной работы можно объединить любое количество компьютеров.Программное масштабирование - на одном мейнфреймов может быть сконфигурирован фактически безграничное количество различных серверов. Причем все серверы могут быть изолированы друг от друга так будто они выполняются на отдельных выделенных компьютерах и в тоже время совместно использовать аппаратные и программные ресурсы и данные.
  • Доступ к данным . Поскольку данные хранятся на одном сервере, прикладные программы не нуждаются сборе исходной информации из множества источников, не требуется дополнительное дисковое пространство для их временного хранения не возникают сомнения в их актуальности. Требуется небольшое количество необходимых физических серверов и значительно более простое программное обеспечение. Все это, в совокупности, ведет к повышению скорости и эффективности обработки.
  • Использование дискового пространства . Объем базы данных и его отношение к требующейся для размещения объема физического диска, пути доступа к дисковой подсистеме, пропускная способность ввода-вывода, достаточное для загрузки процессора.

Результаты тестирования специально настроенных под эталонные тесты систем, представленные на сайте TPC показывают, что в UNIX дисковое пространство используется на 20% -30%. Для S/390 к. п. д. для дисковых систем находится в диапазоне 65% -75%. Если мы примем размер базы данных 700 GB, типичный для большинства пользователей, мы увидим что для нее потребуется дисковая подсистема в 2.8 ТБ в случае UNIX и 1 ТБ для S/390. На самом деле требуется рассматривать два типа рабочей нагрузки: один организован и оптимизирован для OLTP и эффективной пакетной обработки, и второй - оптимизирован для систем добычи данных и бизнес- приложений. В этом случае требование к емкости дисковой подсистемы составит 5,6 ТБ для UNIX, против 2 ТБ для S/390.

  • Защита . Встроенные в аппаратуру возможности защиты, такие как криптографические устройства и Logical Partition, и средства защиты операционных систем дополнены программными продуктами RACF или VM: SECURE, обеспечивают совершенный защиту.
  • Сохранение инвестиций - использование данных и существующих приложений, не влечет дополнительных расходов по приобретению нового программного обеспечения для другой платформы, переобучению персонала, перенос данных. Пользовательский интерфейс всегда оставался наиболее слабо месту мэйнфреймов. Сейчас же стало возможно для приложений мэйнфреймов, в кратчайшие сроки и при минимальных затратах, обеспечить современный интернет-интерфейс.

Сейчас майнфреймы IBM занимают главное место на мировом рынке. Так же на рынке со своей продукцией присутствуют фирмы Hitachi, Amdahl и Fujitsu.