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
- Site SPEC
- CINT2006 (componente inteiro de SPEC CPU2006)
- Resultados publicados do SPECint2006
- Descrição de cada benchmark