SlideShare una empresa de Scribd logo
1 de 68
Descargar para leer sin conexión
Introducción
                  Diseño alto nivel
                       Arquitectura
    Interacción entre componentes
                      Conclusiones




      Google File System (GFS)
El sistema de archivos distribuido de Google !!


                     Mario A. del Riego

               Consejo de Educación Secundaria




                Mario A. del Riego    Google File System
Introducción
                             Diseño alto nivel
                                  Arquitectura
               Interacción entre componentes
                                 Conclusiones


Agenda
  1   Introducción
         Definiciones
         Requerimientos
         Mente conservadora...
  2   Diseño alto nivel
        Hipótesis
  3   Arquitectura
  4   Interacción entre componentes
         Ejemplo 1: Write
         Ejemplo 2: Snapshot
  5   Conclusiones

                           Mario A. del Riego    Google File System
Introducción
                             Diseño alto nivel
                                  Arquitectura
               Interacción entre componentes
                                 Conclusiones


Agenda
  1   Introducción
         Definiciones
         Requerimientos
         Mente conservadora...
  2   Diseño alto nivel
        Hipótesis
  3   Arquitectura
  4   Interacción entre componentes
         Ejemplo 1: Write
         Ejemplo 2: Snapshot
  5   Conclusiones

                           Mario A. del Riego    Google File System
Introducción
                             Diseño alto nivel
                                  Arquitectura
               Interacción entre componentes
                                 Conclusiones


Agenda
  1   Introducción
         Definiciones
         Requerimientos
         Mente conservadora...
  2   Diseño alto nivel
        Hipótesis
  3   Arquitectura
  4   Interacción entre componentes
         Ejemplo 1: Write
         Ejemplo 2: Snapshot
  5   Conclusiones

                           Mario A. del Riego    Google File System
Introducción
                             Diseño alto nivel
                                  Arquitectura
               Interacción entre componentes
                                 Conclusiones


Agenda
  1   Introducción
         Definiciones
         Requerimientos
         Mente conservadora...
  2   Diseño alto nivel
        Hipótesis
  3   Arquitectura
  4   Interacción entre componentes
         Ejemplo 1: Write
         Ejemplo 2: Snapshot
  5   Conclusiones

                           Mario A. del Riego    Google File System
Introducción
                             Diseño alto nivel
                                  Arquitectura
               Interacción entre componentes
                                 Conclusiones


Agenda
  1   Introducción
         Definiciones
         Requerimientos
         Mente conservadora...
  2   Diseño alto nivel
        Hipótesis
  3   Arquitectura
  4   Interacción entre componentes
         Ejemplo 1: Write
         Ejemplo 2: Snapshot
  5   Conclusiones

                           Mario A. del Riego    Google File System
Introducción
                            Diseño alto nivel   Definiciones
                                 Arquitectura   Requerimientos
              Interacción entre componentes     Mente conservadora...
                                Conclusiones


Solo unas definiciones

  Definition
  Un File System (FS) es un sistema que estructura los datos en
  una unidad de almacenamiento.

  Definition
  Un Distributed File System (DFS) es un servicio que permite al
  usuario acceder y procesar archivos guardados en un servidor
  como si fuese local.

  Definition
  Google File System (GFS) es el DFS que da soporte a todas
  las aplicaciones de Google Inc.

                          Mario A. del Riego    Google File System
Introducción
                            Diseño alto nivel   Definiciones
                                 Arquitectura   Requerimientos
              Interacción entre componentes     Mente conservadora...
                                Conclusiones


Solo unas definiciones

  Definition
  Un File System (FS) es un sistema que estructura los datos en
  una unidad de almacenamiento.

  Definition
  Un Distributed File System (DFS) es un servicio que permite al
  usuario acceder y procesar archivos guardados en un servidor
  como si fuese local.

  Definition
  Google File System (GFS) es el DFS que da soporte a todas
  las aplicaciones de Google Inc.

                          Mario A. del Riego    Google File System
Introducción
                            Diseño alto nivel   Definiciones
                                 Arquitectura   Requerimientos
              Interacción entre componentes     Mente conservadora...
                                Conclusiones


Solo unas definiciones

  Definition
  Un File System (FS) es un sistema que estructura los datos en
  una unidad de almacenamiento.

  Definition
  Un Distributed File System (DFS) es un servicio que permite al
  usuario acceder y procesar archivos guardados en un servidor
  como si fuese local.

  Definition
  Google File System (GFS) es el DFS que da soporte a todas
  las aplicaciones de Google Inc.

                          Mario A. del Riego    Google File System
Introducción
                           Diseño alto nivel   Definiciones
                                Arquitectura   Requerimientos
             Interacción entre componentes     Mente conservadora...
                               Conclusiones


Las aplicaciones actuales de Google

     Google Mail
     Google Search / History / Image / Cache
     Google Video / Youtube
     Google Books
     Google Maps
     Google Earth
     Google Street View
     Google Apps
     Google Docs
     Google Drive (NUEVO! 5GB por usuario)
     Google ... ???
                         Mario A. del Riego    Google File System
Introducción
                           Diseño alto nivel   Definiciones
                                Arquitectura   Requerimientos
             Interacción entre componentes     Mente conservadora...
                               Conclusiones


Las aplicaciones actuales de Google

     Google Mail
     Google Search / History / Image / Cache
     Google Video / Youtube
     Google Books
     Google Maps
     Google Earth
     Google Street View
     Google Apps
     Google Docs
     Google Drive (NUEVO! 5GB por usuario)
     Google ... ???
                         Mario A. del Riego    Google File System
Introducción
                           Diseño alto nivel   Definiciones
                                Arquitectura   Requerimientos
             Interacción entre componentes     Mente conservadora...
                               Conclusiones


Las aplicaciones actuales de Google

     Google Mail
     Google Search / History / Image / Cache
     Google Video / Youtube
     Google Books
     Google Maps
     Google Earth
     Google Street View
     Google Apps
     Google Docs
     Google Drive (NUEVO! 5GB por usuario)
     Google ... ???
                         Mario A. del Riego    Google File System
Introducción
                           Diseño alto nivel   Definiciones
                                Arquitectura   Requerimientos
             Interacción entre componentes     Mente conservadora...
                               Conclusiones


Las aplicaciones actuales de Google

     Google Mail
     Google Search / History / Image / Cache
     Google Video / Youtube
     Google Books
     Google Maps
     Google Earth
     Google Street View
     Google Apps
     Google Docs
     Google Drive (NUEVO! 5GB por usuario)
     Google ... ???
                         Mario A. del Riego    Google File System
Introducción
                           Diseño alto nivel   Definiciones
                                Arquitectura   Requerimientos
             Interacción entre componentes     Mente conservadora...
                               Conclusiones


Las aplicaciones actuales de Google

     Google Mail
     Google Search / History / Image / Cache
     Google Video / Youtube
     Google Books
     Google Maps
     Google Earth
     Google Street View
     Google Apps
     Google Docs
     Google Drive (NUEVO! 5GB por usuario)
     Google ... ???
                         Mario A. del Riego    Google File System
Introducción
                           Diseño alto nivel   Definiciones
                                Arquitectura   Requerimientos
             Interacción entre componentes     Mente conservadora...
                               Conclusiones


Las aplicaciones actuales de Google

     Google Mail
     Google Search / History / Image / Cache
     Google Video / Youtube
     Google Books
     Google Maps
     Google Earth
     Google Street View
     Google Apps
     Google Docs
     Google Drive (NUEVO! 5GB por usuario)
     Google ... ???
                         Mario A. del Riego    Google File System
Introducción
                           Diseño alto nivel   Definiciones
                                Arquitectura   Requerimientos
             Interacción entre componentes     Mente conservadora...
                               Conclusiones


Las aplicaciones actuales de Google

     Google Mail
     Google Search / History / Image / Cache
     Google Video / Youtube
     Google Books
     Google Maps
     Google Earth
     Google Street View
     Google Apps
     Google Docs
     Google Drive (NUEVO! 5GB por usuario)
     Google ... ???
                         Mario A. del Riego    Google File System
Introducción
                           Diseño alto nivel   Definiciones
                                Arquitectura   Requerimientos
             Interacción entre componentes     Mente conservadora...
                               Conclusiones


Las aplicaciones actuales de Google

     Google Mail
     Google Search / History / Image / Cache
     Google Video / Youtube
     Google Books
     Google Maps
     Google Earth
     Google Street View
     Google Apps
     Google Docs
     Google Drive (NUEVO! 5GB por usuario)
     Google ... ???
                         Mario A. del Riego    Google File System
Introducción
                           Diseño alto nivel   Definiciones
                                Arquitectura   Requerimientos
             Interacción entre componentes     Mente conservadora...
                               Conclusiones


Las aplicaciones actuales de Google

     Google Mail
     Google Search / History / Image / Cache
     Google Video / Youtube
     Google Books
     Google Maps
     Google Earth
     Google Street View
     Google Apps
     Google Docs
     Google Drive (NUEVO! 5GB por usuario)
     Google ... ???
                         Mario A. del Riego    Google File System
Introducción
                           Diseño alto nivel   Definiciones
                                Arquitectura   Requerimientos
             Interacción entre componentes     Mente conservadora...
                               Conclusiones


Las aplicaciones actuales de Google

     Google Mail
     Google Search / History / Image / Cache
     Google Video / Youtube
     Google Books
     Google Maps
     Google Earth
     Google Street View
     Google Apps
     Google Docs
     Google Drive (NUEVO! 5GB por usuario)
     Google ... ???
                         Mario A. del Riego    Google File System
Introducción
                           Diseño alto nivel   Definiciones
                                Arquitectura   Requerimientos
             Interacción entre componentes     Mente conservadora...
                               Conclusiones


Las aplicaciones actuales de Google

     Google Mail
     Google Search / History / Image / Cache
     Google Video / Youtube
     Google Books
     Google Maps
     Google Earth
     Google Street View
     Google Apps
     Google Docs
     Google Drive (NUEVO! 5GB por usuario)
     Google ... ???
                         Mario A. del Riego    Google File System
Introducción
                            Diseño alto nivel   Definiciones
                                 Arquitectura   Requerimientos
              Interacción entre componentes     Mente conservadora...
                                Conclusiones


. . . porqué no centralizado?




      La historia me avala!




                          Mario A. del Riego    Google File System
Introducción
                           Diseño alto nivel   Definiciones
                                Arquitectura   Requerimientos
             Interacción entre componentes     Mente conservadora...
                               Conclusiones


bueh... y porqué no NFS (Network File System)?




     Otra vez... ¡La historia me avala!




                         Mario A. del Riego    Google File System
Introducción
                            Diseño alto nivel   Definiciones
                                 Arquitectura   Requerimientos
              Interacción entre componentes     Mente conservadora...
                                Conclusiones


Basado en la experiencia. . .

      Los componentes fallan, es la norma y no la excepción
          Errores en la aplicación
          Errores en el SO
          Errores humanos (errar es humano.. dijo el caballo)
          Errores en los HDD / RAM
          Errores en la red
          Cortes de energía
      Los archivos crecen muy rápido, llegando inclusive al
      orden de TB
      La mayoría de los archivos son modificados agregando
      info. Modificaciones aleatorias dentro del archivo ni
      existen.

                          Mario A. del Riego    Google File System
Introducción
                            Diseño alto nivel   Definiciones
                                 Arquitectura   Requerimientos
              Interacción entre componentes     Mente conservadora...
                                Conclusiones


Basado en la experiencia. . .

      Los componentes fallan, es la norma y no la excepción
          Errores en la aplicación
          Errores en el SO
          Errores humanos (errar es humano.. dijo el caballo)
          Errores en los HDD / RAM
          Errores en la red
          Cortes de energía
      Los archivos crecen muy rápido, llegando inclusive al
      orden de TB
      La mayoría de los archivos son modificados agregando
      info. Modificaciones aleatorias dentro del archivo ni
      existen.

                          Mario A. del Riego    Google File System
Introducción
                            Diseño alto nivel   Definiciones
                                 Arquitectura   Requerimientos
              Interacción entre componentes     Mente conservadora...
                                Conclusiones


Basado en la experiencia. . .

      Los componentes fallan, es la norma y no la excepción
          Errores en la aplicación
          Errores en el SO
          Errores humanos (errar es humano.. dijo el caballo)
          Errores en los HDD / RAM
          Errores en la red
          Cortes de energía
      Los archivos crecen muy rápido, llegando inclusive al
      orden de TB
      La mayoría de los archivos son modificados agregando
      info. Modificaciones aleatorias dentro del archivo ni
      existen.

                          Mario A. del Riego    Google File System
Introducción
                            Diseño alto nivel   Definiciones
                                 Arquitectura   Requerimientos
              Interacción entre componentes     Mente conservadora...
                                Conclusiones


Basado en la experiencia. . .

      Los componentes fallan, es la norma y no la excepción
          Errores en la aplicación
          Errores en el SO
          Errores humanos (errar es humano.. dijo el caballo)
          Errores en los HDD / RAM
          Errores en la red
          Cortes de energía
      Los archivos crecen muy rápido, llegando inclusive al
      orden de TB
      La mayoría de los archivos son modificados agregando
      info. Modificaciones aleatorias dentro del archivo ni
      existen.

                          Mario A. del Riego    Google File System
Introducción
                            Diseño alto nivel   Definiciones
                                 Arquitectura   Requerimientos
              Interacción entre componentes     Mente conservadora...
                                Conclusiones


Basado en la experiencia. . .

      Los componentes fallan, es la norma y no la excepción
          Errores en la aplicación
          Errores en el SO
          Errores humanos (errar es humano.. dijo el caballo)
          Errores en los HDD / RAM
          Errores en la red
          Cortes de energía
      Los archivos crecen muy rápido, llegando inclusive al
      orden de TB
      La mayoría de los archivos son modificados agregando
      info. Modificaciones aleatorias dentro del archivo ni
      existen.

                          Mario A. del Riego    Google File System
Introducción
                            Diseño alto nivel   Definiciones
                                 Arquitectura   Requerimientos
              Interacción entre componentes     Mente conservadora...
                                Conclusiones


Basado en la experiencia. . .

      Los componentes fallan, es la norma y no la excepción
          Errores en la aplicación
          Errores en el SO
          Errores humanos (errar es humano.. dijo el caballo)
          Errores en los HDD / RAM
          Errores en la red
          Cortes de energía
      Los archivos crecen muy rápido, llegando inclusive al
      orden de TB
      La mayoría de los archivos son modificados agregando
      info. Modificaciones aleatorias dentro del archivo ni
      existen.

                          Mario A. del Riego    Google File System
Introducción
                            Diseño alto nivel   Definiciones
                                 Arquitectura   Requerimientos
              Interacción entre componentes     Mente conservadora...
                                Conclusiones


Basado en la experiencia. . .

      Los componentes fallan, es la norma y no la excepción
          Errores en la aplicación
          Errores en el SO
          Errores humanos (errar es humano.. dijo el caballo)
          Errores en los HDD / RAM
          Errores en la red
          Cortes de energía
      Los archivos crecen muy rápido, llegando inclusive al
      orden de TB
      La mayoría de los archivos son modificados agregando
      info. Modificaciones aleatorias dentro del archivo ni
      existen.

                          Mario A. del Riego    Google File System
Introducción
                            Diseño alto nivel   Definiciones
                                 Arquitectura   Requerimientos
              Interacción entre componentes     Mente conservadora...
                                Conclusiones


Basado en la experiencia. . .

      Los componentes fallan, es la norma y no la excepción
          Errores en la aplicación
          Errores en el SO
          Errores humanos (errar es humano.. dijo el caballo)
          Errores en los HDD / RAM
          Errores en la red
          Cortes de energía
      Los archivos crecen muy rápido, llegando inclusive al
      orden de TB
      La mayoría de los archivos son modificados agregando
      info. Modificaciones aleatorias dentro del archivo ni
      existen.

                          Mario A. del Riego    Google File System
Introducción
                            Diseño alto nivel   Definiciones
                                 Arquitectura   Requerimientos
              Interacción entre componentes     Mente conservadora...
                                Conclusiones


Basado en la experiencia. . .

      Los componentes fallan, es la norma y no la excepción
          Errores en la aplicación
          Errores en el SO
          Errores humanos (errar es humano.. dijo el caballo)
          Errores en los HDD / RAM
          Errores en la red
          Cortes de energía
      Los archivos crecen muy rápido, llegando inclusive al
      orden de TB
      La mayoría de los archivos son modificados agregando
      info. Modificaciones aleatorias dentro del archivo ni
      existen.

                          Mario A. del Riego    Google File System
Introducción
                              Diseño alto nivel
                                   Arquitectura   Hipótesis
                Interacción entre componentes
                                  Conclusiones


Hipótesis


     Es construído en base a componentes baratos
     Se debe manejar eficientemente archivos muy grandes
     (GB)
     Dos operaciones típicas:
            Lecturas largas y continuas
            Lecturas aleatorias y chicas
     Escrituras que hacen append a los archivos
     Debe soportar eficientemente la concurrencia
     Mucho ancho de banda



                            Mario A. del Riego    Google File System
Introducción
                              Diseño alto nivel
                                   Arquitectura   Hipótesis
                Interacción entre componentes
                                  Conclusiones


Hipótesis


     Es construído en base a componentes baratos
     Se debe manejar eficientemente archivos muy grandes
     (GB)
     Dos operaciones típicas:
            Lecturas largas y continuas
            Lecturas aleatorias y chicas
     Escrituras que hacen append a los archivos
     Debe soportar eficientemente la concurrencia
     Mucho ancho de banda



                            Mario A. del Riego    Google File System
Introducción
                              Diseño alto nivel
                                   Arquitectura   Hipótesis
                Interacción entre componentes
                                  Conclusiones


Hipótesis


     Es construído en base a componentes baratos
     Se debe manejar eficientemente archivos muy grandes
     (GB)
     Dos operaciones típicas:
            Lecturas largas y continuas
            Lecturas aleatorias y chicas
     Escrituras que hacen append a los archivos
     Debe soportar eficientemente la concurrencia
     Mucho ancho de banda



                            Mario A. del Riego    Google File System
Introducción
                              Diseño alto nivel
                                   Arquitectura   Hipótesis
                Interacción entre componentes
                                  Conclusiones


Hipótesis


     Es construído en base a componentes baratos
     Se debe manejar eficientemente archivos muy grandes
     (GB)
     Dos operaciones típicas:
            Lecturas largas y continuas
            Lecturas aleatorias y chicas
     Escrituras que hacen append a los archivos
     Debe soportar eficientemente la concurrencia
     Mucho ancho de banda



                            Mario A. del Riego    Google File System
Introducción
                              Diseño alto nivel
                                   Arquitectura   Hipótesis
                Interacción entre componentes
                                  Conclusiones


Hipótesis


     Es construído en base a componentes baratos
     Se debe manejar eficientemente archivos muy grandes
     (GB)
     Dos operaciones típicas:
            Lecturas largas y continuas
            Lecturas aleatorias y chicas
     Escrituras que hacen append a los archivos
     Debe soportar eficientemente la concurrencia
     Mucho ancho de banda



                            Mario A. del Riego    Google File System
Introducción
                              Diseño alto nivel
                                   Arquitectura   Hipótesis
                Interacción entre componentes
                                  Conclusiones


Hipótesis


     Es construído en base a componentes baratos
     Se debe manejar eficientemente archivos muy grandes
     (GB)
     Dos operaciones típicas:
            Lecturas largas y continuas
            Lecturas aleatorias y chicas
     Escrituras que hacen append a los archivos
     Debe soportar eficientemente la concurrencia
     Mucho ancho de banda



                            Mario A. del Riego    Google File System
Introducción
                              Diseño alto nivel
                                   Arquitectura   Hipótesis
                Interacción entre componentes
                                  Conclusiones


Hipótesis


     Es construído en base a componentes baratos
     Se debe manejar eficientemente archivos muy grandes
     (GB)
     Dos operaciones típicas:
            Lecturas largas y continuas
            Lecturas aleatorias y chicas
     Escrituras que hacen append a los archivos
     Debe soportar eficientemente la concurrencia
     Mucho ancho de banda



                            Mario A. del Riego    Google File System
Introducción
                              Diseño alto nivel
                                   Arquitectura   Hipótesis
                Interacción entre componentes
                                  Conclusiones


Hipótesis


     Es construído en base a componentes baratos
     Se debe manejar eficientemente archivos muy grandes
     (GB)
     Dos operaciones típicas:
            Lecturas largas y continuas
            Lecturas aleatorias y chicas
     Escrituras que hacen append a los archivos
     Debe soportar eficientemente la concurrencia
     Mucho ancho de banda



                            Mario A. del Riego    Google File System
Introducción
                           Diseño alto nivel
                                Arquitectura   Hipótesis
             Interacción entre componentes
                               Conclusiones


Interfase




      No soporta POSIX (..pero muy parecido)
      Agrega dos operaciones importantes: snapshot y append




                         Mario A. del Riego    Google File System
Introducción
                           Diseño alto nivel
                                Arquitectura   Hipótesis
             Interacción entre componentes
                               Conclusiones


Interfase




      No soporta POSIX (..pero muy parecido)
      Agrega dos operaciones importantes: snapshot y append




                         Mario A. del Riego    Google File System
Introducción
                             Diseño alto nivel
                                  Arquitectura
               Interacción entre componentes
                                 Conclusiones


Arquitectura


     1 master
     N chunkserver
     M clientes
     Archivos divididos en un tamaño fijo
         Cada “pedazo” se llama chunk
         Cada chunk es identificado por un número único de 64 bits,
         llamado chunk handle
         1 archivo se divide en size(archivo) chunks
                                    64MB
         1chunk → {Location1 , . . . , LocationN }




                           Mario A. del Riego    Google File System
Introducción
                             Diseño alto nivel
                                  Arquitectura
               Interacción entre componentes
                                 Conclusiones


Arquitectura


     1 master
     N chunkserver
     M clientes
     Archivos divididos en un tamaño fijo
         Cada “pedazo” se llama chunk
         Cada chunk es identificado por un número único de 64 bits,
         llamado chunk handle
         1 archivo se divide en size(archivo) chunks
                                    64MB
         1chunk → {Location1 , . . . , LocationN }




                           Mario A. del Riego    Google File System
Introducción
                             Diseño alto nivel
                                  Arquitectura
               Interacción entre componentes
                                 Conclusiones


Arquitectura


     1 master
     N chunkserver
     M clientes
     Archivos divididos en un tamaño fijo
         Cada “pedazo” se llama chunk
         Cada chunk es identificado por un número único de 64 bits,
         llamado chunk handle
         1 archivo se divide en size(archivo) chunks
                                    64MB
         1chunk → {Location1 , . . . , LocationN }




                           Mario A. del Riego    Google File System
Introducción
                             Diseño alto nivel
                                  Arquitectura
               Interacción entre componentes
                                 Conclusiones


Arquitectura


     1 master
     N chunkserver
     M clientes
     Archivos divididos en un tamaño fijo
         Cada “pedazo” se llama chunk
         Cada chunk es identificado por un número único de 64 bits,
         llamado chunk handle
         1 archivo se divide en size(archivo) chunks
                                    64MB
         1chunk → {Location1 , . . . , LocationN }




                           Mario A. del Riego    Google File System
Introducción
                             Diseño alto nivel
                                  Arquitectura
               Interacción entre componentes
                                 Conclusiones


Arquitectura


     1 master
     N chunkserver
     M clientes
     Archivos divididos en un tamaño fijo
         Cada “pedazo” se llama chunk
         Cada chunk es identificado por un número único de 64 bits,
         llamado chunk handle
         1 archivo se divide en size(archivo) chunks
                                    64MB
         1chunk → {Location1 , . . . , LocationN }




                           Mario A. del Riego    Google File System
Introducción
                             Diseño alto nivel
                                  Arquitectura
               Interacción entre componentes
                                 Conclusiones


Arquitectura


     1 master
     N chunkserver
     M clientes
     Archivos divididos en un tamaño fijo
         Cada “pedazo” se llama chunk
         Cada chunk es identificado por un número único de 64 bits,
         llamado chunk handle
         1 archivo se divide en size(archivo) chunks
                                    64MB
         1chunk → {Location1 , . . . , LocationN }




                           Mario A. del Riego    Google File System
Introducción
                             Diseño alto nivel
                                  Arquitectura
               Interacción entre componentes
                                 Conclusiones


Arquitectura


     1 master
     N chunkserver
     M clientes
     Archivos divididos en un tamaño fijo
         Cada “pedazo” se llama chunk
         Cada chunk es identificado por un número único de 64 bits,
         llamado chunk handle
         1 archivo se divide en size(archivo) chunks
                                    64MB
         1chunk → {Location1 , . . . , LocationN }




                           Mario A. del Riego    Google File System
Introducción
                             Diseño alto nivel
                                  Arquitectura
               Interacción entre componentes
                                 Conclusiones


Arquitectura


     1 master
     N chunkserver
     M clientes
     Archivos divididos en un tamaño fijo
         Cada “pedazo” se llama chunk
         Cada chunk es identificado por un número único de 64 bits,
         llamado chunk handle
         1 archivo se divide en size(archivo) chunks
                                    64MB
         1chunk → {Location1 , . . . , LocationN }




                           Mario A. del Riego    Google File System
Introducción
                          Diseño alto nivel
                               Arquitectura
            Interacción entre componentes
                              Conclusiones


Arquitectura (cont.)




                        Mario A. del Riego    Google File System
Introducción
                           Diseño alto nivel
                                Arquitectura
             Interacción entre componentes
                               Conclusiones


Master Server


     Mantiene la Metadata (control de acceso, mapeo de
     archivos a chunks, chunks a locations, etc)
     Gestiona los chunk leases, Garbage Collector,
     migraciones entre chunkservers, y monitorea el estado de
     cada chunkserver
     Un master simplifica el diseño y la implementación
     NO se envían datos a través de él
     Existe un shadow server. . .



                         Mario A. del Riego    Google File System
Introducción
                           Diseño alto nivel
                                Arquitectura
             Interacción entre componentes
                               Conclusiones


Master Server


     Mantiene la Metadata (control de acceso, mapeo de
     archivos a chunks, chunks a locations, etc)
     Gestiona los chunk leases, Garbage Collector,
     migraciones entre chunkservers, y monitorea el estado de
     cada chunkserver
     Un master simplifica el diseño y la implementación
     NO se envían datos a través de él
     Existe un shadow server. . .



                         Mario A. del Riego    Google File System
Introducción
                           Diseño alto nivel
                                Arquitectura
             Interacción entre componentes
                               Conclusiones


Master Server


     Mantiene la Metadata (control de acceso, mapeo de
     archivos a chunks, chunks a locations, etc)
     Gestiona los chunk leases, Garbage Collector,
     migraciones entre chunkservers, y monitorea el estado de
     cada chunkserver
     Un master simplifica el diseño y la implementación
     NO se envían datos a través de él
     Existe un shadow server. . .



                         Mario A. del Riego    Google File System
Introducción
                           Diseño alto nivel
                                Arquitectura
             Interacción entre componentes
                               Conclusiones


Master Server


     Mantiene la Metadata (control de acceso, mapeo de
     archivos a chunks, chunks a locations, etc)
     Gestiona los chunk leases, Garbage Collector,
     migraciones entre chunkservers, y monitorea el estado de
     cada chunkserver
     Un master simplifica el diseño y la implementación
     NO se envían datos a través de él
     Existe un shadow server. . .



                         Mario A. del Riego    Google File System
Introducción
                           Diseño alto nivel
                                Arquitectura
             Interacción entre componentes
                               Conclusiones


Master Server


     Mantiene la Metadata (control de acceso, mapeo de
     archivos a chunks, chunks a locations, etc)
     Gestiona los chunk leases, Garbage Collector,
     migraciones entre chunkservers, y monitorea el estado de
     cada chunkserver
     Un master simplifica el diseño y la implementación
     NO se envían datos a través de él
     Existe un shadow server. . .



                         Mario A. del Riego    Google File System
Introducción
                            Diseño alto nivel
                                 Arquitectura
              Interacción entre componentes
                                Conclusiones


Cliente y Chunk Server



                                                        Chunk Server
     Cliente (Aplicación)                                       Linux standard. En su
                                                                tiempo kernel 2.2. . .
         No utiliza cache para
                                                                Todo implementado
         los datos. Solamente
                                                                en User space
         para los chunk
                                                                No implementa cache.
         locations
                                                                Delegado al cache del
                                                                kernel




                          Mario A. del Riego    Google File System
Introducción
                            Diseño alto nivel
                                 Arquitectura
              Interacción entre componentes
                                Conclusiones


Cliente y Chunk Server



                                                        Chunk Server
     Cliente (Aplicación)                                       Linux standard. En su
                                                                tiempo kernel 2.2. . .
         No utiliza cache para
                                                                Todo implementado
         los datos. Solamente
                                                                en User space
         para los chunk
                                                                No implementa cache.
         locations
                                                                Delegado al cache del
                                                                kernel




                          Mario A. del Riego    Google File System
Introducción
                            Diseño alto nivel
                                 Arquitectura
              Interacción entre componentes
                                Conclusiones


Cliente y Chunk Server



                                                        Chunk Server
     Cliente (Aplicación)                                       Linux standard. En su
                                                                tiempo kernel 2.2. . .
         No utiliza cache para
                                                                Todo implementado
         los datos. Solamente
                                                                en User space
         para los chunk
                                                                No implementa cache.
         locations
                                                                Delegado al cache del
                                                                kernel




                          Mario A. del Riego    Google File System
Introducción
                            Diseño alto nivel
                                 Arquitectura
              Interacción entre componentes
                                Conclusiones


Cliente y Chunk Server



                                                        Chunk Server
     Cliente (Aplicación)                                       Linux standard. En su
                                                                tiempo kernel 2.2. . .
         No utiliza cache para
                                                                Todo implementado
         los datos. Solamente
                                                                en User space
         para los chunk
                                                                No implementa cache.
         locations
                                                                Delegado al cache del
                                                                kernel




                          Mario A. del Riego    Google File System
Introducción
                            Diseño alto nivel
                                 Arquitectura
              Interacción entre componentes
                                Conclusiones


Cliente y Chunk Server



                                                        Chunk Server
     Cliente (Aplicación)                                       Linux standard. En su
                                                                tiempo kernel 2.2. . .
         No utiliza cache para
                                                                Todo implementado
         los datos. Solamente
                                                                en User space
         para los chunk
                                                                No implementa cache.
         locations
                                                                Delegado al cache del
                                                                kernel




                          Mario A. del Riego    Google File System
Introducción
                            Diseño alto nivel
                                 Arquitectura
              Interacción entre componentes
                                Conclusiones


Cliente y Chunk Server



                                                        Chunk Server
     Cliente (Aplicación)                                       Linux standard. En su
                                                                tiempo kernel 2.2. . .
         No utiliza cache para
                                                                Todo implementado
         los datos. Solamente
                                                                en User space
         para los chunk
                                                                No implementa cache.
         locations
                                                                Delegado al cache del
                                                                kernel




                          Mario A. del Riego    Google File System
Introducción
                            Diseño alto nivel
                                 Arquitectura
              Interacción entre componentes
                                Conclusiones


Cliente y Chunk Server



                                                        Chunk Server
     Cliente (Aplicación)                                       Linux standard. En su
                                                                tiempo kernel 2.2. . .
         No utiliza cache para
                                                                Todo implementado
         los datos. Solamente
                                                                en User space
         para los chunk
                                                                No implementa cache.
         locations
                                                                Delegado al cache del
                                                                kernel




                          Mario A. del Riego    Google File System
Introducción
                            Diseño alto nivel
                                 Arquitectura
              Interacción entre componentes
                                Conclusiones


Cliente y Chunk Server



                                                        Chunk Server
     Cliente (Aplicación)                                       Linux standard. En su
                                                                tiempo kernel 2.2. . .
         No utiliza cache para
                                                                Todo implementado
         los datos. Solamente
                                                                en User space
         para los chunk
                                                                No implementa cache.
         locations
                                                                Delegado al cache del
                                                                kernel




                          Mario A. del Riego    Google File System
Introducción
                            Diseño alto nivel
                                 Arquitectura
              Interacción entre componentes
                                Conclusiones


Cliente y Chunk Server



                                                        Chunk Server
     Cliente (Aplicación)                                       Linux standard. En su
                                                                tiempo kernel 2.2. . .
         No utiliza cache para
                                                                Todo implementado
         los datos. Solamente
                                                                en User space
         para los chunk
                                                                No implementa cache.
         locations
                                                                Delegado al cache del
                                                                kernel




                          Mario A. del Riego    Google File System
Introducción
                         Diseño alto nivel
                                             Ejemplo 1: Write
                              Arquitectura
                                             Ejemplo 2: Snapshot
           Interacción entre componentes
                             Conclusiones


Ejemplo: Write




                       Mario A. del Riego    Google File System
Introducción
                          Diseño alto nivel
                                              Ejemplo 1: Write
                               Arquitectura
                                              Ejemplo 2: Snapshot
            Interacción entre componentes
                              Conclusiones


Ejemplo: Snapshot




     (← VER PIZARRÓN)
     COW: Copy On-Write




                        Mario A. del Riego    Google File System
Introducción
                          Diseño alto nivel
                                              Ejemplo 1: Write
                               Arquitectura
                                              Ejemplo 2: Snapshot
            Interacción entre componentes
                              Conclusiones


Ejemplo: Snapshot




     (← VER PIZARRÓN)
     COW: Copy On-Write




                        Mario A. del Riego    Google File System
Introducción
                              Diseño alto nivel
                                   Arquitectura
                Interacción entre componentes
                                  Conclusiones


Gracias!




  Ya terminamos...
  Podemos volver a trabajar. . . iupi !!




                            Mario A. del Riego    Google File System

Más contenido relacionado

Similar a Presentacion Google File System

Ra semana 13 2
Ra semana 13 2Ra semana 13 2
Ra semana 13 2
victdiazm
 
Uso de aplic ac iones microinformáticas
Uso de aplic ac iones microinformáticasUso de aplic ac iones microinformáticas
Uso de aplic ac iones microinformáticas
César Bello Moreno
 
Administración de contenidos para centros de investigación en Joomla!
Administración de contenidos para centros de investigación en Joomla!Administración de contenidos para centros de investigación en Joomla!
Administración de contenidos para centros de investigación en Joomla!
Luis Galárraga
 
Apuntes ing-sof-unidad-4-1-2015
Apuntes ing-sof-unidad-4-1-2015Apuntes ing-sof-unidad-4-1-2015
Apuntes ing-sof-unidad-4-1-2015
Lucero Mtz
 
Collaborative Network for Project Development - CNPD
Collaborative Network for Project Development - CNPDCollaborative Network for Project Development - CNPD
Collaborative Network for Project Development - CNPD
Armando Ramirez Vila
 
diseña y construye programas orientado a objetos utilizando eficaz y efectiva...
diseña y construye programas orientado a objetos utilizando eficaz y efectiva...diseña y construye programas orientado a objetos utilizando eficaz y efectiva...
diseña y construye programas orientado a objetos utilizando eficaz y efectiva...
222415
 
Definición de Alcance Desire 2
Definición de Alcance Desire 2Definición de Alcance Desire 2
Definición de Alcance Desire 2
Forem Galicia
 

Similar a Presentacion Google File System (20)

Herramientas para una Ciencia.2.0
Herramientas para una Ciencia.2.0Herramientas para una Ciencia.2.0
Herramientas para una Ciencia.2.0
 
Ra semana 13 2
Ra semana 13 2Ra semana 13 2
Ra semana 13 2
 
Sesion DrupalCamp Spain 2011
Sesion DrupalCamp Spain 2011Sesion DrupalCamp Spain 2011
Sesion DrupalCamp Spain 2011
 
Presentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones SegurasPresentacion #2 github Aplicaciones Seguras
Presentacion #2 github Aplicaciones Seguras
 
1 El Paradigma De OrientacióN A Objetos
1  El Paradigma De OrientacióN A Objetos1  El Paradigma De OrientacióN A Objetos
1 El Paradigma De OrientacióN A Objetos
 
Joomla Day 2013 - Joomla en la nube de Microsoft
Joomla Day 2013 - Joomla en la nube de MicrosoftJoomla Day 2013 - Joomla en la nube de Microsoft
Joomla Day 2013 - Joomla en la nube de Microsoft
 
Hugo + Polymer | Dev Day 4 Woman | @Maria_Fibonacci
Hugo + Polymer | Dev Day 4 Woman | @Maria_FibonacciHugo + Polymer | Dev Day 4 Woman | @Maria_Fibonacci
Hugo + Polymer | Dev Day 4 Woman | @Maria_Fibonacci
 
Uso de aplic ac iones microinformáticas
Uso de aplic ac iones microinformáticasUso de aplic ac iones microinformáticas
Uso de aplic ac iones microinformáticas
 
Ci4 free
Ci4 freeCi4 free
Ci4 free
 
Administración de contenidos para centros de investigación en Joomla!
Administración de contenidos para centros de investigación en Joomla!Administración de contenidos para centros de investigación en Joomla!
Administración de contenidos para centros de investigación en Joomla!
 
Apuntes ing-sof-unidad-4-1-2015
Apuntes ing-sof-unidad-4-1-2015Apuntes ing-sof-unidad-4-1-2015
Apuntes ing-sof-unidad-4-1-2015
 
Introduccion
IntroduccionIntroduccion
Introduccion
 
Collaborative Network for Project Development - CNPD
Collaborative Network for Project Development - CNPDCollaborative Network for Project Development - CNPD
Collaborative Network for Project Development - CNPD
 
diseña y construye programas orientado a objetos utilizando eficaz y efectiva...
diseña y construye programas orientado a objetos utilizando eficaz y efectiva...diseña y construye programas orientado a objetos utilizando eficaz y efectiva...
diseña y construye programas orientado a objetos utilizando eficaz y efectiva...
 
Tecnologia taller 2
Tecnologia taller 2Tecnologia taller 2
Tecnologia taller 2
 
Definición de Alcance Desire 2
Definición de Alcance Desire 2Definición de Alcance Desire 2
Definición de Alcance Desire 2
 
Introduccion a Drupal
Introduccion a DrupalIntroduccion a Drupal
Introduccion a Drupal
 
¡This is drupal!
¡This is drupal!¡This is drupal!
¡This is drupal!
 
Presentación yupii
Presentación yupiiPresentación yupii
Presentación yupii
 
Google drive cc
Google drive ccGoogle drive cc
Google drive cc
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 

Último (15)

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 

Presentacion Google File System

  • 1. Introducción Diseño alto nivel Arquitectura Interacción entre componentes Conclusiones Google File System (GFS) El sistema de archivos distribuido de Google !! Mario A. del Riego Consejo de Educación Secundaria Mario A. del Riego Google File System
  • 2. Introducción Diseño alto nivel Arquitectura Interacción entre componentes Conclusiones Agenda 1 Introducción Definiciones Requerimientos Mente conservadora... 2 Diseño alto nivel Hipótesis 3 Arquitectura 4 Interacción entre componentes Ejemplo 1: Write Ejemplo 2: Snapshot 5 Conclusiones Mario A. del Riego Google File System
  • 3. Introducción Diseño alto nivel Arquitectura Interacción entre componentes Conclusiones Agenda 1 Introducción Definiciones Requerimientos Mente conservadora... 2 Diseño alto nivel Hipótesis 3 Arquitectura 4 Interacción entre componentes Ejemplo 1: Write Ejemplo 2: Snapshot 5 Conclusiones Mario A. del Riego Google File System
  • 4. Introducción Diseño alto nivel Arquitectura Interacción entre componentes Conclusiones Agenda 1 Introducción Definiciones Requerimientos Mente conservadora... 2 Diseño alto nivel Hipótesis 3 Arquitectura 4 Interacción entre componentes Ejemplo 1: Write Ejemplo 2: Snapshot 5 Conclusiones Mario A. del Riego Google File System
  • 5. Introducción Diseño alto nivel Arquitectura Interacción entre componentes Conclusiones Agenda 1 Introducción Definiciones Requerimientos Mente conservadora... 2 Diseño alto nivel Hipótesis 3 Arquitectura 4 Interacción entre componentes Ejemplo 1: Write Ejemplo 2: Snapshot 5 Conclusiones Mario A. del Riego Google File System
  • 6. Introducción Diseño alto nivel Arquitectura Interacción entre componentes Conclusiones Agenda 1 Introducción Definiciones Requerimientos Mente conservadora... 2 Diseño alto nivel Hipótesis 3 Arquitectura 4 Interacción entre componentes Ejemplo 1: Write Ejemplo 2: Snapshot 5 Conclusiones Mario A. del Riego Google File System
  • 7. Introducción Diseño alto nivel Definiciones Arquitectura Requerimientos Interacción entre componentes Mente conservadora... Conclusiones Solo unas definiciones Definition Un File System (FS) es un sistema que estructura los datos en una unidad de almacenamiento. Definition Un Distributed File System (DFS) es un servicio que permite al usuario acceder y procesar archivos guardados en un servidor como si fuese local. Definition Google File System (GFS) es el DFS que da soporte a todas las aplicaciones de Google Inc. Mario A. del Riego Google File System
  • 8. Introducción Diseño alto nivel Definiciones Arquitectura Requerimientos Interacción entre componentes Mente conservadora... Conclusiones Solo unas definiciones Definition Un File System (FS) es un sistema que estructura los datos en una unidad de almacenamiento. Definition Un Distributed File System (DFS) es un servicio que permite al usuario acceder y procesar archivos guardados en un servidor como si fuese local. Definition Google File System (GFS) es el DFS que da soporte a todas las aplicaciones de Google Inc. Mario A. del Riego Google File System
  • 9. Introducción Diseño alto nivel Definiciones Arquitectura Requerimientos Interacción entre componentes Mente conservadora... Conclusiones Solo unas definiciones Definition Un File System (FS) es un sistema que estructura los datos en una unidad de almacenamiento. Definition Un Distributed File System (DFS) es un servicio que permite al usuario acceder y procesar archivos guardados en un servidor como si fuese local. Definition Google File System (GFS) es el DFS que da soporte a todas las aplicaciones de Google Inc. Mario A. del Riego Google File System
  • 10. Introducción Diseño alto nivel Definiciones Arquitectura Requerimientos Interacción entre componentes Mente conservadora... Conclusiones Las aplicaciones actuales de Google Google Mail Google Search / History / Image / Cache Google Video / Youtube Google Books Google Maps Google Earth Google Street View Google Apps Google Docs Google Drive (NUEVO! 5GB por usuario) Google ... ??? Mario A. del Riego Google File System
  • 11. Introducción Diseño alto nivel Definiciones Arquitectura Requerimientos Interacción entre componentes Mente conservadora... Conclusiones Las aplicaciones actuales de Google Google Mail Google Search / History / Image / Cache Google Video / Youtube Google Books Google Maps Google Earth Google Street View Google Apps Google Docs Google Drive (NUEVO! 5GB por usuario) Google ... ??? Mario A. del Riego Google File System
  • 12. Introducción Diseño alto nivel Definiciones Arquitectura Requerimientos Interacción entre componentes Mente conservadora... Conclusiones Las aplicaciones actuales de Google Google Mail Google Search / History / Image / Cache Google Video / Youtube Google Books Google Maps Google Earth Google Street View Google Apps Google Docs Google Drive (NUEVO! 5GB por usuario) Google ... ??? Mario A. del Riego Google File System
  • 13. Introducción Diseño alto nivel Definiciones Arquitectura Requerimientos Interacción entre componentes Mente conservadora... Conclusiones Las aplicaciones actuales de Google Google Mail Google Search / History / Image / Cache Google Video / Youtube Google Books Google Maps Google Earth Google Street View Google Apps Google Docs Google Drive (NUEVO! 5GB por usuario) Google ... ??? Mario A. del Riego Google File System
  • 14. Introducción Diseño alto nivel Definiciones Arquitectura Requerimientos Interacción entre componentes Mente conservadora... Conclusiones Las aplicaciones actuales de Google Google Mail Google Search / History / Image / Cache Google Video / Youtube Google Books Google Maps Google Earth Google Street View Google Apps Google Docs Google Drive (NUEVO! 5GB por usuario) Google ... ??? Mario A. del Riego Google File System
  • 15. Introducción Diseño alto nivel Definiciones Arquitectura Requerimientos Interacción entre componentes Mente conservadora... Conclusiones Las aplicaciones actuales de Google Google Mail Google Search / History / Image / Cache Google Video / Youtube Google Books Google Maps Google Earth Google Street View Google Apps Google Docs Google Drive (NUEVO! 5GB por usuario) Google ... ??? Mario A. del Riego Google File System
  • 16. Introducción Diseño alto nivel Definiciones Arquitectura Requerimientos Interacción entre componentes Mente conservadora... Conclusiones Las aplicaciones actuales de Google Google Mail Google Search / History / Image / Cache Google Video / Youtube Google Books Google Maps Google Earth Google Street View Google Apps Google Docs Google Drive (NUEVO! 5GB por usuario) Google ... ??? Mario A. del Riego Google File System
  • 17. Introducción Diseño alto nivel Definiciones Arquitectura Requerimientos Interacción entre componentes Mente conservadora... Conclusiones Las aplicaciones actuales de Google Google Mail Google Search / History / Image / Cache Google Video / Youtube Google Books Google Maps Google Earth Google Street View Google Apps Google Docs Google Drive (NUEVO! 5GB por usuario) Google ... ??? Mario A. del Riego Google File System
  • 18. Introducción Diseño alto nivel Definiciones Arquitectura Requerimientos Interacción entre componentes Mente conservadora... Conclusiones Las aplicaciones actuales de Google Google Mail Google Search / History / Image / Cache Google Video / Youtube Google Books Google Maps Google Earth Google Street View Google Apps Google Docs Google Drive (NUEVO! 5GB por usuario) Google ... ??? Mario A. del Riego Google File System
  • 19. Introducción Diseño alto nivel Definiciones Arquitectura Requerimientos Interacción entre componentes Mente conservadora... Conclusiones Las aplicaciones actuales de Google Google Mail Google Search / History / Image / Cache Google Video / Youtube Google Books Google Maps Google Earth Google Street View Google Apps Google Docs Google Drive (NUEVO! 5GB por usuario) Google ... ??? Mario A. del Riego Google File System
  • 20. Introducción Diseño alto nivel Definiciones Arquitectura Requerimientos Interacción entre componentes Mente conservadora... Conclusiones Las aplicaciones actuales de Google Google Mail Google Search / History / Image / Cache Google Video / Youtube Google Books Google Maps Google Earth Google Street View Google Apps Google Docs Google Drive (NUEVO! 5GB por usuario) Google ... ??? Mario A. del Riego Google File System
  • 21. Introducción Diseño alto nivel Definiciones Arquitectura Requerimientos Interacción entre componentes Mente conservadora... Conclusiones . . . porqué no centralizado? La historia me avala! Mario A. del Riego Google File System
  • 22. Introducción Diseño alto nivel Definiciones Arquitectura Requerimientos Interacción entre componentes Mente conservadora... Conclusiones bueh... y porqué no NFS (Network File System)? Otra vez... ¡La historia me avala! Mario A. del Riego Google File System
  • 23. Introducción Diseño alto nivel Definiciones Arquitectura Requerimientos Interacción entre componentes Mente conservadora... Conclusiones Basado en la experiencia. . . Los componentes fallan, es la norma y no la excepción Errores en la aplicación Errores en el SO Errores humanos (errar es humano.. dijo el caballo) Errores en los HDD / RAM Errores en la red Cortes de energía Los archivos crecen muy rápido, llegando inclusive al orden de TB La mayoría de los archivos son modificados agregando info. Modificaciones aleatorias dentro del archivo ni existen. Mario A. del Riego Google File System
  • 24. Introducción Diseño alto nivel Definiciones Arquitectura Requerimientos Interacción entre componentes Mente conservadora... Conclusiones Basado en la experiencia. . . Los componentes fallan, es la norma y no la excepción Errores en la aplicación Errores en el SO Errores humanos (errar es humano.. dijo el caballo) Errores en los HDD / RAM Errores en la red Cortes de energía Los archivos crecen muy rápido, llegando inclusive al orden de TB La mayoría de los archivos son modificados agregando info. Modificaciones aleatorias dentro del archivo ni existen. Mario A. del Riego Google File System
  • 25. Introducción Diseño alto nivel Definiciones Arquitectura Requerimientos Interacción entre componentes Mente conservadora... Conclusiones Basado en la experiencia. . . Los componentes fallan, es la norma y no la excepción Errores en la aplicación Errores en el SO Errores humanos (errar es humano.. dijo el caballo) Errores en los HDD / RAM Errores en la red Cortes de energía Los archivos crecen muy rápido, llegando inclusive al orden de TB La mayoría de los archivos son modificados agregando info. Modificaciones aleatorias dentro del archivo ni existen. Mario A. del Riego Google File System
  • 26. Introducción Diseño alto nivel Definiciones Arquitectura Requerimientos Interacción entre componentes Mente conservadora... Conclusiones Basado en la experiencia. . . Los componentes fallan, es la norma y no la excepción Errores en la aplicación Errores en el SO Errores humanos (errar es humano.. dijo el caballo) Errores en los HDD / RAM Errores en la red Cortes de energía Los archivos crecen muy rápido, llegando inclusive al orden de TB La mayoría de los archivos son modificados agregando info. Modificaciones aleatorias dentro del archivo ni existen. Mario A. del Riego Google File System
  • 27. Introducción Diseño alto nivel Definiciones Arquitectura Requerimientos Interacción entre componentes Mente conservadora... Conclusiones Basado en la experiencia. . . Los componentes fallan, es la norma y no la excepción Errores en la aplicación Errores en el SO Errores humanos (errar es humano.. dijo el caballo) Errores en los HDD / RAM Errores en la red Cortes de energía Los archivos crecen muy rápido, llegando inclusive al orden de TB La mayoría de los archivos son modificados agregando info. Modificaciones aleatorias dentro del archivo ni existen. Mario A. del Riego Google File System
  • 28. Introducción Diseño alto nivel Definiciones Arquitectura Requerimientos Interacción entre componentes Mente conservadora... Conclusiones Basado en la experiencia. . . Los componentes fallan, es la norma y no la excepción Errores en la aplicación Errores en el SO Errores humanos (errar es humano.. dijo el caballo) Errores en los HDD / RAM Errores en la red Cortes de energía Los archivos crecen muy rápido, llegando inclusive al orden de TB La mayoría de los archivos son modificados agregando info. Modificaciones aleatorias dentro del archivo ni existen. Mario A. del Riego Google File System
  • 29. Introducción Diseño alto nivel Definiciones Arquitectura Requerimientos Interacción entre componentes Mente conservadora... Conclusiones Basado en la experiencia. . . Los componentes fallan, es la norma y no la excepción Errores en la aplicación Errores en el SO Errores humanos (errar es humano.. dijo el caballo) Errores en los HDD / RAM Errores en la red Cortes de energía Los archivos crecen muy rápido, llegando inclusive al orden de TB La mayoría de los archivos son modificados agregando info. Modificaciones aleatorias dentro del archivo ni existen. Mario A. del Riego Google File System
  • 30. Introducción Diseño alto nivel Definiciones Arquitectura Requerimientos Interacción entre componentes Mente conservadora... Conclusiones Basado en la experiencia. . . Los componentes fallan, es la norma y no la excepción Errores en la aplicación Errores en el SO Errores humanos (errar es humano.. dijo el caballo) Errores en los HDD / RAM Errores en la red Cortes de energía Los archivos crecen muy rápido, llegando inclusive al orden de TB La mayoría de los archivos son modificados agregando info. Modificaciones aleatorias dentro del archivo ni existen. Mario A. del Riego Google File System
  • 31. Introducción Diseño alto nivel Definiciones Arquitectura Requerimientos Interacción entre componentes Mente conservadora... Conclusiones Basado en la experiencia. . . Los componentes fallan, es la norma y no la excepción Errores en la aplicación Errores en el SO Errores humanos (errar es humano.. dijo el caballo) Errores en los HDD / RAM Errores en la red Cortes de energía Los archivos crecen muy rápido, llegando inclusive al orden de TB La mayoría de los archivos son modificados agregando info. Modificaciones aleatorias dentro del archivo ni existen. Mario A. del Riego Google File System
  • 32. Introducción Diseño alto nivel Arquitectura Hipótesis Interacción entre componentes Conclusiones Hipótesis Es construído en base a componentes baratos Se debe manejar eficientemente archivos muy grandes (GB) Dos operaciones típicas: Lecturas largas y continuas Lecturas aleatorias y chicas Escrituras que hacen append a los archivos Debe soportar eficientemente la concurrencia Mucho ancho de banda Mario A. del Riego Google File System
  • 33. Introducción Diseño alto nivel Arquitectura Hipótesis Interacción entre componentes Conclusiones Hipótesis Es construído en base a componentes baratos Se debe manejar eficientemente archivos muy grandes (GB) Dos operaciones típicas: Lecturas largas y continuas Lecturas aleatorias y chicas Escrituras que hacen append a los archivos Debe soportar eficientemente la concurrencia Mucho ancho de banda Mario A. del Riego Google File System
  • 34. Introducción Diseño alto nivel Arquitectura Hipótesis Interacción entre componentes Conclusiones Hipótesis Es construído en base a componentes baratos Se debe manejar eficientemente archivos muy grandes (GB) Dos operaciones típicas: Lecturas largas y continuas Lecturas aleatorias y chicas Escrituras que hacen append a los archivos Debe soportar eficientemente la concurrencia Mucho ancho de banda Mario A. del Riego Google File System
  • 35. Introducción Diseño alto nivel Arquitectura Hipótesis Interacción entre componentes Conclusiones Hipótesis Es construído en base a componentes baratos Se debe manejar eficientemente archivos muy grandes (GB) Dos operaciones típicas: Lecturas largas y continuas Lecturas aleatorias y chicas Escrituras que hacen append a los archivos Debe soportar eficientemente la concurrencia Mucho ancho de banda Mario A. del Riego Google File System
  • 36. Introducción Diseño alto nivel Arquitectura Hipótesis Interacción entre componentes Conclusiones Hipótesis Es construído en base a componentes baratos Se debe manejar eficientemente archivos muy grandes (GB) Dos operaciones típicas: Lecturas largas y continuas Lecturas aleatorias y chicas Escrituras que hacen append a los archivos Debe soportar eficientemente la concurrencia Mucho ancho de banda Mario A. del Riego Google File System
  • 37. Introducción Diseño alto nivel Arquitectura Hipótesis Interacción entre componentes Conclusiones Hipótesis Es construído en base a componentes baratos Se debe manejar eficientemente archivos muy grandes (GB) Dos operaciones típicas: Lecturas largas y continuas Lecturas aleatorias y chicas Escrituras que hacen append a los archivos Debe soportar eficientemente la concurrencia Mucho ancho de banda Mario A. del Riego Google File System
  • 38. Introducción Diseño alto nivel Arquitectura Hipótesis Interacción entre componentes Conclusiones Hipótesis Es construído en base a componentes baratos Se debe manejar eficientemente archivos muy grandes (GB) Dos operaciones típicas: Lecturas largas y continuas Lecturas aleatorias y chicas Escrituras que hacen append a los archivos Debe soportar eficientemente la concurrencia Mucho ancho de banda Mario A. del Riego Google File System
  • 39. Introducción Diseño alto nivel Arquitectura Hipótesis Interacción entre componentes Conclusiones Hipótesis Es construído en base a componentes baratos Se debe manejar eficientemente archivos muy grandes (GB) Dos operaciones típicas: Lecturas largas y continuas Lecturas aleatorias y chicas Escrituras que hacen append a los archivos Debe soportar eficientemente la concurrencia Mucho ancho de banda Mario A. del Riego Google File System
  • 40. Introducción Diseño alto nivel Arquitectura Hipótesis Interacción entre componentes Conclusiones Interfase No soporta POSIX (..pero muy parecido) Agrega dos operaciones importantes: snapshot y append Mario A. del Riego Google File System
  • 41. Introducción Diseño alto nivel Arquitectura Hipótesis Interacción entre componentes Conclusiones Interfase No soporta POSIX (..pero muy parecido) Agrega dos operaciones importantes: snapshot y append Mario A. del Riego Google File System
  • 42. Introducción Diseño alto nivel Arquitectura Interacción entre componentes Conclusiones Arquitectura 1 master N chunkserver M clientes Archivos divididos en un tamaño fijo Cada “pedazo” se llama chunk Cada chunk es identificado por un número único de 64 bits, llamado chunk handle 1 archivo se divide en size(archivo) chunks 64MB 1chunk → {Location1 , . . . , LocationN } Mario A. del Riego Google File System
  • 43. Introducción Diseño alto nivel Arquitectura Interacción entre componentes Conclusiones Arquitectura 1 master N chunkserver M clientes Archivos divididos en un tamaño fijo Cada “pedazo” se llama chunk Cada chunk es identificado por un número único de 64 bits, llamado chunk handle 1 archivo se divide en size(archivo) chunks 64MB 1chunk → {Location1 , . . . , LocationN } Mario A. del Riego Google File System
  • 44. Introducción Diseño alto nivel Arquitectura Interacción entre componentes Conclusiones Arquitectura 1 master N chunkserver M clientes Archivos divididos en un tamaño fijo Cada “pedazo” se llama chunk Cada chunk es identificado por un número único de 64 bits, llamado chunk handle 1 archivo se divide en size(archivo) chunks 64MB 1chunk → {Location1 , . . . , LocationN } Mario A. del Riego Google File System
  • 45. Introducción Diseño alto nivel Arquitectura Interacción entre componentes Conclusiones Arquitectura 1 master N chunkserver M clientes Archivos divididos en un tamaño fijo Cada “pedazo” se llama chunk Cada chunk es identificado por un número único de 64 bits, llamado chunk handle 1 archivo se divide en size(archivo) chunks 64MB 1chunk → {Location1 , . . . , LocationN } Mario A. del Riego Google File System
  • 46. Introducción Diseño alto nivel Arquitectura Interacción entre componentes Conclusiones Arquitectura 1 master N chunkserver M clientes Archivos divididos en un tamaño fijo Cada “pedazo” se llama chunk Cada chunk es identificado por un número único de 64 bits, llamado chunk handle 1 archivo se divide en size(archivo) chunks 64MB 1chunk → {Location1 , . . . , LocationN } Mario A. del Riego Google File System
  • 47. Introducción Diseño alto nivel Arquitectura Interacción entre componentes Conclusiones Arquitectura 1 master N chunkserver M clientes Archivos divididos en un tamaño fijo Cada “pedazo” se llama chunk Cada chunk es identificado por un número único de 64 bits, llamado chunk handle 1 archivo se divide en size(archivo) chunks 64MB 1chunk → {Location1 , . . . , LocationN } Mario A. del Riego Google File System
  • 48. Introducción Diseño alto nivel Arquitectura Interacción entre componentes Conclusiones Arquitectura 1 master N chunkserver M clientes Archivos divididos en un tamaño fijo Cada “pedazo” se llama chunk Cada chunk es identificado por un número único de 64 bits, llamado chunk handle 1 archivo se divide en size(archivo) chunks 64MB 1chunk → {Location1 , . . . , LocationN } Mario A. del Riego Google File System
  • 49. Introducción Diseño alto nivel Arquitectura Interacción entre componentes Conclusiones Arquitectura 1 master N chunkserver M clientes Archivos divididos en un tamaño fijo Cada “pedazo” se llama chunk Cada chunk es identificado por un número único de 64 bits, llamado chunk handle 1 archivo se divide en size(archivo) chunks 64MB 1chunk → {Location1 , . . . , LocationN } Mario A. del Riego Google File System
  • 50. Introducción Diseño alto nivel Arquitectura Interacción entre componentes Conclusiones Arquitectura (cont.) Mario A. del Riego Google File System
  • 51. Introducción Diseño alto nivel Arquitectura Interacción entre componentes Conclusiones Master Server Mantiene la Metadata (control de acceso, mapeo de archivos a chunks, chunks a locations, etc) Gestiona los chunk leases, Garbage Collector, migraciones entre chunkservers, y monitorea el estado de cada chunkserver Un master simplifica el diseño y la implementación NO se envían datos a través de él Existe un shadow server. . . Mario A. del Riego Google File System
  • 52. Introducción Diseño alto nivel Arquitectura Interacción entre componentes Conclusiones Master Server Mantiene la Metadata (control de acceso, mapeo de archivos a chunks, chunks a locations, etc) Gestiona los chunk leases, Garbage Collector, migraciones entre chunkservers, y monitorea el estado de cada chunkserver Un master simplifica el diseño y la implementación NO se envían datos a través de él Existe un shadow server. . . Mario A. del Riego Google File System
  • 53. Introducción Diseño alto nivel Arquitectura Interacción entre componentes Conclusiones Master Server Mantiene la Metadata (control de acceso, mapeo de archivos a chunks, chunks a locations, etc) Gestiona los chunk leases, Garbage Collector, migraciones entre chunkservers, y monitorea el estado de cada chunkserver Un master simplifica el diseño y la implementación NO se envían datos a través de él Existe un shadow server. . . Mario A. del Riego Google File System
  • 54. Introducción Diseño alto nivel Arquitectura Interacción entre componentes Conclusiones Master Server Mantiene la Metadata (control de acceso, mapeo de archivos a chunks, chunks a locations, etc) Gestiona los chunk leases, Garbage Collector, migraciones entre chunkservers, y monitorea el estado de cada chunkserver Un master simplifica el diseño y la implementación NO se envían datos a través de él Existe un shadow server. . . Mario A. del Riego Google File System
  • 55. Introducción Diseño alto nivel Arquitectura Interacción entre componentes Conclusiones Master Server Mantiene la Metadata (control de acceso, mapeo de archivos a chunks, chunks a locations, etc) Gestiona los chunk leases, Garbage Collector, migraciones entre chunkservers, y monitorea el estado de cada chunkserver Un master simplifica el diseño y la implementación NO se envían datos a través de él Existe un shadow server. . . Mario A. del Riego Google File System
  • 56. Introducción Diseño alto nivel Arquitectura Interacción entre componentes Conclusiones Cliente y Chunk Server Chunk Server Cliente (Aplicación) Linux standard. En su tiempo kernel 2.2. . . No utiliza cache para Todo implementado los datos. Solamente en User space para los chunk No implementa cache. locations Delegado al cache del kernel Mario A. del Riego Google File System
  • 57. Introducción Diseño alto nivel Arquitectura Interacción entre componentes Conclusiones Cliente y Chunk Server Chunk Server Cliente (Aplicación) Linux standard. En su tiempo kernel 2.2. . . No utiliza cache para Todo implementado los datos. Solamente en User space para los chunk No implementa cache. locations Delegado al cache del kernel Mario A. del Riego Google File System
  • 58. Introducción Diseño alto nivel Arquitectura Interacción entre componentes Conclusiones Cliente y Chunk Server Chunk Server Cliente (Aplicación) Linux standard. En su tiempo kernel 2.2. . . No utiliza cache para Todo implementado los datos. Solamente en User space para los chunk No implementa cache. locations Delegado al cache del kernel Mario A. del Riego Google File System
  • 59. Introducción Diseño alto nivel Arquitectura Interacción entre componentes Conclusiones Cliente y Chunk Server Chunk Server Cliente (Aplicación) Linux standard. En su tiempo kernel 2.2. . . No utiliza cache para Todo implementado los datos. Solamente en User space para los chunk No implementa cache. locations Delegado al cache del kernel Mario A. del Riego Google File System
  • 60. Introducción Diseño alto nivel Arquitectura Interacción entre componentes Conclusiones Cliente y Chunk Server Chunk Server Cliente (Aplicación) Linux standard. En su tiempo kernel 2.2. . . No utiliza cache para Todo implementado los datos. Solamente en User space para los chunk No implementa cache. locations Delegado al cache del kernel Mario A. del Riego Google File System
  • 61. Introducción Diseño alto nivel Arquitectura Interacción entre componentes Conclusiones Cliente y Chunk Server Chunk Server Cliente (Aplicación) Linux standard. En su tiempo kernel 2.2. . . No utiliza cache para Todo implementado los datos. Solamente en User space para los chunk No implementa cache. locations Delegado al cache del kernel Mario A. del Riego Google File System
  • 62. Introducción Diseño alto nivel Arquitectura Interacción entre componentes Conclusiones Cliente y Chunk Server Chunk Server Cliente (Aplicación) Linux standard. En su tiempo kernel 2.2. . . No utiliza cache para Todo implementado los datos. Solamente en User space para los chunk No implementa cache. locations Delegado al cache del kernel Mario A. del Riego Google File System
  • 63. Introducción Diseño alto nivel Arquitectura Interacción entre componentes Conclusiones Cliente y Chunk Server Chunk Server Cliente (Aplicación) Linux standard. En su tiempo kernel 2.2. . . No utiliza cache para Todo implementado los datos. Solamente en User space para los chunk No implementa cache. locations Delegado al cache del kernel Mario A. del Riego Google File System
  • 64. Introducción Diseño alto nivel Arquitectura Interacción entre componentes Conclusiones Cliente y Chunk Server Chunk Server Cliente (Aplicación) Linux standard. En su tiempo kernel 2.2. . . No utiliza cache para Todo implementado los datos. Solamente en User space para los chunk No implementa cache. locations Delegado al cache del kernel Mario A. del Riego Google File System
  • 65. Introducción Diseño alto nivel Ejemplo 1: Write Arquitectura Ejemplo 2: Snapshot Interacción entre componentes Conclusiones Ejemplo: Write Mario A. del Riego Google File System
  • 66. Introducción Diseño alto nivel Ejemplo 1: Write Arquitectura Ejemplo 2: Snapshot Interacción entre componentes Conclusiones Ejemplo: Snapshot (← VER PIZARRÓN) COW: Copy On-Write Mario A. del Riego Google File System
  • 67. Introducción Diseño alto nivel Ejemplo 1: Write Arquitectura Ejemplo 2: Snapshot Interacción entre componentes Conclusiones Ejemplo: Snapshot (← VER PIZARRÓN) COW: Copy On-Write Mario A. del Riego Google File System
  • 68. Introducción Diseño alto nivel Arquitectura Interacción entre componentes Conclusiones Gracias! Ya terminamos... Podemos volver a trabajar. . . iupi !! Mario A. del Riego Google File System