Una cuadrícula de datos es una arquitectura o un conjunto de servicios que permite a los usuarios acceder, modificar y transferir cantidades extremadamente grandes de datos distribuidos geográficamente con fines de investigación. [1] Las cuadrículas de datos hacen esto posible a través de una serie de aplicaciones y servicios de middleware que reúnen datos y recursos de múltiples dominios administrativos y luego los presentan a los usuarios cuando los solicitan.
Los datos en una cuadrícula de datos pueden estar ubicados en un solo sitio o en varios sitios, donde cada sitio puede ser su propio dominio administrativo regido por un conjunto de restricciones de seguridad sobre quién puede acceder a los datos. [2] Del mismo modo, múltiples réplicas de los datos pueden estar distribuidas a lo largo de la cuadrícula fuera de su dominio administrativo original y las restricciones de seguridad impuestas a los datos originales sobre quién puede acceder a ellos deben aplicarse por igual a las réplicas. [3] El middleware de cuadrícula de datos desarrollado específicamente es lo que maneja la integración entre los usuarios y los datos que solicitan al controlar el acceso y al mismo tiempo hacerlos disponibles de la manera más eficiente posible.
El middleware proporciona todos los servicios y aplicaciones necesarios para la gestión eficiente de conjuntos de datos y archivos dentro de la red de datos, al tiempo que proporciona a los usuarios un acceso rápido a los conjuntos de datos y archivos. [4] Hay una serie de conceptos y herramientas que deben estar disponibles para que una red de datos sea viable operativamente. Sin embargo, al mismo tiempo, no todas las redes de datos requieren las mismas capacidades y servicios debido a las diferencias en los requisitos de acceso, la seguridad y la ubicación de los recursos en comparación con los usuarios. En cualquier caso, la mayoría de las redes de datos tendrán servicios de middleware similares que proporcionan un espacio de nombres universal , un servicio de transporte de datos, un servicio de acceso a datos, un servicio de replicación de datos y un servicio de gestión de recursos. Cuando se toman en conjunto, son clave para las capacidades funcionales de las redes de datos.
Dado que las fuentes de datos dentro de la cuadrícula de datos consistirán en datos de múltiples sistemas y redes separados que utilizan diferentes convenciones de nombres de archivos , sería difícil para un usuario localizar datos dentro de la cuadrícula de datos y saber que recuperó lo que necesitaba basándose únicamente en los nombres de archivos físicos (PFN) existentes. Un espacio de nombres universal o unificado permite crear nombres de archivos lógicos (LFN) a los que se puede hacer referencia dentro de la cuadrícula de datos que se asignan a PFN. [5] Cuando se solicita o consulta un LFN, se devuelven todos los PFN coincidentes para incluir posibles réplicas de los datos solicitados. El usuario final puede elegir entonces de los resultados devueltos la réplica más adecuada para usar. Este servicio generalmente se proporciona como parte de un sistema de gestión conocido como un agente de recursos de almacenamiento (SRB). [6] La información sobre las ubicaciones de los archivos y las asignaciones entre los LFN y los PFN se puede almacenar en un catálogo de metadatos o réplicas. [7] El catálogo de réplicas contendría información sobre los LFN que se asignan a múltiples PFN de réplica.
Otro servicio de middleware es el de proporcionar transporte o transferencia de datos. El transporte de datos abarcará múltiples funciones que no se limitan solo a la transferencia de bits, para incluir elementos como la tolerancia a fallas y el acceso a datos. [8] La tolerancia a fallas se puede lograr en una red de datos proporcionando mecanismos que aseguren que la transferencia de datos se reanudará después de cada interrupción hasta que se reciban todos los datos solicitados. [9] Hay múltiples métodos posibles que se pueden utilizar para incluir el inicio de toda la transmisión desde el comienzo de los datos hasta la reanudación desde donde se interrumpió la transferencia. Como ejemplo, GridFTP proporciona tolerancia a fallas al enviar datos desde el último byte reconocido sin comenzar toda la transferencia desde el principio.
El servicio de transporte de datos también proporciona acceso de bajo nivel y conexiones entre hosts para transferencia de archivos. [10] El servicio de transporte de datos puede utilizar cualquier número de modos para implementar la transferencia, incluyendo transferencia de datos paralela donde se utilizan dos o más flujos de datos sobre el mismo canal o transferencia de datos en franjas donde dos o más flujos acceden a diferentes bloques del archivo para transferencia simultánea, o también utilizando las capacidades incorporadas subyacentes del hardware de red o protocolos desarrollados específicamente para soportar velocidades de transferencia más rápidas. [11] El servicio de transporte de datos puede incluir opcionalmente una función de superposición de red para facilitar el enrutamiento y la transferencia de datos, así como funciones de E/S de archivos que permiten a los usuarios ver archivos remotos como si fueran locales en su sistema. El servicio de transporte de datos oculta la complejidad del acceso y la transferencia entre los diferentes sistemas al usuario, de modo que aparece como una fuente de datos unificada.
Los servicios de acceso a datos trabajan de la mano con el servicio de transferencia de datos para proporcionar seguridad, controles de acceso y gestión de cualquier transferencia de datos dentro de la red de datos. [12] Los servicios de seguridad proporcionan mecanismos para la autenticación de usuarios para garantizar que estén correctamente identificados. Las formas comunes de seguridad para la autenticación pueden incluir el uso de contraseñas o Kerberos (protocolo) . Los servicios de autorización son los mecanismos que controlan a qué puede acceder el usuario después de ser identificado a través de la autenticación. Las formas comunes de mecanismos de autorización pueden ser tan simples como los permisos de archivo. Sin embargo, la necesidad de un acceso controlado más estricto a los datos se realiza mediante listas de control de acceso (ACL), control de acceso basado en roles (RBAC) y controles de autorización basados en tareas (TBAC). [13] Estos tipos de controles se pueden utilizar para proporcionar acceso granular a los archivos para incluir límites en los tiempos de acceso, duración del acceso a controles granulares que determinan qué archivos se pueden leer o escribir. El servicio de acceso a datos final que podría estar presente para proteger la confidencialidad del transporte de datos es el cifrado. [14] La forma más común de cifrado para esta tarea ha sido el uso de SSL durante el transporte. Si bien todos estos servicios de acceso funcionan dentro de la red de datos, los servicios de acceso dentro de los distintos dominios administrativos que alojan los conjuntos de datos seguirán en funcionamiento para aplicar las reglas de acceso. Los servicios de acceso a la red de datos deben estar en sintonía con los servicios de acceso de los dominios administrativos para que esto funcione.
Para satisfacer las necesidades de escalabilidad, acceso rápido y colaboración de los usuarios, la mayoría de las cuadrículas de datos admiten la replicación de conjuntos de datos en puntos dentro de la arquitectura de almacenamiento distribuido. [15] El uso de réplicas permite que varios usuarios tengan un acceso más rápido a los conjuntos de datos y la preservación del ancho de banda, ya que las réplicas a menudo se pueden colocar estratégicamente cerca o dentro de los sitios donde los usuarios las necesitan. Sin embargo, la replicación de conjuntos de datos y la creación de réplicas están limitadas por la disponibilidad de almacenamiento dentro de los sitios y el ancho de banda entre sitios. La replicación y la creación de conjuntos de datos de réplicas están controladas por un sistema de administración de réplicas. El sistema de administración de réplicas determina las necesidades de réplicas de los usuarios en función de las solicitudes de entrada y las crea en función de la disponibilidad de almacenamiento y ancho de banda. [16] Luego, todas las réplicas se catalogan o se agregan a un directorio basado en la cuadrícula de datos en cuanto a su ubicación para que los usuarios puedan realizar consultas. Para realizar las tareas realizadas por el sistema de administración de réplicas, debe poder administrar la infraestructura de almacenamiento subyacente. El sistema de administración de datos también garantizará que las actualizaciones oportunas de los cambios en las réplicas se propaguen a todos los nodos.
Existen varias formas en las que el sistema de administración de replicación puede manejar las actualizaciones de las réplicas. Las actualizaciones pueden diseñarse en torno a un modelo centralizado donde una única réplica maestra actualiza a todas las demás, o un modelo descentralizado, donde todos los pares se actualizan entre sí. [16] La topología de la ubicación de los nodos también puede influir en las actualizaciones de las réplicas. Si se utiliza una topología jerárquica, las actualizaciones fluirían en una estructura similar a un árbol a través de rutas específicas. En una topología plana, es completamente una cuestión de las relaciones entre pares de nodos la forma en que se realizan las actualizaciones. En una topología híbrida que consta de topologías planas y jerárquicas, las actualizaciones pueden tener lugar a través de rutas específicas y entre pares.
Existen varias formas en las que el sistema de administración de réplicas puede gestionar la creación y la ubicación de réplicas para servir mejor a la comunidad de usuarios. Si la arquitectura de almacenamiento admite la ubicación de réplicas con suficiente almacenamiento en el sitio, entonces se convierte en una cuestión de las necesidades de los usuarios que acceden a los conjuntos de datos y una estrategia para la ubicación de las réplicas. [17] Se han propuesto y probado numerosas estrategias sobre cómo gestionar mejor la ubicación de réplicas de conjuntos de datos dentro de la red de datos para satisfacer los requisitos de los usuarios. No existe una estrategia universal que se adapte mejor a todos los requisitos. Es una cuestión del tipo de red de datos y los requisitos de la comunidad de usuarios para el acceso lo que determinará la mejor estrategia a utilizar. Incluso se pueden crear réplicas en las que los archivos estén cifrados para garantizar la confidencialidad, lo que sería útil en un proyecto de investigación que trate con archivos médicos. [18] La siguiente sección contiene varias estrategias para la ubicación de réplicas.
La replicación dinámica es un enfoque para la colocación de réplicas en función de la popularidad de los datos. [19] El método se ha diseñado en torno a un modelo de replicación jerárquica. El sistema de gestión de datos realiza un seguimiento del almacenamiento disponible en todos los nodos. También realiza un seguimiento de las solicitudes (accesos) que los clientes de datos (usuarios) de un sitio están solicitando. Cuando el número de accesos a un conjunto de datos específico supera el umbral de replicación, se activa la creación de una réplica en el servidor que presta servicio directamente al cliente del usuario. Si el servidor de servicio directo, conocido como padre, no tiene suficiente espacio, entonces el padre del padre en la jerarquía es el objetivo para recibir una réplica y así sucesivamente hasta que se agote. El algoritmo del sistema de gestión de datos también permite la eliminación dinámica de réplicas que tienen un valor de acceso nulo o un valor inferior a la frecuencia de los datos que se almacenarán para liberar espacio. Esto mejora el rendimiento del sistema en términos de tiempo de respuesta, número de réplicas y ayuda a equilibrar la carga en la red de datos. Este método también puede utilizar algoritmos dinámicos que determinan si el costo de crear la réplica realmente vale las ganancias esperadas dada la ubicación. [16]
Este método de replicación, al igual que el de la replicación dinámica, se ha diseñado en torno a un modelo de replicación jerárquica que se encuentra en la mayoría de las cuadrículas de datos. Funciona con un algoritmo similar al de la replicación dinámica, en el que las solicitudes de acceso a archivos son un factor primordial para determinar qué archivos se deben replicar. Sin embargo, una diferencia clave es que la cantidad y la frecuencia de las creaciones de réplicas están vinculadas a un umbral dinámico que se calcula en función de las tasas de llegada de solicitudes de los clientes durante un período de tiempo. [20] Si la cantidad de solicitudes en promedio supera el umbral anterior y muestra una tendencia ascendente, y las tasas de utilización del almacenamiento indican capacidad para crear más réplicas, se pueden crear más réplicas. Al igual que con la replicación dinámica, se puede eliminar la eliminación de réplicas que tienen un umbral inferior que no se crearon en el intervalo de replicación actual para hacer espacio para las nuevas réplicas.
Al igual que los métodos de replicación adaptativa y dinámica anteriores, la replicación de reparto justo se basa en un modelo de replicación jerárquico. Además, al igual que los dos anteriores, la popularidad de los archivos desempeña un papel clave a la hora de determinar qué archivos se replicarán. La diferencia con este método es que la ubicación de las réplicas se basa en la carga de acceso y la carga de almacenamiento de los servidores candidatos. [ cita requerida ] Un servidor candidato puede tener suficiente espacio de almacenamiento pero dar servicio a muchos clientes para el acceso a los archivos almacenados. Colocar una réplica en este candidato podría degradar el rendimiento de todos los clientes que acceden a este servidor candidato. Por lo tanto, la ubicación de las réplicas con este método se realiza evaluando cada nodo candidato en cuanto a la carga de acceso para encontrar un nodo adecuado para la ubicación de la réplica. Si todos los nodos candidatos tienen una clasificación equivalente para la carga de acceso, ninguno o menos acceso que el otro, entonces se elegirá el nodo candidato con la carga de almacenamiento más baja para alojar las réplicas. Se utilizan métodos similares a los otros métodos de replicación descritos para eliminar las réplicas no utilizadas o con menos solicitudes, si es necesario. Las réplicas eliminadas podrían trasladarse a un nodo principal para su reutilización posterior si se volvieran populares nuevamente.
Las tres estrategias de réplica anteriores son sólo tres de las muchas estrategias de réplica posibles que se pueden utilizar para colocar réplicas dentro de la red de datos donde mejorarán el rendimiento y el acceso. A continuación se presentan otras que se han propuesto y probado junto con las estrategias de réplica descritas anteriormente. [21]
Las características de los sistemas de cuadrícula de datos, como su gran escala y heterogeneidad, requieren métodos específicos de programación de tareas y asignación de recursos. Para resolver este problema, la mayoría de los sistemas utilizan métodos de programación clásicos extendidos [22] . Otros recurren a métodos fundamentalmente diferentes basados en incentivos para los nodos autónomos, como el dinero virtual o la reputación de un nodo. Otra característica específica de las cuadrículas de datos, la dinámica, consiste en el proceso continuo de conexión y desconexión de nodos y el desequilibrio de carga local durante la ejecución de tareas. Esto puede hacer que los resultados de la asignación inicial de recursos para una tarea sean obsoletos o no óptimos. Como resultado, muchas de las cuadrículas de datos utilizan técnicas de adaptación del tiempo de ejecución que permiten a los sistemas reflejar los cambios dinámicos: equilibrar la carga, reemplazar los nodos que se desconectan, utilizar las ganancias de los nodos recién conectados y recuperar la ejecución de una tarea después de fallas.
El sistema de gestión de recursos representa la funcionalidad principal de la red de datos. Es el corazón del sistema que gestiona todas las acciones relacionadas con los recursos de almacenamiento. En algunas redes de datos puede ser necesario crear una arquitectura RMS federada debido a las diferentes políticas administrativas y a la diversidad de posibilidades que se encuentran dentro de la red de datos en lugar de utilizar un único RMS. En tal caso, los RMS de la federación emplearán una arquitectura que permita la interoperabilidad basada en un conjunto acordado de protocolos para las acciones relacionadas con los recursos de almacenamiento. [23]
Las cuadrículas de datos se han diseñado teniendo en cuenta múltiples topologías para satisfacer las necesidades de la comunidad científica. A la derecha se muestran cuatro diagramas de varias topologías que se han utilizado en cuadrículas de datos. [24] Cada topología tiene un propósito específico en mente para el mejor uso que se le dará. Cada una de estas topologías se explica con más detalle a continuación.
La topología de federación es la opción ideal para las instituciones que desean compartir datos de sistemas ya existentes. Permite que cada institución controle sus datos. Cuando una institución con la debida autorización solicita datos de otra institución, la institución que recibe la solicitud debe determinar si los datos se enviarán a la institución solicitante. La federación puede estar integrada de forma flexible entre instituciones, integrada de forma estrecha o una combinación de ambas.
La topología monádica tiene un repositorio central al que se ingresan todos los datos recopilados. El repositorio central responde a todas las consultas de datos. En esta topología no hay réplicas, a diferencia de otras. Solo se accede a los datos desde el repositorio central, que puede ser a través de un portal web. Un proyecto que utiliza esta topología de cuadrícula de datos es la Red para la Simulación de Ingeniería Sísmica (NEES) en los Estados Unidos. [25] Esto funciona bien cuando todo el acceso a los datos es local o dentro de una sola región con conectividad de alta velocidad.
La topología jerárquica se presta a la colaboración cuando existe una única fuente de datos y es necesario distribuirlos a múltiples lugares en todo el mundo. Uno de esos proyectos que se beneficiaría de esta topología sería el CERN , que gestiona el Gran Colisionador de Hadrones , que genera enormes cantidades de datos. Estos datos se encuentran en una única fuente y deben distribuirse por todo el mundo a las organizaciones que colaboran en el proyecto.
La topología híbrida es simplemente una configuración que contiene una arquitectura que consiste en cualquier combinación de las topologías mencionadas anteriormente. Se utiliza principalmente en situaciones en las que los investigadores que trabajan en proyectos desean compartir sus resultados para futuras investigaciones, poniéndolos a disposición de la colaboración.
La necesidad de redes de datos fue reconocida por primera vez por la comunidad científica en relación con el modelado climático , donde los conjuntos de datos de tamaño terabyte y petabyte se estaban convirtiendo en la norma para el transporte entre sitios. [10] Los requisitos de investigación más recientes para las redes de datos han sido impulsados por el Gran Colisionador de Hadrones (LHC) en CERN , el Observatorio de Ondas Gravitacionales con Interferometría Láser (LIGO) y el Sloan Digital Sky Survey (SDSS) . Estos ejemplos de instrumentos científicos producen grandes cantidades de datos que deben ser accesibles para grandes grupos de investigadores dispersos geográficamente. [26] [27] Otros usos para las redes de datos involucran a gobiernos, hospitales, escuelas y empresas donde se están realizando esfuerzos para mejorar los servicios y reducir los costos al brindar acceso a sistemas de datos dispersos y separados mediante el uso de redes de datos. [28]
Desde sus inicios, el concepto de una red de datos para apoyar a la comunidad científica se consideró como una extensión especializada de la “red”, que en un principio se concibió como una forma de conectar supercomputadoras a metacomputadoras. [29] Sin embargo, esto duró poco y la red evolucionó hasta significar la capacidad de conectar computadoras en cualquier lugar de la web para obtener acceso a cualquier archivo y recurso deseado, de manera similar a la forma en que se distribuye electricidad a través de una red simplemente enchufando un dispositivo. El dispositivo obtiene electricidad a través de su conexión y la conexión no está limitada a una toma de corriente específica. A partir de esto, la red de datos se propuso como una arquitectura integradora que sería capaz de entregar recursos para cálculos distribuidos. También podría atender de numerosas a miles de consultas al mismo tiempo, al tiempo que entregaba gigabytes a terabytes de datos para cada consulta. La red de datos incluiría su propia infraestructura de gestión capaz de gestionar todos los aspectos del rendimiento y el funcionamiento de las redes de datos en múltiples redes de área amplia, al tiempo que funcionaba dentro del marco existente conocido como la web. [30]
La cuadrícula de datos también se ha definido más recientemente en términos de usabilidad; qué debe ser capaz de hacer una cuadrícula de datos para que sea útil para la comunidad científica. Los defensores de esta teoría llegaron a varios criterios. [31] Uno, los usuarios deberían poder buscar y descubrir recursos aplicables dentro de la cuadrícula de datos entre sus muchos conjuntos de datos. Dos, los usuarios deberían poder localizar conjuntos de datos dentro de la cuadrícula de datos que sean más adecuados para sus necesidades entre numerosas réplicas. Tres, los usuarios deberían poder transferir y mover grandes conjuntos de datos entre puntos en un corto período de tiempo. Cuatro, la cuadrícula de datos debería proporcionar un medio para gestionar múltiples copias de conjuntos de datos dentro de la cuadrícula de datos. Y finalmente, la cuadrícula de datos debería proporcionar seguridad con controles de acceso de usuario dentro de la cuadrícula de datos, es decir, qué usuarios tienen permiso para acceder a qué datos.
La red de datos es una tecnología en evolución que continúa cambiando y creciendo para satisfacer las necesidades de una comunidad en expansión. Uno de los primeros programas que se iniciaron para hacer realidad las redes de datos fue financiado por la Agencia de Proyectos de Investigación Avanzada de Defensa (DARPA) en 1997 en la Universidad de Chicago . [32] Esta investigación generada por DARPA ha continuado el camino hacia la creación de herramientas de código abierto que hacen posibles las redes de datos. A medida que surjan nuevos requisitos para las redes de datos, surgirán o se expandirán proyectos como el Globus Toolkit para cubrir la brecha. Las redes de datos junto con la "Grid" seguirán evolucionando.
{{cite journal}}
: Requiere citar revista |journal=
( ayuda ){{cite journal}}
: Requiere citar revista |journal=
( ayuda )