• Nenhum resultado encontrado

Características Essenciais de Servidores

5. Arquitetura e Infraestrutura

5.4. Blades e Servidores 1 Introdução

5.4.2. Características Essenciais de Servidores

Disponibilidade: os servidores, de forma geral, melhoram a disponibilidade com o uso de fontes e ventiladores redundantes e discos em configuração de RAID (Redundant Array of Inexpensive Drives). Diversas pesquisas efetuadas por fabricantes

q

q

q

servidor aumentam ainda mais o nível de disponibilidade. As memórias também permitem hoje a utilização de configurações redundantes. A alta disponibilidade do servidor é obtida com a configuração em cluster de pelo menos dois servidores.

Desempenho: o desempenho de servidores x86 tem avançado rapidamente. Atualmente existe também a possibilidade de utilizar processadores mais econômicos do ponto de vista energético, em detrimento do desempenho. Uma comparação rápida de resultados obtidos com os benchmarks SPEC, ou mesmo o TPC, indica claramente o ganho de desempenho conseguido a cada nova atualização dos processadores.

Gerenciamento: o gerenciamento do hardware do servidor é realizado através de um ​software normalmente fornecido pelo próprio fabricante do servidor, cujo console é baseado na web. O software normalmente é instalado em uma estação de gerenciamento e utiliza o protocolo SNMP (Simple Network Management Protocol). O servidor é o cliente no protocolo SNMP. Os principais comandos são GET, SET e TRAP. Também é possível gerenciar o servidor através de uma placa integrada que permite o acesso remoto ao servidor.

Escalabilidade: é a habilidade que um sistema computacional tem de lidar, de forma transparente, com um número crescente de usuários ao mesmo tempo. A escalabilidade em servidores é conseguida com a adição de mais processadores. Os métodos tradicionais de escalabilidade em servidores são a vertical (scale- up) e a horizontal (scale-out). Em sistemas x86 é mais comum a escalabilidade do tipo scale-out utilizando um software de clustering. Em sistemas RISC é padrão a escalabilidade do tipo scale-up. O licenciamento da camada de software é sempre um aspecto importante a ser considerado na decisão por uma ou outra forma de crescimento do servidor.

Scale-out (escalabilidade horizontal utiliza múltiplos servidores): significa adicionar mais nós ao sistema para crescimento, tais como adicionar um novo servidor a um sistema de banco de dados em cluster . O scale-out é uma arquitetura de software otimizada pelo hardware. Normalmente esta modalidade apresenta menor investimento inicial e é mais flexível à introdução de novas tecnologias.

Scale-up (escalabilidade vertical utiliza múltiplos processadores): significa adicionar recursos em um único nó do sistema (mais memória ou mais processamento, por exemplo). Scale-up é uma arquitetura de hardware otimizada pelo software. O principal elemento de viabilização desta modalidade de escalabilidade é o multiprocessamento simétrico (SMP), que, em certas situações e dependendo da arquitetura da aplicação, apresenta limites de linearidade. Normalmente esta modalidade apresenta maior investimento inicial e menor flexibilidade para introdução de novas tecnologias.

5.4.3. Processadores

O elemento central de um servidor é o processador. Cada processador possui um padrão determinado pelo conjunto de instruções de máquina (Instruction Set Architecture – ISA). Intel e AMD utilizam o padrão x86.

Os processadores Intel e AMD suportam a virtualização no próprio chip, diminuindo o ​overhead do hypervisor quando do acesso ao hardware. Recentemente, as novas versões de processadores AMD e Intel incorporaram as técnicas RVI e EPT, que incorporaram a virtualização MMU chamada Extended Page Tables (EPT), pela Intel, e Rapid Virtualization Index (RVI), pela AMD. Essa modalidade de virtualização no nível do hardware elimina a necessidade de utilizar shadow pages tables.

A computação baseada no padrão x86 vem ganhando escala, e a demanda por maior desempenho é crescente. A arquitetura x86 (x86 se refere a instruções e registradores utilizados) continua a evoluir, mas mantém instruções derivadas da arquitetura 8086 de 16 bits. Esse talvez seja o grande segredo da aceitação dessa arquitetura.

Os fabricantes de processadores x86 mantêm a compatibilidade de instruções para trás e para frente com o padrão. Existem duas principais arquiteturas x86, baseadas em 32 e 64 bits. A Intel convencionou chamar de (IA) 32 e (IA) 64 para as versões de 32 bits e 64 bits da arquitetura x86. Por sua vez, a microarquitetura refere-se ao

instruções, ou seja, a mesma arquitetura, que é o que acontece com os processadores Intel e AMD. A microarquitetura Intel evoluiu passando da opção Netburst para Core e, agora, para o Nehalen. Os processadores AMD Opteron são também largamente utilizados na indústria de servidores e apresentam excelente desempenho .

Uma ideia importante em servidores é utilizar o conceito de benchmark . O benchmark permite comparar duas CPUs de fabricantes distintos para um mesmo setup e condições de carga ou mesmo comparar os resultados obtidos por CPUs diferentes de um mesmo fabricante. Existem vários benchmarks para diversas funções executadas pelos servidores. O benchmarking mais simples é o orientado para o throughput da CPU, como o SPEC CPU 2006, cujos resultados para as CPUs de mercado podem ser obtidos no site do SPEC (Standard Performance Evaluation Corporation, www.spec.org).

Existem também os benchmarks para processamento de transações, que medem a habilidade de um sistema para tratar transações. Esses benchmarks consistem em verificar o acesso a sistemas de banco de dados e atualizações. Na década de 1980, um grupo de engenheiros criou o TPC (Transaction Processing Council, www.tpc.org), uma organização independente de fornecedores com o intuito de criar benchmarks equilibrados e realistas para o processamento das transações. O TPC-C, orientado para o benchmark de sistemas gerenciadores de banco de dados sob consultas complexas, foi criado em 1992 e hoje está na versão 5.11.

A utilização de servidores baseados na plataforma x86 tomou impulso com o avanço da arquitetura cliente/servidor no início da década de 90. Os servidores foram aprimorados em termos de confiabilidade, e o poder de processamento aumentou com o rápido avanço dos processadores, possibilitando o seu uso em quase todo tipo de aplicação. Ainda existem limitações para determinadas cargas de trabalho, mas, em geral, os servidores x86 atendem às demandas do mundo corporativo.

5.4.4. Licenciamento

Servidores com processadores com vários núcleos e virtualização complicam o licenciamento do software.

A maior parte dos softwares para servidor ainda está licenciada por soquete (CPU). O raciocínio é simples: os chips são fáceis de serem mensurados e essa maneira de obter a licença mobiliza o pessoal de TI para sempre utilizar chips mais poderosos.

Obter o máximo de um software sempre exigiu hardware de alto desempenho ; a diferença é que atualmente o desempenho aumenta com o aumento da quantidade de núcleos, em vez de aumentar com a quantidade de megahertz (MHz). Essa estratégia da indústria está ligada ao fato de que o crescimento através do aumento de núcleos é mais interessante, pois reduz o consumo de energia. Além disso, a linearidade que eventualmente poderia ser perdida com a utilização de muitos núcleos (cores) tem sido otimizada pelos fabricantes (Intel e AMD ).

Quando se trata do licenciamento de servidores de vários núcleos é preciso considerar dois aspectos novos: a quantidade de núcleos e a virtualização. A política de licenciamento para fabricantes diferentes não é a mesma.