O Futuro da AI é Luminoso (e analógico)

Para concluir a Rápida Introdução à ‘Inteligência Artificial’, publico o post complementar, para apresentar o inovador chip ótico [ainda sem nome comercial] da start-up Lightmatter, contendo o chamado interferômetro Mach-Zehnderque, que promete elevar a computação de sistemas de aprendizagem de máquinas a um novo patamar.

Imagem: iStock

O aprendizado de máquina profundo, ou seja, redes neurais artificiais com muitas camadas ocultas, sempre nos fascina com soluções inovadoras para problemas do mundo real, cada vez em mais áreas, incluindo processamento de linguagem natural, detecção de fraude, reconhecimento de imagem e direção autônoma. As redes neurais ficam melhores a cada dia.

Mas esses avanços têm um preço enorme nos recursos de computação e no consumo de energia. Portanto, não é de se admirar que engenheiros e cientistas da computação estejam fazendo grandes esforços para descobrir maneiras de treinar e operar redes neurais profundas com mais eficiência.

Uma nova e ambiciosa estratégia que está fazendo o ‘début’ este ano é executar a computação de redes neurais usando fótons em vez de elétrons. A Lightmatter começará a comercializar no final deste ano seu chip acelerador de rede neural que calcula com luz. Será um refinamento do protótipo do chip Mars que a empresa exibiu em agosto passado.

O protótipo MARS, instalado em uma placa

Embora o desenvolvimento de um acelerador ótico comercial para aprendizado profundo seja uma conquista notável, a ideia geral de ‘computação com luz’ não é nova. Os engenheiros empregavam regularmente essa tática nas décadas de 1960 e 1970, quando os computadores digitais eletrônicos ainda não tinham capacidade para realizar cálculos complexos. Assim, os dados eram processados no domínio analógico, usando luz.

Em virtude dos ganhos da Lei de Moore na eletrônica digital, a computação óptica nunca realmente pegou, apesar da ascensão da luz [fibras óticas] como veículo para comunicação de dados. Mas tudo isso pode estar prestes a mudar: a Lei de Moore, que durante décadas proporcionou aumentos exponenciais na capacidade dos chips eletrônicos, mostra sinais de estar chegando ao fim, ao mesmo tempo em que as demandas da computação de aprendizado profundo estão explodindo.

Não há muitas escolhas para lidar com esse problema. Pesquisadores de aprendizagem profunda podem até desenvolver algoritmos mais eficientes, mas é difícil prever se esses ganhos serão suficientes. Essa é a razão da Lightmatter estar empenhada em “desenvolver uma nova tecnologia de computação que não dependa do transistor”.

Fundamentos

O componente fundamental no chip Lightmatter é um interferômetro Mach-Zehnder. Esse dispositivo ótico foi inventado em conjunto por Ludwig Mach e Ludwig Zehnder na década de 1890. Mas só recentemente esses dispositivos óticos foram miniaturizados a ponto de um grande número deles poder ser integrado em um chip e usado para realizar as multiplicações de matrizes envolvidas nos cálculos de rede neural.

O interferômetro Mach-Zehnder é um dispositivo usado para determinar as variações relativas de deslocamento de fase entre dois feixes colimados derivados da divisão da luz de uma única fonte. É um dispositivo particularmente simples para demonstrar interferência por divisão de amplitude. Um feixe de luz é primeiro dividido em duas partes por um divisor de feixe e, em seguida, recombinado por um segundo divisor de feixe. Dependendo da fase relativa adquirida pelo feixe ao longo dos dois caminhos, o segundo divisor de feixe refletirá o feixe com eficiência entre 0 e 100%. – Gráfico: Vox Leone – Uso Permitido

Esses feitos só se tornaram possíveis nos últimos anos devido ao amadurecimento do ecossistema de manufatura de fotônica integrada, necessário para fazer chips fotônicos para comunicações.

O processamento de sinais analógicos transportados pela luz reduz os custos de energia e aumenta a velocidade dos cálculos, mas a precisão pode não corresponder ao que é possível no domínio digital. O sistema é 8-bits-equivalente. Isso por enquanto mantém o chip restrito a cálculos de inferência de rede neural – aqueles que são realizados depois que a rede foi treinada.

Os desenvolvedores do sistema esperam que sua tecnologia possa um dia ser aplicada também ao treinamento de redes neurais. O treinamento exige mais precisão do que o processador ótico pode fornecer nesta etapa.

A Lightmatter não está sozinha em busca da luz para cálculos de redes neurais. Outras startups que trabalham nesta linha são Fathom Computing, LightIntelligence, LightOn, Luminous e Optalysis.

A Luminous espera desenvolver sistemas práticos em algum momento entre 2022 e 2025. Portanto, ainda teremos que esperar alguns anos para ver como essa abordagem vai evoluir. Mas muitos estão entusiasmados com as perspectivas, incluindo Bill Gates, um dos maiores investidores da empresa.

Uma coisa é clara: os recursos de computação dedicados aos sistemas de inteligência artificial não podem continuar a crescer sustentavelmente na taxa atual, dobrando a cada três ou quatro meses. Os engenheiros estão ansiosos para utilizar a fotônica integrada para enfrentar esse desafio de construir uma nova classe de máquinas de computação drasticamente diferentes daquelas baseadas nos chips eletrônicos convencionais, que agora se tornam viáveis para fabricação. São dispositivos que no passado recente só podiam ser imaginados.

Os Perigos do Software Evidencial – ou Quem Garante o Bafômetro?

No Lawfare Blog, Susan Landau escreve um excelente ensaio sobre os riscos apresentados pelos aplicativos usados em dispositivos de coleta de evidências (um bafômetro é provavelmente o exemplo mais óbvio). Bugs e vulnerabilidades nessa classe de equipamento podem levar a evidências imprecisas. Para compor o problema, a natureza proprietária do software torna difícil para a equipe de defesa dos réus examiná-lo. A seguir um brevíssimo resumo da essência do material.

Imagem: iStock

[…]

Os engenheiros de software propuseram um teste de três partes.

Primeiro, o tribunal deve ter acesso ao “Log de erros conhecidos”, algo que deve fazer parte de qualquer bom projeto de software desenvolvido profissionalmente.

Em seguida, o tribunal deve considerar se as provas apresentadas podem ser afetadas materialmente por um erro de software. Ladkin e seus co-autores observaram que a maioria das funcionalidades não apresentará erro, mas o momento preciso em que o software registra o uso do dispositivo pode facilmente estar incorreto.

Finalmente, os especialistas em confiabilidade recomendaram verificar se o código adere a um determinado padrão da indústria usado em uma versão não computadorizada da tarefa (por exemplo, os contadores sempre registram todas as transações – portanto, o software usado na contabilidade também deve registrar).

[…]

Objetos inanimados há muito servem como prova em tribunais: a maçaneta da porta contendo uma impressão digital, a luva encontrada na cena de um crime, o resultado do bafômetro que mostra um nível de álcool no sangue três vezes o limite legal. Mas o último desses exemplos é substancialmente diferente dos outros dois. Os dados de um bafômetro não são a entidade física em si, mas sim um cálculo de um software a respeito do nível de álcool no hálito de um motorista potencialmente bêbado. Desde que a amostra de respiração tenha sido preservada, pode-se sempre voltar e testá-la novamente em um dispositivo diferente.

O que acontece se o software cometer um erro e não houver mais nenhuma amostra para verificar? Ou, e se o próprio software produzir a evidência contra o réu? No momento em que escrevemos este artigo, não havia nenhum precedente no qual a lei permita que o próprio réu examine o código subjacente.

[…]

Dada a alta taxa de erros em sistemas de software complexos, meus colegas e eu concluímos que, quando programas de computador produzem uma prova, os tribunais não podem presumir que o software probatório seja confiável. Em vez disso, a acusação deve disponibilizar o código para uma “auditoria contraditória” pelos especialistas designados pelo réu[1]. E para evitar problemas em que o governo não tenha o código para que este seja inspecionado, os contratos de compras governamentais devem incluir a garantia de entrega do código-fonte do software adquirido – código que seja mais ou menos legível pelas pessoas – para cada versão do código ou dispositivo.

Ler o trabalho na íntegra [em inglês] em Lawfare Blog.

* * *

O comentário pertinente é: o Estado pode exigir calibração regular do bafômetro, mas quem os inspeciona? Há garantia de que o poder público multará a polícia por não verificar se os bafômetros estão calibrados de forma adequada além de estar também funcionando corretamente? E quem calibra os calibradores?

Se nenhuma amostra da respiração for retida, apenas o registro da observação do software, como a leitura de um bafômetro é essencialmente diferente de um boato ou palavra-de-boca? Será porque o bafômetro é “tecnológico”? Assumir que o instrumento é mais preciso que uma testemunha humana, apenas porque é tecnológico, gera outros grandes problemas conceituais.

Mas acho que o ponto mais amplo é este: dada a quase total falta de responsabilidade da indústria do software, a inescrutabilidade do código proprietário e a qualidade duvidosa da maioria do software comercial, um tribunal – que busca a verdade – não deve acolher prima facie evidências que consistam exclusivamente do resultado de um software.

Este não é um problema técnico, mas um problema legal causado por políticas inadequadas: a indústria do software precisa de regulamentação, responsabilidade e reforma das leis de direitos autorais.

[1] Um especialista que consultei – que um dia estará escrevendo neste espaço, gentilmente me explicou [o que agradeço penhoradamente] que esse protocolo não existe no ordenamento brasileiro. Mas da explicação depreendo que a lei brasileira pode comportar soluções análogas a essa.

A Crise das Redes: Como Administrar o Comportamento Coletivo Global

Abrimos esta semana apresentando em português o necessário estudo “Administração do Comportamento Coletivo Global”, sobre o que eu pessoalmente caracterizo como a Crise das Rede Sociais. A sociedade humana nunca teve que lidar com entidades tão potentes, com tão grande potencial desagregador, tão desconhecidas e tão incompreendidas. Estamos em um momento-chave da civilização, e o que fizermos nesta década definirá o caminho da espécie humana por séculos.

A ‘Economia da Atenção’ tem facilitado comportamentos extremos e provocado rupturas políticas e culturais. Sua influência na opinião pública exibe uma escala sem precedentes na evolução da civilização. Imagem: iStock

Introdução

O comportamento coletivo fornece uma estrutura para a compreensão de como as ações dos grupos emergem naturalmente do compartilhamento de informações. Em humanos, os fluxos de informação foram inicialmente moldados pela seleção natural, mas são cada vez mais estruturados por tecnologias de comunicação emergentes. Nossas redes sociais maiores e mais complexas agora movimentam informações de alta fidelidade, através de grandes distâncias, a baixo custo. A era digital e a ascensão das mídias sociais aceleraram as mudanças em nossos sistemas sociais, com consequências funcionais ainda mal compreendidas. Essa lacuna em nosso conhecimento representa o principal desafio para o progresso científico, para a democracia e para as ações de enfrentamento das crises globais. Argumentamos que o estudo do comportamento coletivo deve ser elevado a uma “disciplina de crise”, assim como a medicina, a conservação e a ciência do clima, e ter foco em fornecer uma visão prática para a administração dos sistemas sociais destinada aos formuladores de políticas públicas bem como os reguladores.

Comportamento coletivo se refere às instâncias em que grupos exibem ação coordenada na ausência de um líder óbvio: de bilhões de gafanhotos, estendendo-se por centenas de quilômetros, devorando a vegetação à medida que avançam; de cardumes de peixes convulsionando como um fluido animado quando sob ataque de predadores às nossas próprias sociedades, caracterizadas por cidades, com edifícios e ruas cheias de cor e som, vivas de atividade. A característica comum de todos esses sistemas é que as interações sociais entre os organismos individuais dão origem a padrões e estruturas em níveis mais elevados de organização, desde a formação de vastos grupos nômades até o surgimento de sociedades baseadas na divisão de trabalho, normas sociais, opiniões, e dinâmica de preços.

Nas últimas décadas, o “comportamento coletivo” evoluiu de uma descrição de fenômenos gerais para uma estrutura conduciva à compreensão dos mecanismos pelos quais a ação coletiva emerge (3⇓⇓⇓-7). Ele revela como as propriedades de “ordem superior” das estruturas coletivas em grande escala, se retroalimentam para influenciar o comportamento individual, que por sua vez pode influenciar o comportamento do coletivo, e assim por diante. O comportamento coletivo, portanto, se concentra no estudo de indivíduos no contexto de como eles influenciam e são influenciados pelos outros, levando em consideração as causas e consequências das diferenças interindividuais em fisiologia, motivação, experiência, objetivos e outras propriedades.

Imagem: iStock

As interações multiescala e o feedback que fundamentam o comportamento coletivo são marcas definidoras de “sistemas complexos” – que incluem nosso cérebro, redes de energia, mercados financeiros e o mundo natural. Quando perturbados, os sistemas complexos tendem a exibir uma resiliência finita seguida por mudanças catastróficas, repentinas e muitas vezes irreversíveis na sua funcionalidade. Em uma ampla gama de sistemas complexos, a pesquisa destacou como a perturbação antropogênica – tecnologia, extração de recursos e crescimento populacional – é uma fonte crescente, se não dominante, de risco sistêmico. No entanto, a pesquisa científica sobre como os sistemas complexos são afetados pela tecnologia humana e pelo crescimento populacional tem se concentrado mais intensamente nas ameaças que eles representam para o mundo natural.

Temos uma compreensão muito mais pobre das consequências funcionais das recentes mudanças em grande escala no comportamento humano coletivo e na tomada de decisões. Nossas adaptações sociais evoluíram no contexto de pequenos grupos de caçadores-coletores resolvendo problemas locais por meio de vocalizações e gestos. Em contraste, agora enfrentamos desafios globais complexos, de pandemias a mudanças climáticas – e nos comunicamos em redes dispersas conectadas por tecnologias digitais, como smartphones e mídias sociais.

Com ligações cada vez mais fortes entre os processos ecológicos e sociológicos, evitar a catástrofe a médio prazo (por exemplo, coronavírus) e a longo prazo (por exemplo, mudança climática, segurança alimentar) exigirá respostas comportamentais coletivas rápidas e eficazes – ainda não se sabe se a dinâmica social humana permitirá tais respostas.

Além das ameaças ecológicas e climáticas existenciais, a dinâmica social humana apresenta outros desafios ao bem-estar individual e coletivo, como recusa de vacinas, adulteração de eleições, doenças, extremismo violento, fome, racismo e guerra.

Nenhuma das mudanças evolutivas ou tecnológicas em nossos sistemas sociais ocorreu com o propósito expresso de promover a sustentabilidade global ou a qualidade de vida. Tecnologias recentes e emergentes, como mídia social online, não são exceção – tanto a estrutura de nossas redes sociais quanto os padrões de fluxo de informações por meio delas são direcionados por decisões de engenharia feitas para maximizar a lucratividade. Essas mudanças são drásticas, opacas, efetivamente não regulamentadas e de grande escala.

Disciplina de Crise

As consequências funcionais emergentes são desconhecidas. Não temos a estrutura científica necessária para responder até mesmo às questões mais básicas que as empresas de tecnologia e seus reguladores enfrentam. Por exemplo, será que um determinado algoritmo para recomendar amigos – ou um para selecionar itens de notícias a serem exibidos – promove ou impede a disseminação de desinformação online? Não temos um corpo de literatura embasado teoricamente e verificado empiricamente para informar uma resposta a tal pergunta. Na falta de uma estrutura desenvolvida, as empresas de tecnologia se atrapalharam com a pandemia de coronavírus em curso, incapazes de conter a “infodemia” de desinformação que impede a aceitação pública de medidas de controle, como máscaras e testes generalizados.

Em resposta, os reguladores e o público têm insistido nos pedidos de reforma do nosso ecossistema de mídia social, com demandas que vão desde maior transparência e controles de usuário até responsabilidade legal e propriedade pública. O debate básico é antigo: os processos comportamentais em grande escala são autossustentáveis ​​e autocorretivos, ou requerem gerenciamento e orientação ativos para promover o bem-estar sustentável e equitativo? Historicamente, essas questões sempre foram tratadas em termos filosóficos ou normativos. Aqui, construímos nossa compreensão dos sistemas complexos perturbados para argumentar que não se pode esperar que a dinâmica social humana produza soluções para questões globais ou promova o bem-estar humano sem uma política baseada em evidências e administração ética.

A situação é paralela aos desafios enfrentados na biologia da conservação e na ciência do clima, onde indústrias insuficientemente regulamentadas otimizam os seus lucros enquanto minam a estabilidade dos sistemas ecológicos. Tal comportamento criou a necessidade de uma política urgente baseada em evidências, na falta de uma compreensão completa da dinâmica subjacente dos sistemas (por exemplo, ecologia e geociências). Essas características levaram Michael Soulé a descrever a biologia da conservação como o contraponto da “disciplina de crise” à ecologia. As disciplinas de crise são distintas de outras áreas de pesquisa urgente baseada em evidências em sua necessidade de considerar a degradação de todo um sistema complexo – sem uma descrição completa da dinâmica do sistema. Sentimos que o estudo do comportamento humano coletivo deve se tornar a resposta da disciplina de crise às mudanças em nossa dinâmica social.

Como o comportamento humano coletivo é o resultado de processos que abrangem escalas temporais, geográficas e organizacionais, abordar o impacto da tecnologia emergente no comportamento global exigirá uma abordagem transdisciplinar e um colaboração sem precedentes entre cientistas em uma ampla gama de disciplinas acadêmicas. À medida que nossas sociedades são cada vez mais instanciadas na forma digital, abstrações de processos sociais – as redes são um exemplo proeminente – tornam-se partes muito reais da vida diária. Essas mudanças apresentam novos desafios, bem como oportunidades, para avaliação e intervenção. Disciplinas dentro e fora das ciências sociais têm acesso a técnicas e formas de pensar que expandem nossa capacidade de entender e responder aos efeitos da tecnologia de comunicação. Acreditamos que tal colaboração é urgentemente necessária.

Ler artigo original na íntegra:

Stewardship of Global Collective Behavior

Joseph B. Bak-Coleman, Mark Alfano, Wolfram Barfuss, Carl T. Bergstrom, Miguel A.
Proceedings of the National Academy of Sciences of the United States of America

Sexta de Leão: as Relações Íntimas Entre Porn & Tech

Ao longo da história das mídias, da linguagem vernacular à tipografia, à fotografia, aos livros de bolso, ao videoteipe, à TV a cabo e streaming, às linhas telefônicas “900”, ao Minitel francês, aos laser-discs e CD-ROMs, até a Internet, a pornografia sempre mostrou o caminho para a tecnologia de consumo. Não é a pornografia, diz um argumento, é a distribuição!

Imagem: iStock

O vídeo ultra-conservador Perversion for Profit de 1965 [sem link para não ferir o ranking do blog] afirma: “A pornografia e o desvio sexual sempre fizeram parte da condição humana, isso é verdade. Mas agora tudo ganhou uma nova dimensão… Impressoras de alta velocidade, transporte rápido, distribuição em massa… tudo se combinou para colocar as obscenidades mais loucas ao alcance de cada homem e mulher”.

Longe vão esses tempos ingênuos diante do inesgotável buffet de imagens e sensações de que o usuário médio de Internet dispõe em 2021. O pornô até o ano 2000 era basicamente Playboy e Penthouse – por mais sexistas que fossem. Hoje a pornografia está mudada completamente, e mudou por causa da internet . A internet tornou a pornografia acessível – e (pseudo) anônima.

Todo mundo conhece a extensão da pornografia, mas poucos percebem seu verdadeiro poder. Ao ler (cursivamente) “The Sex Effect” – que examina as relações ocultas entre sexo e cultura – fiquei surpreendentemente consciente da quantidade de tecnologias de consumo que acabaram sendo adotadas pelas massas por causa da pornografia. Videocassetes, comércio eletrônico, serviços de streaming, marketing de rede – e, em última análise, a própria internet – têm uma dívida de gratidão para com os vendedores de obscenidades que ajudaram a popularizá-los. Porque, embora os militares tenham criado a internet, eles não teriam sido capazes de encontrar uma base de consumidores tão sólida sem a pornografia. Pense nos militares como o inventores/criadores de um serviço e a pornografia como o veículo que leva o serviço às massas.

“De inúmeras formas, grandes ou aparentemente insignificantes, a indústria pornográfica abriu um caminho comercial que outras indústrias estão assimilando e se apressando em seguir”, disse Frederick Lane, autor de “Lucros obscenos: Os empreendedores da pornografia na era cibernética”.

Embora as novas tecnologias de modo geral tenham permitido a expansão da indústria pornográfica, a internet tem sido uma faca de dois gumes para a indústria. A Internet aumentou a prevalência e a popularidade da pornografia, mas também facilitou a pornografia gratuita e de fácil acesso, assim como o conteúdo sexual criado pelo usuário. Muito resiliente, o setor tem sido criativo em superar essas circunstâncias.

Essa indústria nunca parou de inovar, – apesar da falência de muitas empresas pornográficas na última década. Brinquedos sexuais controlados por computador, realidade virtual e avatares sexuais são apenas alguns dos produtos com os quais os executivos do mundo pornô estão fazendo experiências.

Imagem: iStock

Os modelos de negócio do pornô também evoluíram

Para combater o onipresente conteúdo gratuito, as empresas pornográficas estão criando iniciativas voltadas à experiências premium – tanto ao vivo quanto online. Isso é feito por meio da venda de produtos e serviços derivados, como sessões de fotos (com o vibrador que foi usado durante uma cena de sexo específica); seminários ‘educacionais’ (para ensinar aos casais coisas como dinâmicas da submissão e dominação); tours em estúdios (ao vivo e virtuais); franquias de clubes de strip, swing, bares, lojas, restaurantes, hotéis; webcams ao vivo com as novas divas – as estrelas pornôs; podcasts e rádio; eventos; financiamento coletivo de conteúdo e criação de pacotes personalizados nos quais os consumidores pagam para atuar como diretores e atores… A lista é infindável.

Mesmo que a pornografia tenha tido esse impacto descomunal nas tecnologias de consumo e serviços que as pessoas usam no dia a dia, raramente ela recebe o devido crédito, já que a discussão sobre pornografia na sociedade é sempre – e naturalmente – guiada pela ideologia.

“Se não fosse pelo estigma, a pornografia seria louvada publicamente como uma indústria que soube desenvolver, adotar e difundir novas tecnologias com sucesso e rapidez”, escreveu o historiador Jonathan Coopersmith. “Mas, devido à própria natureza do assunto, o silêncio e o constrangimento sempre foram as reações padrão.”

Embora a maioria das pessoas já tenha usado pornografia casualmente, aquelas que aparecem nas notícias sobre ela normalmente pertencem a dois extremos: lobistas pró-pornografia e fanáticos anti-pornografia tentando convencer os eleitores da justiça de sua causa. Mas até que a sociedade olhe além de seu conteúdo diáfano e de seu complexo significado, o impacto real do erotismo permanecerá em grande parte desconhecido.

Para concluir esta sexta-feira [na verdade, para começar, :wink], deixo um trecho do trabalho de Peter Johnson (1996) “Pornography Drives Technology: Why Not to Censor the Internet” Federal Communications Law Journal: Vol. 49 : Iss. 1 , Article 8], disponível [em inglês] no site do FCLJ

“‘A grande arte é sempre flanqueada por suas irmãs sombrias: a blasfêmia e a pornografia.’ O mesmo é verdade para as artes mundanas que chamamos de mídia. Onde há a Bíblia de Gutenberg, também há Rabelais; onde há correio, também há cartões postais eróticos; onde há um romance de capa dura em três volumes, há a literatura barata em papel reciclado.

A Pornografia, longe de ser um mal que a Primeira Emenda deve tolerar, é um bem positivo que incentiva a experimentação com novas mídias. A Primeira Emenda, portanto, não lida apenas com valor intelectual, moral, político e artístico, mas também com o valor prático e econômico. Insta os adultos, sob consentimento mútuo, desinibidos pela falta de censura, a procurar novos estilos de vida e comunicação, bem como novas maneiras de ganhar dinheiro com os novos costumes. Portanto, embora possa ser politicamente arriscado e socialmente imprudente incentivar a pornografia por computador, os legisladores deveriam se afastar e deixar a midia seguir por onde a pornografia levar.”

* * *

Obs.: Sendo este um blog, o post pretende estimular a discussão agnóstica e desapaixonada. Este texto não representa todas as sutilezas de minha posição pessoal sobre a questão.

O Que é Preciso Saber Sobre SSDs

Muito longo, não vou ler:

SSDs tornaram-se bastante baratos e têm um desempenho muito alto. Por exemplo, um SSD de servidor Samsung PM1733 custa cerca de US$ 200 por TB e promete cerca de 7 GB/s de leitura e 4 GB/s de largura de banda de gravação. Para alcançar esse alto desempenho, é necessário saber como funcionam os SSDs e esta postagem procura descrever os mecanismos subjacentes mais importantes dos SSDs flash.

* * *

Os SSDs, menores e com maior capacidade de armazenamento, permitiram uma geração de dispositivos ‘slim’ – Imagem: iStock

Solid-State Drives (SSDs) baseados em flash têm substituído amplamente os discos magnéticos rígidos como meio de armazenamento padrão. Do ponto de vista de um programador, SSDs e discos rígidos são muito semelhantes: ambos são persistentes, permitem o acesso baseado em página por meio de sistemas de arquivos e chamadas de sistema, e têm grande capacidade.
Há por outro lado diferenças importantes, que se tornam decisivas quando se deseja otimizar o desempenho de um SSD.

Como veremos, os SSDs são mais complicados e seu comportamento no desempenho pode parecer bastante intrigante se pensarmos neles apenas como “discos rápidos”. O objetivo desta postagem é fornecer uma compreensão do por quê os SSDs se comportam dessa maneira – conhecimento que pode ajudar a criar programas mais adequados para explorá-los. (Observe que eu discuto o flash NAND, não uma memória como a Intel Optane, que tem características diferentes.)

Disco não. Unidade é o nome

Os SSDs costumam ser chamados de “discos”. Isso é enganoso, porque eles de fato armazenam dados em semicondutores em vez de em um disco mecânico. Para ler ou gravar em um bloco aleatório, um disco deve mover mecanicamente sua cabeça para o ponto correto, o que leva cerca de 10 ms [milissegundos]. Em contraste, uma leitura aleatória de um SSD leva cerca de 100 us [microssegundos] – 100 vezes mais rápido. Essa baixa latência de leitura é a razão pela qual a inicialização de um SSD é muito mais rápida do que a inicialização de um disco.

As Paralelas

Outra diferença importante entre discos e SSDs é que os discos têm um cabeçote para leitura/escrita e funcionam bem apenas para acessos sequenciais. Os SSDs, em contraste, consistem em dezenas, ou mesmo centenas, de chips flash (“unidades paralelas”), que podem ser acessados ​​simultaneamente.

Os SSDs distribuem os arquivos maiores de forma transparente pelos chips flash na granularidade da página, e um hardware pré-buscador garante que as varreduras sequenciais explorem todos os chips flash disponíveis. No entanto, no nível do flash não há muita diferença entre leituras sequenciais e aleatórias. Na verdade, para a maioria dos SSDs, também é possível usar quase toda a largura de banda disponível com leituras de página aleatórias. Para fazer isso, é necessário agendar simultaneamente centenas de solicitações aleatórias de entrada e saída para manter todos os chips flash ocupados. Isso pode ser feito iniciando muitos threads ou usando interfaces assíncronas de entrada e saída.

Gravando

As coisas ficam ainda mais interessantes com as gravações. Por exemplo, se olharmos com atenção para a latência de gravação, podemos medir resultados tão baixos quanto 10us – 10 vezes mais rápido do que uma leitura. No entanto, a latência só parece baixa porque os SSDs estão armazenando gravações em cache na RAM volátil. A latência real de gravação do flash NAND é de cerca de 1 ms – 10 vezes mais lenta do que uma leitura. Em SSDs de consumidor, isso pode ser medido emitindo um comando sync/flush após a gravação, para garantir que os dados persistam no flash. Na maioria dos SSDs de alta performance [data center/servidor], a latência de gravação não pode ser medida diretamente: a sincronização/liberação será concluída imediatamente porque uma ‘bateria’ garante a persistência do cache de gravação, mesmo em caso de perda de energia.

Para alcançar alta largura de banda de gravação, apesar da latência relativamente alta, os SSDs usam o mesmo truque das leituras: eles acessam vários chips flash simultaneamente. Como o cache de gravação pode gravar páginas de maneira assíncrona, não é necessário agendar muitas gravações simultaneamente para obter um bom desempenho de gravação. No entanto, a latência de gravação nem sempre pode ser completamente oculta: por exemplo, como uma gravação ocupa um chip flash 10 vezes mais do que uma leitura, as gravações causam latências de cauda significativas para leituras no mesmo chip flash.

Gravações fora-do-local

Nosso entendimento está ignorando um fato importante: as páginas flash NAND não podem ser substituídas. As gravações de página só podem ser executadas sequencialmente nos blocos que foram apagados anteriormente. Esses blocos de apagamento têm um tamanho de vários MB e, portanto, consistem em centenas de páginas. Em um SSD novo, todos os blocos estão apagados e é possível começar a anexar novos dados diretamente.

Atualizar páginas, no entanto, não é tão fácil. Seria muito “overhead” apagar o bloco inteiro apenas para sobrescrever uma única página no local. Portanto, os SSDs executam atualizações de página gravando a nova versão da página em um novo local. Isso significa que os endereços lógico e físico das páginas são separados. Uma tabela de mapeamento, que é armazenada no SSD, converte endereços lógicos (software) em locais físicos (flash). Esse componente também é chamado de Flash Translation Layer (FTL).

Por exemplo, vamos supor que temos um SSD (hipotético) com 3 blocos de apagamento, cada um com 4 páginas. Uma sequência de gravações nas páginas P1, P2, P0, P3, P5, P1 pode resultar no seguinte estado físico do SSD:

Bloco 0 P1 (antigo) P2 P0 P3
Bloco 1 P5 P1 →
Bloco 2

Coleta de lixo

Usando a tabela de mapeamento e gravação fora-de-local, tudo vai bem até que o SSD fique sem blocos livres. A versão antiga das páginas sobrescritas deve, no fim de tudo, ser recuperada. Se continuarmos nosso exemplo acima, escrevendo para as páginas P3, P4, P7, P1, P6, P2, teremos a seguinte situação:

Bloco 0 P1 (antigo) P2 (antigo) P0 P3 (antigo)
Bloco 1 P5 P1 (antigo) P3 P4
Bloco 2 P7 P1 P6 P2

Neste ponto, não temos mais blocos de apagamento livres (embora, lógicamente, ainda deva haver espaço). Antes que alguém possa escrever outra página, o SSD primeiro deve apagar um bloco. No nosso exemplo, pode ser melhor para o coletor de lixo apagar o bloco 0, porque apenas uma de suas páginas ainda está em uso. Depois de apagar o bloco 0, liberamos espaço para 3 gravações e nosso SSD fica assim:

Bloco 0 P0 →
Bloco 1 P5 P1 (antigo) P3 P4
Bloco 2 P7 P1 P6 P2

Amplificação de gravação e excesso de provisionamento

Para o bloco de coleta de lixo 0, tivemos que mover fisicamente a página P0, embora logicamente essa página não tenha sido envolvida em nenhum processo. Em outras palavras, com SSDs flash, o número de gravações físicas (flash) é geralmente maior do que o número de gravações lógicas (software). A proporção entre os dois números é chamada de ‘’amplificação de gravação. Em nosso exemplo, para abrir espaço para 3 novas páginas no bloco 0, tivemos que mover 1 página. Assim, temos 4 gravações físicas para 3 gravações lógicas, ou seja, uma amplificação de gravação de 1,33.

A alta amplificação de gravação diminui o desempenho e reduz a vida útil do flash. O tamanho da amplificação de gravação depende do padrão de acesso e de quão preenchido está o SSD. Grandes gravações sequenciais têm baixa amplificação de gravação, enquanto gravações aleatórias são o pior caso.

Vamos supor que nosso SSD está 50% preenchido e que executamos gravações aleatórias. No estado estacionário, sempre que apagamos um bloco cerca de metade das páginas desse bloco, em média, ainda estão em uso e devem ser copiadas. Assim, a amplificação de gravação para um fator de preenchimento de 50% é 2. Em geral, a amplificação de gravação de pior caso para um fator de preenchimento f é 1/(1-f):

f 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 0,95 0,99
WA 1,11 1,25 1,43 1,67 2,00 2,50 3,33 5 10 20 100

Como a amplificação de gravação torna-se excessivamente alta para fatores de preenchimento próximos a 1, a maioria dos SSDs tem uma capacidade ociosa oculta. Esse super provisionamento é normalmente de 10 a 20% da capacidade total. Obviamente, também é fácil adicionar mais provisionamento em excesso, criando uma partição vazia e nunca gravar nela.

Espero ter sido bem sucedido nesta tentativa de explicação. Tentei também manter este post curto, o que significa que eu tive que simplificar as coisas.