Программа мэйнфрейм: «Мэйнфреймы навсегда». Почему проекты их замены часто заканчиваются неудачно

Содержание

«Мэйнфреймы навсегда». Почему проекты их замены часто заканчиваются неудачно

| Поделиться

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

Старые, но влиятельные

Мэйнфреймы уже давно называют «устаревшими» и время от времени появляются сообщения о переводе тех или иных решений с мэйнфреймов на более современную платформу (на кластеры из стандартных серверов в прошлом десятилетии, в облака — в этом).

Однако, как свидетельствует статистика, эти выходцы из 60-х по-прежнему играют важнейшую роль в бизнесе крупнейших компаний: мэйнфреймы используют как платформу для критически важных транзакций 71% компаний из списка Fortune 500, в том числе 92 из 100 крупнейших банков мира. А также, как выяснилось в ходе пандемии коронавируса, многие государственные ведомства. В США это обстоятельство стало причиной больших проблем — срочно понадобились знатоки технологий полувековой давности, а взять их было неоткуда.

Мэйнфреймы по-прежнему составляют основу ИТ-систем крупнейших компаний

Весной 2020 г. исследовательское агентство Coleman Parkes провело онлайн-опрос Mainframe Modernization Business Barometer Report 400 человек, работающих на европейских и американских предприятиях с минимальным годовым оборотом в $1 млрд. На этих предприятиях работало от 1 до 9 мэйнфреймов (в среднем в компании работали 4 таких компьютера).

Сколько мэйнфреймов работает на вашем предприятии

Источник: Coleman Parkes, 2020

Средний возраст мэйнфреймов — 17 лет (у 8% работали «совсем новые» машины, моложе 10 лет; 64% мэйнфреймов находились в строю от 10 до 20 лет, 28% — от 20 до 30 лет).

В ходе исследования аналитики Coleman Parkes выясняли отношение респондентов к замене мэйнфреймов на более современные системы и то, по каким причинам такого рода проекты заканчивались неудачно.

Модернизировать нельзя оставить

По данным отчета, несмотря на сложную экономическую обстановку последних лет, уровень модернизации корпоративных систем в мире достаточно высок. Так, за последние три года респонденты обновили 96% систем CRM, 97% ERP, 96% систем продажи и маркетинга. 34% опрошенных заявили, что модернизация помогла бизнесу ускорить цифровую трансформацию, 33% — быстрее реагировать на изменения рынка. Результатом 30% программ модернизации стало улучшение отношений с клиентами.

На 2020 г. планы по обновлению есть практически во всех компаниях. 60% опрошенных полагают, что в противном случае они отстанут от конкурентов, 33% — что замена унаследованных систем позволит их компании более оперативно реагировать на изменения рынка, 34% говорили, что такая модернизация ускорит проекты цифровой трансформации.

Многие из них хотят заменить связку мэйнфреймы/COBOL на более современные программные и аппаратные средства. Чаще всего свои ИТ-системы считают устаревшими в кадровых службах (36%), за ними следуют операционные (29%) и финансовые (23%). При этом, удивительным образом, среди топ-руководства имеются различия во взглядах на необходимость модернизации финансовых систем. Треть операционных руководителей считают, что эти решения нуждаются в модернизации, среди, казалось бы, кровно заинтересованных в этом процессе финансовых директоров такой точки зрения придерживаются лишь 15%. В исследовании делается вывод, что финансисты хуже понимают важность проблемы, хотя можно предположить, что зато они лучше понимают, во что обходится модернизация.

Респонденты Coleman Parkes — о некоторых аспектах модернизации

Источник: Coleman Parkes, 2020

О необходимости заменить унаследованные приложения на облачные заявили 98% опрошенных.

Однако упоминавшиеся ERP- и CRM-системы — это хорошо известные промышленные решения, с внедрением которых могут помочь вендоры или консультанты.

С приложениями для мэйнфреймов все сложнее, они часто «самописные», тесно, и не всегда понятным образом, взаимодействуют с другими унаследованными бизнес-системами (тоже часто самописными), и риски при внесении изменений в ИТ-ландшафт предприятия существенно выше.

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

Инновации и стартапы

Поэтому далеко не во всех компаниях процесс замены мэйнфреймов проходит гладко. 74%, почти три четверти опрошенных, заявили, что они начали программу модернизации, но так и не смогли ее завершить. Две основные причины провалов — боязнь перемен и недостаток финансирования. Который также часто связан с нежеланием выделять деньги на опасное для бизнеса компании мероприятие.

В результате только 12% ИТ-менеджеров заявили, что в плане финансирования проектов модернизации руководство их полностью поддерживает, а 56% заявили, что финансированию препятствует боязнь перемен.

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

Недостаток финансирования проектов модернизации часто объясняется боязнью перемен

Источник: Coleman Parkes, 2020

Впрочем, по некоторым вопросам и среди директоров согласия нет: почти половина (48%) «финансистов» полагают, что главный фактор, который надо учитывать при оценке времени, которое займет программа модернизации, это количество мэйнфреймов, вовлеченных в процесс. Среди ИТ-директоров таких лишь треть. Более того, среди ИТ-сотрудников разных уровней есть расхождения в оценках важности некоторых аспектов модернизации. 36% ИТ-архитекторов и 41% ИТ-менеджеров считают, что автоматическое преобразование кода устаревших программ сэкономит много времени. Среди ИТ-директоров такого мнения придерживаются лишь 9%.

С одной стороны, можно предположить (как это сделали аналитики Coleman Parkes), что ИТ-директора «оторвались от земли» и забыли, что такое ручной перенос кода. С другой, операционные и финансовые директора, практически гарантированно не разбирающиеся в проблемах портирования приложений, также за автоматизацию (26% и 31% соответственно). Поэтому, можно предположить, что ИТ-директора, на самом деле, просто лучше представляют себе ход работ и имеют более ясное представление о том, сколько за автоматическими средствами потом придется подчищать вручную.

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

Не спешите их хоронить

Хотя в век облачных вычислений мэйнфреймы многими рассматриваются как нечто устаревшее, однако не все так однозначно. Например, в исследовании компании BMC «Новая волна успеха мэйнфреймов» (2019 г.

) утверждается, что эти компьютеры способны отвечать постоянно меняющимся требованиям бизнеса времен цифровой трансформации. Три ключевых фактора успеха мэйнфреймов, которые выделяют в BMC, — высокий уровень гибкости и возможности интеграции; наличие средств предиктивной автоматизации, а также средств управления рисками в области безопасности. Поэтому многие клиенты продолжают использовать эту платформу, да и среди молодых специалистов виден рост интереса к этим «динозаврам».

Согласно этому отчету, большинство респондентов (93%) верят в перспективы платформы — сейчас у нее самый высокий «уровень доверия» с 2013 г., и считают, что мэйнфреймы будут поддерживать значительно больше по сравнению с прошлыми годами новых рабочих нагрузок (52%), а 59% руководителей уверены в возможностях мэйнфреймов как платформы для роста бизнеса (против 51% в 2018 году).

Поэтому, как полагают аналитики, рынок мэйнфреймов растет и будет расти в ближайшее время, хотя и скромными темпами, на 3-5% в год по разным оценкам. Скажем, в Orbis Research дают прогноз на 2,7%: с 4771,6 в 2019 г. до $5316,2 млн в 2025-м. Несмотря на рост облачных вычислений, эти компьютеры остаются неотъемлемой частью ИТ-инфраструктуры многих организаций, в том числе, таких всемирно известных как Visa , WalMart и Citigroup.

Мейнфрейм — это… Что такое Мейнфрейм?

IBM System z9 модель 2004

Мейнфре́йм (также мэйнфрейм, от англ. mainframe) — данный термин имеет три основных значения.

  1. Большая универсальная ЭВМ — высокопроизводительный компьютер со значительным объёмом оперативной и внешней памяти, предназначенный для организации централизованных хранилищ данных большой ёмкости и выполнения интенсивных вычислительных работ.
  2. Компьютер c архитектурой IBM System/360, 370, 390, zSeries.
  3. Наиболее мощный компьютер (например, удовлетворяющий признакам значения (1)), используемый в качестве главного или центрального компьютера (например, в качестве главного сервера).

История

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

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

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

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

Ещё один аргумент против мейнфреймов состоял в том, что в них не соблюдается основной принцип открытых систем, а именно — совместимость с другими платформами.

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

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

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

Особенности и характеристики современных мейнфреймов

  • Среднее время наработки на отказ. Время наработки на отказ современных мейнфреймов оценивается в 12-15 лет. Надёжность мейнфреймов — это результат их почти 60-летнего совершенствования. Группа разработки операционной системы VM/ESA затратила 20 лет на удаление ошибок, и в результате была создана система, которую можно использовать в самых ответственных случаях.
  • Повышенная устойчивость систем. Мейнфреймы могут изолировать и исправлять большинство аппаратных и программных ошибок за счёт использования следующих принципов:
    • Дублирование: два резервных процессора, резервные модули памяти, альтернативные пути доступа к периферийным устройствам.
    • Горячая замена всех элементов вплоть до каналов, плат памяти и центральных процессоров.
  • Целостность данных. В мейнфреймах используется память с коррекцией ошибок. Ошибки не приводят к разрушению данных в памяти, или данных, ожидающих вывода на внешние устройства. Дисковые подсистемы построенные на основе RAID-массивов с горячей заменой и встроенных средств резервного копирования защищают от потерь данных.
  • Рабочая нагрузка. Рабочая нагрузка мейнфреймов может составлять 80-95 % от их пиковой производительности. Операционная система мейнфрейма будет обрабатывать всё сразу, причём все приложения будут тесно сотрудничать и использовать общие компоненты ПО.
  • Пропускная способность. Подсистемы ввода-вывода мейнфреймов разработаны так, чтобы работать в среде с высочайшей рабочей нагрузкой на ввод-вывод данных.
  • Масштабирование. Масштабирование мейнфреймов может быть как вертикальным, так и горизонтальным. Вертикальное масштабирование обеспечивается линейкой процессоров с производительностью от 5 до 200 MIPS и наращиванием до 12 центральных процессоров в одном компьютере. Горизонтальное масштабирование реализуется объединением ЭВМ в Sysplex (System Complex) — многомашинный кластер, выглядящий с точки зрения пользователя единым компьютером. Всего в Sysplex можно объединить до 32 машин. Географически распределённый Sysplex называют GDPS. В случае использования операционной системы VM для совместной работы можно объединить любое количество компьютеров. Программное масштабирование — на одном мейнфрейме может быть сконфигурировано фактически бесконечное число различных серверов. Причем все серверы могут быть изолированы друг от друга так, как будто они выполняются на отдельных выделенных компьютерах и в то же время совместно использовать аппаратные и программные ресурсы и данные.
  • Доступ к данным. Поскольку данные хранятся на одном сервере, прикладные программы не нуждаются в сборе исходной информации из множества источников, не требуется дополнительное дисковое пространство для их временного хранения, не возникают сомнения в их актуальности. Требуется небольшое количество физических серверов и значительно более простое программное обеспечение. Всё это, в совокупности, ведёт к повышению скорости и эффективности обработки.
  • Защита. Встроенные в аппаратуру возможности защиты, такие как криптографические устройства, и Logical Partition, и средства защиты операционных систем, дополненные программными продуктами RACF или VM:SECURE, обеспечивают надёжную защиту.
  • Пользовательский интерфейс. Пользовательский интерфейс у мейнфреймов всегда оставался наиболее слабым местом. Сейчас же стало возможно для прикладных программ мейнфреймов в кратчайшие сроки и при минимальных затратах обеспечить современный веб-интерфейс.
  • Сохранение инвестиций — использование данных и существующих прикладных программ не влечёт дополнительных расходов по приобретению нового программного обеспечения для другой платформы, переучиванию персонала, переноса данных и т. д.

Положение на рынке

На данный момент мейнфреймы IBM занимают доминирующее положение на мировом рынке[2]. Также на рынке со своей продукцией присутствуют фирмы Hitachi, Fujitsu и Amdahl.

Мейнфреймы и суперкомпьютеры

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

В контексте общей вычислительной мощности мейнфреймы проигрывают суперкомпьютерам.

См. также

Ссылки

Примечания

Рефакторинг устройства с присоединением IBM z/OS — Azure Reference Architectures

В этой архитектуре показано, как Azure обеспечивает производительность масштабирования и высокий уровень доступности, которые похожи на системы мэйнфреймов IBM z/OS с возможностями связи (CFs).

CFs — это физические устройства, соединяющие несколько серверов мэйнфреймов или центральную электроники Комплексес (Цекс) с общей памятью, позволяя системам масштабироваться для повышения производительности. Приложения, написанные на языках, таких как COBOL и PL/, полностью используют преимущества этих тесно связанных функций масштабирования.

Базы данных IBM DB2 и серверы пользовательской системы управления сведениями (CICS) могут использовать CFs с подсистемой мэйнфрейма под названием Parallel Сисплекс, объединяющей общий доступ к данным и параллельные вычисления. Параллельная Сисплекс позволяет кластеру до 32 систем совместно использовать рабочие нагрузки для обеспечения высокой производительности, высокой доступности и аварийного восстановления (DR). Мэйнфрейм CFs с параллельным Сисплекс, как правило, находится в одном центре обработки данных с близкой близости между Цекс, но также может расширяться между центрами обработки данных.

Ресурсы Azure могут обеспечить схожую производительность масштабирования с общими данными и высокой доступностью. кластеры вычислений azure совместно используют память с помощью механизмов кэширования данных, таких как кэш Azure для Redis, и используют масштабируемые технологии обработки данных, такие как База данных SQL Azure и Azure Cosmos DB. Azure может реализовать группы доступности и групп, в сочетании с географически избыточными возможностями, чтобы расширить масштабное вычисление и высокую доступность для распределенных центров обработки данных Azure.

Architecture

На следующей схеме показана архитектура системы мэйнфреймов IBM z/OS с механизмом взаимосвязей и параллельным Сисплекс:

  • Входные данные передаются в мэйнфрейм по протоколу TCP/IP с использованием стандартных протоколов мэйнфреймов, таких как TN3270 и HTTPS (A).
  • Принимающие приложения могут быть пакетными или сетевыми системами (B). Пакетные задания могут распространяться или клонироваться в несколько Цекс, которые совместно используют данные на уровне данных. Уровень «в сети» может распределять логическую CICS область между несколькими Цекс с помощью параллельных Сисплекс CICS или Циксплекс.
  • COBOL, PL/I, ассемблер или совместимые приложения (C) выполняются в среде Parallel сисплекс, такой как Циксплекс.
  • Другие службы приложений (D) также могут использовать общую память в CF.
  • Параллельные службы данных с поддержкой Сисплекс, такие как DB2 (E), позволяют хранить масштабируемые данные в общей среде.
  • По промежуточного слоя и служебные программы, такие как MQSeries, Management и Printing (F), выполняются в z/OS в каждом ЦЕК.
  • Логические секции (Лпарс) для каждого ЦЕК (G) выполняют z/OS. Также могут существовать другие операционные среды, такие как z/VM или другие модули, такие как Зиип или ИФЛ.
  • ЦЕК подключается через CF (H) к общей памяти и состоянию.
  • CF (I) — это физическое устройство, которое подключает несколько цекс к общей памяти.

На следующей схеме показано, как службы Azure могут обеспечить аналогичные функции и производительность для мэйнфреймов z/OS с параллельными Сисплекс и CFs:

  1. Входные данные поступают от удаленных клиентов через Express Route или из других приложений Azure. В любом случае TCP/IP является основным подключением к системе.

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

    Для административного доступа к виртуальным машинам Azure узел Azure бастиона повышает безопасность за счет минимизации открытых портов.

  2. в Azure доступ к приложению compute clusters осуществляется с помощью Azure Load Balancer, что позволяет масштабировать масштабируемые ресурсы для обработки входных данных.

  3. Тип используемого вычислений приложения зависит от того, выполняется ли приложение на виртуальных машинах или в кластере контейнеров, например Kubernetes. Как правило, Эмуляция системы мэйнфреймов для приложений, написанных на PL/I или COBOL, использует виртуальные машины, а приложения переносятся в контейнеры Java или .NET. Некоторые программы эмуляции системы мэйнфреймов также могут поддерживать развертывание в контейнерах.

  4. Серверы приложений, такие как Tomcat for Java или CICS/МГНОВЕНный монитор обработки транзакций для COBOL, получают входные данные и совместно используют состояние и данные приложения с помощью кэша Azure для Redis или удаленного доступа к памяти (RDMA). Эта возможность аналогична CF для мэйнфреймов.

  5. Службы данных в кластерах приложений позволяют использовать несколько подключений к постоянным источникам данных. эти источники данных могут включать службы данных типа «платформа как услуга» (PaaS), такие как База данных SQL Azure и Azure Cosmos DB, базы данных на виртуальных машинах, такие как Oracle или Db2, или репозитории больших данных, такие как модуль данных и Azure Data Lake. Службы Application Data Services также могут подключаться к таким службам Streaming Analytics, как Kafka и Azure Stream Analytics.

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

  6. Серверы приложений размещают различные программы приложения на основе языка, например классы Java в Tomcat или программы COBOL с командами CICS в виртуальных машинах эмуляции CICS.

  7. службы данных используют сочетание высокопроизводительного хранилища на Ultra или Premium твердотельных накопителях (SSDs), хранилища файлов в NetApp или файлах Azure, а также в стандартном хранилище больших двоичных объектов, архивных данных и хранилища резервных копий, которые могут быть локально избыточными или географически избыточными.

  8. Хранилище BLOB-объектов Azure — это общая Главная зона для внешних источников данных.

  9. Фабрика данных Azure принимает и синхронизирует данные из нескольких внутренних и внешних источников данных.

  10. Azure Site Recovery выполняет аварийное восстановление для виртуальных машин и компонентов кластера контейнеров.

Компоненты

  • Azure ExpressRoute расширяет локальные сети в облако Майкрософт по частному подключению, предоставляемому партнером по подключению. С помощью ExpressRoute можно устанавливать подключения к облачным службам, таким как Azure и Office 365.

  • Azure бастиона — это полностью управляемая платформа PaaS, которая подготавливается в виртуальной сети. Бастиона обеспечивает безопасное и удобное подключение по протоколу RDP и SSH к виртуальным машинам в виртуальной сети непосредственно из портал Azure по протоколу TLS.

  • Azure Load Balancer распределяет входящие потоки от внешнего интерфейса балансировщика нагрузки к экземплярам серверного пула в соответствии с настроенными правилами балансировки нагрузки и зондами работоспособности. Экземпляры пула серверной части могут быть виртуальными машинами или экземплярами Azure в масштабируемом наборе виртуальных машин. Load Balancer является единственной точкой контакта для клиентов.

    Load Balancer работает на уровне 4 модели взаимосвязи Open Systems (OSI). Доступны подсистемы балансировки нагрузки уровня приложения уровня 7 и уровня 4 сетевого протокола. Используемый тип зависит от того, как входные данные приложения достигают точки входа вычислений кластера.

  • Виртуальные машины Azure — это масштабируемые вычислительные ресурсы, которые обеспечивают гибкость виртуализации без необходимости покупать и поддерживать физическое оборудование. виртуальные машины Azure позволяют выбрать операционные системы, в том числе Windows и Linux.

    Большинство размеров виртуальных машин Azure для высокопроизводительных вычислений (HPC) имеют сетевой интерфейс для подключения RDMA.

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

  • Виртуальные сетевые интерфейсы позволяют виртуальным машинам Azure взаимодействовать с Интернетом, Azure и локальными ресурсами. Как и в этой архитектуре, на одну виртуальную машину Azure можно добавить несколько сетевых карт, поэтому дочерние виртуальные машины могут иметь собственные выделенные устройства с сетевым интерфейсом и IP-адреса.

  • Служба Azure Kubernetes Service (AKS) — это полностью управляемая служба Kubernetes для развертывания и управления контейнерными приложениями в масштабируемых кластерах, основанных на контейнерах.

  • Кэш Azure для Redis — это полностью управляемый кэш в памяти, который повышает производительность и масштабируемость архитектуры с интенсивным использованием данных. Текущая архитектура использует кэш Azure для Redis, чтобы обмениваться данными и состоянием между ресурсами вычислений.

  • База данных SQL Azure — это полностью управляемое ядро субд PaaS, которое всегда запускает последнюю стабильную версию SQL Server и исправленную ос с 99,99% доступности. База данных SQL обрабатывает обновление, установку исправлений, резервное копирование, мониторинг и большинство функций управления базами данных без участия пользователя. Эти возможности PaaS позволяют сосредоточиться на критически важных для бизнеса средствах администрирования и оптимизации баз данных, связанных с конкретными доменами.

  • частная ссылка azure для База данных SQL Azure предоставляет частное прямое подключение к виртуальным машинам azure для База данных SQL Azure, изолированных от магистрали сети azure.

  • Azure Cosmos DB — это служба PaaS Azure для баз данных NoSQL.

  • База данных Azure для PostgreSQL — это служба PaaS Azure для баз данных PostgreSQL.

  • Управляемые диски Azure — это тома хранилища на уровне блоков, которые Azure управляет на виртуальных машинах Azure. Доступные типы дисков: Ultra Disks, Premium SSD, Standard SSD и Standard жесткие диски (HDD). эта архитектура лучше работает с Premium ssds или с помощью твердотельных накопителей на базе Ultra Disk.

  • Фабрика данных Azure — это полностью управляемое решение для интеграции данных без сервера, предназначенное для приема, подготовки и преобразования данных в масштабе.

  • служба файлов Azure предлагает полностью управляемые общие файловые ресурсы в учетной записи служба хранилища Azure, доступной из облака или локальной среды. развертывания Windows, Linux и macOS могут параллельно подключать файловые ресурсы Azure и обращаться к файлам через стандартный промышленный протокол smb.

  • Azure Stream Analytics — это служба аналитики на основе Azure для потоковой передачи данных.

  • Azure Databricks — это Apache Sparkная служба PaaS для анализа больших данных.

Рекомендации

Для этой архитектуры применимы следующие соображения.

Доступность

Эта архитектура использует Azure Site Recovery для отражения виртуальных машин Azure в дополнительный регион Azure для быстрой отработки отказа и АВАРИЙного восстановления в случае сбоя центра обработки данных Azure.

Устойчивость

Устойчивость встроена в это решение из-за подсистем балансировки нагрузки. В случае сбоя одной презентации или сервера транзакций другие серверы, находящиеся за Load Balancer, могут выполнять рабочие нагрузки.

Масштабируемость

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

Безопасность

  • Это решение использует группу безопасности сети Azure (NSG) для управления трафиком между ресурсами Azure. Дополнительные сведения см. в разделе Группы безопасности сети.

  • частная ссылка для База данных SQL Azure предоставляет закрытое прямое подключение, изолированное от магистрали сети azure от виртуальных машин azure до База данных SQL Azure.

  • Azure бастиона повышает безопасность административного доступа, минимизируя открытые порты. Бастиона обеспечивает безопасное и простое подключение по протоколу RDP или SSH к виртуальным машинам виртуальной сети непосредственно из портал Azure по протоколу TLS.

Цены

  • База данных SQL Azure должны использовать горизонтальные или критически важный для бизнеса уровни База данных SQL для высокоскоростных операций ввода-вывода в секунду и соглашения об уровне обслуживания высокого уровня доступности.

  • эта архитектура лучше работает с Premium ssds или с помощью твердотельных накопителей на базе Ultra Disk. Дополнительные сведения см. в статье Цены на управляемые диски.

Дальнейшие действия

Для получения дополнительных сведений обратитесь по адресу [email protected] .

Стратегии миграции приложений мэйнфреймов — Cloud Adoption Framework

  • Чтение занимает 10 мин

В этой статье

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

Для переноса приложений обычно применяется одна или несколько из следующих стратегий:

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

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

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

  • Перестроение: Некоторые организации решили полностью переписать программы с помощью современных методик. Учитывая дополнительную стоимость и сложность этого подхода, это не так часто, как подход с нулификацией и сдвигом. Если вы также выбрали этот подход, рекомендуем заменить модули и код с помощью механизмов преобразования кода после миграции.

  • Заменить: Этот подход заменяет функциональные возможности мэйнфрейма эквивалентными функциями в облаке. Программное обеспечение как услуга (SaaS) — это один из вариантов, который используется в корпоративных решениях для отдела кадров, финансов, производства или планирования ресурсов предприятия. Кроме того, теперь многие приложения для отрасли позволяют решить проблемы, связанные с пользовательскими решениями для мэйнфреймов, которые используются для решения ранее.

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

Эмуляция мейнфрейма в Azure

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

Системы OLTP

Во многих мейнфреймах используются системы OLTP, обрабатывающие тысячи или миллионы обновлений для огромного числа пользователей. Эти приложения часто используют программное обеспечение для обработки транзакций и форм на экране, например систему управления сведениями о клиентах (CICS), систему управления информацией (МГНОВЕНные данные) и процессор интерфейса терминала (TIP).

При переносе приложений OLTP в Azure вы можете запускать эмуляторы для обработки транзакций мейнфреймов (TP) в виде IaaS (инфраструктура как услуга) на виртуальных машинах в Azure. Функциональные возможности для работы с формами и экраном также реализуются с помощью веб-серверов. этот подход можно сочетать с api базы данных, такими как объекты данных ActiveX (ADO), Open database Connectivity (ODBC) и Java Database Connectivity (JDBC) для доступа к данным и транзакций.

Пакетные обновления, ограниченные по времени

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

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

Системы приема данных

Мейнфреймы принимают для обработки большие пакеты данных из области розничной торговли, финансовых услуг, производства и других решений для обработки. Чтобы скопировать данные в расположение для хранения и из него, вы можете использовать простые средства командной строки Azure, такие как AzCopy. Кроме того, служба Фабрика данных Azure позволяет принимать данные из разрозненных хранилищ, чтобы создавать и планировать рабочие процессы на основе этих данных.

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

Перенос рабочих нагрузок OLTP в Azure

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

Мониторы обработки транзакций предоставляются различными поставщиками и работают на виртуальных машинах (инфраструктура как услуга (IaaS) в Azure). На следующей схеме показан перенос веб-приложения на основе IBM DB2, системы управления реляционной базой данных (СУБД) на мейнфрейм IBM z/OS (до и после). в DB2 для z/OS используются виртуальные служба хранилища файлы метода доступа (всам) для хранения данных и индексированного последовательного метода доступа (ISAM) для неструктурированных файлов. В этой архитектуре CICS также используется для мониторинга транзакций.

Для запуска диспетчера транзакций и пакетных заданий, использующих JCL, в Azure используется среда эмуляции. На уровне данных DB2 заменяется Базой данных SQL Azure. Кроме того, можно использовать Microsoft SQL Server, DB2 LUW или Oracle Database. Эмулятор поддерживает IMS, VSAM и SEQ. Средства управления системой на мэйнфрейме заменены службами Azure и программным обеспечением от других поставщиков, которые работают на виртуальных машинах.

Как правило, функции обработки экрана и форм для ввода данных реализуются с помощью веб-серверов, которые можно комбинировать с API баз данных, такими как ADO, ODBC и JDBC, для транзакций и доступа к данным. Полный перечень IaaS-компонентов Azure зависит от операционной системы, которую вы предпочитаете использовать. Пример:

  • виртуальные машины на основе Windows: Internet Information Server (IIS) вместе с ASP.NET для обработки экрана и бизнес-логики. Для доступа к данным и транзакций используйте стандарт ADO.NET.

  • Виртуальные машины под управлением Linux: Доступные серверы приложений на базе Java, такие как Apache Tomcat для обработки экрана и бизнес-функции на основе Java. Для доступа к данным и транзакций используйте стандарт JDBC.

Перенос пакетных рабочих нагрузок в Azure

Пакетные операции в Azure отличаются от выполняемых в обычной среде для пакетных задач на мейнфреймах. Чтобы повысить производительность, зависящую от количества операций ввода-вывода в секунду в магистрали мейнфреймов, пакетные задания мейнфреймов обычно выполняются последовательно. Для повышения производительности пакетных операций в облачных средах используются параллельные вычисления и высокоскоростные сети.

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

Службы вычислений

Используйте следующую команду:

  • Виртуальные машины с высокой тактовой частотой процессора. Часто приложения для мейнфреймов с высокой тактовой частотой ЦП бывают однопоточными.

  • Виртуальные машины с большим объемом памяти для кэширования данных и рабочих областей приложений.

  • Виртуальные машины с более высокой плотностью виртуальных ЦП, чтобы воспользоваться преимуществами многопоточной обработки, если приложение поддерживает несколько потоков.

  • Параллельную обработку. Azure легко масштабируется для параллельной обработки, обеспечивая большую вычислительную мощность для выполнения пакетных операций.

Память

Используйте следующую команду:

  • azure Premium SSDs или azure Ultra Хранилище дисков для максимального числа доступных операций ввода-вывода.

  • Чередование нескольких дисков, чтобы увеличить отношение количества операций ввода-вывода в секунду к объему хранилища.

  • секционирование хранилища для распределения операций ввода-вывода на нескольких служба хранилища Azure устройствах.

Сеть

Наблюдение

  • использование средств мониторинга, Azure Monitor, Application Insightsи журналов Azure позволяет администраторам наблюдать за производительностью пакетных запусков и устранять узкие места.

Перенос сред разработки

В распределенных архитектурах облака используются разные наборы средств разработки, которые предоставляют преимущества современных методик и языков программирования. Чтобы облегчить переход, используйте среду разработки с другими средствами, предназначенными для эмуляции сред IBM z/OS. Ниже приведен список вариантов, предлагаемых корпорацией Майкрософт и другими поставщиками:

КомпонентВозможности Azure
z/OSWindows, Linux или Unix
CICSСлужбы Azure, предлагаемые Micro Focus, Oracle, GT Software (Fujitsu), TmaxSoft, Raincode и NTT Data. Также можно переписать решение с использованием Kubernetes.
IMSСлужбы Azure, предлагаемые Micro Focus и Oracle
AssemblerСлужбы Azure, предлагаемые Raincode и TmaxSoft; COBOL, C или Java; сопоставление с функциями операционной системы
JCLJCL, PowerShell или другие средства для работы со скриптами
COBOLCOBOL, C или Java
NaturalNatural, COBOL, C или Java
Fortran и PL/IFortran, PL/I, COBOL, C или Java
REXX и PL/IREXX, PowerShell или другие средства для работы со скриптами

Перенос баз данных и данных

Как правило, при переносе приложений требуется повторное размещение приложения на уровне данных. вы можете перенести SQL Server, открытый исходный код и другие реляционные базы данных в полностью управляемые решения в azure, такие как azure SQL Управляемый экземпляр, база данных azure для PostgreSQLи база данных azure для MySQL с Azure Database Migration Service.

К примеру, вы можете перенести приложение, если на уровне данных мейнфрейма используются:

  • IBM DB2 или мгновенная база данных, используйте База данных SQL Azure, SQL Server, DB2 LUW или Oracle Database в Azure.

  • всам и другие неструктурированные файлы, используйте неструктурированные файлы с индексированным последовательным доступом (ISAM) для База данных SQL Azure, SQL Server, DB2 LUW или Oracle.

  • Группы дат поколения (Гдгс) — миграция в файлы в Azure, в которых используется соглашение об именовании и расширения имен файлов, обеспечивающие аналогичные функции для Гдгс.

На уровне данных IBM есть несколько основных компонентов, которые также необходимо перенести. Например, при переносе базы данных переносится и коллекция c данными в пулах, каждый из которых содержит «dbextents» — наборы данных VSAM z/OS. При миграции нужно указать каталог, определяющий расположения данных в пулах носителей. Кроме того, в плане миграции необходимо учесть журнал базы данных с записями операций, выполняемых в базе данных. База данных может иметь один, два (двойных или альтернативных) или четыре (двойных и альтернативных) журнала.

При переносе базы данных необходимо также перенести следующие компоненты:

  • Диспетчер баз данных: Предоставляет доступ к данным в базе данных. Диспетчер базы данных запускается в отдельном разделе в среде z/OS.
  • Инициатор запроса приложения: Принимает запросы от приложений перед их передачей на сервер приложений.
  • Адаптер Интернет-ресурсов: Включает компоненты инициатора приложения для использования в транзакциях CICS.
  • Адаптер ресурсов пакетной службы: Реализует компоненты инициатора запроса приложения для приложений пакетной службы z/OS.
  • Интерактивный SQL (ISQL): работает как приложение CICS и интерфейс, позволяя пользователям вводить SQL операторы или команды операторов.
  • Приложение CICS: Выполняется под управлением CICS с использованием доступных ресурсов и источников данных в CICS.
  • Приложение пакетной службы: Выполняет логику процесса без интерактивного взаимодействия с пользователями, например для создания пакетных обновлений данных или создания отчетов из базы данных.

Оптимизация масштаба и пропускной способности для Azure

В целом, большие ЭВМ масштабируются, в то время как облако масштабируется. Чтобы оптимизировать масштабирование и пропускную способность приложений в стиле мэйнфреймов, работающих в Azure, важно понимать, как большие ЭВМ могут разделять и изолировать приложения. Мэйнфрейм z/OS использует функцию, называемую логическими разделами (Лпарс), для изоляции ресурсов и управления ими для конкретного приложения в одном экземпляре.

Например, мэйнфрейм может использовать один ЛПАР для CICS региона со связанными программами COBOL, а также отдельный ЛПАР для DB2. Дополнительные логические разделы часто используются для сред разработки, тестирования и промежуточных сред.

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

Кроме того, на каждом уровне можно применять соответствующие службы аварийного восстановления. Например, для виртуальных машин, используемых в рабочей среде, и виртуальных машин с базами данных, возможно, потребуется «горячее» или «теплое» восстановление. А виртуальные машины для разработки и тестирования поддерживают «холодное» восстановление.

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

Выполнение поэтапной миграции в Azure

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

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

одним из вариантов является Microsoft Host Integration Server, решение, предоставляющее архитектуру распределенной реляционной базы данных (DRDA), необходимую приложениям в Azure для доступа к данным в DB2, которые остаются на мэйнфрейме. Другие варианты интеграции с мэйнфреймом в Azure включают решения от IBM, Attunity, кодит, других поставщиков и параметры с открытым исходным кодом.

Решения партнеров

Если вы планируете миграцию с мэйнфреймов, вам поможет партнерская экосистема.

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

Материалы для дальнейшего изучения

Дополнительные сведения см. в следующих ресурсах:

Диспетчер доступа TopCM — ЗАО ЕС-Лизинг

Программа «Диспетчер доступа «TopCM» — разработка ЗАО «ЕС-лизинг»

Диспетчер доступа ТорСМ является необязательным лицензированным программным продуктом, предназначенным для повышения уровня информационной безопасности операционной системы z/OS и ее приложений. В состав ТорСМ 1.1 входят монитор ТорСМ и средства контроля целостности данных ТорСМ.

Монитор ТорСМ обеспечивает дополнительный уровень контроля и наблюдения за функционированием операционной системы z/OS и ее приложений в процессе их выполнения. Средства контроля целостности данных ТорСМ обеспечивают возможности для контроля целостности данных операционной системы z/OS и ее приложений.

Функционирование монитора ТорСМ базируется на использовании аппаратных возможностей серверов IBM z Systems. ТорСМ использует специальный интерпретативный режим исполнения программ z/ Architecture (z/Architecture Interpretive Execution Mode) для исполнения операционной системы z/OS со всеми ее приложениями. При таком режиме работы системы и монитора ТорСМ, монитор имеет возможность перехватывать большинство событий уровня z/ Architecture (прерывания, инструкции), которые обычно используются системой и/или ее приложениями для доступа к физическим ресурсам сервера или к логическим программным ресурсам операционной системы z/OS (OC z/OS), а также управлять отображением этих событий z/OS. Монитор ТорСМ может разрешить нормальное выполнение любого из таких событий или не позволить этому событию произойти и имитировать для операционной системы неуспешное выполнение этого события.

Перехват событий операционной системы и передача управления программам ТорСМ осуществляется аппаратными средствами интерпретативного исполнения сервера, OC z/OS не имеет возможности влиять на эти действия.

Возможности монитора ТорСМ позволяют организовать дополнительный уровень контроля и наблюдения за функционированием ОС z/OS и ее приложений на аппаратном уровне и являются основой для построения собственной службы безопасности ТорСМ.

Однако «независимость» программ монитора ТорСМ не позволяет им использовать сервисные службы операционной системы z/OS, такие как методы доступа z/OS, средства динамического управления памятью и т.п. Поэтому, служба безопасности ТорСМ не может быть новым полноценным средством защиты ресурсов ОС z/OS. Она является дополнением к той мощной защите, которую обеспечивает OC z/OS вместе с таким дополнительными средствами защиты ресурсов RACF, ACF2, или TSS. Служба безопасности ТорСМ может обеспечить защиту наиболее критичных ресурсов сервера и базовой системы в тех случаях, когда защита базовой системы оказывается отключенной случайно или преднамеренно.

Диспетчер доступа ТорСМ имеет в своем составе собственные средства контроля целостности данных, которые могут быть использованы для контроля целостности данных базовой системы, а также данных ТорСМ. Основной функцией средств контроля целостности данных ТорСМ является подсчет контрольных сумм для данных, размещенных в заданных наборах данных ОС z/OS, и сравнение результатов подсчета с эталонными значениями контрольных сумм, установленными для этих наборов данных. Эти средства реализованы в виде набора служебных программ и процедур, работающих под управлением ОС z/OS в отдельном виртуальном адресном пространстве. Запуск этих программ и процедур может осуществляться как при работе ОС z/OS в обычном режиме, так и при работе ОС z/OS в режиме интерпретативного исполнения z/ Architecture, установленном монитором ТорСМ. Средства контроля целостности данных являются приложением ТорСМ.

Возможности ТорСМ:

— в части контроля доступа к физическим ресурсам сервера:

● контроль использования специальных операций ОС z/OS и ее приложений;
● контроль доступа к томам магнитных лент; для томов со стандартными метками IBM обеспечивается дискреционный контроль доступа к томам с определенными серийными номерами.

— в части доступа к программным ресурсам ОС z/OS:

● контроль программного доступа к сервисам ОС z/OS, регулирующим использование авторизованных программ ОС z/OS.

— в части контроля целостности ОС z/OS:

● верификация целостности данных ОС z/OS на этапе ее загрузки;
● верификация целостности данных ОС z/OS во время работы;
● перевод ОС z/OS в неработоспособное состояние, когда обнаруживается нарушение целостности данных системы.

ТорСМ — запатентованный программный продукт, имеющий свой товарный знак.

Департамент по развитию бизнеса ЗАО «ЕС-лизинг»
Телефон: +7 (495) 319-58-09
Электронная почта: [email protected]

Поделитесь этой страницей

Что такое мэйнфрейм? | Ключевая концепция | Область применения и преимущества

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

Мэйнфреймы — одна из самых унаследованных систем, созданных почти в 1940-х годах. Основными поставщиками мэйнфрейм-систем являются IBM, Amdahl и Hitachi. Несколько технологий мэйнфреймов считаются устаревшими.

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

  1. Банковское дело
  2. финансов
  3. Здравоохранение
  4. страхование
  5. Общественная деятельность

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

Понимание мэйнфреймов

Основные компоненты сред мэйнфреймов приведены ниже,

1. JCL:

Язык управления заданиями является расширением для JCL. Обработка данных в пакетах является ключевым принципом JCL. JCL — это авторитетный и гибкий язык, который облегчает работу и настройку удаленных ресурсов для компьютеров.

Пакетная обработка Интерактивная обработка
Работы, представленные, выполняются позднееПредставленные вакансии выполняются немедленно
Невзаимодействие между доступными пользователямиГибкое взаимодействие между ассоциированными пользователями
Отладка архивируется через снимокОтладка в гораздо более интерактивной манере

Этапы выполнения JCL,

  • Ввод — номер работы помечается исключительно для каждой работы
  • Преобразование — задание, указанное в спуле JES, готовит его к выполнению
  • Инициатор — Задание будет запущено для выполнения из буфера
  • Выполнение — фактическое выполнение задания
  • Выход — все связанные устройства получают выход
  • Очистка — Очистка задания является последним этапом, выполняемым после завершения выполнения задания.

Пример: —

//LMSBCE5D JOB 'Q868144, TSSS, D', 'USER Q868144',
//CLASS=K, MSGCLASS=X, MSGLEVEL=(1, 1), REGION=0M, REGION=900M
//NOTIFY=Q868144 TYPRUN=SCAN
//********************************************************************
//S010 EXEC PGM=DFSRRC00,
//PARM=(DLI, LMSBCE5D, GDMINQU, 8, 0000,, 0,, N, 0, T,,, Y, Y, IRLT, N, ),
//REGION=8M
//STEPLIB DD DSN=IMS.TEST.SDFSRESL, DISP=SHR
//DD DSN=IMS.TEST.DYNALLO, DISP=SHR
//DD DSN=KADSCM.STGE.#010308.LDB, DISP=SHR
//DFSRESLB DD DSN=IMS.TEST.SDFSRESL, DISP=SHR
//DFSVSAMP DD DSN=KADSCM.PROD.UTILLIB(DFSVKRMS), DISP=SHR
//IMS DD DSN=IMS.TEST.PSBLIB, DISP=SHR
/DD DSN=IMS.TEST.DBDLIB, DISP=SHR
//PARMFILE DD *
20171120 20171125 U
/*
//OUTFILE DD DSN=TESTKRMS.KRMS.LMSBCE5D.DT120617,
//UNIT=SYSDA, SPACE=(CYL, (1, 1), RLSE),
//DISP=(NEW, CATLG, DELETE),
//LRECL=180, RECFM=FB, BLKSIZE=0
//IEFRDER DD DUMMY
//ERRFILE DD SYSOUT=*
//REPORT DD SYSOUT=*
//DUMPER DD SYSOUT=*
//SYSLST DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSABEND DD SYSOUT=*
//SYSDUMP DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSDBOUT DD SYSOUT=*
//SYSABOUT DD SYSOUT=*
//SYSDTERM DD SYSOUT=*
//*****************************************************************
//* OSAM BUFFER CONTROL
//DFSCTL DD DSN=KADSCM.PROD.UTILLIB(KRMSBUFF), DISP=SHR
//DFSSTAT DD SYSOUT=*

2. Кобол:

В 1950-х годах он использовался главным образом для обработки данных в бизнес-секторах в качестве языка высокого уровня. Министерство обороны США провело дискуссию в мае 1958 года, и новый язык был разработан тремя основными группами. Cobol — это имя, связанное с ним, которое расширилось как (COmmon Business Oriented Language) в 1959 году. Сентябрь 1961 года был датой официального объявления COBOL. Когда дело доходит до перспективы компилятора, она была разработана в 1962 году, когда пользователи запустили программы Cobol. В 1965 году вышла улучшенная версия. Стандартная версия языка, утвержденная ANSI (Американским национальным институтом стандартов), была введена в августе 1968 года. Следующий пересмотренный официальный стандарт был введен в 1974 году и известен как ANSI-74 Cobol или Cobol-74.

Структура Кобол:

  • программа
  • разделение
  • Раздел
  • Параграф
  • Предложения
  • Заявления
  • слова
  • Персонажи

Набор символов,

  • Цифры от 0 до 9 : 10
  • А до Я: 26 английских алфавитов
  • или б пробел или пробел
  • — + * / = : минус или дефис, плюс, звездочка, косая черта, равно
  • $ или £: знак валюты
  • , ;. «() ‘: Другие специальные символы

Свойства кобола,

  • Ключевые символы в слове Кобола, как показано ниже,
  1. Цифры от 0 до 9: 10
  2. AZ: 26 английских алфавитов
  3. -: Дефис
  • Алфавит должен быть размещен хотя бы в одном из символов; на некоторых компиляторах первая буква должна быть алфавитом.
  • Не может содержать какой-либо специальный символ, единственным допустимым специальным символом является дефис.
  • Не может содержать пробел.

Формат кодирования по позиции

  • С 1 по 6: последовательность
  • 7: индикатор
  • 8–11: зона A / поле A
  • 12–72: зона B / поле B
  • 73 до 80: идентификация

Что может сделать мэйнфрейм?

  • Разработка программного обеспечения
  • Электронный бизнес и электронная коммерция
  • Разработка приложений для здравоохранения
  • Аналитика с использованием мейнфрейма SAS

преимущества

  • Высокая доступность систем
  • Чрезвычайная надежность систем
  • Системы чрезвычайно высокой доступности для обработки больших объемов данных
  • Английские конструкции.
  • Самодокументируемые системы.

Требуемые навыки

  • Виртуализация
  • Исправление проблем
  • Возможность программирования
  • Часть управления хранением
  • Управление эскалацией

Аудитория для мэйнфреймов

  • Аудитория с интересом учиться
  • Лица, которые стремятся к мэйнфрейму, администратору и архитектору, разработчику, аналитику, тестеру, также относят профессиональные роли.
  • Помогает продвигать профессиональные аспекты и технические навыки профессионалов, которые предназначены для того же.
  • Кандидаты с разработкой мэйнфреймов

Карьерный рост

  • Разработчик приложений мэйнфреймов
  • Системный администратор мэйнфреймов
  • Администратор хранилища мэйнфреймов
  • Архитектор приложений мэйнфреймов
  • Инженер по поддержке мэйнфреймов

Вывод

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

Рекомендуемые статьи

Это было руководство к тому, что такое мейнфрейм. Здесь мы обсудили понимание, карьерный рост, навыки и преимущества мэйнфрейма. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше —

  1. Что такое Microsoft Power BI?
  2. Что такое JavaScript?
  3. Что такое SQL Server?
  4. Что такое лазурь?
  5. Тестирование мэйнфреймов

50 лет мэйнфреймам / Хабр

Не так давно, 12 марта, Интернет праздновал

свой юбилей

— 25 лет. Среди нас уже есть люди, которые не помнят времен, когда нельзя было выйти онлайн и проверить новости, отправить письмо другу на электронный ящик или управлять своим бизнесом, сидя дома в халате. Но можно сказать, что Интернет является подростком… в сравнении с современными мэйнфреймами. Сегодня им исполняется 50 лет!

Все началось 7 апреля 1964 г. IBM провела 77 пресс-конференций в 15 странах мира, сделав, по словам главы фирмы Томаса Уотсон-младшего, «самое важное объявление за всю историю компании». В этот день IBM объявила о выпуске семейства больших ЭВМ под названием System/360. Целью проекта было разработать семейство различных по производительности и стоимости компьютеров, которые смогут удовлетворить любые запросы клиентов, и это был один из самых дорогостоящих проектов в истории вычислительной техники.

На сегодняшний день решение IBM вложить $5 млрд. (примерно $35 млрд. сегодня) в System/360 кажется естественным и почти неизбежным, однако в то время оно выглядело весьма рискованным. IBM поставила на карту свое существование. В итоге System/360 положила начало новой эры в вычислительной технике.

До 1965 года в мире производились различные вычислительные комплексы, каждый из которых имел свою архитектуру, элементную базу и, что крайне важно, свое математическое обеспечение. Клиентские программы, написанные для одного компьютера, нельзя было решать на компьютере другого производителя. Более того, не существовало полной преемственности даже между моделями компьютеров одного производителя. Каждая вычислительная машина разрабатывалась под заказ для конкретных бизнес целей, поэтому была уникальна.

С выходом семейства компьютеров System/360 порядка в компьютерном мире стало больше. Революционность System/360 состояла в том, что все модели имели одинаковую архитектуру и общую операционную систему OS/360.

S/360 был первым компьютером, использовавшим микрокод для реализации многих машинных инструкций, в отличие от систем, в которых все машинные инструкции были реализованы на аппаратном уровне. Микрокод (или микропрограммное обеспечение, как его иногда называют) состоит из хранимых микроинструкций, недоступных для пользователей, которые представляют функциональный уровень между аппаратным и программным обеспечением. Преимущество использования микрокода состоит в гибкости, при которой любое изменение или новую функцию можно реализовать путем простого изменения существующего микрокода, вместо того чтобы заменять компьютер.

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

Первые бизнес-приложения создавались главным образом на ассемблере, COBOL, FORTRAN или PL/1, и значительное количество этих старых программ до сих пор используется. Вы могли подумать, покупая свой первый телефон, что в будущем вы сможете, к примеру, синхронизировать список контактов с современной моделью? Или продолжить ставить рекорды в знаменитой «змейке»? Сомневаюсь. А вот на современных мэйнфреймах вы спокойно запустите программу, разработанную для System/360.

Появление нового семейства мэйнфреймов помогло NASA отправить человека на луну, авиалиниям предложить онлайн регистрацию на рейсы, а банкам предотвращать мошенничество. И на приведенных примерах сфера применения мэйнфреймов не останавливается. По сути, мэйнфреймы всегда находились за кулисами, но сейчас действительно трудно представить мир без таких вычислительных «монстров» с тактовой частотой 5,5 ГГЦ, 101 ядром и 3 ТБ оперативной памяти.

Давайте поздравим мэйнфрейм с его юбилеем! А завтра состоится общее празднование в прямой трансляции в 2 часа дня по Нью-Йорку.

Лучшие языки программирования для мэйнфреймов для администраторов мэйнфреймов

Если вы думаете, что языки программирования для мэйнфреймов — пережитки прошлого, подумайте еще раз.

Вопреки распространенному мнению, мэйнфреймы остаются живыми и здоровыми, как и программисты, пишущие для них код. И они не программируют на архаичных языках, о которых вы никогда не слышали. Они используют сочетание традиционных языков мэйнфреймов, таких как COBOL и REXX, с более «современными», такими как Java и C ++.

Вот самые популярные на сегодняшний день языки для мэйнфреймов.

Определение основных языков программирования для мэйнфреймов

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

Вместо этого в этой статье используются несколько источников, которые помогают идентифицировать ведущие на сегодняшний день языки для мэйнфреймов, например, это руководство по программированию приложений z / OS от IBM и это обсуждение языков мэйнфреймов от CA Technologies.

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

COBOL

COBOL, сокращенно от Common Business Oriented Language, является почтенным, испытанным языком программирования приложений в мире мэйнфреймов. Родившийся в 1959 году, это один из старейших языков программирования, который используется до сих пор.

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

Что бы вы ни думали о COBOL, несмотря на его возраст, он остается широко используемым языком программирования на мэйнфреймах даже сегодня. Студенты могут не выучить его на курсе «Компьютерное программирование 101», но это язык, который вам нужно знать, если вы хотите писать код для мэйнфреймов.

Прочтите наш технический документ

Узнайте, как разгрузить, ускорить и снизить стоимость вашего мэйнфрейма, чтобы максимизировать его ценность

Java

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

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

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

C

C — это язык программирования, изначально созданный для использования в системах Unix, а не на мэйнфреймах. Но в наши дни C поддерживает практически все, включая среды мэйнфреймов z / OS.

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

C ++

Если вам нравится C, но вы хотите, чтобы он был более упорядоченным, или любите Java, но хотите, чтобы его код был немного менее подробным, вам понравится C ++, язык программирования, который, возможно, сочетает в себе лучшие функции C с лучшими функциями Java.

Подобно C и Java, C ++ сегодня является популярным языком программирования для z / OS.

Язык ассемблера

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

REXX

Хотите написать код, который не нужно компилировать перед запуском? REXX для вас. Это ведущий интерпретируемый язык в z / OS. Это означает, что вы можете запускать код REXX непосредственно в z / OS без необходимости сначала компилировать его — хотя вы можете выбрать компиляцию, если хотите, чтобы ускорить время выполнения.

Любой язык, работающий в Linux

Перед закрытием стоит отметить, что если ваш мэйнфрейм z / OS не поддерживает ваш любимый язык программирования, вы всегда можете добавить среду Linux на свой мэйнфрейм, а затем использовать эту среду для записи на любом язык, который поддерживает Linux — это практически все типы языков (да, даже COBOL, который вы можете создать для Linux, если хотите).

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

Precisely может помочь вам оптимизировать производительность вашего мэйнфрейма. Для получения дополнительной информации, ознакомьтесь с нашим техническим документом: Получение максимальной отдачи от вашего мэйнфрейма

Мэйнфреймы достигают успеха

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

Количество вычислительной мощности, доступной людям, начало расти семимильными шагами на рубеже тысячелетий, когда графические процессоры (ГП) стали популярны. используются для неграфических расчетов — тенденция, которая в последнее десятилетие становится все более распространенной.Но вычислительные потребности глубокого обучения растут еще быстрее. Эта динамика подтолкнула инженеров к разработке электронных аппаратных ускорителей, специально предназначенных для глубокого обучения, например, Tensor Processing Unit (TPU) Google.

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

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

Снижение энергопотребления нейронных сетей может потребовать вычислений со светом.

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

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

Что это за загадочные вычисления линейной алгебры? На самом деле они не такие уж и сложные. Они включают операции на матрицы, которые представляют собой просто прямоугольные массивы чисел — электронные таблицы, если хотите, за вычетом описательных заголовков столбцов, которые вы можете найти в типичном файле Excel.

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

С годами для глубокого обучения требовалось постоянно увеличивать количество операций умножения и накопления. Рассмотреть возможность LeNet, новаторская глубокая нейронная сеть, предназначенная для классификации изображений. В 1998 году было показано, что он превосходит другие машинные методы распознавания рукописных букв и цифр.Но к 2012 году нейронная сеть AlexNet, которая выполняла примерно в 1600 раз больше операций умножения и накопления, чем LeNet, смогла распознавать тысячи различных типов объектов на изображениях.

Переход от первоначального успеха LeNet к AlexNet потребовал почти 11-кратного увеличения вычислительной производительности. В течение 14 лет закон Мура обеспечил большую часть этого увеличения. Задача заключалась в том, чтобы сохранить эту тенденцию сейчас, когда закон Мура исчерпал себя. Обычное решение — просто направить на проблему больше вычислительных ресурсов, а также времени, денег и энергии.

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

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

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

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

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

Чтобы проиллюстрировать, как это можно сделать, я опишу здесь фотонное устройство, которое в сочетании с простой аналоговой электроникой может умножать две матрицы вместе. Такое умножение объединяет строки одной матрицы со столбцами другой. Точнее, он умножает пары чисел из этих строк и столбцов и складывает их произведения вместе — операции умножения и накопления, которые я описал ранее. Мои коллеги из Массачусетского технологического института и я опубликовали статью о том, как это можно сделать. в 2019 году.Сейчас мы работаем над созданием такого оптического матричного умножителя.

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

Базовым вычислительным блоком в этом устройстве является оптический элемент, называемый Светоделитель. Хотя его макияж на самом деле более сложный, вы можете представить его как наполовину посеребренное зеркало, установленное под углом 45 градусов. Если вы направите в него луч света сбоку, светоделитель позволит половине этого света проходить прямо через него, а другая половина отражается от наклонного зеркала, заставляя его отражаться под углом 90 градусов от входящего луча. .

Теперь направьте второй луч света, перпендикулярный первому, в этот светоделитель так, чтобы он падал на другую сторону наклонного зеркала. Половина этого второго луча будет передаваться аналогичным образом, а половина — отражаться под углом 90 градусов. Два выходных луча объединятся с двумя выходными лучами первого луча. Итак, этот светоделитель имеет два входа и два выхода.

Чтобы использовать это устройство для матричного умножения, вы генерируете два световых луча с напряженностями электрического поля, которые пропорциональны двум числам, которые вы хотите умножить.Назовем эти интенсивности поля x и y . Посветите этими двумя лучами светоделитель, который объединит эти два луча. Этот конкретный светоделитель делает это таким образом, чтобы формировать два выхода, электрические поля которых имеют значения ( x + y ) / √2 и ( x y ) / √2.

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

Почему это отношение важно? Чтобы понять это, требуется немного алгебры — но ничего, кроме того, чему вы научились в старшей школе. Вспомните, что когда вы квадрат ( x + y ) / √2 вы получите ( x 2 + 2 xy + y 2 ) / 2. А если возвести в квадрат ( x y ) / √2, вы получите ( x 2 -2 xy + y 2 ) / 2.Вычитание последнего из первого дает 2 xy .

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

Моделирование интегрированного интерферометра Маха-Цендера, установленного в нейросетевом ускорителе Lightmatter, демонстрирует три различных условия, при которых свет, движущийся в двух ветвях интерферометра, претерпевает различные относительные фазовые сдвиги (0 градусов по a, 45 градусов по b и 90 градусов по вертикали). в). Световая материя

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

Использование импульсного света таким образом позволяет выполнять множество таких операций в быстрой последовательности.Самая энергоемкая часть всего этого — считывание напряжения на этом конденсаторе, для чего требуется аналого-цифровой преобразователь. Но вам не обязательно делать это после каждого импульса — вы можете дождаться конца последовательности, скажем, N импульса. Это означает, что устройство может выполнять операции умножения и накопления N , используя одно и то же количество энергии для считывания ответа, является ли N малым или большим. Здесь N соответствует количеству нейронов на слой в вашей нейронной сети, которое легко может исчисляться тысячами.Таким образом, эта стратегия использует очень мало энергии.

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

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

Я обрисовал здесь стратегию , которой придерживались мои коллеги и я, но есть и другие способы снять шкуру с оптической кошки. Другая многообещающая схема основана на так называемом интерферометре Маха-Цендера, который объединяет два светоделителя и два полностью отражающих зеркала. Его также можно использовать для оптического умножения матриц.Два стартапа из Массачусетского технологического института, Lightmatter и Lightelligence, разрабатывают оптические нейросетевые ускорители на основе этого подхода. Lightmatter уже построил прототип, в котором используется изготовленный ею оптический чип. И компания планирует начать продажи платы оптического ускорителя, использующей этот чип, в конце этого года.

Еще один стартап, использующий оптику для вычислений, — это Optalysis, который надеется возродить довольно старую концепцию. Одним из первых применений оптических вычислений еще в 1960-х годах была обработка радиолокационных данных с синтезированной апертурой.Ключевой частью задачи было применение к измеренным данным математической операции, называемой преобразованием Фурье. Цифровые компьютеры того времени боролись с такими вещами. Даже сейчас применение преобразования Фурье к большим объемам данных может потребовать больших вычислительных ресурсов. Но преобразование Фурье может быть выполнено оптически с помощью ничего более сложного, чем линза, которая в течение нескольких лет использовалась инженерами для обработки данных с синтетической апертурой. Optalysis надеется обновить этот подход и применить его более широко.

Теоретически фотоника может ускорить глубокое обучение на несколько порядков.

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

Конечно, еще предстоит преодолеть множество технических проблем. Один из них заключается в повышении точности и динамического диапазона аналогово-оптических вычислений, которые далеко не так хороши, как то, что может быть достигнуто с помощью цифровой электроники. Это связано с тем, что эти оптические процессоры страдают от различных источников шума и потому, что цифро-аналоговые и аналого-цифровые преобразователи, используемые для ввода и вывода данных, имеют ограниченную точность. Действительно, сложно представить оптическую нейронную сеть, работающую с точностью более 8-10 бит.Хотя существует 8-битное электронное оборудование для глубокого обучения (хороший пример — Google TPU), эта отрасль требует более высокой точности, особенно для обучения нейронных сетей.

Также существует сложность интеграции оптических компонентов в микросхему. Поскольку эти компоненты имеют размер в десятки микрометров, они не могут быть упакованы так же плотно, как транзисторы, поэтому требуемая площадь кристалла быстро увеличивается. В 2017 году исследователи Массачусетского технологического института продемонстрировали этот подход с использованием чипа с номером 1.5 миллиметров со стороны. Даже самые большие чипы не превышают нескольких квадратных сантиметров, что накладывает ограничения на размеры матриц, которые могут обрабатываться таким образом параллельно.

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

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

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

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

Руководство для начинающих: COBOL Made Easy | Джессиелайн Пунонгбаян | Современный мэйнфрейм

Common Business-Oriented Language a.k.a COBOL — это скомпилированный англоязычный компьютерный язык программирования, предназначенный для использования в бизнесе. Он императивный, процедурный и, начиная с 2002 года, объектно-ориентированный. Он в основном используется в деловых, финансовых и административных системах для компаний и правительств. Он по-прежнему широко используется в устаревших приложениях, развернутых на мэйнфреймах, таких как крупномасштабные пакетные задания и задания по обработке транзакций.

Язык управления заданиями, также известный как JCL, — это командный язык для нескольких виртуальных хранилищ (MVS), которые обычно используются в операционных системах мэйнфреймов IBM. JCL идентифицирует программу, которая должна быть выполнена, требуемые входные данные и расположение входных / выходных данных и информирует операционную систему через операторы управления заданиями. В среде мэйнфрейма программы могут выполняться в пакетном и оперативном режимах. JCL используется для отправки программы на выполнение в пакетном режиме.

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

Но не бойтесь! 😵

Фото Калеба Вудса на Unsplash

В настоящее время существует так много руководств по COBOL. Вот некоторые из них:

… и многое другое… включая YouTube . Так что не о чем беспокоиться. Если вы дадите себе время на обучение, вы выучите COBOL в кратчайшие сроки.

Как читатель этого блога, я предполагаю три вещи:

  1. У вас уже есть базовые знания, чтобы начать кодировать на COBOL
  2. Вы также знаете, как использовать JCL
  3. У вас есть общие знания о том, как работает мэйнфрейм (я.е. работа с наборами данных, отправка задания и т. д.).

Итак… сегодня потренируемся! 👍

Фото Danial RiCaRoS на Unsplash

, так что откройте свои 3270 терминалы, и мы начнем…

Не беспокойтесь! Понял тебя! 😉

Модернизация мэйнфрейма привела к множеству инноваций. Одно из таких нововведений — Zowe Explorer.

Начнем с вопроса «Что такое Zowe?» .

Zowe — это проект с открытым исходным кодом, предлагающий современные интерфейсы для взаимодействия с z / OS и позволяющий работать с z / OS так же, как сегодня на облачных платформах.Сегодня это помогает молодым разработчикам взаимодействовать и работать с мэйнфреймами, используя инструменты разработки, которые они знают и любят. Это современное решение для современных разработчиков мэйнфреймов.

«Итак, что такое Zowe Explorer?»

Zowe Explorer — это расширение VSCode, которое позволяет получить доступ к Zowe при использовании VSCode. Это дает вам возможность использовать IDE вместо терминалов 3270 при разработке ваших программ на COBOL.

Одно из преимуществ, которое мне очень нравится в использовании VSCode, состоит в том, что он предлагает множество расширений.Помимо Zowe Explorer, я также могу использовать другие расширения, такие как Code4z. Это расширение предлагает подсветку синтаксиса и поддержку содержимого для программ COBOL . Великолепно !! 👏

Как разработчик COBOL, пакет расширений Code4z — очень крутое дополнение. Он включает в себя такие расширения, как Zowe Explorer, языковую поддержку COBOL, языковую поддержку HLASM, Explorer для Endevor, отладчик для мэйнфреймов и подсветку синтаксиса COBOL.

Изучая это, я обнаружил такие замечательные функции, как:

Автозаполнение: Он предлагает подсказки в реальном времени при вводе текста.Это могут быть ключевые слова COBOL, переменные, абзацы или фрагменты кода.

Проверка синтаксиса и семантики кода: Он проверяет ошибки и ошибки в вашем коде COBOL.

Тетрадь поддержки: Это, безусловно, моя любимая книга. 😊 Расширение позволяет вам ссылаться на тетради, которые у вас есть в вашей программе. Программисту на COBOL иногда бывает сложно быстро заглянуть в свои тетради. Эта функция действительно упрощает кодирование.

Хотя я хотел бы отметить, что путь к Copybook должен быть определен как папка «COPYBOOKS» в текущем рабочем пространстве VSCode, прежде чем вы сможете активировать эту функцию.

Обновление: в последней версии COBOL LSP вы можете определить библиотеку тетрадей в settings.json, и расширение автоматически обнаружит и загрузит нужные вам тетради. Больше не нужно беспокоиться об этом 👏 😮

и многие другие функции , такие как проверка периодов

, проверка, превышает ли ваш код столбец 80

и удаление лишних пробелов в вашей программе

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

Если вы хотите узнать больше, вы можете прочитать эти статьи или, если вы хотите внести свой вклад в этот проект, вы можете проверить их репозиторий .

Заявление об ограничении ответственности: я инженер-программист Broadcom и часть группы разработчиков Zowe. Это моя личная точка зрения и мои личные предпочтения.

Фото Надин Шаабана на Unsplash

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

Если у вас уже есть доступ… давайте продолжим. 🚜

Все великие разработчики начинают с самого начала… а это означает… 🥁

«Hello World!» программа! 👏

Давайте откроем VSCode и начнем писать этот код. Мы воспользуемся замечательными возможностями Code4z.

Когда вы закончите, сохраните его в своей исходной библиотеке и скомпилируйте.

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

Пример компилятора

После успешной компиляции мы протестируем его, вызвав программу HELLO WORLD. Выполним это с помощью HELOTST.JCL.

Пожалуйста, используйте мою, если у вас ее нет.

Перейдите на панель заданий и найдите отправленный JCL. и вуаля! 🎉

Фотография Спенсера Дэвиса на Unsplash

Я знаю, верно?… Это простая программа, но с помощью этих расширений я обнаружил, что кодирование на COBOL сегодня намного проще и веселее.Надеюсь, ты тоже!

  1. Вы узнали о Zowe, Zowe Explorer и Code4z!
  2. Вы (вероятно) прочитали мой первый блог и узнали, как получить доступ к мэйнфрейму!
  3. Вы научились писать свою собственную программу на COBOL «Hello World» 😎
  4. Вы научились компилировать свою программу на COBOL!
  5. Вы узнали, как отлаживать свой компилятор, потому что он отказался от первой попытки!

Вау! Удивительный! 😝

Я очень надеюсь, что это было хорошее введение, и увидимся на следующем! 🚋 🚋 🚋

Чтобы ознакомиться с кодом, написанным в этом блоге, посетите мой репозиторий Github:

Как написать программу на мэйнфреймах?

Если мэйнфрейм z \ OS не поддерживает ваш любимый язык программирования, не о чем беспокоиться.Аппаратное обеспечение мэйнфрейма позволяет развертывать среду Linux / Unix. Однако вы можете использовать любой язык программирования, поддерживаемый LINUX, например Python или Perl.

Может быть, вы думаете, что языки программирования, используемые для кода в мэйнфреймах, должны быть 1 или 2 -м языками поколения ? Даже вы можете подумать, что мэйнфреймы сегодня используются редко. Если вы так думаете, вы ошибаетесь. Мы ежедневно используем мэйнфреймы в качестве серверной части, такие как банкоматы.Они используются в банковских системах для миллионов транзакций в секунду. Кроме того, их используют те организации, в которых терабайтные данные обрабатываются за секунды.

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

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

  1. Первый шаг — спроектировать модули.
  2. Закодируйте модуль.
  3. Проверить модуль индивидуально.
  4. Соберите другие модули.
  5. Проверить все модули вместе.
  6. Повторяйте процедуру, пока не будут разработаны все модули.

Интерфейсы для программистов приложений мэйнфреймов

Программисты разрабатывают различные приложения для эффективного использования аппаратного и программного обеспечения. На сегодняшний день создано множество приложений. Эти приложения могут выполняться в z \ OS, а также в UNIX . z \ OS упрощает работу с UNIX и даже позволяет использовать один и тот же интерфейс для обоих пользователей. Коллективность, z \ OS и ОС UNIX называется z \ OS UNIX System Services ИЛИ z \ OS UNIX для краткости.

В программировании на мэйнфреймах существует ряд инструментов для разработки и отладки кода. Но редактор ISPF — наиболее распространенный инструмент, используемый программистами. Программисты пишут программу на традиционных языках, таких как , COBOL, и PL \ I. Они тестируют и отлаживают код в редакторе ISPF и одновременно используют интегрированную среду разработки IDE . Редактор IDE и ISPF помогает им запускать, редактировать и отлаживать разработанный код.

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

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

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

Услуги по активации приложений, доступные в z / OS, включают:

  • Языковая среда
  • C / C ++ Библиотека открытых классов IBM
  • Поддержка приложений DCE1
  • Encina Toolkit Executive2
  • C / C ++ с инструментом отладки
  • DFSORT ™
  • GDDM-PGF
  • GDDM-REXX
  • Набор инструментов HLASM
  • Традиционные языки, такие как COBOL, PL / I и Fortran

Об авторе

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

Запуск и выполнение вашей первой программы на мэйнфрейме

Запуск и выполнение вашей первой программы на мэйнфрейме — HedgeDoc

<центр> Запуск и выполнение вашей первой программы на мэйнфрейме === * Автор [JDC] (https: // twitter.com / jdcaballerov). Опубликовано 01.06.2021 в [Монадическом блоге] (https://monadical.com/blog.html). * В [предыдущей статье] (https://monadical.com/posts/cobol.html) я представил набор ресурсов для изучения COBOL и запуска программ COBOL в Linux. Однако большинство программ COBOL на самом деле выполняется на мэйнфреймах, поэтому для правильной работы с COBOL необходимо иметь возможность управлять мэйнфреймом. Мэйнфреймы печально известны своей дороговизной и недоступностью. При ограниченном бюджете мэйнфрейм обычно обойдется вам в несколько тысяч [долларов] (https: // www.quora.com/How-much-does-an-IBM-mainframe-cost). И даже если вы купите его на аукционе [как этот парень] (https://www.youtube.com/watch?v=45X4VP8CGtk), вам потребуется много места для его размещения. Представляем вам Hercules Hyperion: программную реализацию с открытым исходным кодом для архитектур System / 370 и ESA / 390 для мэйнфреймов в дополнение к новейшей 64-битной архитектуре z / Architecture. Hercules — это бесплатный эмулятор, работающий в Linux, Windows, Solaris, FreeBSD и Mac OS X. В этом руководстве я расскажу вам об установке Hercules и MVS 3.8j Tur (n) key 4- («TK4-»), готовая к использованию система OS / VS2 MVS 3.8j, созданная специально для работы под Hercules System / 370. Hercules позволит вам научиться управлять мэйнфреймом и запускать программы. Давайте начнем! ! [мэйнфреймы] (https://docs.monadical.com/uploads/upload_8b6e81569ccb5a93c4a4d1ce57a2dc49.png) ## Установка Hercules Проект Hercules размещен на [github] (https://github.com/sdl-hercules-390/hyperion), и вы можете найти его документацию и инструкции по установке [здесь] (https: // sdl-hercules-390.github.io/html/). Вы можете следовать инструкциям в соответствии с вашей операционной системой, чтобы скомпилировать Hercules, или установить его из диспетчера пакетов дистрибутива Linux. В этом руководстве я буду использовать Ubuntu 20.04. Вот как установить Hercules в Ubuntu: Баш sudo apt-get update -y sudo apt-get install -y геркулес « » ## Получение и установка MVS в операционной системе Hercules — это эмулятор, поэтому вам потребуется операционная система для мэйнфрейма, работающая на Hercules. К счастью, для этого есть [TK4] (http: // wotho.ethz.ch/tk4-/). TK4 можно загрузить и представляет собой Hercules-совместимую версию операционной системы [MVS] (https://en.wikipedia.org/wiki/MVS). Зайдите на сайт и скачайте файл `tk4-_v1.00_current.zip` (это последний дистрибутив на момент написания статьи). Получив файл, создайте каталог, в котором вы сможете легко найти и распаковать файл. ## Установка эмулятора терминала 3270 Связь с мэйнфреймом происходит через терминал, поэтому вам необходимо установить [эмулятор терминала IBM 3270] (https: // en.wikipedia.org/wiki/IBM_3270). В Ubuntu это можно установить следующим образом: Баш sudo apt-get update -y sudo apt-get install -y x3270 « » ## Вход в мэйнфрейм После распаковки файла tk4-v_1.00.current.zip лучше всего переместить весь каталог в tk4 для облегчения доступа: Баш mv tk4-_v1.00_current / tk4 / cd tk4 / « » Для получения обратной связи в терминале рекомендуется установить консольный режим: Баш компакт-диск без присмотра / ./set_console_mode « » Теперь можно запустить MVS: Баш cd tk4 / ./ mvs « » После этой команды мэйнфрейм загрузится. ! [загрузка мэйнфрейма] (https://docs.monadical.com/uploads/upload_820dd24c104ebbf2f39bb2c0192bd133.png) Вы можете изменить вид эмулятора, нажав ESC. ! [эмулятор мэйнфрейма] (https://docs.monadical.com/uploads/upload_96d66dcd1c0983e54947a786d3d3ff80.png) На этом этапе вам нужно запустить эмулятор x3270 и подключить его к порту 3270 localhost. ! [эмулятор мэйнфрейма] (https://docs.monadical.com/uploads/upload_21b4414e1f59a5e7001cfd0bb3307bbd.png) Дайте некоторое время загрузиться с этим образом и нажмите клавишу «ENTER».Вы увидите этот экран: ! [эмулятор мэйнфрейма] (https://docs.monadical.com/uploads/upload_448a2e99dee90a310dc9e6c57416fd44.png) После этого введите ваше имя пользователя `herc01`. (Есть и другие пользователи по умолчанию, но в этом руководстве будет использоваться `herc01`, у которого есть права доступа — для других пользователей проверьте руководство http://wotho.ethz.ch/tk4-/MVS_TK4-_v1.00_Users_Manual.pdf .) Вам будет предложено ввести пароль. ! [эмулятор мэйнфрейма] (https://docs.monadical.com/uploads/upload_3ec126719ca34878f3de9142925401ef.png) ! [эмулятор мэйнфрейма] (https://docs.monadical.com/uploads/upload_1e216aefd5ad4f5bc58540f9cd9f0fa7.png) Для этого пользователя, `herc01`, текущий пароль -` CUL8TR`. Введите пароль и нажмите ENTER. ! [эмулятор мэйнфрейма] (https://docs.monadical.com/uploads/upload_1fedeb416f7ceabbfe4af85e8c28e306.png) Снова нажмите ENTER. ! [эмулятор мэйнфрейма] (https://docs.monadical.com/uploads/upload_6bc9aeef375e5d8015f9cbcddc05b8d5.png) И после последнего `ENTER` вы войдете в эмулятор мэйнфрейма, на котором запущен MVS! ! [эмулятор мэйнфрейма Hercules] (https: // docs.monadical.com/uploads/upload_54f01a53c13ecad14115f810a921db1f.png) Если вы заблудились, попробуйте это видео от moshix (один из [рекомендуемых ресурсов] (https://monadical.com/posts/cobol.html#Resources) из моей последней статьи). <центр>

## Изучение MVS После входа в систему вы можете начать работу с мэйнфреймом.Введите число четыре «4» и нажмите «ENTER», чтобы увидеть процесс QUEUE. Теперь продолжайте и исследуйте самостоятельно. Чтобы вернуться, используйте функциональную клавишу 3 «F3». ! [мэйнфрейм] (https://docs.monadical.com/uploads/upload_4106c911ac1cfd93d7109970ba051b65.png) Вы можете увидеть свой сеанс терминала в списке. Опять же, чтобы вернуться, используйте `F3`. ## Остановка мэйнфрейма Когда вы закончите исследование, вам нужно будет остановить мэйнфрейм. Чтобы остановить мэйнфрейм, вернитесь к своему терминалу с запущенным `. / Mvs` и нажмите` ESC`, чтобы вернуться к просмотру регистров и устройств (если вы еще не там).! [мэйнфрейм] (https://docs.monadical.com/uploads/upload_15d81759fe56414d9c178c100a207c4c.png) Нажмите на букву «P», чтобы остановиться. CPP00 изменится на CPP00 STOPPED. Затем нажмите «W» для PWR и подтвердите «Y» да. Вот и все! Вы только что запустили мэйнфрейм, запустили программу мониторинга, остановили и выключили мэйнфрейм. Рекомендуется правильно выключать мэйнфрейм, чтобы предотвратить возникновение каких-либо проблем при его следующем использовании. В следующей статье я объясню, как запустить сценарий COBOL на мэйнфрейме. Будьте на связи.— <центр>
Monadical.com | Полное консультирование * Мы создаем программное обеспечение, которое дольше нас *

4 урока для разработчиков программного обеспечения из 1970-х. Программирование на мэйнфреймах

Восемь мегабайт памяти — это достаточно. По крайней мере, так мы думали еще в конце 1970-х годов. Наши программы для мэйнфреймов обычно выполнялись на виртуальных машинах (ВМ) размером 8 МБ, которые должны были содержать программу, общие библиотеки и рабочую память.Хотя в наши дни эти виртуальные машины можно больше сравнить с контейнерами, поскольку операционная система с разделением времени не занимала пространство виртуальных машин. Фактически, пользователи вообще не могли видеть ОС.

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

Пожалуйста, присоединяйтесь ко мне на прогулке по переулку памяти, поскольку я вновь посещаю четыре урока, которые я извлек во время программирования мэйнфреймов и обучения программированию мэйнфреймов в эпоху Уотергейта, дискотеки на виниловых пластинках и «Звездных войн» — и которые остаются актуальными и сегодня.

1. Минимизация затрат на вычисления

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

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

Не помню, сколько стоил CRU, но стоил он недешево. Каждое задание мэйнфрейма, независимо от того, отправлено ли оно с терминала в режиме реального времени или в пакетном задании, поставленном в очередь на более позднее, имело ограничение на количество CRU, которое оно могло использовать до того, как оно будет уничтожено операционной системой мэйнфрейма.Если задание «сбежало», например, из-за бесконечного цикла, оно будет ABEND (аварийно завершится). Насколько я помню, стоимость превышения лимита CRU для неконтролируемого задания составляла несколько сотен долларов . И это было в 1970-х, когда можно было снять отличную квартиру за 300 долларов в месяц. Ой!

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

Какая среда развертывания подходит для ваших рабочих нагрузок в гибридной ИТ? У Frost & Sullivan есть некоторые идеи.

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

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

2. Для обработки данных думайте без головы

Сегодня это кажется таким безумным — в эпоху веб-серфинга, Twitter и потоковой передачи фильмов — но в 1970-х мы использовали компьютеры для вычислений . Ну, мы обычно говорили «обработка данных». Работа программы обычно заключалась в том, чтобы вводить какие-то данные, что-то с ними делать, а затем предоставлять пользователю результат.Это также известно как рабочий процесс «ввод / процесс / вывод».

В качестве входных данных можно использовать данные об успеваемости с жесткого диска или магнитной ленты, применяя какие-то критерии (например, «занимается студенческим спортом И не поддерживает средний балл 2,0»), а затем распечатать отчет для декан колледжа. Приложение может принимать в качестве входных данных показания электрического счетчика, сопоставлять данные с условиями контракта и финансовыми записями и распечатывать счета за коммунальные услуги за месяц. Он мог бы использовать математические формулы и рисовать красивые графики на перьевом плоттере Calcomp (мне это нравилось).Это может быть исходный код, который вы скомпилировали в исполняемый файл.

На протяжении большей части моей карьеры в области мэйнфреймов эти задания не выполнялись в реальном времени на консоли дисплея; Я не смотрел на результаты на мониторе компьютера. Это были «безголовые» приложения, которые работали без монитора, графического пользовательского интерфейса (GUI) или периферийных устройств. Программы были написаны и отправлены в систему таймшера с консоли, образно говоря, как отправка перфокарт в качестве входных данных и получение перфокарт или бумаги в качестве выходных.Большую часть моей работы входными и выходными данными были файлы на диске: я отправлял свою работу и возвращался через несколько часов, чтобы найти выходной файл в моем личном хранилище.

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

Сегодня эта практика должна применяться не только к программированию встроенных устройств, но и к созданию автономных серверных приложений, которые работают в центре обработки данных или в облаке, или для создания API-интерфейсов. С таким серверным ПО не нужно беспокоиться о пользовательском опыте. Вы создаете чистую функциональность — «процессную» часть рабочего процесса ввода / обработки / вывода, упомянутого ранее. Вы знаете, какими должны быть функции; это в спецификациях. Здесь нет места для дурака, поскольку другие аспекты завершенного (например, пользовательский клиент) зависят от быстрой, точной и масштабной работы серверной части.Если есть одно место, куда можно вложить дополнительную дизайнерскую работу, чтобы гарантировать правильность и эффективность, так это в бэк-энде.

3. Дизайн и программа без дефектов

Никто не хочет наделать глупых ошибок. Нет ничего хуже, чем прийти в понедельник утром и посмотреть результаты своей последней компиляции … которая остановилась из-за СИНТАКСИЧЕСКОЙ ОШИБКИ В ИНТЕРНЕТЕ 7. Вставьте сюда свое любимое ругательство.

Наборы инструментов 1970-х годов были примитивными по сравнению с современными вычислительными инструментами. Мои программы для мэйнфреймов были написаны на FORTRAN, COBOL, PL / 1 или RPG, а иногда и для других систем, таких как Система управления информацией о клиентах (CICS), система обработки транзакций высокого уровня или Статистический пакет для социальных наук (SPSS), статистический пакет.Они были впечатляюще мощными, и мы многого достигли. Но у нас не было красивых сред разработки программирования, таких как Eclipse или Visual Studio, с автозаполнением выражений, проверкой синтаксиса или выделением ошибок. У нас не было интерактивных отладчиков. У нас не было ничего крутого.

Что у нас было? Текстовые редакторы для написания нашего кода, компиляторы, которые некоторые привилегированные пользователи (например, я!) Могли запускать с консоли (и сразу получать ошибки SYNTAX ERROR ON LINE 7), и профилировщик примитивного кода, который помог нам определить, где находится программа. тратил свое процессорное время.В компиляторах были переключатели, которые позволяли расширять отладочную информацию, поэтому мы могли отслеживать проблемы, просматривая более шести дюймов распечаток.

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

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

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

Обеспечение правильной работы приложения не должно быть делом проб и ошибок. К сожалению, эта дурная привычка слишком распространена в сегодняшнюю эпоху итеративного развития. (Я не говорю здесь об опечатках в коде; обычно сегодняшние IDE решают эту проблему.)

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

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

Это все вылетает из окна, если вы тратите слишком много времени на отладку или соглашаетесь с тем, что отладка является неизбежной частью процесса программирования. В таком случае кто-то ведет себя непростительно небрежно.Это означает, что ваша команда не тратит достаточно времени на правильную разработку приложения, и команда поняла, что ошибки — это не проблема. Они — это большое дело. Дизайн без дефектов!

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

4. Речь идет не о рефакторинге: оптимизируйте заранее

Мне нравится концепция рефакторинга: оптимизировать производственный код, чтобы он делал то же самое, но более эффективно. Эта концепция отлично работает с FORTRAN или PL / I, где вы можете оптимизировать подпрограммы и библиотеки, и в равной степени применима и к современной эпохе кода.

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

Я не говорю, что мы не делали этого в эпоху мэйнфреймов, особенно в одноразовых приложениях, таких как пользовательские отчеты. Тем не менее, мы узнали, что было очень выгодно провести проектную работу заранее, чтобы оптимизировать процедуры. Для платежеспособных клиентов это окупилось сокращением количества CRU, необходимых для выполнения сложной программы.Кроме того, в ту эпоху ввод-вывод был медленным, особенно на устройствах с последовательным доступом, таких как ленты. Вам нужно было оптимизировать ввод-вывод, чтобы, например, вам не приходилось выполнять несколько проходов через ленту или связывать несколько ленточных накопителей. И нельзя было все загрузить в память: помните ограничение в 8 МБ?

Ничего не изменилось.

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

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

Например, где наиболее эффективно выполнять некоторые операции: на мобильном устройстве или в облаке? Как вы можете спроектировать поток данных, чтобы использовать минимальную полосу пропускания, но с учетом будущего расширения? Как лучше всего сжать данные, чтобы сбалансировать загрузку процессора при сжатии / распаковке и требования к хранению или передаче данных? Как можно свести к минимуму количество обращений к таблице базы данных? Какие части приложения выиграют от агрессивной потоковой передачи и где управление потоками, включая реинтеграцию данных и ожидание синхронизации, приведет к увеличению накладных расходов без положительной отдачи — или без шанса фактически повредить выполнение на одноядерном процессоре?

Первые ответы на подобные вопросы часто заключаются в том, чтобы написать код самым простым и понятным способом, и я искренне верю в это.Конечно, это один из способов быстро вывести приложение на рынок, и рефакторинг может ускорить его или добавить масштабируемость позже. Тем не менее, я считаю, что для создания наилучшего кода с первого раза разумно выполнить проектную работу заранее. Я понимаю, что это может занять больше времени — и это время может не иметь смысла в некоторых обстоятельствах. Вы должны будете судить об этом.

Помните, ваш домашний термостат IoT, вероятно, более мощный, чем мой старый IBM System / 168.

Вспоминая старые мэйнфреймы: уроки для лидеров

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

Эта статья / материалы написаны указанным автором и не обязательно отражают точку зрения компании Hewlett Packard Enterprise.

Пример программы

COBOL

Пример программы COBOL
РАМЕШ КРИШНА РЕДДИ
ДРОНА СЕРИИ ИССЛЕДОВАТЕЛЬСКИЙ МАТЕРИАЛ COBOL Пример программы COBOL
  Пример программы Cobol на экране мэйнфрейма 


Пример программы Cobol на экране мэйнфрейма Эта программа суммирует значения элементов данных WS-B и WS-C и сохраняет результат. в элементе данных WS-A и отобразить все значения элементов данных в спуле.Компилятор COBOL принимает исходный код в стандартном формате. Всего 80 позиции символов в каждой строке исходного кода. Порядковый номер -> (необязательно) используйте эти позиции для указания порядкового номера к строкам исходного кода. Индикатор -> Используйте * для комментирования строки. Другие значения можно использовать в эта позиция - косая черта (/) и дефис (-). Область A и область B -> Содержит исходный код COBOL.(Позиции с 8 по 72) Идентификация -> Компилятор COBOL игнорирует данные в этих позициях. В каждой программе на COBOL есть четыре отдела. ИДЕНТИФИКАЦИОННЫЙ ОТДЕЛ Этот раздел содержит информацию для идентификации программы. Есть семь заголовков параграфов в этом разделе. PROGRAM-ID обязателен, остальное все заголовки необязательны. ОТДЕЛЕНИЕ ОКРУЖАЮЩЕЙ СРЕДЫ Отдел окружающей среды описывает физические характеристики ввода-вывода источники данных, используемые программой.Отдел окружающей среды состоит из двух разделы, из которых оба являются необязательными. (Раздел конфигурации и ввод-вывод Раздел ) ПОДРАЗДЕЛЕНИЕ ДАННЫХ Все элементы данных, используемые в программе, должны быть определены в Data Division. Там 3 важных раздела в этих разделах.

Обновлено: 01.11.2021 — 23:38

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *