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

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

Ordenação Externa de Arquivos – Um exemplo AULA 18 Profa. Sandra de Amo GBC053 – BCC.

Apresentações semelhantes


Apresentação em tema: "Ordenação Externa de Arquivos – Um exemplo AULA 18 Profa. Sandra de Amo GBC053 – BCC."— Transcrição da apresentação:

1 Ordenação Externa de Arquivos – Um exemplo AULA 18 Profa. Sandra de Amo GBC053 – BCC

2 Arquivo Q de 108 páginas em disco Buffer com 4 páginas Descrever as operações para ordenar as tuplas do arquivo Q, distribuídas em 108 páginas em disco. Cada página tem duas tuplas, portanto o arquivo Q contém 216 tuplas ao todo. Dispõe-se de somente 4 páginas na memória principal para realizar a ordenação de todas as tuplas. Logo, não será possível carregar as 108 páginas de uma só vez e aplicar um algoritmo de ordenação interna (tipo quicksort, bubblesort, etc)

3 Etapa 0 Buffer com 4 páginas Ordena os registros das 4 páginas em memória principal utilizando um algoritmo de ordenação interna: quicksort, bubblesort, por exemplo. Tais algoritmos são do tipo “in place”: fazem a ordenação utilizando o próprio espaço ocupado pelos registros, Sem necessidade de mais páginas livres para fazer as operações. Arquivo em disco

4 Etapa 0 Buffer com 4 páginas

5 Etapa 0 Buffer com 4 páginas Subarquivo 1 = 4 páginas ordenadas Subarquivo 2 = 4 páginas ordenadas Subarquivo 3 = 4 páginas ordenadas

6 Etapa 0 Buffer com 4 páginas Buffer com 4 páginas Subarquivo 1 = 4 páginas ordenadas Subarquivo 2 = 4 páginas ordenadas Subarquivo 3 = 4 páginas ordenadas... Subarquivo 27 = 4 páginas ordenadas

7 Custo da Etapa 0 Ao final da etapa 0 temos 27 arquivos de 4 páginas cada um. Cada um dos subarquivos está ordenado. Custo = = 216 I/Os Na etapa 0, carregamos blocos de 4 páginas cada no buffer. Total de blocos carregados = 108/4 = 27

8 Etapa 1 Agrupa-se os 27 subarquivos de 3 em 3 (3 = B – 1 = 4 - 1) Cada bloco constituido de 3 subarquivos tem 3*4 = 12 páginas Nº de blocos de 12 páginas = 27/3 = 9

9 Etapa 1 São 9 iterações na etapa 1. Em cada iteração, cada subarquivo de 12 páginas é carregado, ordenado na memória principal e gravado de volta no disco, totalmente ordenado. A ordenação de cada subarquivo utiliza um algoritmo de ordenação EXTERNA, de forma iterativa.

10 Etapa 1 No final da Etapa 1 temos 9 subarquivos de 12 páginas cada um. Cada um dos 9 subarquivos está ordenado Custo da etapa 1 = 2*108 = 216 I/O

11 Etapa 2 Agrupa-se os 9 subarquivos de 3 em 3 (3 = B – 1 = 4 - 1) Cada bloco constituído de 3 subarquivos tem 3*12 = 36 páginas Nº de blocos de 36 páginas = 9/3 = 3

12 Etapa 2 São 3 iterações na etapa 2. Em cada iteração, cada subarquivo de 36 páginas é carregado, ordenado na memória principal e gravado de volta no disco, totalmente ordenado. A ordenação de cada subarquivo utiliza um algoritmo de ordenação EXTERNA, de forma iterativa.

13 Etapa 2 No final da Etapa 2 temos 3 subarquivos de 36 páginas cada um. Cada um dos 3 subarquivos está ordenado Custo da etapa 2 = 2*108 = 216 I/O

14 Etapa 3 Agrupa-se os 3 subarquivos (3 = B – 1 = 4 - 1) Temos um único bloco constituído de 3 subarquivos com 3*36 = 108 páginas

15 Etapa 3 Em uma única iteração o arquivo de 108 páginas é carregado, ordenado na memória principal e gravado de volta no disco, totalmente ordenado. A ordenação do arquivo utiliza um algoritmo de ordenação EXTERNA, de forma iterativa.

16 Etapa 3 No final da Etapa 3 temos 1 arquivo de 108 páginas completamente ordenado Custo da etapa 3 = 2*108 = 216 I/O Nº total de etapas = 1 + log 3 ( 108/4) = 1 + log 3 ( 27) = = 4 Custo total da ordenação = 4*216 = 864 I/O

17 Algoritmo Input: Arquivo A com P páginas (em disco), B = nº de páginas livres no buffer Output: Arquivo A ordenado (em disco). 1.M = [P/B] 2.[A 1,...,A M ] = Separa_SubArq(A) 3.For each i = 1,..., M do 4. - Lê A i 5. - A i Ord = Ordena_INT(Ai) 6. - Grava A i Ord 7.M = [M/B-1] 8.While M ≥ 1 do 9. - [A 1,...,A M ] = Separa_SubArq(A) Para cada i = 1,..., M 11. * Lê A i 12. * A i Ord = Ordena_EXT(Ai) 13. * Grava A i Ord A = A 1 Ord U A 2 Ord U A 3 Ord.... U A M Ord M = [M/B-1]

18 Ordena_Ext Uma das 9 iterações da Etapa 1 AiAi


Carregar ppt "Ordenação Externa de Arquivos – Um exemplo AULA 18 Profa. Sandra de Amo GBC053 – BCC."

Apresentações semelhantes


Anúncios Google