Вопрос

Я работаю в крупной корпорации, которая управляет много серверов на базе x86, на которых мы запускаем JVMS.

Мы успешно экспериментировали с VMware ESX, чтобы повысить эффективность использования нашего центра обработки данных.Но они по-прежнему потребляют много энергии на единицу обработки.

У меня была безумная идея, что мы должны возродить мэйнфреймы, мы могли бы разместить либо множество JVM, либо виртуальные машины.

Кто-нибудь пробовал это?Есть ли какие-либо хорошие экономические выгоды?

Теряете ли вы гибкость?Например.у нас есть мэйнфреймы в других подразделениях компании, но у них, похоже, гораздо более жесткое использование машин..большой контроль изменений, длительные сроки выполнения заказа и т. Д

Это было полезно?

Решение

Все это предполагает, что вы говорите о Java на Z / OS, а не о запуске виртуальных машин Linux на мэйнфрейме, чтобы воспользоваться преимуществами экономии средств, обеспечиваемой меньшим количеством машин.

Мои мысли о виртуализации находятся в конце этой статьи, и, вероятно, вы захотите рассмотреть именно этот маршрут, но я начну с Z / OS, поскольку это то, с чем традиционно ассоциируются мэйнфреймы и с чем я знаком.У меня есть некоторый опыт работы с мэйнфреймом Java.

Короткий ответ таков: это зависит, но, вероятно, нет.Каковы именно ваши приложения?Мэйнфрейм - это сложная среда по сравнению с серверами x86.Если вы используете рабочие нагрузки с интенсивным вводом-выводом в чем-то вроде Websphere, это может стоить того, если предположить, что ваш мэйнфрейм используется недостаточно.

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

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

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

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

Мэйнфреймы IBM также могут запускать Linux либо в собственном режиме, либо в виртуализированной среде, подобной VMware.Если только ваша компания не является исключением из правила, ваши экземпляры Linux будут запускаться как виртуальные машины.У меня не было большого опыта в этом, но, если ваше приложение не зависит от собственного кода и работает под Linux, оно, вероятно, будет работать на мэйнфрейме под управлением Linux.Для получения дополнительной информации о Linux на мэйнфреймах см. эта ссылка.

Другие советы

IBM создает специальный сопроцессор Java, который вам следует серьезно рассмотреть.Я бы не стал запускать Java на движках general engine, так как это может увеличить плату MPU за лицензионное программное обеспечение.

У нас большой опыт работы с Java под Windows, Linux и на миникомпьютерах IBM SystemI (или iSeries, или AS / 400, в зависимости от настроения IBM в этом году).По моему мнению, платформа мини-компьютера, похоже, обеспечивает гораздо меньшую отдачу по сравнению с современными многоядерными процессорами x86.

Обратите внимание, что Java легче выигрывает от наличия нескольких доступных ядер, чем обычное программное обеспечение сегодня, из-за своей многопоточной природы - это было бы еще более верно, если бы вы запускали несколько JVM.

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

IBM позволяет это.Некоторые из их мэйнфреймов могут содержать процессоры Java accelerator, которые запускают байт-код изначально для повышения производительности.У них также есть ускорители DB2 и, возможно, некоторые для операций с XML.

Мне никогда не доводилось играть ни с кем из них, но я бы с удовольствием.

Хотя я работаю в Отрасли с 1975 года, я больше не уверен, что такое "мэйнфрейм".Моя текущая машина для разработки оснащена четырьмя процессорами с частотой 3 ГГц, 8 ГБ оперативной памяти и 750 ГБ дискового пространства (RAID 1, так что это действительно вдвое больше), а также двумя 19-дюймовыми мониторами с плоским экраном.

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

Я понимаю, что серверные машины, особенно серверы баз данных, намного быстрее.

Мэйнфрейм?

В зависимости от вашей рабочей нагрузки на это стоит обратить внимание!

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

  1. Определенно стоит рассмотреть надстройку над java-процессорами.(на самом деле они не так уж сильно отличаются от стандартных процессоров, просто они ограничены рабочими нагрузками java jvm - и, что наиболее важно, исключены из ценообразования лицензии на программное обеспечение на основе процессора).

  2. Вы можете запускать несколько виртуальных машин Linux, каждая из которых запускает свое собственное Java-приложение.

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

  4. Вы также можете работать в среде monster z / OS:-

a.В USS (системные службы Unix), которая в значительной степени является полноценной UNIX ОС, работающая внутри родительской z / OS.

b.Запустите ваше java-приложение в его собственной запущенной задаче (== демон unix).

c.Запустите свое приложение внутри CICS.(Вероятно, не так, как вам нужно использовать CICS / Java API, где вы бы это сделали обычно используйте Servlet / J2EE API, поэтому вашему приложению потребуется перезапись.)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top