{"id":53906,"date":"2019-12-13T00:00:00","date_gmt":"2019-12-12T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/skorostnaya-otkazoustojchivaya-kompressiya-prodolzhenie"},"modified":"2020-02-18T14:01:51","modified_gmt":"2020-02-18T11:01:51","slug":"skorostnaya-otkazoustojchivaya-kompressiya-prodolzhenie","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/skorostnaya-otkazoustojchivaya-kompressiya-prodolzhenie","title":{"rendered":"Compress\u00e3o r\u00e1pida e resiliente (Continua\u00e7\u00e3o)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Este artigo \u00e9 o segundo na s\u00e9rie sobre compress\u00e3o r\u00e1pida de dados. No primeiro artigo, foi descrito um compressor que opera a uma velocidade de 10GB\/s por n\u00facleo de processador (compress\u00e3o m\u00ednima, RTT-Min). <\/p>\n<p>Este compressor j\u00e1 foi integrado a equipamentos de duplica\u00e7\u00e3o forense para compress\u00e3o r\u00e1pida de dumps de m\u00eddias de informa\u00e7\u00e3o e fortalecimento da resist\u00eancia da criptografia. Ele tamb\u00e9m pode ser usado para compactar imagens de m\u00e1quinas virtuais e arquivos de swap de mem\u00f3ria RAM ao salv\u00e1-los em SSDs de alta performance.<\/p>\n<p>No primeiro artigo, tamb\u00e9m foi anunciado o desenvolvimento de um algoritmo de compress\u00e3o para a compress\u00e3o de backups de discos HDD e SSD (compress\u00e3o m\u00e9dia, RTT-Mid) com par\u00e2metros de compress\u00e3o de dados substancialmente melhorados. At\u00e9 o momento, este compressor est\u00e1 completamente pronto e este artigo \u00e9 precisamente sobre ele. <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nO compressor que implementa o algoritmo RTT-Mid proporciona um n\u00edvel de compress\u00e3o compar\u00e1vel a arquivos compactadores padr\u00e3o como WinRar e 7-Zip, funcionando em modo r\u00e1pido. Ao mesmo tempo, sua velocidade de opera\u00e7\u00e3o \u00e9 pelo menos uma ordem de magnitude superior. <\/p>\n<p>A velocidade de empacotamento\/desempacotamento de dados \u00e9 um par\u00e2metro cr\u00edtico que determina o campo de aplica\u00e7\u00e3o das tecnologias de compress\u00e3o. Poucas pessoas teriam a ideia de compactar um terabyte de dados a uma velocidade de 10-15 Megabytes por segundo (exatamente essa \u00e9 a velocidade dos compactadores em modo padr\u00e3o), pois levaria quase vinte horas com o processador completamente em carga...<\/p>\n<p>Por outro lado, o mesmo terabyte pode ser copiado a velocidades de cerca de 2-3 Gigabytes por segundo em cerca de dez minutos. <\/p>\n<p>Portanto, a compress\u00e3o de grandes volumes de informa\u00e7\u00f5es \u00e9 relevante se for realizada em velocidades n\u00e3o inferiores \u00e0 taxa real de entrada\/sa\u00edda. Para sistemas modernos, isso equivale a pelo menos 100 Megabytes por segundo. <\/p>\n<p>Essas velocidades s\u00f3 podem ser alcan\u00e7adas por compressores modernos em modo 'r\u00e1pido'. \u00c9 nesse modo atual que vamos comparar o algoritmo RTT-Mid com compressores tradicionais.<\/p>\n<h4>Teste comparativo do novo algoritmo de compress\u00e3o<\/h4>\n<p>\n O compressor RTT-Mid foi testado dentro de um programa de teste. Em um aplicativo \u2018real\u2019, ele funciona significativamente mais r\u00e1pido, pois utiliza eficientemente a multithreading e aplica um compilador \u2018normal\u2019, e n\u00e3o C#. <\/p>\n<p>Como os compressores utilizados no teste comparativo s\u00e3o baseados em diferentes princ\u00edpios e diferentes tipos de dados s\u00e3o comprimidos de maneiras distintas, para assegurar a objetividade do teste, foi utilizado o m\u00e9todo de medi\u00e7\u00e3o da 'temperatura m\u00e9dia do hospital'...<\/p>\n<p>Foi criado um arquivo de despejo setorial do disco l\u00f3gico com o sistema operacional Windows 10, que \u00e9 a mistura mais natural de diferentes estruturas de dados que realmente existem em cada computador. A compress\u00e3o deste arquivo permitir\u00e1 comparar a velocidade e o grau de compress\u00e3o do novo algoritmo com os compressores mais avan\u00e7ados utilizados nos atuais compactadores.<\/p>\n<p>Este \u00e9 o arquivo de despejo:<\/p>\n<p><img decoding=\"async\" alt=\"Compress\u00e3o r\u00e1pida e resiliente (Continua\u00e7\u00e3o)\" src=\"\/wp-content\/uploads\/2019\/12\/39fc5bfe9812ac2417d6eb8ef1dde0a8.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nO arquivo de despejo foi comprimido pelos compressores RTT-Mid, 7-zip e WinRar. O compressor WinRar e o 7-zip foram configurados para a m\u00e1xima velocidade de opera\u00e7\u00e3o.<\/p>\n<p>O compressor est\u00e1 funcionando <b>7-zip<\/b>:<\/p>\n<p><img decoding=\"async\" alt=\"Compress\u00e3o r\u00e1pida e resiliente (Continua\u00e7\u00e3o)\" src=\"\/wp-content\/uploads\/2019\/12\/1b088a99fb7b04d5b6ccb500ff74c73e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEle utiliza 100% do processador, enquanto a velocidade m\u00e9dia de leitura do despejo original \u00e9 de cerca de 60 Megabytes\/segundo.<\/p>\n<p>O compressor est\u00e1 funcionando <b>WinRar<\/b>:<\/p>\n<p><img decoding=\"async\" alt=\"Compress\u00e3o r\u00e1pida e resiliente (Continua\u00e7\u00e3o)\" src=\"\/wp-content\/uploads\/2019\/12\/462024e8304a90a885ef3857fbd119e1.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA situa\u00e7\u00e3o \u00e9 semelhante, a carga do processador \u00e9 praticamente de 100%, e a velocidade m\u00e9dia de leitura do despejo \u00e9 de cerca de 125 Megabytes\/segundo.<\/p>\n<p>Como no caso anterior, a velocidade de opera\u00e7\u00e3o do compactador \u00e9 limitada pelas capacidades do processador.<\/p>\n<p>Agora, o programa de teste do compressor est\u00e1 em execu\u00e7\u00e3o <b>RTT-Mid<\/b>:<\/p>\n<p><img decoding=\"async\" alt=\"Compress\u00e3o r\u00e1pida e resiliente (Continua\u00e7\u00e3o)\" src=\"\/wp-content\/uploads\/2019\/12\/f46fabcbb362dcf99a8b55877954c3a8.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA captura de tela mostra que o processador est\u00e1 carregado em 50% e fica ocioso o restante do tempo, pois n\u00e3o h\u00e1 para onde descarregar os dados comprimidos. O disco de sa\u00edda de dados (Disco 0) est\u00e1 praticamente cheio. A velocidade de leitura de dados (Disco 1) oscila bastante, mas em m\u00e9dia \u00e9 superior a 200 Megabytes\/segundo.<\/p>\n<p>A velocidade de opera\u00e7\u00e3o do compressor \u00e9 limitada, neste caso, pela capacidade de grava\u00e7\u00e3o dos dados comprimidos no Disco 0.<\/p>\n<p>Agora, o grau de compress\u00e3o dos arquivos gerados:<\/p>\n<p><img decoding=\"async\" alt=\"Compress\u00e3o r\u00e1pida e resiliente (Continua\u00e7\u00e3o)\" src=\"\/wp-content\/uploads\/2019\/12\/1e0740937909c6a5860ef35d15da9e7f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"Compress\u00e3o r\u00e1pida e resiliente (Continua\u00e7\u00e3o)\" src=\"\/wp-content\/uploads\/2019\/12\/6e74c8ceab741943a59eca87f092e25b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"Compress\u00e3o r\u00e1pida e resiliente (Continua\u00e7\u00e3o)\" src=\"\/wp-content\/uploads\/2019\/12\/3b2f8bed83ea72917f87a3a9813294fc.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00c9 evidente que o compressor RTT-Mid se saiu melhor em termos de compress\u00e3o, o arquivo criado por ele tem 1,3 Gigabytes a menos que o arquivo do WinRar e 2,1 Gigabytes a menos que o arquivo 7z.<\/p>\n<p>O tempo gasto para criar o arquivo:<\/p>\n<ul>\n<li> 7-zip \u2013 26 minutos e 10 segundos;<\/li>\n<li> WinRar \u2013 17 minutos e 40 segundos;<\/li>\n<li> RTT-Mid \u2013 7 minutos e 30 segundos.<\/li>\n<\/ul>\n<p>\nAssim, mesmo o programa de teste, que n\u00e3o foi otimizado, utilizando o algoritmo RTT-Mid, conseguiu criar o arquivo mais de duas vezes e meia mais r\u00e1pido, e, al\u00e9m disso, o arquivo resultante foi significativamente menor do que os concorrentes...<\/p>\n<p>Aqueles que n\u00e3o acreditam nas capturas de tela podem verificar sua autenticidade por conta pr\u00f3pria. O programa de teste est\u00e1 dispon\u00edvel em <noindex><a rel=\"nofollow\" href=\"https:\/\/yadi.sk\/d\/9CkY30b1lRcLYw\">link<\/a><\/noindex>, baixe e verifique.<\/p>\n<p>Mas apenas em processadores que suportam AVX-2; sem suporte a essas instru\u00e7\u00f5es, o compressor n\u00e3o funcionar\u00e1, e n\u00e3o teste o algoritmo em processadores AMD antigos, pois eles s\u00e3o lentos na execu\u00e7\u00e3o de comandos AVX\u2026<\/p>\n<h4>M\u00e9todo de compress\u00e3o utilizado<\/h4>\n<p>\nO algoritmo utiliza um m\u00e9todo de indexa\u00e7\u00e3o de fragmentos de texto repetidos em granula\u00e7\u00e3o de bytes. Esse m\u00e9todo de compress\u00e3o \u00e9 conhecido h\u00e1 muito tempo, mas n\u00e3o era utilizado, uma vez que a opera\u00e7\u00e3o de busca de correspond\u00eancias era muito dispendiosa em recursos e exigia muito mais tempo do que a constru\u00e7\u00e3o de um dicion\u00e1rio. Assim, o algoritmo RTT-Mid \u00e9 um exemplo cl\u00e1ssico do movimento 'de volta para o futuro'...<\/p>\n<p>No compressor RTT, utiliza-se um scanner de busca de correspond\u00eancias exclusivo e de alta velocidade, que \u00e9 o que permitiu acelerar o processo de compress\u00e3o. O scanner \u00e9 de fabrica\u00e7\u00e3o pr\u00f3pria, \u00e9 'meu tesouro...', 'custa muito, pois \u00e9 completamente feito \u00e0 m\u00e3o' (escrito em assembly).<\/p>\n<p>O scanner de busca de correspond\u00eancias \u00e9 realizado em um esquema probabil\u00edstico de dois n\u00edveis; primeiro, \u00e9 escaneada a presen\u00e7a de um 'sinal' de correspond\u00eancia, e somente ap\u00f3s a identifica\u00e7\u00e3o do 'sinal' nesse local, \u00e9 iniciada a rotina de detec\u00e7\u00e3o da real correspond\u00eancia. <\/p>\n<p>A janela de busca de correspond\u00eancias tem um tamanho imprevis\u00edvel, dependendo do grau de entropia no bloco de dados processado. Para dados totalmente aleat\u00f3rios (n\u00e3o comprim\u00edveis), seu tamanho \u00e9 de megabytes; para dados que t\u00eam repeti\u00e7\u00f5es, sempre tem um tamanho superior a um megabyte.<\/p>\n<p>Mas muitos formatos de dados modernos n\u00e3o s\u00e3o comprim\u00edveis, e 'fazer correr' um scanner que consome muitos recursos sobre eles \u00e9 in\u00fatil e desperdi\u00e7ador, portanto, o scanner utiliza dois modos de opera\u00e7\u00e3o. Primeiro, s\u00e3o buscadas se\u00e7\u00f5es do texto original com poss\u00edveis repeti\u00e7\u00f5es; essa opera\u00e7\u00e3o tamb\u00e9m \u00e9 realizada de modo probabil\u00edstico e \u00e9 feita muito rapidamente (a uma velocidade de 4-6 Gigabytes\/segundo). Em seguida, as se\u00e7\u00f5es com poss\u00edveis correspond\u00eancias s\u00e3o processadas pelo scanner principal. <\/p>\n<p>A compress\u00e3o indexada n\u00e3o \u00e9 muito eficiente, pois \u00e9 necess\u00e1rio substituir fragmentos repetidos por \u00edndices, e o array de \u00edndices reduz significativamente a taxa de compress\u00e3o. <\/p>\n<p>Para aumentar o grau de compress\u00e3o, n\u00e3o s\u00e3o indexadas apenas as coincid\u00eancias completas de strings de bytes, mas tamb\u00e9m as parciais, quando a string cont\u00e9m bytes coincidentes e n\u00e3o coincidentes. Para isso, o formato do \u00edndice inclui um campo de m\u00e1scara de coincid\u00eancias que indica os bytes coincidentes de dois blocos. Para uma compress\u00e3o ainda maior, \u00e9 utilizada a indexa\u00e7\u00e3o sobreposta de v\u00e1rios blocos parcialmente coincidentes ao bloco atual. <\/p>\n<p>Tudo isso permitiu que o compressor RTT-Mid alcan\u00e7asse um grau de compress\u00e3o compar\u00e1vel aos compressores que utilizam o m\u00e9todo de dicion\u00e1rio, mas funcionando de maneira muito mais r\u00e1pida.<\/p>\n<h4>A velocidade do novo algoritmo de compress\u00e3o<\/h4>\n<p>\nSe o compressor opera com uso exclusivo da cache de mem\u00f3ria (4 Megabytes por thread), a velocidade de opera\u00e7\u00e3o varia entre 700-2000 Megabytes\/segundo por n\u00facleo de processador, dependendo do tipo de dados comprimidos e pouco depende da frequ\u00eancia de opera\u00e7\u00e3o do processador. <\/p>\n<p>Na implementa\u00e7\u00e3o multithread do compressor, a escalabilidade efetiva \u00e9 determinada pelo volume da cache de terceiro n\u00edvel. Por exemplo, tendo \"a bordo\" 9 Megabytes de cache, n\u00e3o faz sentido iniciar mais de dois threads de compress\u00e3o, pois a velocidade n\u00e3o aumentar\u00e1 com isso. Mas com 20 Megabytes de cache, j\u00e1 \u00e9 poss\u00edvel iniciar cinco threads de compress\u00e3o.<\/p>\n<p>Outro par\u00e2metro significativo que determina a velocidade do compressor \u00e9 a lat\u00eancia da mem\u00f3ria RAM. O algoritmo utiliza acessos aleat\u00f3rios \u00e0 RAM, parte dos quais n\u00e3o entra na cache (cerca de 10%) e ele acaba aguardando os dados da RAM, o que reduz a velocidade de opera\u00e7\u00e3o. <\/p>\n<p>A velocidade do compressor tamb\u00e9m \u00e9 significativamente influenciada pelo trabalho do sistema de entrada\/sa\u00edda de dados. Solicita\u00e7\u00f5es \u00e0 RAM do sistema de entrada\/sa\u00edda bloqueiam os acessos a dados pela CPU, o que tamb\u00e9m diminui a velocidade de compress\u00e3o. Esse problema \u00e9 relevante para notebooks e desktops, <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pt\/server\/\"   title=\"servidores\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1458\">servidores<\/a> mas \u00e9 menos cr\u00edtico devido a um bloco de controle de acesso mais avan\u00e7ado ao barramento do sistema e \u00e0 mem\u00f3ria RAM de m\u00faltiplos canais.<\/p>\n<p>Em todo o texto do artigo, fala-se sobre compress\u00e3o, enquanto a descompress\u00e3o fica de fora deste artigo, pois \"tudo est\u00e1 perfeito\". A descompress\u00e3o \u00e9 realizada significativamente mais r\u00e1pido e \u00e9 limitada pela velocidade de entrada\/sa\u00edda. Um n\u00facleo f\u00edsico em um \u00fanico thread pode facilmente proporcionar velocidades de descompacta\u00e7\u00e3o de 3 a 4 Gigabytes\/segundo.<\/p>\n<p>Isso est\u00e1 relacionado \u00e0 aus\u00eancia da opera\u00e7\u00e3o de busca de correspond\u00eancias no processo de descompacta\u00e7\u00e3o, que \"consome\" os principais recursos do processador e da cache durante a compress\u00e3o. <\/p>\n<h4>Confiabilidade do armazenamento de dados comprimidos<\/h4>\n<p>\nComo o nome de toda a classe de ferramentas de software que utilizam compress\u00e3o de dados (arquivadores) sugere, elas s\u00e3o destinadas ao armazenamento de informa\u00e7\u00f5es por longos per\u00edodos, n\u00e3o por anos, mas por s\u00e9culos e mil\u00eanios...<\/p>\n<p>Durante o armazenamento, os meios de informa\u00e7\u00e3o perdem parte dos dados, veja este exemplo:<\/p>\n<p><img decoding=\"async\" alt=\"Compress\u00e3o r\u00e1pida e resiliente (Continua\u00e7\u00e3o)\" src=\"\/wp-content\/uploads\/2019\/12\/b85564e175204e70ed7c3c3ed0fbf008.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEste meio de informa\u00e7\u00e3o \"anal\u00f3gico\" tem mil anos, alguns fragmentos est\u00e3o perdidos, mas no geral a informa\u00e7\u00e3o \u00e9 \"leg\u00edvel\"...<\/p>\n<p>Nenhum dos fabricantes respons\u00e1veis por sistemas modernos de armazenamento digital e seus meios digitais oferece garantias de completa integridade dos dados por mais de 75 anos.<br \/>\nE isso \u00e9 um problema, mas um problema adiado, que ser\u00e1 resolvido por nossos descendentes...<\/p>\n<p>Sistemas de armazenamento de dados digitais podem perder dados n\u00e3o apenas ap\u00f3s 75 anos, erros nos dados podem surgir a qualquer momento, mesmo durante sua grava\u00e7\u00e3o; essas distor\u00e7\u00f5es tentam ser minimizadas usando redund\u00e2ncia e sistemas de corre\u00e7\u00e3o de erros. A redund\u00e2ncia e os sistemas de corre\u00e7\u00e3o podem recuperar informa\u00e7\u00f5es perdidas nem sempre, e se o fazem, n\u00e3o h\u00e1 garantias de que a opera\u00e7\u00e3o de recupera\u00e7\u00e3o foi realizada corretamente.<\/p>\n<p>E isso tamb\u00e9m \u00e9 um grande problema, mas n\u00e3o adiado, e sim atual.<\/p>\n<p>Os modernos compressores utilizados para arquivamento de dados digitais s\u00e3o baseados em v\u00e1rias modifica\u00e7\u00f5es do m\u00e9todo de dicion\u00e1rio e, para tais arquivos, a perda de um fragmento de informa\u00e7\u00e3o ser\u00e1 um evento fatal; existe at\u00e9 um termo estabelecido para essa situa\u00e7\u00e3o \u2014 \"arquivo corrompido\"...<\/p>\n<p>A baixa confiabilidade do armazenamento de informa\u00e7\u00f5es em arquivos compactados por dicion\u00e1rio est\u00e1 relacionada \u00e0 estrutura dos dados compactados. As informa\u00e7\u00f5es em tal arquivo n\u00e3o cont\u00eam o texto original; em vez disso, armazenam n\u00fameros de registros no dicion\u00e1rio, que \u00e9 dinamicamente modificado pelo texto atualmente compactado. Quando um fragmento do arquivo \u00e9 perdido ou corrompido, todos os registros subsequentes no arquivo n\u00e3o podem ser identificados, nem pelo conte\u00fado nem pelo comprimento do registro no dicion\u00e1rio, pois n\u00e3o \u00e9 claro a que corresponde o n\u00famero de registro do dicion\u00e1rio.<\/p>\n<p>Recuperar informa\u00e7\u00f5es de um arquivo \"corrompido\" como esse \u00e9 imposs\u00edvel.<\/p>\n<p>O algoritmo RTT \u00e9 baseado em um m\u00e9todo de armazenamento de dados compactados mais confi\u00e1vel. Ele utiliza um m\u00e9todo de indexa\u00e7\u00e3o para rastrear fragmentos repetidos. Essa abordagem de compress\u00e3o permite minimizar as consequ\u00eancias da corrup\u00e7\u00e3o de informa\u00e7\u00f5es no meio de armazenamento e, em muitos casos, corrigir automaticamente as distor\u00e7\u00f5es que ocorrem durante o armazenamento das informa\u00e7\u00f5es.<br \/>\nIsso se deve ao fato de que um arquivo compactado, no caso da compress\u00e3o indexada, cont\u00e9m dois campos:<\/p>\n<ul>\n<li>um campo do texto original com as se\u00e7\u00f5es repetidas removidas;<\/li>\n<li>um campo de \u00edndices. <\/li>\n<\/ul>\n<p>\nO campo de \u00edndices, cr\u00edtico para a recupera\u00e7\u00e3o de informa\u00e7\u00f5es, n\u00e3o \u00e9 grande e pode ser duplicado para maior seguran\u00e7a no armazenamento de dados. Portanto, mesmo que um fragmento do texto original ou do array de \u00edndices seja perdido, toda a informa\u00e7\u00e3o restante pode ser recuperada sem problemas, assim como na imagem de um meio de informa\u00e7\u00e3o \"anal\u00f3gico\".<\/p>\n<h4>Desvantagens do algoritmo<\/h4>\n<p>\nN\u00e3o existem vantagens sem desvantagens. O m\u00e9todo de compress\u00e3o por \u00edndices n\u00e3o comprime sequ\u00eancias repetidas de pequeno tamanho. Isso est\u00e1 relacionado \u00e0s limita\u00e7\u00f5es do m\u00e9todo indexado. Os \u00edndices t\u00eam um tamanho m\u00ednimo de 3 bytes e podem ter at\u00e9 12 bytes. Se ocorrer uma repeti\u00e7\u00e3o menor do que o tamanho descrito pelo \u00edndice, ela n\u00e3o ser\u00e1 contabilizada, n\u00e3o importa com que frequ\u00eancia essas repeti\u00e7\u00f5es sejam encontradas no arquivo compactado.<\/p>\n<p>O m\u00e9todo de compress\u00e3o tradicional, baseado em dicion\u00e1rio, comprime efetivamente m\u00faltiplas repeti\u00e7\u00f5es curtas e, por isso, alcan\u00e7a uma maior taxa de compress\u00e3o do que a compress\u00e3o indexada. No entanto, isso \u00e9 conseguido \u00e0 custa de uma alta carga no processador central, pois para que o m\u00e9todo baseado em dicion\u00e1rio comece a comprimir dados de forma mais eficiente do que o m\u00e9todo indexado, ele precisa reduzir a velocidade de processamento de dados para 10-20 megabytes por segundo em configura\u00e7\u00f5es computacionais reais com carga total da CPU.<\/p>\n<p>Essas velocidades baixas s\u00e3o inaceit\u00e1veis para os sistemas de armazenamento de dados modernos e representam mais um interesse \"acad\u00eamico\" do que pr\u00e1tico.<\/p>\n<p>O grau de compress\u00e3o de informa\u00e7\u00f5es ser\u00e1 significativamente aumentado na pr\u00f3xima modifica\u00e7\u00e3o do algoritmo RTT (RTT-Max), que j\u00e1 est\u00e1 em desenvolvimento.<\/p>\n<p>Portanto, como sempre, a continua\u00e7\u00e3o vir\u00e1\u2026<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/479888\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u0443\u0436\u0435 \u0432\u0442\u043e\u0440\u0430\u044f \u0432 \u0442\u0435\u043c\u0435 \u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u043d\u043e\u0439 \u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445. \u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u044b\u043b \u043e\u043f\u0438\u0441\u0430\u043d \u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u043e\u0440 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u0441\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e 10\u0413\u0431\u0430\u0439\u0442\/\u0441\u0435\u043a. \u043d\u0430 \u043e\u0434\u043d\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043d\u043e\u0435 \u044f\u0434\u0440\u043e (\u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u0436\u0430\u0442\u0438\u0435, RTT-Min). \u042d\u0442\u043e\u0442 \u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u043e\u0440, \u0443\u0436\u0435 \u0432\u043d\u0435\u0434\u0440\u0435\u043d \u0432 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u0440\u0438\u043c\u0438\u043d\u0430\u043b\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u0432 \u0434\u043b\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u043d\u043e\u0433\u043e \u0441\u0436\u0430\u0442\u0438\u044f \u0434\u0430\u043c\u043f\u043e\u0432 \u043d\u043e\u0441\u0438\u0442\u0435\u043b\u0435\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0438 \u0443\u0441\u0438\u043b\u0435\u043d\u0438\u044f \u0441\u0442\u043e\u0439\u043a\u043e\u0441\u0442\u0438 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438, \u0442\u0430\u043a\u0436\u0435 \u043e\u043d \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f \u0434\u043b\u044f \u0441\u0436\u0430\u0442\u0438\u044f \u043e\u0431\u0440\u0430\u0437\u043e\u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d \u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-53906","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0414\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u0443\u0436\u0435 \u0432\u0442\u043e\u0440\u0430\u044f \u0432 \u0442\u0435\u043c\u0435 \u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u043d\u043e\u0439 \u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445. \u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u044b\u043b \u043e\u043f\u0438\u0441\u0430\u043d \u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u043e\u0440 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u0441\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e 10\u0413\u0431\u0430\u0439\u0442\/\u0441\u0435\u043a. \u043d\u0430 \u043e\u0434\u043d\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043d\u043e\u0435 \u044f\u0434\u0440\u043e (\u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u0436\u0430\u0442\u0438\u0435, RTT-Min).\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/skorostnaya-otkazoustojchivaya-kompressiya-prodolzhenie\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0421\u043a\u043e\u0440\u043e\u0441\u0442\u043d\u0430\u044f \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u0430\u044f \u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u0438\u044f (\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435) | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u0443\u0436\u0435 \u0432\u0442\u043e\u0440\u0430\u044f \u0432 \u0442\u0435\u043c\u0435 \u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u043d\u043e\u0439 \u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445. \u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u044b\u043b \u043e\u043f\u0438\u0441\u0430\u043d \u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u043e\u0440 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u0441\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e 10\u0413\u0431\u0430\u0439\u0442\/\u0441\u0435\u043a. \u043d\u0430 \u043e\u0434\u043d\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043d\u043e\u0435 \u044f\u0434\u0440\u043e (\u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u0436\u0430\u0442\u0438\u0435, RTT-Min).\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/skorostnaya-otkazoustojchivaya-kompressiya-prodolzhenie\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-12-12T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:01:51+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Compress\u00e3o r\u00e1pida e tolerante a falhas (Continua\u00e7\u00e3o) | ProHoster","description":"Este artigo \u00e9 o segundo na s\u00e9rie sobre compress\u00e3o r\u00e1pida de dados. No primeiro artigo, foi descrito um compressor que opera a uma velocidade de 10GB\/s por n\u00facleo de processador (compress\u00e3o m\u00ednima, RTT-Min).","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/skorostnaya-otkazoustojchivaya-kompressiya-prodolzhenie","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0421\u043a\u043e\u0440\u043e\u0441\u0442\u043d\u0430\u044f \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u0430\u044f \u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u0438\u044f (\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435) | ProHoster","og:description":"\u0414\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u0443\u0436\u0435 \u0432\u0442\u043e\u0440\u0430\u044f \u0432 \u0442\u0435\u043c\u0435 \u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u043d\u043e\u0439 \u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445. \u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u044b\u043b \u043e\u043f\u0438\u0441\u0430\u043d \u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u043e\u0440 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u0441\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e 10\u0413\u0431\u0430\u0439\u0442\/\u0441\u0435\u043a. \u043d\u0430 \u043e\u0434\u043d\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043d\u043e\u0435 \u044f\u0434\u0440\u043e (\u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u0436\u0430\u0442\u0438\u0435, RTT-Min).","og:url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/skorostnaya-otkazoustojchivaya-kompressiya-prodolzhenie","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-12-12T21:00:00+00:00","article:modified_time":"2020-02-18T11:01:51+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"53906","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-02-09 18:05:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 20:15:55","updated":"2026-02-09 18:05:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/53906","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=53906"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/53906\/revisions"}],"predecessor-version":[{"id":158702,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/53906\/revisions\/158702"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=53906"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=53906"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=53906"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}