4. Conceitos e Recursos de Hardware

O hardware do mainframe possui recursos específicos que garantem sua alta capacidade de processamento, armazenamento, disponibilidade, escalabilidade e segurança. Muitos desses recursos são mencionados no dia a dia do profissional que trabalha com mainframes, esteja ele atuando na área de desenvolvimento de sistemas, operação ou suporte técnico.

Os primeiros mainframes tinham um único processador. Por esse motivo, por muito tempo a torre ou gabinete onde estavam instalados o processador, a memória, os canais de I/O e comunicação e outros circuitos de controle foi chamado de unidade central de processamento, central processing unit, ou simplesmente CPU.

Ao longo do tempo a arquitetura desses equipamentos foi ficando mais complexa. Computadores foram projetados com não apenas um, mas diversos processadores, alguns especializados em determinadas tarefas. Consequentemente, a terminologia empregada na descrição do hardware foi se expandindo.

Em termos bem simples, podemos dizer que a plataforma mainframe é formada por três equipamentos principais:

  • Central process complex (CPC), onde estão localizados os processadores (CPUs), a memória principal, o subsistema de canais e outros circuitos de controle, energia, resfriamento etc. Os CPCs mais antigos eram refrigerados a água. Essa solução foi completamente substituída pelos sistemas de refrigeração a ar, a partir dos anos 1980.
  • Control units, ou controladoras, que contém a lógica necessária para operar um determinado tipo de dispositivo de I/O. Existem controladoras específicas para unidades de disco, unidades de fita, terminais, linhas de comunicação etc.
  • Dispositivos de I/O: discos, fitas, terminais, linhas de comunicação impressoras etc.

Esses três tipos de dispositivo serão mencionados várias vezes nas seções abaixo.

Terminais

Talvez o mais emblemático periférico dos mainframes sejam os antigos terminais 3278. Numa época em que não havia computadores pessoais nem conexão TCP/IP, toda a interação entre usuário e mainframe ocorria através destes equipamentos.

Terminal IBM 3278
Figura 20. Terminal IBM 3278

Inicialmente os terminais eram ligados a uma controladora de comunicação através de cabos coaxiais. Com o tempo, essas conexões evoluíram para cabos de par trançado e conexões ethernet. Era muito comum também que houvesse terminais remotos, também ligados a uma controladora que se conectava ao mainframe através de linhas privadas de comunicação.

Atualmente, a interação entre usuário e mainframe se dá, principalmente, por conexões TCP/IP. Laptops, desktops, tablets e celulares são usados para acessar os mainframes através de emuladores de terminal, que repetem todo o comportamento dos antigos terminais.

Emulador de terminal no Windows
Figura 21. Emulador de terminal rodando no Windows

Os terminais foram originalmente  projetados para minimizar o tráfego de dados e a frequência de interrupções solicitadas ao mainframe. Provavelmente por isso, todos que estavam acostumados com outras plataformas e que começam a trabalhar com mainframes estranham a “falta de interatividade” entre o computador e a interface.

Você não verá na tradicional interface de texto dos mainframes nenhum programa atualizando a tela enquanto é processado; as atualizações acontecem depois que o usuário solicita uma interrupção (ou dá continuidade à conversação, para usar uma expressão mais comum), pressionando a tecla ENTER, ou uma tecla de função ou uma tecla de ação.

Teclas de ação nos terminais dos mainframes

Dispositivos de Armazenamento (I/O)

Os discos rígidos foram durante muito tempo o dispositivo de armazenamento mais utilizado em mainframes, e tiveram papel fundamental em toda a evolução da indústria de computadores.

A IBM fabricou unidades de disco de 1956 a 2013, quando vendeu sua operação de discos rígidos para a Hitachi.

Disco rígido IBM 305
Figura 22. Disco rígido IBM 305, de 1956. 5 MB em uma caixa de 900 kg.

Os modelos 3390, por exemplo, foram lançados em 1989, ,e ainda hoje são encontrados em algumas instalações. Eles são ligados a uma controladora 3990, que por sua vez se comunica com o equipamento principal através de canais de fibra ótica, como mostrado na figura 23.

A controladora é um equipamento importantíssimo para garantir a performance do sistema. É nela, por exemplo, que acontecem as operações em cache. Quando o CPC solicita a gravação de determinada informação, a controladora realiza essa gravação em sua própria memória, retorna para o CPC que a gravação foi realizada com sucesso, e quando estiver menos sobrecarregada salva efetivamente a informação em disco.

Cada unidade de disco 3390 pode chegar a pouco mais que 22 GB (dependendo do modelo) e normalmente cada controladora é responsável por oito ou mais unidades.

CPU, canais, controladora e discos
Figura 23. CPU, canais, controladora e discos

A necessidade cada vez maior de espaço para armazenamento de dados impulsionou a indústria de storage, que passou a adotar soluções híbridas que combinavam os tradicionais hard disk drives (HDD) com solid state drives (SDD) e sua memória flash.

Essas mudanças foram totalmente transparentes para o usuário, para o desenvolvedor e para o próprio sistema. As soluções mais novas emulam desde as antigas unidades 3375, 3380, 3390 e outras. Um arquivo ou banco de dados é atualizado em memória flash ou disco rígido com os mesmos comandos, operações e procedimentos.

Mesmo quando uma solução híbrida é utilizada no ambiente, o sistema operacional operacional continua apresentando informações seguindo os parâmetros tradicionalmente adotados pelos discos rígidos. Cilindros, trilhas e setores ainda são usados como unidades de medida mesmo que um arquivo, uma tabela de dados ou um disco estejam fisicamente armazenados em SDDs.

Subsistema de Canais

O subsistema de canais compõe o CPC junto com as CPUs e a memória física e têm papel importante na distribuição da carga de trabalho e, consequentemente, na alta capacidade esperada de mainframes.

Subsistema de canais em mainframes
Figura 24. Subsistema de canais

A figura 24 mostra um esquema simplificado de configuração de canais. Esse sistema está com cinco canais ativos (1, 2, 3, 4 e 9), que por sua vez se comunicam com as controladoras 1, 2, 3 e 4.

A controladora 1 está conectada a duas unidades de fita. A controladora 2 está conectada a três unidades de disco. A controladora 3, a outras duas unidades de disco. E a controladora 4, a duas linhas de comunicação.

A controladora 2 está ligada ao CPC por dois canais (2 e 3). Esse tipo de configuração permite, por exemplo, que o mainframe distribua os acessos entre os dois canais, evitando a contenção de um deles, isto é, que um dos canais se transforme em gargalo quando o volume de acesso aos discos for muito grande.

Podemos ver também que a controladora 3 é responsável por dois outros discos (4 e 5). As controladoras 2 e 3 estão ligadas, e essa configuração também permite que o mainframe distribua os volumes de acesso entre as duas controladoras para evitar a contenção de uma delas.

Cada dispositivo (fitas, discos e linhas de comunicação, no exemplo acima) possui um endereço hexadecimal. Esse endereço é formado pelo endereço individual de cada componente do hardware.

Formação do endereço de dispositivos em mainframes
Figura 25. Formação do endereço de dispositivos

Pegando como como exemplo o disco 4, esse mainframe poderia acessá-lo pelos seguintes endereços:

  • 224, para acessá-lo pelo canal 2, controladora 2;
  • 324, para acessá-lo pelo canal 3, controladora 2;
  • 434, para acessá-lo pelo canal 4, controladora 3.

Por convenção, o dispositivo é conhecido por seu endereço mais baixo (224, no exemplo anterior). Mas o sistema operacional pode usar qualquer um dos endereços possíveis quando quiser acessá-lo.

A figura 24 mostra ainda que existe um outro CPC conectado à controladora 2 pelo canal A. Isso significa que as unidades de disco estão sendo compartilhadas com outro mainframe.

Originalmente o subsistema de canal se comunicava com as controladoras via canais paralelos, que foram gradativamente substituídos por canais ESCON (Enterprise System Connection) e FICON (Fiber Connection). Esses dois tipos de canal, hoje em dia, normalmente estão conectados por fibra ótica a um outro tipo de equipamento conhecido como director ou switch, que por sua vez está ligado a várias controladoras.

Os primeiros mainframes da arquitetura S/360 possuíam no máximo 16 canais. Os equipamento atuais chegam a ter de 300 a 500.

PR/SM™

Como se pronuncia PR/SM?

O Processor Resource/Systems Manager, ou simplesmente PR/SM, é um recurso de hardware que a IBM introduziu na arquitetura System/390™, ainda nos anos 1990, e que está presente em todos os equipamentos desde então.

Ele é formado por circuitos e microcódigo que permite criar partições lógicas no mainframe, compartilhando processadores, memória, canais, controladoras e dispositivos de I/O disponíveis num único CPC.

Na prática, o PR/SM permite criar, virtualmente, mainframes diferentes dentro de um único equipamento físico. Cada um desses mainframes virtuais pode rodar seu próprio sistema operacional com acesso exclusivo a alguns recursos de hardware, ou compartilhado com outros mainframes virtuais.

O conceito por trás do PR/SM surgiu com o sistema operacional VM, lançado pela IBM nos anos 1970. O VM permitia a criação de máquinas virtuais independentes em um único equipamento e sobre ele falaremos mais adiante neste livro, no capítulo dedicado aos sistemas operacionais.

O PR/SM, na prática, é um programa hipervisor. O hipervisor é o intermediário entre o equipamento físico e os sistemas operacionais que estão sendo executados em cada mainframe virtual.

LPAR

LPAR, ou logical partition, é o nome correto que se dá aos “mainframes virtuais” criados pelo PR/SM, e que mencionamos no tópico anterior.

Os primeiros equipamentos lançados pela IBM com a tecnologia PR/SM permitiam a criação de até 15 LPARs por mainframe. Atualmente, no z/Series, o PR/SM permite a criação de até 60 LPARs. Na prática, a quantidade de LPARs criadas num determinado equipamento é limitada pela capacidade de processamento, memória e I/O do equipamento físico.

Cada LPAR se comporta como um mainframe isolado e independente, executando uma instância de um sistema operacional. Os sistemas operacionais instalados nas LPARs podem ser de diferentes versões, desde que suportados pelo hardware.

É possível dar IPL em determinada LPAR sem afetar o funcionamento das demais. Isso faz com que esse recurso seja muito usado pelas empresas para isolar usuários e sistemas, seja por medida de segurança ou por necessidade de balanceamento de carga. Uma prática bastante comum é a criação de uma LPAR para produção, outra para desenvolvimento e outra para testes.

Partições lógicas num único equipamento físico
Figura 26. Várias partições lógicas num único equipamento físico

Outro uso bastante frequente em grandes empresas é a criação de LPARs específicas para atender diferentes localidades geográficas: é possível, por exemplo, criar uma LPAR para atender uma filial na América Latina e outra para atender a Índia, em um equipamento físico localizado na matriz da empresa, nos Estados Unidos. Esse tipo de configuração, além de “isolar” os sistemas de cada localidade, otimiza o balanceamento de carga no equipamento principal aproveitando os diferentes fusos horários de cada filial.

Os administradores de sistema configuram as LPARs em função do uso que se pretende fazer dela. É possível alocar exclusivamente um ou mais processadores para uma única LPAR que receberá uma carga de transações e processamentos muito grande. Ou ainda compartilhar apenas um percentual do tempo de um processador para uma LPAR com carga de trabalho menor.

Parallel Sysplex

O compartilhamento de recursos físicos do mainframe por partições lógicas independentes (LPARs) oferece às empresas uma série de flexibilidades, como vimos no tópico anterior.

Em alguns casos, porém, as empresas precisam “conectar” diversos mainframes e fazê-los se comportar como se fossem um único sistema, o que academicamente é conhecido como clustering ou clusterização.

A clusterização oferece às empresas ainda mais disponibilidade, segurança e capacidade de processamento, seja para prevenção de contingências ou otimização dos recursos disponíveis.

Parallel Sysplex® é o nome que se dá à tecnologia da IBM que implementa a clusterização de até 32 mainframes da IBM, e permite acessos de leitura e gravação a dados compartilhados entre esses mainframes. Esses 32 sistemas podem ser equipamentos reais (físicos) ou lógicos (LPARs).

A implementação do Parallel Sysplex em uma instalação depende de um recurso chamado coupling facility, ou CF.

O CF roda em um mainframe separado ou numa LPAR, e é responsável por gerenciar a troca de informações entre os sistemas que compõem o Sysplex.

Configuração Parallel Sysplex
Figura 27. Visão simplificada de uma configuração Parallel Sysplex

Na figura 27 temos dois mainframes (Sistema A e Sistema B) que compartilham suas controladoras de disco. Esses dois mainframes podem ser equipamentos físicos (CPCs) ou partições lógicas (LPARs).

A troca de informação entre esses dois sistemas é intermediada pelo CF, que está instalado em um CPC ou LPAR independente.

Este tipo de configuração pode ser usado tanto para espelhamento quanto para o compartilhamento de informações em bancos de dados instalados em diferentes equipamentos.

Pense numa empresa que tem um mainframe em Frankfurt e outro em Los Angeles. Os dois mainframes estão clusterizados via Parallel Sysplex, isto é, ligados um ao outro e configurados para operar como se fosse um único sistema. Se ocorre uma catástrofe em Los Angeles e o mainframe desta localidade é afetado, o equipamento de Frankfurt assume automaticamente todos os processos e transações e a empresa continua operando sem que os usuários percebam.

A clusterização pode ser empregada também para balancear os recursos disponíveis em equipamentos diferentes. Por exemplo, se uma empresa tem três mainframes em três cidades diferentes, e o volume de processamento cresce de forma anormal em um deles, a clusterização via Parallel Sysplex permite que os dois mainframes subutilizados auxiliem o terceiro mainframe sobrecarregado.


Anterior Conteúdo Próxima