SPECint - SPECint

SPECint é uma especificação de benchmark de computador para poder de processamento inteiro da CPU . É mantido pela Standard Performance Evaluation Corporation (SPEC). SPECint é o componente de teste de desempenho inteiro do conjunto de testes SPEC. O primeiro conjunto de testes SPEC, CPU92, foi anunciado em 1992. Ele foi seguido por CPU95, CPU2000 e CPU2006. O padrão mais recente é SPEC CPU 2017 e consiste em SPECspeed e SPECrate (também conhecido como SPECCPU_2017).

SPECint 2006

CPU2006 é um conjunto de benchmarks projetado para testar o desempenho da CPU de um sistema de computador servidor moderno . É dividido em dois componentes, sendo o primeiro CINT2006, o outro CFP2006 ( SPECfp ), para teste de ponto flutuante.

O SPEC define um tempo de execução básico para cada um dos 12 programas de benchmark. Para SPECint2006, esse número varia de 1000 a 3000 segundos. O teste cronometrado é executado no sistema e o tempo do sistema de teste é comparado ao tempo de referência e uma proporção é calculada. Essa proporção torna-se a pontuação SPECint para esse teste. (Isso difere da classificação em SPECINT2000, que multiplica a proporção por 100.)

Como exemplo para o SPECint2006, considere um processador que pode executar 400.perlbench em 2.000 segundos. O tempo que a máquina de referência leva para executar o benchmark é de 9770 segundos. Portanto, a proporção é de 4,885. Cada proporção é calculada e, em seguida, a média geométrica dessas proporções é calculada para produzir um valor geral.

fundo

Por uma taxa, o SPEC distribui arquivos de código-fonte para usuários que desejam testar seus sistemas. Esses arquivos são escritos em uma linguagem de programação padrão , que é então compilada para cada arquitetura de CPU e sistema operacional em particular . Portanto, o desempenho medido é o da CPU, RAM e compilador e não testa E / S , rede ou gráficos .

Duas métricas são relatadas para um determinado benchmark, "base" e "pico". As opções do compilador são responsáveis ​​pela diferença entre os dois números. Como os benchmarks do SPEC são distribuídos como código-fonte , cabe à parte que realiza o teste compilar esse código. Há um consenso de que os benchmarks devem ser compilados da mesma forma que um usuário compilaria um programa, mas não existe um método consistente para a compilação do usuário, que varia de sistema para sistema. SPEC, neste caso, define dois pontos de referência, "base" e "pico". A base tem um conjunto de regras de compilação mais estrito do que o pico. Menos otimização pode ser feita, os sinalizadores do compilador devem ser os mesmos para cada benchmark, na mesma ordem, e deve haver um número limitado de sinalizadores. Base, então, é o mais próximo de como um usuário compilaria um programa com sinalizadores padrão. A métrica de 'pico' pode ser realizada com otimização máxima do compilador, mesmo na medida de diferentes otimizações para cada benchmark. Este número representa o desempenho máximo do sistema, obtido pela otimização total do compilador.

Os testes do SPECint são realizados em uma ampla variedade de hardware, com resultados normalmente publicados para toda a gama de implementações de nível de sistema que empregam as CPUs mais recentes. Para SPECint2006, as CPUs incluem processadores Intel e AMD x86 e x86-64 , CPUs Sun SPARC , CPUs IBM POWER e CPUs IA-64 . Essa gama de recursos, especificamente neste caso o número de CPUs, significa que o benchmark SPECint normalmente é executado em apenas uma CPU, mesmo se o sistema tiver muitas CPUs. Se uma única CPU tiver vários núcleos , apenas um único núcleo será usado; hyper-threading também é normalmente desativado,

Um benchmark de nível de sistema mais completo que permite que todas as CPUs sejam usadas é conhecido como SPECint_rate2006, também chamado de "Taxa CINT2006".

Benchmarks

O conjunto de testes SPECint2006 consiste em 12 programas de benchmark, projetados para testar exclusivamente o desempenho inteiro do sistema.

Os benchmarks são:

Benchmark Língua Categoria Descrição
400.perlbench C Linguagem de programação Perl Derivado do Perl V5.8.7. A carga de trabalho inclui SpamAssassin, MHonArc (um indexador de e-mail) e specdiff (ferramenta do SPEC que verifica as saídas de benchmark).
401.bzip2 C Compressão O bzip2 versão 1.0.3 de Julian Seward , modificado para fazer a maior parte do trabalho na memória, em vez de fazer E / S.
403.gcc C Compilador C Baseado no gcc Versão 3.2, gera código para Opteron.
429.mcf C Otimização Combinatória Programação de veículos. Usa um algoritmo simplex de rede (que também é usado em produtos comerciais) para agendar o transporte público.
445.gobmk C Inteligência Artificial: vá brincar Joga o jogo Go, um jogo descrito de forma simples, mas profundamente complexo.
456.hmmer C Pesquisar sequência de genes Análise de sequência de proteínas usando modelos de Markov ocultos de perfil (HMMs de perfil)
458.sjeng C Inteligência Artificial: jogar xadrez Um programa de xadrez altamente classificado que também joga várias variantes de xadrez.
462.libquantum C Física: Computação Quântica Simula um computador quântico, executando o algoritmo de fatoração de tempo polinomial de Shor.
464.h264ref C Compressão de Vídeo Uma implementação de referência de H.264 / AVC, codifica um videostream usando 2 conjuntos de parâmetros. Espera-se que o padrão H.264 / AVC substitua o MPEG2
471.omnetpp C ++ Simulação de Eventos Discretos Usa o simulador de eventos discretos OMNet ++ para modelar uma grande rede de campus Ethernet.
473.astar C ++ Algoritmos de localização de caminhos Biblioteca Pathfinding para mapas 2D, incluindo o conhecido algoritmo A *.
483.xalancbmk C ++ Processamento XML Uma versão modificada do Xalan-C ++, que transforma documentos XML em outros tipos de documentos.

Veja também

Referências

links externos