A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Organização e Recuperação da Informação Memória Secundária

Apresentações semelhantes


Apresentação em tema: "Organização e Recuperação da Informação Memória Secundária"— Transcrição da apresentação:

1 Organização e Recuperação da Informação Memória Secundária
Dr. Ednaldo Pizzolato

2 ORI - DISCOS Memória Secundária Memória Primária Não Volátil Lenta
Barata Memória Primária Volátil Rápida Cara

3 ORI - DISCOS

4 ORI - DISCOS

5 ORI - DISCOS UNIDADE BÁSICA DE MEMÓRIA
O computador só pode identificar a informação através de sua restrita capacidade de destinguir entre dois estados, por exemplo, algo está imantado num sentido ou está imantado no sentido oposto. A uma dessas opções o computador associa o valor 1, e ao outro estado, o valor 0. Os dígitos 0 e 1 são os únicos elementos do sistema de numeração de base 2, sendo então chamados de dígitos binários, ou abreviadamente, bit. Entenda-se por bit a unidade básica de memória, ou seja, a menor unidade de informação que pode ser armazenada num computador.

6 ORI - DISCOS A tecnologia de gravação mais usada é a magnética, baseada em materiais que podem ser magnetizados (como o óxido de ferro e outros). Esta tecnologia foi usada inicialmente para a gravação de sons e depois adaptada para a gravação digital que os computadores exigem.

7 ORI - DISCOS A superfície do disco, recoberta com uma fina camada de material magnetizável (quanto mais fina, melhor), é tratada como uma matriz de pontos. Cada ponto é considerado como um bit que pode ser definido como o equivalente magnético de 0 ou 1. Como a posição dos pontos não é determinada com precisão, o esquema de gravação envolve algumas marcas de orientação. Estas marcas são um dos motivos pelos quais um disco precisa ser formatado antes de poder ser utilizado.

8 ORI - DISCOS Os discos (ao contrário das fitas que têm leitura/gravação linear) proporcionam acesso rápido por dois motivos: rotação e movimentação do cabeçote. Com a rotação, qualquer parte da circunferência do disco passa rapidamente por qualquer ponto determinado. A movimentação do cabeçote no sentido centro-borda aumenta ainda mais sua velocidade de acesso.

9 ORI - Trilhas A superfície dos discos é dividida em círculos concêntricos, as chamadas trilhas. Cada trilha é numerada, começando pelo círculo mais externo que recebe o número 0 (zero). O disquete de 1.44 Mb, por exemplo, possui 80 trilhas; os HDs costumam ter de 500 a mais de 1000 trilhas, dependendo do modelo. É bom lembrar que o perímetro da trilha 0 (a primeira e mais externa) é bem maior que o perímetro da trilha 79 (a última e mais central).

10 ORI - Trilhas A maioria das pessoas imagina que as trilhas cubram toda a superfície do disquete, mas não é bem assim. Basta fazer umas continhas sabendo que o disquete de 1.44 Mb e 3.5 polegadas grava dados na proporção de 135 trilhas por polegada, ou seja, poderia gravar cerca de 470 trilhas (135x3.5=472.5). Como existem 80 trilhas, a superfície que elas ocupam corresponde apenas a cerca de 0.6 polegadas, algo em torno de 1.5 cm dos 8.4 cm de superfície total.

11 ORI - Setores Cada uma das trilhas é dividida em porções menores - os setores. O tipo de disco determina o número de setores por trilha. O disquete de 3.5 polegadas e 1.44 Mb tem 18 setores por trilha e os HDs, novamente, podem ter números diferentes de setores dependendo do modelo além de poderem possuir mais setores nas trilhas mais externas.

12 ORI - Setores Os setores também são numerados. Os setores 0 (zero) de cada trilha estão reservados para identificação ao invés de armazenamento de dados. Eles têm sempre um tamanho fixo, que pode ser de 128 a 1024 bytes. O tamanho mais utilizado é de 512 bytes. Toda leitura e gravação é feita em termos de setores completos, mesmo que os dados ultrapassem setores e ocupem o último parcialmente.

13 ORI - Lados Nada impede a utilização das duas faces de um disco para armazenar dados. Deste modo, os chamados dupla face, possuem o lado 0 e o lado 1. Neles existem dois cabeçotes (por aste). Alguns HDs possuem um "sanduiche" de discos. Neste caso, os lados são numerados sequencialmente: lados 0 e 1 (do disco 1), lados 2 e 3 (do disco 2) e assim sucessivamente.

14 ORI - Cilindros O conjunto de trilhas com a mesma distância do centro em cada face do disco é chamado de cilindro. Imagine um HD com 3 discos de dupla face superpostos. Neste caso, existem 6 lados, numerados de 0 a 5. As trilhas de todas as faces ficam alinhadas na vertical, como se formassem tubos concêntricos. Cada um destes tubos é o chamado cilindro. Em outras palavras, um cilindro inclui uma trilha de cada uma das superfícies. Em um disquete, um cilindro sempre consiste de duas trilhas correspondentes, uma de cada lado.

15 Calculando capacidades
Para calcular a capacidade bruta de qualquer disco, basta fazer algumas multiplicações. Tomemos como exemplo um disquete de dupla face com 80 trilhas por lado e 18 setores por trilha. Inicialmente multiplique o número de lados pelo número de trilhas por lado: 80 x 2 = 160. Agora multiplique o resultado pelo número de setores por trilha: 160 x 18 = Finalmente, multiplique o resultado pelo número de bytes por setor (512 bytes = 0.5 Kb): 2880 x 0.5 = 1440 Kb = 1.44 Mb.

16 ORI - DISCOS

17 ORI - DISCOS

18 ORI - DISCOS

19 ORI - DISCOS

20 Evolução dos HDs

21 ORI - DISCOS Conceitos Tempo de acesso (seek time): é o tempo gasto para a cabeça de leitura/gravação se posicionar na trilha correta. Varia de 3 ms (para trilhas adjacentes) e até 100 ms (para trilhas que estão nos extremos do disco). Tempo de Latência Rotacional (rotational delay): é o tempo gasto para localizar o setor ao qual se quer ter acesso. O tempo total de acesso é a soma destes dois tempos (seek + latência rotacional). A latência rotacional varia de 0 ao tempo de uma rotação completa (a 3600 rpm, a LR é 16,67 ms). Tempo de transferência (transfer time): é o tempo gasto para a migração dos dados da memória secundária para a memória principal. Tempo de acesso: é a soma dos tempos: seek + latência + transferência. Taxa de transferência: é a velocidade com a qual os dados migram da memória secundária para a memória principal. Ex.: kbps.

22 ORI - DISCOS O tempo de acesso está relacionado com a velocidade de movimentação das cabeças de leitura e gravação do disco rígido. Podemos entender facilmente que quanto mais veloz for o movimento das cabeças, mais rapidamente o disco poderá acessar qualquer dado nele armazenado. Chamamos de tempo médio de acesso, ou simplesmente tempo de acesso, o tempo necessário para mover o braço desde o primeiro cilindro até o cilindro central.

23 ORI - DISCOS O tempo de acesso de uma memória é dependente do modo como o sistema de memória é construído e da velocidade dos seus circuitos. Ele varia bastante de acordo com o tipo de memória analisado, sendo valores típicos aqueles numa faixa entre 50 e 150 nanossegundos (ns), para a memória principal (ou memória DRAM); de 8 a 15 mili-segundos para discos magnéticos (memória secundária), enquanto fitas magnéticas têm tempo de acesso da ordem de poucos segundos.

24 ORI - DISCOS Ao lado do tempo médio de acesso, a taxa de transferência interna é o mais importante fator que define o desempenho de um disco rígido. Enquanto o tempo médio de acesso é decisivo na leitura de arquivos pequenos em grande quantidade, a taxa de transferência interna é o principal fator envolvido na velocidade de leitura e gravação de arquivos grandes.

25 ORI - DISCOS Os discos rígidos possuem uma área interna de memória, para onde são lidos os dados que serão posteriormente transferidos para a placa de CPU. Esta área é chamada de cache ou buffer.

26 ORI - DISCOS Quando um disco rígido IDE transfere dados, estão envolvidos dois tipos de transferência: 1. Transferência da mídia magnética para a cache interna do disco 2. Transferência da cache interna do disco para a placa de CPU

27 ORI - DISCOS A taxa de transferência interna representa a velocidade na qual a primeira transferência é feita. A velocidade na qual a segunda transferência se faz, é chamada de taxa de transferência externa. Para que o disco rígido possa fazer uma transferência completa (mídia - cache - CPU) de forma mais veloz, tanto a transferência interna como a externa precisam ser rápidas.

28 ORI – DISCOS (BLOCOS) Bloco
Uma seqüência contígua de setores de uma única trilha Os dados são trasferidos entre o disco e a memória principal em blocos Os tamanhos variam de 512 bytes até vários kilobytes Blocos menores: mais transferências do disco Blocos maiores: mais espaço desperdiçado, devido a blocos parcialmente cheios Os tamanhos típicos de blocos hoje variam de 4 a 16 kilobytes

29 ORI – DISCOS (BLOCOS) Bloco
Algoritmos de Agendamento do braço do disco Ordenam os acessos pendentes para as trilhas para minimizar a movimentação do braço do disco. Algoritmo elevador: move o braço do disco em uma direção (das trilhas externas para as internas e vice-versa), processando a próxima requisição naquela direção, até que não haja mais requisições naquela direção, então reverte a direção e repete.

30 ORI – DISCOS (blocos) Suponha que tenhamos um disco organizado em blocos com capacidade para bytes (por trilha) e que para armazenar um bloco o sistema gaste 300 bytes a mais com informações de suporte e espaçamento entre blocos. Queremos armazenar um arquivo que tem registros de tamanho igual a 100 bytes. Quantos registros podem ser armazenados em cada trilha com fator de bloco igual a 10?

31 ORI – DISCOS (blocos) Se temos 100 bytes por registro e o fator de bloco é 10, então cada bloco armazena 1000 bytes de dados e mais 300 bytes de informação de controle. Assim, cada bloco utiliza 1300 bytes. Se temos bytes em uma trilha, isso implica em / = blocos. Como precisamos de um número inteiro, teremos 15 blocos com 10 registros  150 registros por trilha.

32 ORI – DISCOS (blocos) E se o fator de bloco fosse 60?
Se fosse 60 teríamos 6000 bytes de dados (60 x 100) bytes de controle. Assim, teríamos / = 3 Ou sejam, 3 blocos com capacidade de 60 registros = 180 registros por trilha (contra 150 da versão anterior). É mais vantajoso utilizar o fator

33 ORI – DISCOS (organização)
Organização de Arquivos Otimiza o tempo de acesso aos blocos organizando-os para corresponder à forma como os dados serão acessados. Por exemplo: armazenar informações relacionadas no mesmo cilindro ou em cilindros próximos. Fragmentação : Os blocos livres no disco ficam espalhados ou os arquivos novos têm seus blocos espalhados pelo disco: Acesso seqüencial a um arquivo fragmentado resulta em maior movimentação do braço do disco Alguns sistemas possuem utilitários para desfragmentar o sistema de arquivos, para tornar mais rápido o acesso aos arquivos

34 ORI – DISCOS (organização)
Vamos analisar 2 situações diferentes de processamento de arquivo para demonstrar como o acesso à informação pode ser afetado pelo tempo de acesso. Situação 1 – Tempo para acessar o arquivo em seqüência. Situação 2 – Tempo para acessar o arquivo aleatoriamente.

35 ORI – DISCOS (organização)
O melhor desempenho para transferência de dados ocorre quando os arquivos estão em uma trilha. O arquivo tem bytes e está dividido em registros de 256 bytes cada. Primeiramente, é importante descobrir como o arquivo está distribuído no disco. Um bloco com 4096 bytes comporta 16 registros. O arquivo será armazenado de forma a ter uma seqüência de 2125 blocos que serão distribuídos em 100 trilhas.

36 ORI – DISCOS (organização)
Assumiremos que as 100 trilhas estão dispersas aleatoriamente no disco (situação extrema  apenas para enfatizar a conclusão). Devemos estimar o tempo que se deve consumir para ler o arquivo em seqüência (setor por setor). O processo envolve os seguintes tempos: seek time = 8 msec rotational delay = 3 msec leitura de uma trilha = 6 msec Total para uma trilha = 17 msec

37 ORI – DISCOS (organização)
Como desejamos a leitura de 100 trilhas temos : 100 x 17 msec = 1.7 segundos A segunda situação assume que os setores podem estar em posições distintas (não seqüencial), e assim, a cabeça de leitura terá que ficar “pulando” de uma posição para outra. Para ler um registro é preciso ler um bloco: seek time = 8 msec rotational delay = 3 msec leitura de um bloco = 1/21.5 x 6) = 0.28 msec total = msec Como temos registros, teremos x ms = 9,25 s

38 ORI – CD-ROMS Desenvolvido inicialmente pela Philips, e em seguida com a colaboração da Sony, os cd-roms têm se tornado muito populares. Seguros, duráveis, fáceis de armazenar e com alta capacidade de armazenamento, eles têm se tornado um grande meio de distribuição de programas.

39 ORI – CD-ROMS O nome cd-rom vem de compact disk read only memory. Como o próprio nome diz, ele é uma memória rom, isto é, memória somente de leitura (não pode ser alterada).

40 ORI – CD-ROMS Um cd é gravado utilizando um laser de alta potência. Com este laser são feitos “furos” (pits) em um disco. As áreas não “furadas” entre os pits são chamadas lands. Com os pits têm uma refletividade diferente dos lands, pode-se, assim, representar uma informação digital (dois estados).

41 ORI – CD-ROMS O processo de leitura é feito através da interpretação de altos e baixos relevos (PITS e LANDS), impressos no CD-ROM durante o processo de fabricação. Os PITS tem 0,12 microns por 0,6 microns de largura, sendo que a distância entre os mesmos corresponde à espiral de 1,6 microns representando uma taxa de TPI (trilhas por polegadas), muito maior de que hoje temos nos disquetes 5 1/4” 360 kbytes.

42 ORI – CD-ROMS É usado para leitura, um feixe de laser (Light Amplification by Stimulated Emission of Radar), circular de aproximadamente 1 mícron de diâmetro. Para se produzir esse feixe de laser é necessário aumentar a sua intensidade, que irá passar por uma série de lentes de altíssima qualidade, a fim de incidir sobre a face reflexiva do CD-ROM.

43 ORI – CD-ROMS Assim, de um lado temos o disco CD-ROM e do outro um feixe de laser incidindo sobre a espiral (PITS/LANDS), que é refletida pela camada de alumínio que compõe o CD-ROM.

44 ORI – CD-ROMS Quando o feixe incidir sobre uma microcavidade (baixo relevo “LAND”), ela será refletida ordenadamente com a mesma intensidade, voltando através do sistema de lentes e passando por um fotodetector que produzirá uma corrente elétrica de intensidade proporcional ao feixe recebido.

45 ORI – CD-ROMS De outro modo, quando o feixe incidir sobre um PIT (alto relevo) será refletido em diversas direções, dispersando a intensidade de luz refletida e, voltando pelo sistema óptico com uma baixa intensidade, irá gerar uma corrente elétrica de baixa intensidade.

46 ORI – CD-ROMS Quando se armazenam dados, em qualquer meio, eles devem ter uma forma que seja aceitável por esse meio. Em todas essas formas, é utilizado o sistema de representação binário (1/0). Nos CD’s temos os PITS e LANDS (espaço entre pits), que não correspondem a 1s e 0s. O conceito de representação binária dos 1s é através da mudança de estado de PIT para LAND ou, de LAND para PIT, e o tamanho do PIT ou LAND indica o número de 0s.

47 ORI – CD-ROMS Transições adjacentes, (PIT/LAND/PIT), não conseguem ser lidas pelo sistema óptico. Para solucionar este problema foi definido um tamanho mínimo de LAND (2 bits) e um tamanho máximo (11bits) para que durante a leitura dos dados não houvesse perda de sincronismo e que não prejudicasse o sistema de leitura do CD-ROM .

48 ORI – CD-ROMS Para que isso fosse realizado, foi adotada para o CD-ROM uma modulação de dados chamada EFM (Eight Fourteem Modulation), que transforma um byte (8 bits) de dados do usuário em 14 bits, que representam um caractere ou símbolo. A utilização da conversão EFM (8 para 14 bits), faz com que seja possível o tamanho mínimo (land máximo de 11 bits), mas como existe a possibilidade do fim da representação de um caractere (seqüência de 14 bits) terminar com “1” e o próximo caractere também iniciar com “1” para que isso não ocorra, é introduzido uma seqüência de três bits (merge bits) entre os caracteres.

49 ORI - EFM Eight to Fourteen Modulation 00000000 01001000100000

50 ORI – CD-ROMS A divisão lógica dos CD´s é totalmente diferente de um disquete ou disco rígido. Os dados não são gravados em trilhas e setores, mas numa espiral contínua, em blocos de dados. Um CD de 553 Mb, por exemplo, tem blocos de dados.

51 ORI – CD-ROMS Os primeiros drives de CD-ROM operavam com a taxa de transferência de 150 kB/s, a mesma utilizada pelos CD Players para áudio. Surgiram os drives de velocidade dupla (2x), com taxa de 300 kB/s. Os drives mais antigos passaram a ser chamados de drives de velocidade simples, ou 1x. Seguiram-se os drives de velocidade tripla (3x), quádrupla (4x), e assim por diante.

52 ORI – CD-ROMS Tipo Taxa de transferência 1x 150 kB/s 2x 300 kB/s
8x 1,2 MB/s 10x 1,5 MB/s 12x 1,8 MB/s 16x 2,4 MB/s 20x 3,0 MB/s

53 ORI – CD-ROMS Nos bons tempos, para comparar o desempenho de um drive, bastava saber sua velocidade, a velocidade média de acesso, a velocidade média de procura, e o tempo médio entre falhas (MTBF).

54 ORI – CAV Para compreender a lógica por trás da tecnologia CAV (Constant Angular Velocity, ou Velocidade Angular Constante), é importante observar como os dados são gravados. Discos rígidos, por exemplo, usam velocidade angular constante ou CAV para ter acesso a informações, o que significa que em qualquer área do disco passa por um ponto especificado, o cabeçote do disco, a uma taxa constante.

55 ORI – CAV Os setores num disco rígido são semelhantes aos raios de uma roda de bicicleta. No centro do disco, os dados estão mais compactados. Já na borda externa, as informações são gravadas de forma mais espalhada. Devido a essa variação de densidade de dados, o disco pode girar a uma velocidade constante e ler os dados a uma velocidade constante, estando no centro do disco ou em sua borda externa.

56 ORI – CLV Ao contrário dos discos rígidos, a tecnologia de CD foi desenvolvida usando o padrão CLV (Constant Linear Velocity, ou Velocidade Linear Constante), pois os criadores de CDs de Áudio desejavam colocar o máximo de música possível no CD.

57 ORI – CLV Para tanto, as especificações determinavam que cada setor num CD deveria ocupar o mesmo comprimento ao longo da trilha espiral, ao invés de espalhar os dados ao aproximar-se da borda do disco.

58 ORI – CLV Para ler estes setores eqüidistantes no centro do disco à mesma velocidade que os da borda externa, era necessário acelerar o motor nas trilhas internas e reduzir sua rotação nas trilhas externas.

59 ORI – CLV Diversos fatores forçaram os fabricantes de drives de CD-ROM a migrar da tecnologia CLV native do CD-ROM para a tecnologia  CAV. O principal fator de limitação para a velocidade de drives de CD-ROM está nos próprios discos. Num drive de CD-ROM 12X CLV, a velocidade de rotação varia de  rpm a rpm. A rpm o disco está girando o mais rápido possível antes que pequenas imperfeições com o disco e a legenda impressa nele desequilibrem o disco em relação ao seu eixo de rotação, provocando vibrações e reduzida confiabilidade na leitura de dados.

60 ORI – CLV Por outro lado, um drive usando tecnologia CAV não precisa girar tão rápido para atingir velocidades de leitura maiores, tendo portanto menos torque no motor e vibração reduzida.

61 ORI – CLV x CAV

62 ORI – CD-R A sigla CD-R significa cd recordable. Um cd deste tipo pode ser gravado somente uma vez. Representa uma evolução dos Cd-roms comuns justamente pela capacidade de serem graváveis pelo usuário comum.

63 ORI – Discos Ópticos Apagáveis
A terceira fase da evolução dos discos óticos é o cd óptico apagável. Com este tipo de mídia, podem ser realizadas várias gravações. Como? R: Utilizando-se ligas metálicas exóticas, que mudam suas propriedades de acordo com a temperatura. Na temperatura ambiente, suas propriedades não são alteradas, mas, a altas temperaturas, estas ligas (térbio, gadolínio), ficam sensíveis a campos magnéticos.

64 ORI - Digitalização Quando queremos armazenar som,
precisamos converter a onda em pa- drões digitais.

65 ORI - Digitalização A onda é representada por um gráfico de amplitude contra o tempo.

66 ORI - Digitalização Como estamos digitalizando, precisamos armazenar as amplitudes em períodos regulares para, depois, reconstruírmos o gráfico referente à onda.

67 ORI - Digitalização

68 ORI - Digitalização

69 ORI - Digitalização O CD de áudio utiliza 16 bits para armazenar cada amplitude. Isso significa que a amplitude pode ter graus de diferença. Existem restrições para o armazenamento adequado do som: é preciso armazenar as amplitudes um uma taxa no mínimo duas vezes maior que a mais alta freqüência que queremos capturar. Normalmente o “sampling” rate é de 44.1 KHz (ou vezes por segundo) que permitem capturar freqüências de até 20 KHz (o limite da audição humana).

70 ORI - Digitalização Assim, 16 bits (2 bytes) a uma taxa de vezes por segundo  bytes por segundo. Se for som estéreo, precisamos dobrar  bytes por segundo.

71 ORI – Sistemas de Detecção de Erros
Pesquisar os sistemas de detecção de erros (CRC...)

72 ORI – External Sorting Em várias aplicações pode-se ter a necessidade de se organizar os dados em uma determinada ordem. Entretanto, em muitos casos, os arquivos podem ser muito grandes de forma que seus dados não possam estar todos em memória ao mesmo tempo.

73 ORI – External Sorting Para ilustrar, vamos supor, nesta aula, que tenhamos um arquivo com 8 milhões de registros, cada um de 100 bytes. O espaço em disco necessário para armazenar estes dados é de 800 megabytes. O espaço disponível em memória para trabalho é de 10 megabytes (espaço livre após contar-se o utilizado pelo SO, buffers...)

74 ORI – External Sorting Podemos utilizar um algoritmo como o quicksort – por exemplo – ou uma árvore binária para ordenar um subconjunto dos dados, de tal forma que possam ocupar quase todo o espaço disponível do sistema. Após isso, devemos escrever os dados (ordenados) de volta no arquivo e proceder com o restante. A este subconjunto damos o nome de rodada.

75 ORI – External Sorting Em nosso exemplo, uma rodada seria:
bytes / 100 bytes (registro) = registros Após a primeira rodada, deve-se ler um segundo subconjunto de dados do arquivo e criar uma nova rodada... E, após 80 rodadas, pode-se combinar os resultados para se gerar um único arquivo (ordenado).

76 ORI – External Sorting arquivo desordenado arquivo ordenado

77 ORI – External Sorting Two-way Sort / Merge
O número máximo de elementos que podem ocupar o espaço de memória de trabalho é 3. Assim, nossas rodadas podem ter no máximo tamanho 3: F1  [ ] [ ] [ ] F2  [ ] [ ]

78 ORI – External Sorting F1  [50 95 110] [40 120 153] [22 80 140]
F1  [vazio] F2  [vazio]

79 ORI – External Sorting F1  [10 ... 110] [22 80 140] F2  [40 ... 153]
F3  [vazio] F1  [ ] F2  [ ] F3  [ ]

80 ORI – External Sorting Características
Ordena arquivos de qualquer tamanho Leitura seqüêncial  mais rápida Podem ser utilizadas fitas... Ordenação interna com método rápido

81 ORI – External Sorting Merge
Para analisar o processo de ordenação externa – e mais especificamente o merge – vamos considerar um disco rígido de alguns anos atrás (1997) da marca Seagate: Capacidade : 9 GB Seek time de trilha a trilha: ms Seek time médio: 8 ms Rotational delay (médio): 3 ms Transfer rate: bytes / ms

82 ORI – External Sorting Suposições:
Arquivos são sempre armazenados em áreas contíguas no disco. Assim, somente um seek é preciso para uma leitura seqüêncial; Se a quantidade de dados a ser lida for maior que o espaço de uma trilha, assume-se 1 rotational delay.

83 ORI – External Sorting Durante a fase de ordenação é preciso ler os dados e criar as rodadas. Escrevendo-as no disco. Durante a fase de merge é preciso ler os dados de cada rodada e escrever o resultado de cada rodada no disco.

84 ORI – External Sorting Passo 1: Lendo registros
Os dados são lidos de 10 em 10 MB (80 vezes). O tempo para ler cada rodada inclui o tempo de acesso a cada bloco (seek time + rotational delay) + tempo de transferência. Assim, para nosso disco exemplo, temos: = 11 ms Como vamos fazer 80 acessos, o tempo total será de 1 s O tempo de transferência será de 60 s

85 ORI – External Sorting Passo 2: Escrita das rodadas
Processo reverso do anterior Outros 61 s

86 ORI – External Sorting Passo 3: Lendo rodadas p/ o merge
Temos que ler 1/80 de cada rodada para realizar o merge. Assim, temos que ler cada rodada 80 vezes. E temos 80 delas para serem lidas... 80 x 80 = seeks Assim x 11 ms = 70 s Tempo de transferência dos dados = 60 s Total  130 s

87 ORI – External Sorting Passo 4: Escrita no disco
Depende do tamanho do buffer de saída. Para simplificar, vamos assumir um buffer de bytes: / = seeks 4.000 x 11 ms = 44 s Tempo de transferência = 60 s Total geral = = 356 s (ou 5 minutos e 56 segundos)

88 ORI – External Sorting E o que aconteceria se aumentássemos a magnitude do problema ? Analisando o problema verificamos que a leitura e a escrita são majoritariamente seqüêncial e, portanto, muito difícil de ter o desempenho melhorado. A fase de merge, entretanto, pode ser melhorada...

89 ORI – External Sorting Se aumentarmos o tamanho do arquivo em um fator de 10, sem aumentarmos o tamanho da área de trabalho, precisaremos criar mais rodadas... Se antes tínhamos 80, agora teremos Isso significa que vamos ter um merge de 800 arquivos que devem ser acessados 800 vezes  800 x 800 = seeks.

90 ORI – External Sorting Fase Seeks Transfer (mb) Seek+ Rot. (seg) Total
leitura 8000 7040 600 7640 escrita 40.000 440 1040 total 16000 7480 1200 8680

91 ORI – External Sorting 8.680 s  2h e 24 m
(aprox. 25 vezes o tempo de um arquivo de 800 MB)

92 ORI – External Sorting Analisando...
A grande diferença entre os problemas foi relativa ao seek time e o rotational delay. No primeiro caso tínhamos seeks contra no segundo (100 x  102 x); Tínhamos seeks de escrita e temos agora (10 x);

93 ORI – External Sorting Concluindo...
A solução atual é O(n2) do ponto de vista de seeks...

94 ORI – External Sorting Como melhorar? Melhoria de hardware;
Melhoria de software.

95 ORI – External Sorting Melhorando o algoritmo:
Ao invés de combinarmos as 800 rodadas de uma só vez, vamos criar um novo passo: vamos fazer 25 conjuntos de 32 rodadas cada (25 x 32 = 800) Cada um dos buffers iniciais terá 1/32 da rodada o que perfaz 32 x 32 = 1024 seeks. Com 25 conjuntos tem-se 25 x 1024 = seeks. Cada rodada resultante será de 320 MB ( regs x regs anteriormente)

96 ORI – External Sorting Na segunda fase, teremos 25 rodadas finais. Cada buffer deverá conter 1/25 do espaço alocado (ou 1/800 de uma rodada). Assim, teremos 800 seeks por rodada: 25 x 800 seeks = seeks Total das duas fases: =

97 ORI – External Sorting É óbvio que teremos também que contabilizar os tempos extras de escrita e transmissão. Temos que transmitir os dados 3 vezes (no lugar de 2). Assim, o tempo de transmissão aumenta em s. Além disso, escrevemos os registros 2 vezes (no lugar de 1), o que implica em mais seeks (de escrita). O total geral será de s (ou 1 h e 3 m – contra as 2h e 25 m)


Carregar ppt "Organização e Recuperação da Informação Memória Secundária"

Apresentações semelhantes


Anúncios Google