quinta-feira, 25 de agosto de 2011

Servidor

Em informática, um servidor é um sistema de computação que fornece serviços a uma rede de computadores. Esses serviços podem ser de natureza diversa, como por exemplo, arquivos e correio eletrônico. Os computadores que acessam os serviços de um servidor são chamados clientes. As redes que utilizam servidores são do tipo cliente-servidor, utilizadas em redes de médio e grande porte (com muitas máquinas) e em redes onde a questão da segurança desempenha um papel de grande importância. O termo servidor é largamente aplicado a computadores completos, embora um servidor possa equivaler a um software ou a partes de um sistema computacional, ou até mesmo a uma máquina que não seja necessariamente um computador.
A história dos servidores tem, obviamente, a ver com as redes de computadores. Redes permitiam a comunicação entre diversos computadores, e, com o crescimento destas, surgiu a idéia de dedicar alguns computadores para prestar algum serviço à rede, enquanto outros se utilizariam destes serviços. Os servidores ficariam responsáveis pela primeira função.
Com o advento das redes, foi crescendo a necessidade das redes terem servidores e minicomputadores, o que acabou contribuindo para a diminuição do uso dos mainframes.
O crescimento das empresas de redes e o crescimento do uso da Internet entre profissionais e usuários comuns foi o grande impulso para o desenvolvimento e aperfeiçoamento de tecnologias para servidores.

Um IBM Z10.
 

 TIPOS DE SERVIDOR

Existem diversos tipos de servidores. Os mais conhecidos são:
  • Servidor de Fax: Servidor para transmissão e recepção automatizada de fax pela Internet, disponibilizando também a capacidade de enviar, receber e distribuir fax em todas as estações da rede.
  • Servidor de arquivos: Servidor que armazena arquivos de diversos usuários.
  • Servidor web: Servidor responsável pelo armazenamento de páginas de um determinado site, requisitados pelos clientes através de browsers.
  • Servidor de e-mail: Servidor responsável pelo armazenamento, envio e recebimento de mensagens de correio eletrônico.
  • Servidor de impressão: Servidor responsável por controlar pedidos de impressão de arquivos dos diversos clientes.
  • Servidor de banco de dados: Servidor que possui e manipula informações contidas em um banco de dados
  • Servidor DNS: Servidores responsáveis pela conversão de endereços de sites em endereços IP e vice-versa.
  • Servidor proxy: Servidor que atua como um cache, armazenando páginas da internet recém-visitadas, aumentando a velocidade de carregamento destas páginas ao chamá-las novamente.
  • Servidor de imagens: Tipo especial de servidor de banco de dados, especializado em armazenar imagens digitais.
  • Servidor FTP: Permite acesso de outros usuários a um disco rígido ou servidor. Esse tipo de servidor armazena arquivos para dar acesso a eles pela internet.
  • Servidor webmail: servidor para criar emails na web.
  • Servidor de virtualização: permite a criação de máquinas virtuais (servidores isolados no mesmo equipamento) mediante compartilhamento de hardware, significa que, aumentar a eficiência energética, sem prejudicar as aplicações e sem risco de conflitos de uma consolidação real.
  • Servidor de sistema operacional: permite compartilhar o sistema operacional de uma máquina com outras, interligadas na mesma rede, sem que essas precisem ter um sistema operacional instalado, nem mesmo um HD próprio.
Os clientes e os servidores comunicam através de protocolos, assim como dois ou mais computadores de redes.
Um computador, ocasionalmente, pode prover mais de um serviço simultaneamente. Pode existir em uma rede, um computador que atue como um servidor web e servidor de banco de dados, por exemplo; ou um computador pode atuar como servidor de arquivos, de correio eletrônico e proxy ao mesmo tempo. Computadores que atuem como um único tipo de servidor é chamado de servidor dedicado. Os servidores dedicados possuem a vantagem de atender a uma requisição de um cliente mais rapidamente.

Com exceção do servidor de banco de dados (um tipo de servidor de aplicação), os demais servidores apenas armazenam informações, ficando por conta do cliente o processamento das informações. No servidor de aplicações, os papéis se invertem, com o cliente recebendo o resultado do processamento de dados da máquina servidora.
Em uma rede heterogênea (com diversos hardwares e softwares) um cliente também pode ser um servidor e assim um servidor pode ser "cliente do cliente" tal como "servidor do servidor". Por exemplo, uma rede tem um servidor de impressão e um de arquivos, supondo que você está no servidor de arquivos e necessita imprimir uma folha de um documento que você está escrevendo, quando você mandar imprimir a folha o serviço do servidor de impressão será utilizado, e assim a máquina que você está usando, que é o servidor de arquivos, está sendo cliente do servidor de impressão, pois está utilizando de seu serviço.

Hardware e software de servidores

Hardware

Servidores dedicados, que possuem uma alta requisição de dados por partes dos clientes e que atuam em aplicações críticas utilizam hardware específico para servidores. Já servidores que não possuam essas atuações podem utilizar hardware de um computador comum.
Para começar, muitos servidores baseiam-se em entradas e saídas de informações (principalmente gravações e deleções de arquivos), o que implica interfaces de entrada e saída e discos rígidos de alto desempenho e confiabilidade. O tipo de disco rígido mais utilizado possui o padrão SCSI, que permite a interligação de vários periféricos, dispostos em arranjos RAID.
Devido a operar com muitas entradas e saídas de informações, os servidores necessitam de processadores de alta velocidade, algumas vezes alguns servidores são multi-processados, ou seja, possuem mais de um processador. Servidores também tem disponível uma grande quantidade de memória RAM, sendo geralmente usada para caching de dados.
Por ter de operar por muito tempo (frequentemente de maneira ininterrupta), alguns servidores são ligados a geradores elétricos. Outros utilizam sistemas de alimentação (por exemplo, o UPS) que continuam a alimentar o servidor caso haja alguma queda de tensão.
E, por operar durante longos intervalos de tempo, e devido à existência de um ou mais processadores de alta velocidade, os servidores precisam de um eficiente sistema de dissipação de calor, o que implica coolers mais caros, mais barulhentos, porém de maior eficiência e confiabilidade.
Existem outros hardwares específicos para servidor, especialmente placas, do tipo hot swapping, que permite a troca destes enquanto o computador está ligado, o que é primordial para que a rede continue a operar.
Discute-se muito sobre a utilização ou não de um micro comum, o popular Personal Computer (PC), como servidor e a necessidade de ou não de se adquirir um equipamento mais robusto para atuar como servidor. A resposta a essa questão depende da utilização do equipamento e da "criticidade" do serviço que o servidor está executando. Em uma estrutura não crítica, um computador comum pode ser usado como servidor. Note que o tamanho da rede não importa; por exemplo: uma empresa com 3 instrutores on-line na Internet tem 3 computadores e um deles é o servidor de acesso à Internet. Se este servidor falha o negócio da empresa está parado.
Prevendo esse tipo de necessidade, os fabricantes de componentes de computadores desenvolvem placas mais robustas, aplicam uma engenharia mais elaborada de ventilação, redundância de itens e capacidade de expansão ampliada, para que o servidor possa garantir a disponibilidade do serviço e a confiabilidade no mesmo.
Normalmente a preocupação em desenvolver servidores fica centrada em grandes fabricantes do mercado, que possuem equipes preparadas e laboratórios com esse fim.

Software

Para que funcione uma rede cliente-servidor, é necessário que no servidor esteja instalado um sistema operacional que reconheça esse tipo de rede. Os sistemas operacionais para redes cliente-servidor são:
  • Windows NT, Windows 2000, Windows 2003, Windows XP, Windows Vista, Windows Server 2008 e Windows 7.
  • Unix.
  • Linux.
  • Solaris.
  • FreeBSD.
  • Mac OS X.
  • Novell Netware.
Os sistemas operacionais Windows 95, Windows 98 e Windows ME reconhecem somente redes do tipo ponto-a-ponto; e o sistema operacional DOS não tem suporte a qualquer tipo de rede.
Em servidores, o sistema Unix e sistemas baseados neste (como Linux e Solaris) são os sistemas mais utilizados para aplicações como Firewall e servidor web, ao passo que o sistema Windows, são mais utilizados para Gerenciamento de Usuários e serviços pela facilidade de operação e manutenção (AD).[carece de fontes?]

Servidores na Internet

A Internet, maior rede de computadores do mundo, utiliza o modelo cliente-servidor. Muitos servidores em todo o mundo são interligados e processam informações simultaneamente.
Alguns serviços oferecidos por servidores de internet são: páginas web, correio eletrônico, transferência de arquivos, acesso remoto, mensagens instantâneas e outros. É interessante notar que qualquer ação efetuada por um usuário envolve o trabalho de diversos servidores espalhados pelo mundo.




I. Cliente-servidor

 Cliente-servidor é um modelo computacional que separa clientes e servidores, sendo interligados entre si geralmente utilizando-se uma rede de computadores. Cada instância de um cliente pode enviar requisições de dado para algum dos servidores conectados e esperar pela resposta. Por sua vez, algum dos servidores disponíveis pode aceitar tais requisições, processá-las e retornar o resultado para o cliente. Apesar do conceito ser aplicado em diversos usos e aplicações, a arquitetura é praticamente a mesma.
Muitas vezes os clientes e servidores se comunicam através de uma rede de computador com hardwares separados, mas o cliente e servidor podem residir no mesmo sistema. A máquina servidor é um host que está executando um ou mais programas de servidor que partilham os seus recursos com os clientes.
Um cliente não compartilha de seus recursos, mas solicita o conteúdo de um servidor ou função de serviço. Os clientes, portanto, iniciam sessões de comunicação com os servidores que esperam as solicitações de entrada.

Descrição

A característica de cliente-servidor, descreve a relação de programas em um aplicativo. O componente de servidor fornece uma função ou serviço a um ou muitos clientes, que iniciam os pedidos de serviços.
Funções como a troca de e-mail, acesso à internet e acessar banco de dados, são construídos com base no modelo cliente-servidor. Por exemplo, um navegador da web é um programa cliente em execução no computador de um usuário que pode acessar informações armazenadas em um servidor web na Internet. Usuários de serviços bancários acessando do seu computador usam um cliente navegador da Web para enviar uma solicitação para um servidor web em um banco. Esse programa pode, por sua vez encaminhar o pedido para o seu próprio programa de banco de dados do cliente que envia uma solicitação para um servidor de banco de dados em outro computador do banco para recuperar as informações da conta. O saldo é devolvido ao cliente de banco de dados do banco, que por sua vez, serve-lhe de volta ao cliente navegador exibindo os resultados para o usuário.
O modelo cliente-servidor, se tornou uma das idéias centrais de computação de rede. Muitos aplicativos de negócios a serem escrito hoje utilizam o modelo cliente-servidor. Em marketing, o termo tem sido utilizado para distinguir a computação distribuída por pequenas dispersas computadores da "computação" monolítica centralizada de computadores mainframe.
Cada instância de software do cliente pode enviar requisições de dados a um ou mais servidores ligados. Por sua vez, os servidores podem aceitar esses pedidos, processá-los e retornar as informações solicitadas para o cliente. Embora este conceito possa ser aplicado para uma variedade de razões para diversos tipos de aplicações, a arquitetura permanece fundamentalmente a mesma.

Características do Cliente

  • Sempre inicia pedidos de servidores;
  • Espera por respostas;
  • Recebe respostas;
  • Normalmente conecta-se a um pequeno número de servidores de uma só vez;
  • Normalmente interage diretamente com os usuários finais através de qualquer interface com o usuário;
  • Utiliza recursos da rede.

Características do Servidor

  • Sempre espera por um pedido de um cliente;
  • Atende os pedidos e, em seguida, responde aos clientes com os dados solicitados;
  • Pode se comunicar com outros servidores para atender uma solicitação específica do cliente;
  • Fornece recursos de rede.

Vantagens

  • Na maioria dos casos, a arquitetura cliente-servidor permite que os papéis e responsabilidades de um sistema de computação possam ser distribuídos entre vários computadores independentes que são conhecidos por si só através de uma rede. Isso cria uma vantagem adicional para essa arquitetura: maior facilidade de manutenção. Por exemplo, é possível substituir, reparar, atualizar ou mesmo realocar um servidor de seus clientes, enquanto continuam a ser a consciência e não afetado por essa mudança;
  • Todos os dados são armazenados nos servidores, que geralmente possuem controles de segurança muito maior do que a maioria dos clientes. Servidores podem controlar melhor o acesso e recursos, para garantir que apenas os clientes com as permissões adequadas podem acessar e alterar dados;
  • Desde o armazenamento de dados é centralizada, as atualizações dos dados são muito mais fáceis de administrar, em comparação com o paradigma P2P, onde uma arquitetura P2P, atualizações de dados podem precisar ser distribuída e aplicada a cada ponto na rede, que é o time-consuming é passível de erro, como pode haver milhares ou mesmo milhões de pares;
  • Muitas tecnologias avançadas de cliente-servidor já estão disponíveis, que foram projetadas para garantir a segurança, facilidade de interface do usuário e facilidade de uso;
  • Funciona com vários clientes diferentes de capacidades diferentes.

Desvantagens

  • Um servidor poderá ficar sobrecarregado caso receba mais solicitações simultâneas dos clientes do que pode suportar;
  • Este modelo não possui a robustez de uma rede baseada em P2P. Na arquitetura cliente-servidor, se um servidor crítico falha, os pedidos dos clientes não poderão ser cumpridos. Já nas redes P2P, os recursos são normalmente distribuídos entre vários nós. Mesmo se uma ou mais máquinas falharem no momento de download de um arquivo, por exemplo, as demais ainda terão os dados necessários para completar a referida operação.

Protocolos de transporte e aplicações de rede

Os protocolos do nível de transporte fornecem serviços que garantem uma transferência confiável de dados e aplicativos entre computadores (ou outros equipamentos) remotos. Os programas na camada de aplicação usam os protocolos de transporte para contactar outras aplicações. Para isso, a aplicação interage com o software do protocolo antes de ser feito o contacto. A aplicação que aguarda a conexão informa ao software do protocolo local que está pronta a aceitar mensagem. A aplicação que estabelece a conexão usa os protocolos de transporte e rede para contactar o sistema que aguarda. As mensagens entre as duas aplicações são trocadas através da conexão resultante.
Existem duas formas para que se estabeleça uma ligação cliente-servidor: enquanto uma delas é orientada à conexão, a outra não é. O TCP, por exemplo, é um protocolo de transporte orientado à conexão em que o cliente estabelece uma conexão com o servidor e ambos trocam múltiplas mensagens de tamanhos variados, sendo a aplicação do cliente quem termina a sessão. Já o protocolo UDP não é orientado à conexão, nele o cliente constrói uma mensagem e a envia num pacote UDP para o servidor, que responde sem estabelecer uma conexão permanente com o cliente.

II. Modelo em três camadas

Modelo em três camadas, derivado do modelo 'n' camadas, recebe esta denominação quando um sistema cliente-servidor é desenvolvido retirando-se a camada de negócio do lado do cliente. O desenvolvimento é mais demorado no início comparando-se com o modelo em duas camadas pois é necessário dar suporte a uma maior quantidade de plataformas e ambientes diferentes. Em contrapartida, o retorno vem em forma de respostas mais rápidas nas requisições, excelente performance tanto em sistemas que rodam na Internet ou em intranet e mais controle no crescimento do sistema.

Definição

As três partes de um ambiente modelo três camadas são: camada de apresentação, camada de negócio e camada de dados. Deve funcionar de maneira que o software executado em cada camada possa ser substituído sem prejuízo para o sistema. De modo que atualizações e correções de defeitos podem ser feitas sem prejudicar as demais camadas. Por exemplo: alterações de interface podem ser realizadas sem o comprometimento das informações contidas no banco de dados.

Camadas

Camada de apresentação

É a chamada GUI (Graphical User Interface), ou simplesmente interface. Esta camada interage diretamente com o usuário, é através dela que são feitas as requisições como consultas, por exemplo.

Camada de negócio

Também chamada de Lógica empresarial, Regras de negócio ou Funcionalidade. É nela que ficam as funções e regras de todo o negócio. Inexiste uma interface para o usuário e seus dados são voláteis, ou seja, para que algum dado seja mantido deve ser utilizada a camada de dados.

Camada de persistência

A terceira camada é definida como o repositório das informações e as classes que a manipulam. Esta camada recebe as requisições da camada de negócios e seus métodos executam essas requisições em um banco de dados. Alterando o banco de dados alteraria apenas as classes da camada de dados, e o restante das camadas não seriam afetados por essa alteração.

Aplicações

Aplicações monolíticas

Nos tempos antigos do reinado do grande porte e do computador pessoal independente um aplicativo era desenvolvido para ser usado em uma única máquina . Geralmente este aplicativo continha todas a funcionalidades em um único módulo gerado por uma grande quantidade de linhas de código e de manutenção nada fácil. A entrada do usuário , verificação , lógica de negócio e acesso a banco de dados estava presente em um mesmo lugar. Podemos definir este tipo de aplicação como aplicação de uma camada ou monolítica.

Aplicações em duas camadas

A necessidade de compartilhar a lógica de acesso a dados entre vários usuários simultâneos fez surgir as aplicações em duas camadas. Nesta estrutura a base de dados foi colocada em uma máquina específica, separada das máquinas que executavam as aplicações. Nesta abordagem temos aplicativos instalados em estações clientes contendo toda a lógica da aplicação (clientes ricos ou gordos). Um grande problema neste modelo é o gerenciamento de versões pois para cada alteração os aplicativos precisam ser atualizados em todas as máquinas clientes.

Aplicações em três camadas

Com o advento da internet houve um movimento para separar a lógica de negócio da interface com o usuário. A idéia é que os usuários da WEB possam acessar as mesmas aplicações sem ter que instalar estas aplicações em suas máquinas locais. Como a lógica do aplicativo, inicialmente contida no cliente rico, não reside mais na máquina do usuário, este tipo de cliente passou a ser chamado de cliente pobre ou magro (Thin Client). Neste modelo o aplicativo é movido para o Servidor e um navegador Web é usado como um cliente magro. O aplicativo é executado em servidores Web com os quais o navegador Web se comunica e gera o código HTML para ser exibido no cliente.

Conclusão

Neste modelo a lógica de apresentação esta separada em sua própria camada lógica e física.A separação em camadas lógicas torna os sistemas mais flexíveis permitindo que as partes possam ser alteradas de forma independente. As funcionalidades da camada de negócio podem ser divididas em classes e essas classes podem ser agrupadas em pacotes ou componentes reduzindo as dependências entre as classes e pacotes ; podem ser reutilizadas por diferentes partes do aplicativo e até por aplicativos diferentes. O modelo de 3 camadas tornou-se a arquitetura padrão para sistemas corporativos com base na Web

III. Mainframe

Mainframe Honeywell-Bull DPS 7 da BWW
Um mainframe é um computador de grande porte, dedicado normalmente ao processamento de um volume grande de informações. Os mainframes são capazes de oferecer serviços de processamento a milhares de usuários através de milhares de terminais conectados diretamente ou através de uma rede. (O termo mainframe se refere ao gabinete principal que alojava a unidade central de fogo nos primeiros computadores.
Embora venham perdendo espaço para os servidores de arquitetura PC e servidores Unix, de custo bem menor, ainda são muito usados em ambientes comerciais e grandes empresas (bancos, empresas de aviação, universidades, etc.).
São computadores que anteriormente ocupavam um grande espaço e necessitam de um ambiente especial para seu funcionamento, atualmente possuem o mesmo tamanho dos demais servidores de grande porte com menor consumo de energia elétrica. Os mainframes são capazes de realizar operações em grande velocidade e sobre um volume muito grande de dados.
Quase todos os mainframes têm a capacidade de executar múltiplos sistemas operacionais, e assim não operar como um único computador, mas como um número de máquinas virtuais. Neste papel, um único mainframe pode substituir dezenas ou mesmo centenas de servidores menores. Os maninframes surgiram com a necessidade das empresas em executar tarefas, que levavam dias para serem concluídas. Era preciso então criar supercomputador capaz de executar estas tarefas em menos tempo e com mais precisão.

História

Os mainframes nasceram em 1946 e foram sendo aperfeiçoados. Em 7 de abril de 1964, a IBM apresentou o System/360, mainframe que, na época, foi o maior projeto de uma empresa. Desde então, outras empresas – como a HP e a Burroughs (atual Unisys) – lançaram seus modelos de mainframe. Existem mainframes em operação no mundo inteiro.
Posteriormente a IBM lançou a série /370, e a Burroughs por sua vez lancou as máquinas de terceira geração: B-3500 e B-6500, sucedidas pela série 700: B-3700 e B-6700.
No fim da década de 1970, ao mesmo tempo que cresciam os sistemas destinados a grandes corporações, começaram a reduzir o tamanho de uma série das máquinas para chegar a clientes menores: a IBM lançou o /3 e a Burroughs a série B-1700 e posteriormente o B-700, máquinas de quarta geração, cujo software básico era escrito em MIL (Micro Implemented Language) e SDL (Software Development Language). Foram as primeiras máquinas Burroughs microprogramáveis, o que lhes dava uma flexibilidade impar. Estas máquinas marcaram o início do uso de circuitos integrados com tecnologia TTL com integração em média escala (MSI).
Atualmente a IBM produz quatro versões de mainframes, denominados System Z series, que modernizados, suportam diversos sistemas operacionais: z/OS, z/OS.e, z/VM, z/VSE, VSE/ESA, TPF, z/TPF e Linux on System z.
Hoje, segundo especialistas, há uma forte tendência de crescimento para este setor, inclusive com as novas versões do Cobol (principal linguagem usada nos Mainframes) usando ambiente gráfico.
A primeira empresa a usar o S/360 no Brasil foi a Bayer, empresa de produtos químicos, em 1966. Outras empresas e órgãos do governo adotaram o mainframe depois, como o governo do Estado de São Paulo, as Usiminas e em Paulo Afonso.
Desde então, outras empresas --como a HP e a Unisys-- lançaram seus modelos de mainframe. Além disso, bastante coisa mudou no mundo da tecnologia. Na verdade, boa parte do mercado de informática que existe hoje surgiu depois do primeiro mainframe.
Foi só depois disso, por exemplo, que surgiu o circuito integrado --mais conhecido hoje em dia como chip semicondutor. Sem esses chips, dificilmente teriam surgidos os microprocessadores, que começaram a se tornar populares na década de 80.

Hardware

Como são computadores com capacidade dimensionada para aplicações que exijam grandes recursos, os mainframes possuem hardwares semelhantes como memórias, processadores, discos rígidos etc., porém o tamanho destes hardwares se diferem dos de computadores de outros portes, como servidores e desktops.

Processadores

Os Mainframes possuem um banco de processadores bastante versátil, capaz de suportar uma troca de processadores, inserção ou remoção sem precisar desligar o mainframe . Estes processadores são como pequenas caixas, com uma extremidade para a interface, que podem ser encaixados neste banco de processadores. Por efetuarem processos continuadamente e com sua capacidade próxima ao limite, ocorre um aquecimento excessivo do processador, sendo preciso ter um bom cooler e um sistema de refrigeração na sala onde está o mainframes.

Discos

Os discos podem ser substituidos sem que precise desligar o mainframe, os mesmos normalmente utilizam tecnologia RAID (Redundant Array of Inexpensive Disks) para gerenciar e armazenar dados.

Fitas

Fitas normalmente são elementos essencias em um mainframe, os discos armazenam o sistema operacional e os aplicativos que rodam no mainframe, mas os dados salvos são armazenados em uma fita de backup.

Sistemas e Subsistemas

Sistema Operacional

Os sistemas operacionais desenvolvidos para mainframe são criados especialmente para a finalidade de cada modelo, seja para processar textos, bancos de dados,efetuar cálculos ou gerenciar dispositivos. São baseados em sistemas próprios, por exemplo: z/OS, z/VSE, z/VM, z/TPF (da IBM), OS2200, MCP (da Unisys), GCOS (da Bull), e outros de empresas como Fujitsu, Hitachi e Amdhal.

Subsistemas

MVS (Multiple Virtual System), atualmente conhecido como z/OS, é o sistema operacional dos Mainframes IBM.
TSO (Time Sharing Option), é responsável pela interação entre o Sistema e o Operador. Possibilita checar as transações e permite a inserção de comandos no terminal para alocar arquivos e rodar programas. Ele funciona com base no ISPF que provê a interface baseada em menus e o acesso as aplicações do sistema.
VTAM (Virtual Telecommunications Access Method), é um subsistema que realiza a comunicação, via Rede entre uma aplicação e o terminal (ou outra aplicação). Ex: a conexão entre o Sistema do caixa eletrônico e o CICS ou o IMS.
Consoles (MCS Consoles), são dispositivos que estão fisicamente ligados a um sistema MVS que provê a comunicação básica entre os operadores e o sistema operacional.

Formas de Acesso

Existem dois tipos de acessos, o acesso físico e acesso logico.

Acesso físico.

É feito por meio de placas inseridas na parte posterior no mainframe, podendo ser de vários tipos, como cabos coaxiais, pares trançados e até fibra ótica. Esta placa pode ser ligada diretamente ao terminal ou a um repetidor de sinal, ligado a uma topologia de rede. Normalmente os mainframes estão centralizados em uma rede FDDI, uma rede extremamente rápida devido ao uso de fibra ótica, já que o Mainframe será acessado de vários lugares e não pode tolerar perda da taxa de transferência.

Acesso lógico.

O acesso lógico pode ser feito de várias formas: por um terminal que emula o sistema operacional do mainframe, chamados de “terminais burros” porque não são capazes de executar nenhuma operação interna; por sistemas operacionais Windows e Linux, em PC’s, através de programas como Client Access, que emulam o SO do mainframe, mas podem suportar várias sessões que trabalham paralelamente competindo pelo processador do mainframe e, por serem apenas um aplicativo, liberam o usuário para acessar outros recursos do PC, como processadores de texto, acesso à Internet etc.

Mainframes

A distinção entre supercomputadores e mainframes não é clara e direta, mas geralmente falando, os supercomputadores são utilizados na solução de problemas em que o tempo de cálculo é um limite, enquanto os mainframes são utilizados em tarefas que exigem alta disponibilidade e envolvem alta taxa de transferência de dados (internos ou externos ao sistema). Como consequência:
  • os supercomputadores são mais complexos do ponto de vista do programador, devido ao alto grau de paralelismo na execução das instruções e pelo fato de que, ao contrário dos mainframes, não existe uma camada de abstração que esconde estas questões;
  • os supercomputadores são otimizados para realização de tarefas complicadas utilizando principalmente a memória, enquanto os mainframes são otimizados para realizar tarefas que acessam grandes quantidades de informação oriunda de bases de dados;
  • normalmente os supercomputadores são utilizados em aplicações científicas e militares, enquanto os mainframes são voltados a aplicações civis, sejam governamentais ou empresariais. A análise de modelos de clima, análise estrutural de proteínas e processamento de filmes digitais são tarefas bastante apropriadas para os supercomputadores. O processamento de cartões de crédito, gerenciamento de contas bancárias, negociações mercantis e processamento de seguro social são tarefas normalmente realizadas por mainframes. (Uma exceção: certas aplicações militares exigem um nível de segurança muito alto, que é uma forte característica dos mainframes);
  • as tarefas executadas pelos supercomputadores toleram interrupções (por exemplo, cálculos de modelos de previsão de aquecimento global ou pesquisa acadêmica). Os mainframes executam tarefas que exigem alta disponibilidade, podendo executar serviços continuamente por anos (por exemplo, sistemas de emissão de passagens aéreas ou processamento de cartões de crédito);
  • os supercomputadores são construídos para atender uma finalidade específica. Os mainframes são construídos para realizar uma grande variedade de tarefas de execução diária;
  • os mainframes suportam totalmente o software antigo (no caso da IBM, inclusive aplicações escritas na década de 1960) convivendo com novas versões. No caso dos supercomputadores, a tendência é ignorar a compatibilidade retroativa de software no projeto de novos sistemas;
  • os mainframes possuem um grande número de processadores que auxiliam os processadores centrais. Eles são utilizados em funções de criptografia, gerenciamento de entrada/saída, monitoração do ambiente, manipulação de memória, e etc. Devido a esta característica o número de processadores dos mainframes é muito maior do que se esperaria. Os projetos de supercomputadores não incluem este grande número de processadores de uso específico já que eles não adicionam poder de processamento de cálculo.

III. XSP

XSP é um servidor simples, independente (standalone) escrito em C# que suporta o sistema ASP.NET para Linux e outros sistemas operativos do tipo Unix.


IV. Supercomputador

 Exemplo de um supercomputador

  Supercomputador é um computador com altíssima velocidade de processamento e grande capacidade de memória.Tem aplicação em áreas de pesquisa que grande quantidade de processamento se faz necessária, como pesquisas militares, científica, química, medicina. Supercomputadores são usados para cálculos muito complexos e tarefas intensivas, como problemas envolvendo física quântica, mecânica, meteorologia, pesquisas de clima, modelagem molecular (computação nas estruturas e propriedades de compostos químicos, macromoléculas biológicas, polímeros e cristais) e simulações físicas, como simulação de aviões em túneis de vento, simulação da detonação de armas nucleares e investigação sobre a fusão nuclear.
Os primeiros supercomputadores foram criados na década de 1960 por Seymour Cray.Seymour Cray fundou sua própria empresa, a Cray Research, em 1970 e dominou o mercado da supercomputação durante 25 anos (1965-1990).
Na década de 70 a Universidade de Illinois montou em conjunto com a Burroughs Corporation o ILLIAC IV, um supercomputador que ficou famoso pelas dimensões.
A ficção científica abordou o tema num romance chamado "Colossus".
Hoje os supercomputadores são fabricados por empresas como NEC, SUN, IBM, HP, Apple, e etc. A lista atualizada dos 500 sistemas computacionais mais poderosos conhecidos pode ser obtida em top500.org.

Características

As principais características dos supercomputadores são:
  • Velocidade de processamento: trilhões de operações de ponto flutuante por segundo (TFlops). Conforme a lista Top500 de jun/2010, percebe-se que as empresas fabricantes de (super)computadores tendem a chamar seus próprios produtos de supercomputador (supercomputer) aqueles com processamento superior a 80 TFlops (68º posição até a 1º), e de servidor (server) aqueles com processamento entre 25 e 80 TFlops (500º posição até a 67º);
  • Tamanho: requerem instalações e sistemas de refrigeração especiais;
  • Dificuldade de uso: escolhido por especialistas;
  • Clientes usuais: grandes centros de pesquisa;
  • Penetração social: praticamente zero;
  • Impacto social: muito importante no espaço da investigação, a partir do momento em que fornece cálculos em alta velocidade, permitindo, por exemplo, analisar a ordem do genoma, o número pi, números complexos, o desenvolvimento de cálculos para problemas físicos que requerem uma baixíssima margem de erro, etc.
  • Parques instalados: menos de mil em qualquer lugar no mundo;
  • Custo: atualmente (2010) até centenas de milhões de dólares cada (~ US$ 225MM o Cray XT5);

Tipos de supercomputadores

Processadores vetoriais paralelos (PVP)

Sistemas compostos de poucos processadores poderosos. A interconexão é feita, em geral, por uma matriz de chaveamento (crossbar) de alta vazão. A memória é compartilhada, e os sistemas podem ser classificados como multiprocessadores UMA. Normalmente não utilizam memória cache, usando para essa função um grande número de registradores vetoriais e um buffer de instrução. Exemplos: Cray C-90 (máximo de 16 processadores), Cray T-90 (máximo de 32 processadores), Fujitsu VPP 700 (máximo de 256 processadores). O NEC Sx-6 também é um PVP, e o Earth Simulator, que é um NEC Sx-6, é o número 1 na lista das 500 máquinas mais poderosas do mundo, possuindo 5120 processadores.

Multiprocessadores simétricos (SMP)

Os Symmetric Multiprocessors são sistemas constituídos de processadores comerciais conectados a uma memória compartilhada, podendo também ser classificados como multiprocessadores UMA. Utilizam-se amplamente de memória cache e todos os processadores têm igual acesso ao barramento e à memória compartilhada. São mais fáceis de programar que máquinas que se comunicam por troca de mensagens, já que a forma de programação se aproxima daquela feita em sistemas convencionais, mas tem como desvantagem o uso de um barramento de interconexão (permitindo apenas uma transação por vez). Esta limitação pode reduzir a escalabilidade desta classe de sistemas, fazendo com que sistemas comerciais estejam, geralmente, limitados a 64 processadores. Exemplos: IBM R50 (máximo de 8 processadores), SGI Power Challenge (máximo de 36 processadores), SUN Ultra Enterprise 10000 (máximo de 64 processadores) e HP/Convex Exemplar X-Class (máximo de 32 nós de 16 processadores cada).

Máquinas maciçamente paralelas (MPP)

Os MPPs (Massively Parallel Processors) são multicomputadores NORMA construídos com milhares de processadores comerciais conectados por uma rede de alta velocidade. O alto desempenho é obtido com o grande número de processadores. O fato de haver troca de mensagens torna a programação mais difícil que nos casos em que a memória é compartilhada. Exemplos: Intel Paragon (máximo de 4000 processadores), Connection Machine CM-5 (máximo de 2048 processadores), IBM SP2 (máximo de 512 processadores) e Cray T3D (máximo de 2048 processadores).

Máquinas com memória compartilhada distribuída (DSM)

Nos sistemas DSM (Distributed Shared Memory), mesmo com a memória sendo distribuída entre os nós, todos os processadores podem acessar todas as memórias. O espaço de endereçamento único, o compartilhamento de dados e o controle de coerência de cache são conseguidos com software. Podem ser sistemas NUMA com memória entrelaçada distribuída, ou sistemas NORMA (com memórias locais), onde as memórias podem ser ligadas através de adaptadores de rede (AR) a uma rede de interconexão específica, que permite o acesso a memórias remotas. A máquina, nos dois casos, é considerada CC-NUMA ou SC-NUMA dependendo da implementação da coerência de cache. Exemplo: SGI Origin (máximo de 512 processadores).

Redes de estações de trabalho (NOW)

As redes de estações de trabalho (NOW – Network of Workstations) são constituídas de várias estações de trabalho interligadas por alguma tecnologia tradicional de rede, como Ethernet e ATM. Na prática são redes locais utilizadas na execução de aplicações paralelas. Podem ser vistas como máquinas NORMA de baixo custo, ou sem custo algum caso a rede já exista, ou seja, esta é uma solução significativamente mais barata em relação aos MPPs. A desvantagem clara que se vê em uma rede de estações de trabalho é o fato de que as redes tradicionais costumam ser usadas apenas em tarefas menores (para compartilhar arquivos e acessar impressoras remotas, por exemplo), e geralmente não são otimizadas para operações de comunicação de uma aplicação paralela. O resultado é uma alta latência nessas operações, o que compromete o desempenho da máquina como um todo. São usadas principalmente em instituições de ensino para o estudo de processamento paralelo e distribuído. Exemplo: Estações de trabalho interligadas por tecnologia Ethernet.


Sem comentários:

Enviar um comentário