Os limites físicos da computação

The Kernel Hacker’s Bookshelf: Ultimate Physical Limits of Computation
Autor original: Valerie Henson
Publicado originalmente no:
http://lwn.net/
Tradução: Roberto Bechtlufft

A lei de Moore ? todos nós a conhecemos (ou ao menos pensamos que sim). Para ser bem exato, a lei de Moore prevê que o número de componentes por circuito integrado (a um custo mínimo por componente) dobra a cada 24 meses (a previsão original, de 1965, era de 12 meses, mas a lei foi revisada). Pondo de maneira mais prática, a lei de Moore costuma ser usada para descrever o contínuo e exponencial crescimento da tecnologia da computação em diferentes áreas ? capacidade de discos, velocidade do clock e memória RAM, por exemplo. Sempre que nos aproximamos do limite de uma tecnologia de produção, surge o mesmo debate: será o fim da lei de Moore? Até agora, a resposta tem sido não.

Mas a lei de Moore é, na verdade, uma afirmação da engenhosidade humana, das forças do mercado e da física. Sempre que o crescimento exponencial é impossibilitado em alguma área ? seja na velocidade do clock ou em uma determinada técnica de mascaramento ? os engenheiros descobrem uma nova área ou técnica que pode crescer exponencialmente. Nenhuma técnica mantém o crescimento exponencial por muito tempo, e a migração para novas técnicas é rápida o suficiente para que a taxa de crescimento continue a ser exponencial.

A descoberta e o aperfeiçoamento das técnicas de produção é guiada de um lado pela demanda computacional, e do outro pela física. No meio há um terreno pantanoso feito de política, ciência e da boa e velha engenharia. É difícil compreender o vasto número de forças que orientam a demanda e os muitos fatores que afetam a inovação, incluindo a economia de escala, as atitudes culturais diante de novas idéias, as amplas campanhas de marketing e os estranhos eventos que ocorrem nos últimos suspiros das megacorporações. Fazendo uma comparação, é fácil compreender os limites da computação, desde que você tenha um bom entendimento de física quântica, teoria da informação e das propriedades dos buracos negros.

O “Laptop Supremo”

No artigo Os Limites Físicos Supremos da Computação, publicado na revista Nature em 2000 e disponível em PDF aqui, o Dr. Seth Lloyd calcula (e explica) os limites da computação com base no conhecimentos atuais da física. Claro que ainda não conhecemos todos os aspectos da física – e estamos bem longe disso – mas como ocorre em outras áreas da engenharia, sabemos o suficiente para fazer algumas previsões extremamente interessantes sobre o futuro da computação. Esse artigo faz uso de trabalho já existente sobre os limites físicos da computação e introduz vários resultados curiosos, como o limite supremo da velocidade computacional. O que me parece mais interessante é um cálculo surpreendentemente específico de por quantos anos a lei de Moore continuará a ter efeito (continue lendo para saber!).

O Dr. Lloyd começa assumindo que não temos a menor idéia de como será a tecnologia de fabricação de computadores no futuro. Muitas das discussões acerca da lei de Moore se baseiam nos limites físicos de técnicas de fabricação específicas, como o limite do tamanho de recursos em máscaras ópticas imposto pelo comprimento de onda da luz. Ao invés disso, ele ignora completamente as técnicas de fabricação e usa várias constantes físicas importantes: a velocidade da luz c, a constante reduzida de Planck h, geralmente escrita com um traço sobre o h, símbolo não disponível em HTML, então você vai ter que imaginar), a constante gravitacional g e a constante de Boltzmann kB. Essas constantes e nosso conhecimento limitado da relatividade geral e da física quântica são suficiente para deduzir muitos limites importantes da computação. Por isso, estes resultados não dependem de nenhuma técnica de fabricação em particular.

O artigo usa o artifício do “Laptop Supremo” para tornar os cálculos mais concretos. O laptop supremo tem massa de um quilo e volume de um litro (por coincidência, quase o mesmo do Eee PC em 2008), e opera nos limites físicos máximos da computação. Aplicar os limites ao laptop supremo ajuda a entender o tipo de poder computacional portátil que se pode obter – sem considerar a vida útil da bateria, é claro.

A energia limita a velocidade

Então, quais são os limites? O artigo começa deduzindo o limite supremo do número de computações por segundo. Isso depende da energia total do sistema, E, que pode ser calculada com a famosa equação de Einstein que relaciona massa e energia, E = mc2 (eu avisei que íamos precisar da velocidade da luz). Dada a energia total do sistema, precisamos saber o quão rápido o sistema poderá mudar de um estado distinguível para outro – por exemplo, para inverter bits. Isso é limitado pelo princípio da incerteza de Heisenberg. Lloyd diz o seguinte sobre o princípio da incerteza de Heisenberg:

Em particular, a correta interpretação do princípio da incerteza de tempo-energia de Heisenberg ?E?t ? h não é a de que é preciso tempo ?t para medir a energia com precisão ?E (uma falácia que foi jogada para escanteio por Aharonov e Bohm), mas sim a de que um estado quântico com difusão em energia ?E leva um tempo de no mínimo ?t = ?h/2?E para evoluir para um estado ortogonal (e distinguível). Recentemente, Margolus e Levitin expandiram esse resultado para demonstrar que um sistema quântico com energia média E leva um tempo de no mínimo ?t = ?h/2E para evoluir para um estado ortogonal.

Em outras palavras, o princípio da incerteza de Heisenberg implica em dizer que um sistema levará uma quantidade mínima de tempo para mudar de maneira observável, e que o tempo está relacionado à energia total do sistema. O resultado é que um sistema de energia E pode realizar 2E/?h operações lógicas por segundo (uma operação lógica seria, por exemplo, realizar a operação AND em dois bits de entrada – pense nisso mais ou menos como operações de bit único). Como o laptop supremo tem massa de um quilo, ele tem energia E = mc2 = 8.9874 x 1016 joules. O laptop supremo pode realizar um máximo de 5.4258 x 1050 operações por segundo.

O quão perto estamos das 5 x 1050 operações por segundo de hoje? Cada operação dessas é basicamente uma operação de bit único, então devemos converter as medidas atuais de desempenho a suas operações de bit único por segundo equivalentes. A medida mais comum disponível para operações por segundo é a FLOPS (operações de ponto flutuante por segundo) medida pela LINPACK (consulte a página da Wikipedia sobre FLOPS). Estimar o número exato de operações físicas de bit único envolvidas em uma operação de ponto flutuante de 32 bits exigiria conhecimento proprietário da implementação FPU. O número de FLOPS relatados pela LINPACK varia bastante dependendo do nível de otimização do compilador. Neste artigo, faremos uma estimativa bem genérica de 1000 operações de bit único por segundo (SBOPS) por FLOPS, e pedimos a qualquer um com uma estimativa melhor que a poste nos comentários.

Com nosso fator de conversão de 1000 de FLOPS para SBOPS, o dono do recorde atual da LINPACK, o supercomputador Roadrunner (que está perto da minha cidade natal, Albuquerque, no Novo México) alcança a velocidade de 1 petaflop, ou 1000 x 1015 = 1 x 1018 SBOPS. Mas isso num supercomputador ? estamos falando do laptop supremo, que só tem um quilo de massa e um litro de volume. As CPUs de laptops estão por volta de um gigaflop, ou 1012 SBOPS, nos deixando a 39 ordens de magnitude de atingir o limite físico teórico de velocidade computacional. Por fim, os computadores quânticos existente já alcançaram o limite supremo de velocidade computacional ? em um pequeno número de bits, e em ambientes de pesquisa, mas que alcançaram, alcançaram.

A entropia limita a memória.

O que nós queremos mesmo saber do laptop supremo é quantos DVDs adquiridos legalmente poderemos armazenar nele. A quantidade de dados que um sistema pode armazenar é uma função do número de estados físicos distinguíveis que ele pode suportar ? cada configuração distinta de memória exige um estado físico distinto. De acordo com Lloyd, “sabemos há mais de um século que o número de estados acessíveis de um sistema físico, W, está relacionado a sua entropia termodinâmica pela fórmula: S = kB ln W” (S é a entropia termodinâmica do sistema). Isso significa que podemos calcular o número de bits que o laptop supremo pode armazenar se soubermos sua entropia total.

Calcular a entropia exata de um sistema é bem difícil. Do artigo:

Para calcular a entropia máxima de um quilo de matéria em um volume de um litro precisamos de um completo conhecimento das dinâmicas de partículas elementares, gravidade quântica etc. Não possuímos esse conhecimento. Entretanto, a entropia máxima pode ser estimada prontamente com um método que lembra o usado para calcular quantidades termodinâmicas do início do universo. A idéia é simples: modelar o volume ocupado pelo computador como uma coleção de modos de partículas elementares com energia média total E.

A discussão que se segue é da pesada; por exemplo, inclui uma observação de que o número de baryon pode não ser conservado no caso de computação em buraco negro, e nesse ponto eu vou ter que confiar na palavra do Dr. Lloyd. Mas o resultado é que o laptop supremo, operando com máxima entropia, poderia armazenar ao menos 2.13 x 1031 bits. Claro que o máximo de entropia significa que toda a matéria do laptop seria convertida em energia ? o que é, basicamente, o equivalente a uma explosão termonuclear. Como observa Lloyd, “é claro que criar uma embalagem para isso já torna pouco provável que possamos alcançar esse limite.” Talvez num próximo artigo possamos discutir a Embalagem de Laptop Suprema…

E o quão próximos os computadores modernos estão desse limite? Um laptop moderno de 2008 pode armazenar até 250GB ? em torno de 2 x 1012 bits. Estamos umas 19 ordens de magnitude distantes da capacidade máxima de armazenamento, ou mais umas 64 duplicações na capacidade. A capacidade do disco, medida em bits por polegada quadrada, dobrou 30 vezes entre 1956 e 2005, e nesse ritmo, isso vai se repetir mais 64 vezes num período entre 50 e 100 anos. Não é o limite total da lei de Moore aplicado à computação, mas sugere a possibilidade de um fim para a lei de Moore no que se refere ao armazenamento em nosso tempo de vida. Acho que nós, desenvolvedores de sistemas de arquivos, deveríamos começar a pensar num segundo emprego…

Redundância e correção de erros

Os computadores atuais não se aproximam dos limites físicos da computação por muitos motivos. Como Lloyd observa, “Boa parte da energia [dos computadores atuais] está retida na massa de partículas das quais o computador é construído, deixando apenas uma fração infinitesimal para a realização de lógica.” O armazenamento de um único bit na DRAM usa “bilhões e bilhões de graus de liberdade” ? elétrons, por exemplo ? ao invés de apenas um grau de liberdade. Os computadores atuais tendem a conduzir computações a temperaturas em que a matéria permaneça na forma de átomos, e não de plasma.

Outro limite prático fascinante da computação é a taxa de erros de operações, que está atada à taxa em que o computador por dispersar calor no ambiente. O fato é que operações lógicas, por natureza, não exigem a dissipação de energia, como originalmente teorizado por von Neumann. Operações reversíveis (como NOT) que não destroem informações não exigem a dissipação de energia; isso só ocorre em operações irreversíveis (como o AND). Intuitivamente, isso faz sentido; a única maneira de destruir um bit é transformar a informação em calor, do contrário o bit terá sido apenas movido para outro lugar e a informação representada por ele ainda estará por lá. A computação reversível foi implementada e demonstra uma dissipação de força extremamente baixa.

É claro que alguma energia sempre será dispersada, mesmo que a computação seja reversível. No entanto, o apagamento de bits – e dos erros, em particular – exige um gasto mínimo de energia. A taxa na qual o sistema pode “despejar erros no ambiente” na forma de calor limita a taxa de erros de bits do sistema; ou, de forma semelhante, a taxa de erros de bits, combinada à taxa de transferência de calor para fora do sistema limita a taxa de operações com bits. Lloyd estima que a taxa na qual o sistema possa despejar erros no ambiente, relativa à área de superfície, e assumindo a radiação de um corpo escuro, seja de 7.195 x 1042 bits por metro2 por segundo.
Limites computacionais da “poeira inteligente”

Na mesma época em que li o artigo “Limites Supremos”, também li Uma Profundidade no Céu de Vernor Vinge, um dos muitos livros de ficção-científica que retratam alguma forma de “poeira inteligente.” A poeira inteligente é um conceito de elementos computacionais mínimos espalhados pelo ambiente e que operam como computadores distribuídos de baixa energia. A poeira inteligente do livro de Vinge tinha capacidade suficiente para um manual de sistemas completo, o que a mim pareceu uma quantidade de armazenamento absurdamente grande para algo do tamanho de um grão de areia. Por isso eu me sentei e calculei os limites computacionais e de armazenamento de um computador que medisse apenas 1 ?m3 de tamanho, sob as limitações impostas por sua matéria na forma de átomos, e não de plasma.

Lloyd calcula que, sob essas condições, o laptop supremo (de um quilo e um litro) pode armazenar em torno de 1025 bits e conduzir 1040 operações de bit único por segundo. O laptop supremo tem um litro, e há 1015 ?m3 em um litro. Dividindo o armazenamento e as operações por segundo totais por 1015 nos leva a 1010 bits e 1025 operações por segundo – por volta de 1 gigabyte de armazenamento de dados e tantos FLOPS que os prefixos até perdem o sentido. Basicamente, o potencial computacional de uma poeira ultrapassa e muito o maior supercomputador do planeta – pirem, autores de ficção-científica! É claro que nenhum desses cálculos leva em conta a entrega de energia ou a largura de banda de entrada e saída, que pode acabar sendo bem mais importante aos limites da computação.

As implicações do laptop supremo

Calcular os limites do laptop supremo foi muito divertido, mas o que isso significa para a ciência da computação hoje? Sabemos o suficiente para termos uma base teórica genérica de por quanto a Lei de Moore terá efeito. Os laptops atuais armazenam 1012 bits e conduzem 1012 operações de bit único por segundo. O laptop supremo pode armazenar 1031 bits e conduzir 1051 operações de bit único por segundo, abismos fatoriais de 1019 e de 1039 respectivamente. Pelas estimativas de Lloyd, presumindo que a densidade de armazenamento e a velocidade computacional irão crescer em um fator de 108 em 50 anos, o limite do armazenamento será alcançado em uns 125 anos e o de operações por segundo em 250 anos. Imagina-se que os últimos 125 anos sejam de uma busca frenética por melhores algoritmos de compressão – ou de pesquisas físicas teóricas avançadas.

Quando a lei de Moore alcançar seu limite, a única maneira de aumentar o poder computacional será aumentar a massa e o volume do computador, e isso também acabará encontrando limites fundamentais. Um artigo não publicado intitulado Limites Universais da Computação estima que toda a capacidade computacional do universo se acabaria 600 anos antes da lei de Moore.

Até lá, teremos 250 anos fascinantes. É um bocado de tempo para ser relevante a nós que estamos vivos hoje, mas não é tempo suficientemente pequeno para ser ignorado. Os horizontes típicos de planejamento para empreitadas humanas de longo termo (como as relacionadas ao ecossistema) costuma chegar no máximo a uns 300 anos, então talvez não seja tão impensável começar a fazer planos para o fim da lei de Moore. Eu vou começar a trabalhar no algoritmo de compressão LZVH amanhã mesmo.

Uma coisa está clara: nós vivemos a Era de Ouro da computação. Vamos curtir ao máximo.

Valerie Henson é uma consultora Linux especializada em sistemas de arquivos e tem um laptop de um quilo e um litro.

Créditos a Valerie Hensonhttp://lwn.net/
Tradução por Roberto Bechtlufft <robertobech at gmail.com>

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X