Wednesday, January 30, 2013

FLOPS

Olá a todos.

Recentemente, em um post, comentei sobre os supercomputadores.Eu deixei em aberto um termo, de cunho técnico, usado para medir a capacidade de processamento de um computador (tanto desktops como mainframes ou até simples calculadoras).

Esse termo é FLOPS (deveria ser grafado como FLOP/s ou FLOP.s^-1), e ele significa FLoating-point Operations per Seconds, ou Operações de Ponto-Flutuante por Segundo.Antes de mais nada, o que é
"ponto flutuante"?

Vamos usar a aproximação de π=3.1415 como exemplo de número.

Notemos que, em alguns dos países anglófonos, como os EUA, o ponto é o indicador de separação entre inteiros e decimais.Nós, ao fazermos contas na raça (ou seja, no papel), usamos o número da mesma maneira, para facilitar os cálculos.Todavia, para os computadores, é relativamente difícil querer representar 3,1415 dessa maneira.Você teria de definir um sistema que interpretasse o três como inteiro, e o 0,1415 como a parte decimal.Se elevássemos π ao quadrado, teríamos de converter parte do decimal para inteiro, o que seria ainda mais trabalhoso.

Ao invés disso, usa-se a notação científica.Por exemplo, 3,1415 e 31415 * 10^-4 são o mesmo número, ainda que representado de maneiras diferentes.O número de ponto flutuante é armazenado como dois números juntos, um representando a mantissa e o outro representando o expoente, ambos convertidos para binário.Para a execução de operações matemáticas, basta fazer a operação separadamente para a mantissa e o expoente, o que acaba facilitando o processo como um todo.Para os programadores Java, float e double são exemplos de variáveis de ponto flutuante, sendo que a diferença entre os dois é que o double fornece maior precisão em relação ao float.

Um FLOP representa, em grosso modo, uma operação matemática, algo básico para os computadores.Por representar uma operação matemática, podemos pensar que uma calculadora também é um computador, o que é é verdadeiro.A grande diferença é que a diferença dos FLOPS da calculadora para o computador é demasiadamente grande.Uma calculadora, para exibir contas instantaneamente para o usuário, deve ser capaz de executá-la em um tempo inferior a 0.1 segundo, o que faz com que uma calculadora deva ter no mínimo 10 FLOPS.

Um computador "normal" hoje, digamos um Core i3, pode chegar a 40 GFLOPS. (40 * 10^9 FLOPS).Um PlayStation 3, usado pela UNICAMP (se eu não me engano) e pelo Departamento de Defesa dos EUA para a montagem de clusters (redes fechadas de computadores para a execução de cálculos) pode chegar a 218GFLOPS.O maior supercomputador dessa época é o K Computer, um computador fabricado pela japonesa Fujitsu e que pode atingir 10.51 PetaFLOPS (1 PetaFLOP = 1 milhão de gigaflops, 10^15 FLOPS).

Até a próxima.

No comments:

Post a Comment