СВМ ЕС

Поиск, обмен ссылками, вопросы по устаревшему программному обеспечению.
s390soft
Newbie
Сообщения: 22
Зарегистрирован: 17.04.2022,17:40
Откуда: Москва

СВМ ЕС

Сообщение s390soft » 26.04.2022,19:24

Shigure писал(а): 26.04.2022,19:04 Собственно вот этот материал https://telegra.ph/CHto-v-korobke-10-04 вызвал мысли такие. Или на фото детали не мейнфереймов?
что это за платы, и могут ли они использоваться для "серверов подъезда" или универа - не знаю. знаю, что мейнфреймы в подъездах не ставят, и чтобы мейнфрейм отдать в универ, то надо потом его обслуживать и учить на нем студентов, а это большие организационные усилия, которые не каждому универу по плечу, и не каждому универу нужны.
Сайт о серверах архитектуры IBM 370/XA/390/z (и об ЕС ЭВМ немного тоже) - http://s390soft.ru

s390soft
Newbie
Сообщения: 22
Зарегистрирован: 17.04.2022,17:40
Откуда: Москва

СВМ ЕС

Сообщение s390soft » 26.04.2022,19:32

Gregory писал(а): 26.04.2022,19:22 P.S. Пока я сочинял свой ответ, уважаемый Александр ответил гораздо полнее и лучше)
Григорий, не скромничайте, Ваш ответ очень хорош, и вполне по делу, и отлично дополняет те общие соображения, которыми я поделился. Уверен, что наши буквочки и усилия помогут нашим коллегам-кибернекрофилам получить более полное впечатление о мейнфреймах.
Сайт о серверах архитектуры IBM 370/XA/390/z (и об ЕС ЭВМ немного тоже) - http://s390soft.ru

Аватара пользователя
size_t
Advanced Member
Сообщения: 672
Зарегистрирован: 20.02.2019,14:28
Откуда: Санкт-Петербург
Контактная информация:

Вклад в сообщество

СВМ ЕС

Сообщение size_t » 26.04.2022,21:14

Спасибо всем за ответы.
Gregory писал(а): 26.04.2022,19:22 что все S/360, S/370 - это архаика и экспонаты компьютерного музея. s/390 фактически тоже уже архаика, это прошлый век. Современные машины - это z14, z15 и выходящая в этом году z16.
Gregory писал(а): 26.04.2022,19:22 совместимость. многие программы s/360 все еще будут работать на zSeries
Можно подробней про совместимость? Насколько сильно эволюционировала система команд?
Ведь вроде бы IBM/360 со старта была 64-разрядной, и в системе уже было все - виртуальная память, виртуализация выполнения, итд итп. Каким путем шла эволюция?

Gregory писал(а): 26.04.2022,19:22 Сколько дисков можно подключить к серверу архитектуры Intel, учитывая ISA, SATA и USB? По самым оптимистическим подсчетам получается в пределах 100. А к MF можно подключить десятки тысяч дисков, и это будет работать)
Этот огромный поток данных с 10к накопителей ведь упрется в шину данных центрального узла, нет? Как эту проблему обходят?

На s390soft есть статья об ущербности Linux на мэйнфреймах, основной тезис - относительно высокие накладные расходы ядра на порождение потока выполнения; в противовес этому, якобы, у мэйнфреймов IBM есть аппаратная поддержка для этого, которую не задействовать в Linux (я так понял мысль). Что это за поддержка?

s390soft
Newbie
Сообщения: 22
Зарегистрирован: 17.04.2022,17:40
Откуда: Москва

СВМ ЕС

Сообщение s390soft » 26.04.2022,23:10

size_t писал(а): 26.04.2022,21:14 На s390soft есть статья об ущербности Linux на мэйнфреймах, основной тезис - относительно высокие накладные расходы ядра на порождение потока выполнения; в противовес этому, якобы, у мэйнфреймов IBM есть аппаратная поддержка для этого, которую не задействовать в Linux (я так понял мысль). Что это за поддержка?
Это моя статья, довольно старая, но еще актуальная. Речь шла о наличии в архитектуре, начиная с архитектуры 370, аппаратной поддержки виртуальной памяти в виде управляющих регистров, таблиц, машинных команд и специальных средств динамического преобразования адресов. Благодаря этому на мейнфреймах переключение контекста исполнения адресных пространств происходит практически одной-двумя машинными командами - смена PSW (слова состояния программы) и загрузки соответствующего управляющего регистра. Но это чистая проприетарщина. На Линуксе, чтобы сохранить единое ядро (в противном случае Торвальдс грозил не разрешить использовать слово Линукс в названии ядра) оставили переключение адресных пространств такое, которое есть на Intel - с переписыванием в память порождаемого пространства памяти родительского пространства и с ведением таблиц преобразования адресов собственных, а не тех, что есть в архитектуре. В результате смена контекста идет через переписывание больших кусков памяти и выполнения кусков кода по поиску в пользовательских таблицах.
Поэтому на мейнфреймах проще под VM завести десяток Линуксов, чем в одном Линуксе сделать много мелких или больших задач, независимо от количества процессоров.
Если нужны подробности работы мейнфреймов с памятью, то тут уж без Принципов работы не обойтись. Я студентам работу с памятью на мейнфреймах читал не менее двух пар, плюс пара семинарская. Там и защита памяти (тоже аппаратная), и работа с TLB и все остальное, что тоже не использует Линукс.
Сайт о серверах архитектуры IBM 370/XA/390/z (и об ЕС ЭВМ немного тоже) - http://s390soft.ru

s390soft
Newbie
Сообщения: 22
Зарегистрирован: 17.04.2022,17:40
Откуда: Москва

СВМ ЕС

Сообщение s390soft » 26.04.2022,23:13

size_t писал(а): 26.04.2022,21:14 Этот огромный поток данных с 10к накопителей ведь упрется в шину данных центрального узла, нет? Как эту проблему обходят?
Опять же, в Принципы работы. Но теперь в главу Организация ввода вывода. Решается это собственным доступом оборудования канала напрямую в память и наличием в канальном оборудовании собственных процессоров ввода-вывода (подканалов). Ну и совсем другим классом дисковых устройств (устройств управления), которые стоят между дисками и каналами. Процессор получает сигнал, что ввод-вывод закончен, тогда, когда данные уже лежат в нужном месте. Все перемещение данных осуществляется периферийным оборудованием, устройством управления, подканалами и каналами.
Сайт о серверах архитектуры IBM 370/XA/390/z (и об ЕС ЭВМ немного тоже) - http://s390soft.ru

s390soft
Newbie
Сообщения: 22
Зарегистрирован: 17.04.2022,17:40
Откуда: Москва

СВМ ЕС

Сообщение s390soft » 26.04.2022,23:21

size_t писал(а): 26.04.2022,21:14 Можно подробней про совместимость? Насколько сильно эволюционировала система команд?
Ведь вроде бы IBM/360 со старта была 64-разрядной, и в системе уже было все - виртуальная память, виртуализация выполнения, итд итп. Каким путем шла эволюция?
Совместимость обеспечивалась тем, что команды добавлялись, старые работали так, как и работали. Когда поменялась разрядность адреса, то с помощью специальных битов перекидывали в режим старой адресации.
Про виртуальные адреса в 360й системе уже писали. Это бред, как и 64-разрядность. Виртуальные адреса появились в 370, система 360 могла адресовать только 16 мегабайт за счет 24 битов (база плюс смещение), в XA сделали 31 битную адресацию. 64 бита, которые сейчас в z, для некоторых механизмов долго оставались 31-битными как раз для обеспечения обратной совместимости.
Эволюция шла за счет появления новых машинных команд и новых режимов работы процессора, расширения адресной сетки с сохранением возможности работы в старой адресной сетке, расширения размера адреса внешних устройств и появления подканалов и так далее.
Но это тоже не абсолютная вещь - сейчас 360ю задачу в z так просто не запустишь, да и там, где запустишь, могут понадобиться будут бубны. Слишком уж далеко. А вот 31-битную в z - значительно проще, почти везде работает.
Сайт о серверах архитектуры IBM 370/XA/390/z (и об ЕС ЭВМ немного тоже) - http://s390soft.ru

Аватара пользователя
size_t
Advanced Member
Сообщения: 672
Зарегистрирован: 20.02.2019,14:28
Откуда: Санкт-Петербург
Контактная информация:

Вклад в сообщество

СВМ ЕС

Сообщение size_t » 26.04.2022,23:26

s390soft писал(а): 26.04.2022,23:10 Речь шла о наличии в архитектуре, начиная с архитектуры 370, аппаратной поддержки виртуальной памяти в виде управляющих регистров, таблиц, машинных команд и специальных средств динамического преобразования адресов.
С поддержкой виртуальной памяти понятно - но это вроде как раз на Intel есть (TLB же); я так понял вдобавок что-то вроде отдельной копии регистров ЦП на каждый процесс?
s390soft писал(а): 26.04.2022,23:10 с переписыванием в память порождаемого пространства памяти родительского пространства
Ну тут можно понять - если этого не делать, из системного API исчезает вызов fork(), являющийся основой любой UNIX-системы. С другой стороны, уже довольно давно есть эффективная реализация copy on write - копирование страниц памяти происходит только по первому обращению, а в 99% случаев за fork следует exec и таковое обращение не происходит.
В общем, непонятно какая религия мешает заюзать нативные средства железа, тем более что это абстрагирование от кучи архитектур - конек Unix. Думаю тут скорее некая политика, чем технические сложности сделать элегантное решение.
s390soft писал(а): 26.04.2022,23:13 Процессор получает сигнал, что ввод-вывод закончен, тогда, когда данные уже лежат в нужном месте. Все перемещение данных осуществляется периферийным оборудованием, устройством управления, подканалами и каналами.
Ну это ничто иное как прямой доступ в память - но все равно, шина данных (если она одна) заведомо уже потенциального потока с периферии. В архитектуре Intel тоже есть прямой доступ в память от устройств, и им вполне можно положить систему.
s390soft писал(а): 26.04.2022,23:13 Опять же, в Принципы работы.
Киньте ссылку, с удовольствием почитаю. Очень интересно.

Gregory
Newbie
Сообщения: 55
Зарегистрирован: 02.10.2021,15:16
Откуда: Беларусь, Минск

СВМ ЕС

Сообщение Gregory » 26.04.2022,23:45

Можно подробней про совместимость? Насколько сильно эволюционировала система команд?
Ведь вроде бы IBM/360 со старта была 64-разрядной, и в системе уже было все - виртуальная память, виртуализация выполнения, итд итп. Каким путем шла эволюция?
нет нет, это вовсе не так. s/360 была 24-разрядной, и поддержки виртуальной памяти не было. набор инструкций - 144 команды
s/370 также 24-разрядная, набор инструкций - 172 команды, поддержка виртуальной памяти (DAT), потом были 370/XA, 370/ESA, затем s/390 - адресация 24/31, 229 команд, z/Arch - адресация 24/31/64 1000 команд. И современный z/Arch тоже возник не сразу - есть понятие ALS (Architectuere Level Set) 1/2/3/4. Совместимость достигается переключением режимов выполнения 24/31/64.
Вообще у IBM все устроено так: с появлением новой машины издается новая редакция документа Principles of Operation (POP), который определяет, как работает оборудование. Вот именно так - не описывает, а определяет. Последняя редакция этого документа 13 она определяет архитектуру z13, z14, z15. В этом году анонсирована z16, и мы ждем новой редакции POP
Вложения
zArch.PNG

Gregory
Newbie
Сообщения: 55
Зарегистрирован: 02.10.2021,15:16
Откуда: Беларусь, Минск

СВМ ЕС

Сообщение Gregory » 26.04.2022,23:56

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

Gregory
Newbie
Сообщения: 55
Зарегистрирован: 02.10.2021,15:16
Откуда: Беларусь, Минск

СВМ ЕС

Сообщение Gregory » 27.04.2022,00:11

к сожалению, последний раз "Principles of Operation" перевели на русский в 1975 году, и это принципы работы IBM/370.
https://www.ibm.com/resources/publicati ... =SA22-7832

s390soft
Newbie
Сообщения: 22
Зарегистрирован: 17.04.2022,17:40
Откуда: Москва

СВМ ЕС

Сообщение s390soft » 27.04.2022,11:49

size_t писал(а): 26.04.2022,23:26 В общем, непонятно какая религия мешает заюзать нативные средства железа, тем более что это абстрагирование от кучи архитектур - конек Unix. Думаю тут скорее некая политика, чем технические сложности сделать элегантное решение.
Конечно, и политика тоже. IBM, разумеется, если бы хотел, сделал бы быстрый Линукс-совместимый Юникс на мейнфреймах (и прототип был - мейнфреймовский AIX, который благополучно прикрыли, как и многое другое). Но, видимо, считает, что не нужно, или дорого. Или будет мешать другим проектам. IBM вообще себя давно позиционирует не как техническая лавка, а как комплексно-консалтинговая, и общение с новым поколением иногда вызывает гомерический хохот - консалтеры IBM не рекомендуют свои же решения даже тогда, когда они очень хорошо подходят.
size_t писал(а): 26.04.2022,23:26 С поддержкой виртуальной памяти понятно - но это вроде как раз на Intel есть (TLB же); я так понял вдобавок что-то вроде отдельной копии регистров ЦП на каждый процесс?
Ну сейчас на мейнфреймах нет ничего такого, чего совсем уж принципиально не было на других платформах. Другое дело, это то, как оно реализовано. Например, смена контекста - это просто смена содержимого управляющего регистра. Не пользовательского, управляющего - на мейнфреймах куча таких вот, специализированных, не пользовательских, регистров. А дальше все преобразование адресов, с учетом виртуальности и защиты памяти, идет автоматически. И это появилось, в основном, в системе 370.
Копия пользовательских регистров на каждый процесс поддерживается вполне традиционно - сохранением копии в область сохранения в память. Но это делается опять же, одной машинной командой. Равно как и загрузка регистров.
Если грубо, вся смена контекста - это три(!!!!) машинные команды: восстановление всех регистров - раз, смена управляющего регистра с адресом таблицы страниц и сегментов - два, загрузка слова состояния программы - три. и все, побежали в новом адресном пространстве и новом контексте.
Вообще про смену контекста много можно говорить, потому что это важно, это же еще и обработка прерываний. Благодаря мейнфреймовской схеме переключения контекста и работы канальной системы нет необходимости, как в Intel, вешать при использовании гипервизора весь ввод-вывод на одно адресное пространство. Казалось бы, мелочь, а вот хрен - пропускная способность и возможности виртуализации возрастают многократно, потому и гипервизоры на мейнфреймах существуют чуть не с 70х годов..

Но в целом все это уже давно никому особо не надо. Интеловские сервера достаточно надежны, относительно дешевы, хорошо масштабируются, электричество и воздух идут по статьям других департаментов и особо за них не борются, софт на интелах хорошо развивается и в реальность делает многие прикладные вещи лучше, чем прикладной софт на мейнфреймах. Так что мейнфреймы в основном будут там, где они уже есть. Под совсем новые проекты их ставят редко, если не сказать никогда. Но то, что крупные игроки могут продавать доступ к приложениям, как услугу, и там внизу может стоять мейнфрейм - это запросто, в Европе так продается банковский бек-енд под ключ.
Сайт о серверах архитектуры IBM 370/XA/390/z (и об ЕС ЭВМ немного тоже) - http://s390soft.ru

Ответить