Sítio do Piropo

B. Piropo

< Coluna em Fórum PCs >
Volte
02/06/2008

< Vista e o ReadyDrive >


As três funcionalidades que, a meu ver, justificam a voracidade de Vista por memória e o alegado “excesso de trabalho” do disco rígido mencionadas na coluna anterior, SuperFetch, ReadyBoost e ReadyDrive, foram concebidas justamente para melhorar o desempenho do sistema operacional e por isto a MS batizou-as coletivamente de “PC Accelerators”, ou “aceleradores do PC”. Se houver interesse, você poderá ter uma visão em detalhes de cada uma delas em um documento da base de dados da MS, que pode ser baixado em formato Doc. Trata-se do documento
< http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/perfaccel.doc >
“Windows PC Accelerators”, onde foram obtidas muitas das informações em que se baseia esta série de colunas.

Os dois aceleradores mais importantes são o “SuperFetch” e o “ReadyBoost”. Adiante veremos detalhes sobre ambos mas, resumidamente, o SuperFetch é uma espécie de “prefetch” antecipado (quem não sabe o que é “prefetch”, sugiro uma consulta à coluna anterior) que não se contenta em preservar um jeito do usuário voltar a ter acesso rápido aos programas que acabou de usar e cujo código está na memória. Ao contrário, o SuperFetch se antecipa à ação do usuário e carrega o programa na memória antes que ele o peça, para que quando isto vier a ocorrer o programa se ponha quase que imediatamente à disposição (voltaremos a falar sobre isto adiante, mas o Word, programa que uso com maior freqüência, quando invocado, entra quase instantaneamente nesta máquina que vos fala).

O segundo “acelerador” importante é o ReadyBoost. Pergunte aos usuários de Vista do que se trata e a maioria deles, mesmo os mais experientes, lhe dirá que é um recurso que permite usar dispositivos externos de memória flash, como “pen drives”, para “aumentar a memória do micro”. E provavelmente ficarão por aí, já que a MS fez um péssimo trabalho na divulgação desta funcionalidade. O que é deplorável, já que usar memória tipo “flash” externa apenas para expandir a memória primária é um contra-senso. Afinal, mesmo sendo cerca de dez vezes mais rápida que discos magnéticos, memórias “flash” são bem mais lentas que as modernas memórias SDRAM usadas como memória principal, e estender para um trecho de endereçamento mais lento o espaço de endereçamento da rápida MP não há de acelerar o desempenho, muito pelo contrário.

O que poucos lhe dirão é que o ReadyBoost só faz sentido porque foi concebido para ser usado como complemento do SuperFetch. Isto é mencionado quase de passagem no artigo
< http://www.microsoft.com/windows/products/windowsvista/features/details/readyboost.mspx >
“Learn about the features – Windows ReadyBoost” da Microsoft. Nele, depois de informar que “acrescentar memória RAM é, freqüentemente, o melhor meio de aprimorar o desempenho do PC” e que Windows Vista introduz “um novo conceito de adicionar memória ao sistema”, a MS menciona que se pode usar a memória tipo “flash” (como a de “pen drives”) para este fim, dando a entender erroneamente que esta memória será usada como extensão da memória principal. A única indicação da real utilidade do ReadyBoost é a menção de que ele “depende do gerenciamento inteligente da memória Windows SuperFetch e pode melhorar significativamente a rapidez de resposta do sistema”.

Sendo assim, o ReadyBoost não é, como parece acreditar a maioria das pessoas, uma forma de aumentar a capacidade de memória principal do computador usando dispositivos externos de memória tipo “flash” ligados a portas USB. O que ele de fato faz é complementar o SuperFetch oferecendo espaço adicional para seu “cache”. Como ele funciona e porque efetivamente pode acelerar o sistema veremos adiante quando voltarmos ao tema em detalhes.

Mas o fato é que esta é a dupla de “aceleradores” que realmente faz diferença, já que o terceiro, o ReadyDrive, depende de um dispositivo de hardware ainda raro no mercado, cujos primeiros exemplares somente começaram a aparecer recentemente (o pioneiro foi lançado pela Seagate há menos de dois anos): os discos rígidos híbridos.

Vamos abordá-lo antes dos demais para que possamos, adiante, dedicar mais tempo e atenção às duas funcionalidades que realmente nos interessam: SuperFetch e ReadyBoost.

Então vamos nessa: o que vem a ser um disco híbrido?

Os mais antigos dentre os leitores hão de se lembrar dos chips EEPROM e EPROM. E os mais antigos ainda lembrar-se-ão dos chips PROM e ROM. Era neles que, na era do byte lascado, eram gravadas as informações necessárias para o autoteste de partida (POST), carga do sistema operacional e certas rotinas de acesso ao hardware que são, em conjunto, conhecidas por BIOS (Basic Input Output System ou sistema básico de entrada e saída). Eram chips de memória permanente ou semi-permanente que os usuários chamavam indistintamente de “ROM BIOS”. Por acaso algum de vocês tem visto qualquer um deles ultimamente?

Se não trabalha com manutenção de máquinas antigas ou em museus da tecnologia, provavelmente não. Isto porque todos eles foram incluídos da lista das espécies tecnológicas em extinção. E a responsável por isto é a memória tipo “flash”, um tipo de memória de semicondutores não volátil e não permanente. Hoje, praticamente todo computador moderno tem este conjunto de informações, juntamente com as do “setup”, gravadas em um chip tipo “flash” que, por isso mesmo, é conhecido por “flash BIOS”. Em suma: a memória “flash” matou as memórias tipo ROM, PROM e similares.

Dia desses, em uma de minhas aulas, eu mencionei este fenômeno e acrescentei que muito provavelmente elas matarão também os discos magnéticos. Alguns alunos protestaram. Alegaram que as memórias flash ainda são muito caras e que não é economicamente viável fabricar com elas unidades de armazenamento externo com capacidade suficiente para competir com os discos magnéticos modernos e suas centenas de GigaBytes. Eu ponderei que, hoje, eles tinham razão. Mas é apenas questão de tempo para que o avanço da tecnologia de fabricação e economia de escala tornem estes problemas obsoletos. Acredito que dentro de alguns anos (não muitos) será tão difícil encontrar um disco magnético como hoje é difícil encontrar um chip ROM. E a substituição vai começar pelos micros portáteis (aliás, já começou: a memória secundária dos pequenos micros portáteis Asus da série Eee PC já são do tipo “solid state disk” ou discos de semicondutores, feitos inteiramente de memória não volátil tipo “flash” com 4GB ou 8GB de capacidade).

Mas, por enquanto, o argumento de meus alunos é inteiramente válido. Ainda não dá para fabricar e vender a preços competitivos unidades de armazenamento secundário de memória “flash” com capacidade suficientemente grande e preços suficientemente baixos para competir com os discos magnéticos convencionais e suas centenas de GB.

A solução que a indústria encontrou para este problema foi fabricar H-HDD (Hybrid Hard Disk Drives), os discos rígidos híbridos.

Segundo a Wikipedia, um < http://en.wikipedia.org/wiki/Hybrid_drive > disco rígido híbrido “é um tipo de disco rígido para computador com grande área de armazenamento temporário (‘buffer’). Ele se diferencia dos discos rígidos convencionais por adotar uma grande área de armazenamento de memória ‘flash’ não volátil para guardar dados em cache durante uso normal. Como usa esta grande área de armazenamento temporário tanto quanto possível para armazenamento não volátil de dados, os pratos do disco rígido não precisam permanecer constantemente em movimento como nos discos convencionais”.

Destrinchando: a idéia é aumentar consideravelmente a memória dedicada ao cache do disco (que normalmente fica situada na placa controladora do disco que, por sua vez, nos discos modernos PATA e SATA, encontra-se na base da caixa metálica do próprio disco rígido) usando circuitos de memória “flash”. Que, devido à sua natureza não volátil (ou seja, não perdem os dados que armazenam quando cessa a alimentação elétrica), mantêm os dados sempre á disposição, inclusive logo após o micro ser ligado.

A idéia é, de fato, interessante e tem vários desdobramentos. Um deles é que, qualquer que seja o sistema operacional, os dados usados mais freqüentemente acabam migrando para este cache não volátil. Isto inclui, por exemplo, os arquivos usualmente carregados durante a inicialização do computador e, quem sabe (dependendo da capacidade do trecho de memória não volátil), os executáveis dos programas usados habitualmente. Se isto ocorrer, é possível ligar o computador, carregar o sistema operacional com todos os seus “drivers”, programas residentes e os programas habituais, sem que os pratos do disco rígido dêem sequer uma volta, já que todos os arquivos necessários estavam armazenados na área de memória não volátil. Além disso, mesmo durante o funcionamento normal do micro, enquanto os dados necessários estiverem nesta área de armazenamento de memória não volátil, os pratos (ou seja, os discos propriamente ditos) do disco magnético permanecerão imóveis e somente começarão a girar quando o sistema solicitar um arquivo que esteja gravado em suas superfícies magnéticas.

Evidentemente, além de acelerar o acesso ao disco (o acesso a memórias tipo “flash” é pelo menos dez vezes mais rápido que o acesso a discos magnéticos), isto contribui para uma notável economia de energia (o motor que mantém os pratos do disco rígido girando é um voraz consumidor de energia), o que torna os discos híbridos ideais para micros portáteis – para os quais foram concebidos visando prolongar a duração da carga das baterias.

Ainda segundo a Wikipedia, além da redução do consumo de energia – e, por via de conseqüência, da dissipação de calor – as vantagens dos discos híbridos são: um menor tempo de inicialização e de retorno do estado de hibernação, menor emissão de ruído, maior confiabilidade (menor uso das cabeças magnéticas e portanto menor probabilidade de que elas se choquem acidentalmente com a superfície dos discos, danificando-a) e melhor desempenho devido à maior rapidez das memórias “flash”.

Em contrapartida a própria Wikipedia arrola algumas desvantagens: maior demora na leitura dos dados que não estão no cache (porque nesse caso os discos magnéticos precisam ser acionados e perde-se tempo até que eles atinjam a velocidade operacional), redução na vida útil dos discos devido ao maior número de paradas e partidas e, evidentemente, maior custo.

Os primeiros discos híbridos começaram, ainda timidamente, a aparecer no mercado. A Seagate lançou o
< http://www.pclaunches.com/hard_drive/seagate_momentus_5400_psd_laptop_hybrid_drives_announced.php >
Momentus 5400 PSD, um disco híbrido com 256 MB de memória não volátil interna e capacidades de 80 GB a 160 GB (veja Figura 1).

Figura 1: Disco híbrido Seagate Momentus 5400 PSD.

Enquanto isto, a Samsung lançou seu modelo HM16HJI também com capacidade de até 160 GB e cache interno não volátil de 256 MB. No momento a tecnologia ainda está em estágio incipiente e os resultados não são muito animadores (ao que pude perceber a distribuição ainda é restrita, não encontrei discos híbridos à venda no Brasil e a melhoria do desempenho tem sido modesta em virtude da ainda pequena capacidade da memória “flash” interna). Mas eu considero que a tecnologia é promissora e dentro em breve ouviremos falar muito em discos híbridos.

Mas o que tem tudo isto a ver com Windows Vista?

Bem, é que o Vista foi não apenas o primeiro sistema operacional a oferecer suporte nativo aos novos discos híbridos como também a ser capaz de tirar proveito deles integrando seu cache interno de memória “flash” ao conjunto de “aceleradores” do Windows através da funcionalidade conhecida como “ReadyDrive”.

Assim como o SuperFetch, o ReadyDrive não precisa ser instalado ou configurado nem depende de qualquer ação do usuário. Quando Vista detecta a presença de um disco híbrido, aciona automaticamente o ReadyDrive.

A coisa funciona assim: a cada inicialização do sistema Vista “anota” os dados solicitados para a partida da máquina e aguarda. Quando o usuário solicita o desligamento da máquina, Vista copia parte daqueles dados no cache de memória não volátil do disco híbrido antes de desativar o sistema. Durante a próxima inicialização, os dados presentes no cache são carregados imediatamente, enquanto os discos magnéticos do disco híbrido começam a girar para posteriormente carregar os demais arquivos. Isto porque nem todos os arquivos usados na partida são copiados no cache não volátil, mas apenas alguns dados selecionados. Copiar no cache todos os arquivos usados na inicialização seria contraproducente já que não somente isto poderia atrasar consideravelmente o procedimento de desligamento como também não aproveitaria a grande rapidez da leitura de dados gravados seqüencialmente em discos magnéticos (depois que a cabeça de leitura alcança o primeiro “cluster” a leitura em discos magnéticos de arquivos não fragmentados, como a maioria dos usados na inicialização, é muito rápida).

Além de acelerar o processo de inicialização, o ReadyDrive permite uma significativa redução do tempo que o sistema gasta para retornar do estado de hibernação, já que a cópia do estado da memória quando foi solicitada a hibernação é feita tanto quanto possível no cache não volátil do disco híbrido.

Finalmente, durante o funcionamento normal do micro, parte do cache não volátil integrado ao disco híbrido pode ser usado por Vista para estender a memória usada pelo SuperFetch, ampliando significativamente o espaço de memória disponível para armazenar arquivos que poderão ser solicitados pelo usuário.

Windows Vista pode usufruir as vantagens da nova arquitetura de discos híbridos porque incorpora suporte nativo ao novo conjunto de comandos de acesso a disco padronizados na especificação de comandos ATA8-ACS, específico para discos híbridos. Esta extensão de comandos permite não apenas controlar que dados são retidos no cache não volátil dos discos híbridos ao longo do tempo como também decidir quando o drive híbrido terá seus discos magnéticos acionados ou não.

Como acima mencionado, a colaboração do ReadyDrive para a aceleração do sistema por enquanto ainda é pequena e as análises de desempenho não têm sido muito favoráveis. Isto porque atualmente os discos híbridos são raros e caros, sua capacidade de cache não volátil ainda é modesta e a maioria deles apenas é usada nos computadores portáteis (já que, hoje, a maior vantagem dos discos híbridos ainda é a economia de energia).

Mas espera-se que, na medida em que se reduzam os custos da memória “flash” usada para o cache não volátil, a capacidade de cache interno dos discos rígidos aumente, seu preço caia e eles venham a se tornar mais acessíveis, passando a ser usados também nos micros de mesa (“desktops”). Nesta época, sim, suas vantagens poderão ser usufruídas em toda a plenitude.

Mas convém notar que Windows Vista já está preparado para isto. Porque mesmo hoje, quando a capacidade do cache de memória não volátil integrada aos discos rígidos se situa abaixo de um Gigabyte, o limite de cache suportado por Vista é de 2 TB (dois TeraBytes).

Isto dito e assentado, estamos prontos para discutirmos os dois “aceleradores’’ que já aceleram efetivamente o desempenho de Vista: SuperFetch e ReadyBoost.

O que faremos na próxima coluna.

 

B. Piropo