Árvore de páginas

Homologação do produto

Esta página é dedicada a trazer informações relevantes para o banco de dados que pode ser utilizado com o Protheus. O Protheus está homologado apenas para tecnologias x64.

O banco de dados PostgreSQL pode ser utilizado com o processador ARM a partir de sua versão 15.

O banco de dados PostgreSQL é considerado suportado em uma plataforma (pela comunidade de desenvolvimento do PostgreSQL; uma plataforma é definida como a combinação entre uma arquitetura de CPU e um sistema operacional) se o código provê os recursos adequados ao funcionamento do software nesta, e se a plataforma foi capaz de provisionar e passar pelos testes de regressão. Estes testes são, em sua maioria, automatizados por meio da PostgreSQL Build Farm; um sistema distribuído que automaticamente testa alterações no código do PostgreSQL à medida que estas vão ocorrendo em uma ampla gama de plataformas.

O que é ARM?

ARM é uma sigla para Advanced RISC Machine (máquina RISC avançada), e é uma abordagem de arquitetura no mesmo nível da arquitetura x86. RISC, por sua vez, é uma sigla para Reduced Instruction Set Computing (conjunto de instruções de computação reduzidas). x86, por outro lado, é uma arquitetura de computador CISC: Complex Instruction Set Computing (conjunto de instruções de computação complexas).

Para compreender a diferença entre as arquiteturas, é importante entender os conceitos e a história por trás destas. No âmbito da arquitetura de processadores, as unidades de processamento possuem operações (conjuntos de instrução) predefinidas. Estes conjuntos de instrução são utilizados por sistemas operacionais e programas para a execução deles mesmos. 

A abordagem x86 é mais antiga, tendo o primeiro design de CPU lançado em 1978; nesta época, computadores mainframe ocupavam salas inteiras. Com o avanço da tecnologia e a criação de Personal Computers (PCs: computadores pessoais ou microcomputadores), a Acorn Computers projetou microcomputadores, mas haviam limitações de desempenho por conta do design no chip, que possuía arquitetura CISC (conjunto de instruções de computação complexas). Nesta mesma época, um projeto na universidade da Califórnia, em Berkeley, analisava o uso de recursos em chips de computador; foi descoberto que a maioria dos programas usava apenas uma parte do conjunto de instruções. Reduzindo o número de instruções predefinidas e eliminando as mais complexas, as instruções simples eram executadas mais rapidamente e consumiam menos recursos (como energia e espaço do chip). Neste cenário, surgiu a arquitetura de computador com RISC (conjunto de instruções de computação reduzidas).

No mercado, é possível encontrar, com frequência, processadores baseados em ARM em dispositivos eletrônicos de consumo final, como smartphones, tablets e laptops de baixo custo. Entretanto, isso não significa que processadores baseados em ARM sejam usados apenas para estes fins, já que a ARM Holdings - empresa detentora do licenciamento das arquiteturas - oferece perfis para a projeção de novos processadores. Um exemplo de computador com processador baseado em ARM é o supercomputador Fugaku; seu chip foi projetado baseado na arquitetura de processador ARM versão 8.2A.

A empresa ARM Holdings detém os designs da arquitetura, e não um tipo específico de processador. Consequentemente, os fabricantes podem personalizar a microarquitetura de acordo com sua necessidade.

Com a evolução do mercado e o crescente uso de nuvens públicas, o desenvolvimento de recursos de hardware que suportem data centers, servidores, escalabilidade e computação em nuvem tem buscado alternativas para reduzir seus custos; ofertar diferentes arquiteturas de processamento abrange uma gama maior do público. Neste sentido, alguns provedores de nuvens públicas disponibilizaram computação em nuvem com processadores baseados em ARM a um custo reduzido se comparado a arquiteturas baseadas em x86. 

Levando este cenário em consideração, a comunidade do PostgreSQL buscou a homologação em processadores baseados em ARM para verificar se haveria impacto no uso do banco de dados. Foi constatado que este também pode ser executado em processadores Arm da Ampere, como o Altra e o eMag. Esses processadores são baseados na arquitetura Arm Neoverse N1 e podem oferecer desempenho competitivo em relação aos processadores x86.

Porém, o desempenho do PostgreSQL nestes processadores (assim como para qualquer processador) pode variar de acordo com diversos fatores, incluindo a versão do banco de dados, o sistema operacional utilizado e as configurações de hardwareAvalie cuidadosamente os requisitos de recursos computacionais e os recursos disponíveis antes de implantar o PostgreSQL em sistemas com processadores ARM da Ampere, bem como em sistemas com processadores Intel e AMD.

Esta página é dedicada a trazer informações relevantes para o banco de dados que pode ser utilizado com o Protheus; o Protheus, por sua vez, está homologado apenas para tecnologias x64. 

Homologação do uso do banco de dados com processador baseado em ARM

Ao abranger uma nova arquitetura nos testes de homologação, atestamos a qualidade do produto e garantimos seu funcionamento em diferentes cenários. O banco de dados foi provisionado na OCI (Oracle Cloud Infrastructure), em plataforma Ampere A1 Compute, que é baseada na arquitetura Arm e no processador Ampere Altra. Ele oferece uma relação preço-desempenho superior, dimensionamento quase linear, segurança incorporada devido à arquitetura de núcleo de um único thread e um amplo ecossistema de desenvolvimento. Os processadores Arm são cada vez mais usados em PCs, notebooks e servidores devido à sua arquitetura RISC que requer menos energia e menos silício para cada núcleo. Além disso, o Arm coloca mais núcleos em um soquete de CPU e fornece recursos mais dedicados para cada núcleo, resultando em desempenho previsível, alta densidade de núcleos e baixo consumo de energia. O Ampere A1 Compute facilita o desenvolvimento de servidores no Arm, fornecendo desempenho, recursos e escalabilidade necessários para a infraestrutura da nuvem à borda.

Utilizando o cálculo com a metodologia APDEX (Application Performance Index), a partir de uma baseline pré-estabelecida, é possível definir se uma alteração na arquitetura de seu banco de dados afetará a experiência com o produto Protheus. Este cálculo leva em consideração, dentre outras informações, o tempo médio de resposta esperado de rotinas pré-definidas; trazendo um resultado calculado entre 0 e 1. Quanto mais próximo de 0, maior é o tempo de resposta adquirido comparado ao tempo de resposta esperado; por outro lado, quanto mais próximo de 1, mais próximo do tempo de resposta esperado é o tempo de resposta adquirido. Os testes de homologação possuem uma baseline altíssima, e quando um produto para uso com o Protheus está homologado, significa que este alcançou um score acima do valor pré-definido. Note que o resultado de cada produto, software, plataforma ou arquitetura não é divulgado, pois existem variáveis que podem ser ajustadas de acordo com cada cenário, aumentando o índice de performance e consequentemente agregando mais valor à experiência obtida.

A obtenção dos resultados para o cálculo do APDEX é feita a partir de testes de estresse que simulam milhares de conexões ao mesmo tempo, executando diferentes processos e rotinas com o intuito de observar o comportamento da aplicação em um cenário de alta concorrência, alta carga de operações nas plataformas e durante um período de tempo pré-definido. 

Instalação e performance do banco de dados

Para a instalação do banco de dados, verifique a página Protheus com PostgreSQL - Linux; para tuning, consulte a página 03. Ajustes para performance. Estas configurações não foram alteradas.

Para assegurar que seu ambiente terá melhor performance, prefira utilizar uma versão mais atualizada do banco de dados. Nos testes comparativos entre as versões do SGBD (entre a versão 14 e a versão 15 do PostgreSQL), foi constatado um ganho de 2% em performance com uma redução de 30% dos recursos consumidos, levando em consideração o método APDEX mencionado anteriormente.

Ou seja: com o PostgreSQL na versão 15, você utilizará menos recursos computacionais e mesmo assim terá mais performance, se comparado à versão 14 do PostgreSQL.

Atenção

O comparativo é realizado apenas entre diferentes versões do mesmo banco de dados - neste caso, o PostgreSQL.

  • Sem rótulos