Este artículo o sección contiene una paráfrasis detallada de una fuente sin derechos de autor, http://www.iosrjournals.org/iosr-jce/papers/Vol16-issue3/Version-4/C016341019.pdf ( informe del detector de duplicaciones ) . ( Junio de 2020 ) |
La computación en cuadrícula es el uso de recursos informáticos ampliamente distribuidos para alcanzar un objetivo común. Se puede pensar en una cuadrícula informática como un sistema distribuido con cargas de trabajo no interactivas que involucran muchos archivos. La computación en cuadrícula se distingue de los sistemas de computación convencionales de alto rendimiento, como la computación en clúster , en que las computadoras en cuadrícula tienen cada nodo configurado para realizar una tarea / aplicación diferente. Las computadoras en red también tienden a ser más heterogéneas y geográficamente dispersas (por lo tanto, no están acopladas físicamente) que las computadoras en grupo. [1]Aunque una sola cuadrícula se puede dedicar a una aplicación en particular, comúnmente se usa una cuadrícula para una variedad de propósitos. Las cuadrículas a menudo se construyen con bibliotecas de software de middleware de cuadrícula de propósito general . Los tamaños de cuadrícula pueden ser bastante grandes. [2]
Grids son una forma de computación distribuida por el que un "super ordenador virtual" se compone de muchos conectados en red débilmente acoplados ordenadores que actúan conjuntamente para realizar tareas de gran tamaño. Para ciertas aplicaciones, la computación distribuida o en cuadrícula puede verse como un tipo especial de computación paralela que se basa en computadoras completas (con CPU integradas, almacenamiento, fuentes de alimentación, interfaces de red, etc.) conectadas a una red de computadoras (privada o pública) por una interfaz de red convencional , como Ethernet . Esto contrasta con la noción tradicional de supercomputadora , que tiene muchos procesadores conectados por un bus de computadora local de alta velocidad .
La computación en cuadrícula combina computadoras de múltiples dominios administrativos para alcanzar un objetivo común, [3] para resolver una sola tarea, y luego puede desaparecer con la misma rapidez. El tamaño de una red puede variar desde pequeñas (limitadas a una red de estaciones de trabajo informáticas dentro de una corporación, por ejemplo) hasta grandes colaboraciones públicas entre muchas empresas y redes. "La noción de una cuadrícula confinada también puede conocerse como una cooperación entre nodos, mientras que la noción de una cuadrícula más grande y más amplia puede, por tanto, referirse a una cooperación entre nodos". [4]
Grids son una forma de computación distribuida por el que un “super ordenador virtual” se compone de muchos conectados en red débilmente acoplados ordenadores que actúan conjuntamente para realizar tareas muy grandes. Esta tecnología se ha aplicado a problemas científicos, matemáticos y académicos computacionalmente intensivos a través de la computación voluntaria , y se utiliza en empresas comerciales para aplicaciones tan diversas como el descubrimiento de fármacos , la previsión económica , el análisis sísmico y el procesamiento de datos de back office en apoyo de e- comercio y servicios web .
La coordinación de aplicaciones en Grids puede ser una tarea compleja, especialmente cuando se coordina el flujo de información a través de recursos informáticos distribuidos. Los sistemas de flujo de trabajo de cuadrícula se han desarrollado como una forma especializada de un sistema de gestión de flujo de trabajo diseñado específicamente para componer y ejecutar una serie de pasos computacionales o de manipulación de datos, o un flujo de trabajo, en el contexto de la cuadrícula.
La computación "distribuida" o "grid" en general es un tipo especial de computación paralela que se basa en computadoras completas (con CPU integradas, almacenamiento, fuentes de alimentación, interfaces de red, etc.) conectadas a una red (privada, pública o Internet ). por una interfaz de red convencional que produce hardware básico, en comparación con la menor eficiencia de diseñar y construir una pequeña cantidad de supercomputadoras personalizadas. La principal desventaja de rendimiento es que los distintos procesadores y áreas de almacenamiento local no tienen conexiones de alta velocidad. Por lo tanto, esta disposición es adecuada para aplicaciones en las que se pueden realizar múltiples cálculos en paralelo de forma independiente, sin la necesidad de comunicar resultados intermedios entre procesadores.[5] La escalabilidad dealto nivelde las redes distribuidas geográficamente es generalmente favorable, debido a la baja necesidad de conectividad entre nodos en relación con la capacidad de la Internet pública. [ cita requerida ]
También hay algunas diferencias en la programación y MC. [ aclaración necesaria ] Puede ser costoso y difícil escribir programas que puedan ejecutarse en el entorno de una supercomputadora, que puede tener un sistema operativo personalizado o requerir que el programa aborde problemas de concurrencia . Si un problema se puede paralelizar adecuadamente, una capa “delgada” de infraestructura de “cuadrícula” puede permitir que los programas independientes convencionales, dada una parte diferente del mismo problema, se ejecuten en varias máquinas. Esto hace posible escribir y depurar en una sola máquina convencional y elimina las complicaciones debido a que múltiples instancias del mismo programa se ejecutan en la misma memoria compartida y espacio de almacenamiento al mismo tiempo.
Esta sección no cita ninguna fuente . ( Diciembre de 2015 ) |
Una característica de las cuadrículas distribuidas es que pueden formarse a partir de recursos informáticos que pertenecen a una o más personas u organizaciones (conocidas como múltiples dominios administrativos ). Esto puede facilitar las transacciones comerciales, como en la informática de servicios públicos , o facilitar el montaje de redes informáticas voluntarias .
Una desventaja de esta función es que las computadoras que realmente están realizando los cálculos pueden no ser completamente confiables. Por lo tanto, los diseñadores del sistema deben introducir medidas para evitar que el mal funcionamiento o los participantes malintencionados produzcan resultados falsos, engañosos o erróneos y que utilicen el sistema como vector de ataque. Esto a menudo implica asignar trabajo aleatoriamente a diferentes nodos (presumiblemente con diferentes propietarios) y verificar que al menos dos nodos diferentes reporten la misma respuesta para una unidad de trabajo determinada. Las discrepancias identificarían nodos malintencionados y con mal funcionamiento. Sin embargo, debido a la falta de control central sobre el hardware, no hay forma de garantizar que los nodos no salgan de la red en momentos aleatorios. Algunos nodos (como computadoras portátiles o de acceso telefónicoClientes de Internet) también pueden estar disponibles para computación pero no para comunicaciones de red durante períodos impredecibles. Estas variaciones se pueden acomodar asignando grandes unidades de trabajo (reduciendo así la necesidad de conectividad de red continua) y reasignando unidades de trabajo cuando un nodo dado no informa sus resultados en el tiempo esperado.
Otro conjunto de lo que podría denominarse problemas de compatibilidad social en los primeros días de la computación en red estaba relacionado con los objetivos de los desarrolladores de redes de llevar su innovación más allá del campo original de la computación de alto rendimiento y a través de los límites disciplinarios hacia nuevos campos, como el de alta tecnología. física de la energía. [6]
Los impactos de la confianza y la disponibilidad en el rendimiento y la dificultad del desarrollo pueden influir en la elección de si se implementa en un clúster dedicado, en máquinas inactivas internas de la organización en desarrollo o en una red externa abierta de voluntarios o contratistas. En muchos casos, los nodos participantes deben confiar en que el sistema central no abusará del acceso que se les está otorgando, interfiriendo con el funcionamiento de otros programas, manipulando información almacenada, transmitiendo datos privados o creando nuevos agujeros de seguridad. Otros sistemas emplean medidas para reducir la cantidad de confianza que los nodos "cliente" deben depositar en el sistema central, como colocar aplicaciones en máquinas virtuales.
Los sistemas públicos o los que cruzan dominios administrativos (incluidos diferentes departamentos de la misma organización) a menudo dan como resultado la necesidad de ejecutarse en sistemas heterogéneos , utilizando diferentes sistemas operativos y arquitecturas de hardware . Con muchos idiomas, existe una compensación entre la inversión en desarrollo de software y la cantidad de plataformas que pueden ser compatibles (y por lo tanto el tamaño de la red resultante). Los lenguajes multiplataforma pueden reducir la necesidad de realizar esta compensación, aunque potencialmente a expensas del alto rendimiento en cualquier nodo dado (debido a la interpretación en tiempo de ejecución o la falta de optimización para la plataforma en particular). Varios middlewareLos proyectos han creado una infraestructura genérica para permitir que diversos proyectos científicos y comerciales aprovechen una red asociada en particular o con el fin de establecer nuevas redes. BOINC es común para varios proyectos académicos que buscan voluntarios públicos; más se enumeran al final del artículo .
De hecho, el middleware puede verse como una capa entre el hardware y el software. Además del middleware, se deben considerar varias áreas técnicas, y estas pueden o no ser independientes del middleware. Las áreas de ejemplo incluyen gestión de SLA , confianza y seguridad, gestión de organización virtual, gestión de licencias, portales y gestión de datos. Estas áreas técnicas pueden tratarse en una solución comercial, aunque la vanguardia de cada área a menudo se encuentra dentro de proyectos de investigación específicos que examinan el campo.
Para la segmentación del mercado de la computación en red, se deben considerar dos perspectivas: el lado del proveedor y el lado del usuario:
El mercado general de la red comprende varios mercados específicos. Estos son el mercado de middleware de red, el mercado de aplicaciones habilitadas para red, el mercado de la informática de servicios públicos y el mercado de software como servicio (SaaS).
El middleware Grid es un producto de software específico, que permite compartir recursos heterogéneos y Organizaciones Virtuales. Se instala e integra en la infraestructura existente de la empresa o empresas involucradas y proporciona una capa especial ubicada entre la infraestructura heterogénea y las aplicaciones de usuario específicas. Los principales middlewares de grid son Globus Toolkit , gLite y UNICORE .
La informática de utilidad se conoce como la provisión de computación de red y aplicaciones como servicio, ya sea como una utilidad de red abierta o como una solución de alojamiento para una organización o una VO . Los principales actores en el mercado de la informática de servicios públicos son Sun Microsystems , IBM y HP .
Las aplicaciones habilitadas para la red son aplicaciones de software específicas que pueden utilizar la infraestructura de la red. Esto es posible gracias al uso de middleware de cuadrícula, como se señaló anteriormente.
El software como servicio (SaaS) es "software que es propiedad, entregado y administrado de forma remota por uno o más proveedores". ( Gartner 2007) Además, las aplicaciones SaaS se basan en un único conjunto de definiciones de datos y códigos comunes. Se consumen en un modelo de uno a muchos, y SaaS usa un modelo de pago por uso (PAYG) o un modelo de suscripción que se basa en el uso. Los proveedores de SaaS no necesariamente poseen los propios recursos informáticos, que son necesarios para ejecutar su SaaS. Por lo tanto, los proveedores de SaaS pueden aprovechar el mercado de la informática de servicios públicos. El mercado de la informática de servicios públicos proporciona recursos informáticos para los proveedores de SaaS.
Para las empresas del lado de la demanda o del usuario del mercado de la computación en red, los diferentes segmentos tienen implicaciones significativas para su estrategia de implementación de TI. La estrategia de implementación de TI, así como el tipo de inversiones en TI realizadas, son aspectos relevantes para los posibles usuarios de la red y juegan un papel importante para la adopción de la red.
CPU-compactación , ciclo de barrido , o la computación compartida crea una “red” de los recursos ociosos en una red de participantes (ya sea a nivel mundial o interno a una organización). Por lo general, esta técnica explota los ciclos de instrucción `` de repuesto '' que resultan de la inactividad intermitente que generalmente ocurre por la noche, durante las pausas para el almuerzo o incluso durante los momentos (comparativamente minúsculos, aunque numerosos) de espera inactiva que experimenta la CPU de escritorio moderna a lo largo del día ( cuando la computadora está esperando E / S del usuario, la red o el almacenamiento ). En la práctica, las computadoras participantes también donan una cierta cantidad de espacio de almacenamiento en disco, RAM y ancho de banda de red, además de la potencia bruta de la CPU. [cita requerida ]
Muchos proyectos informáticos voluntarios , como BOINC , utilizan el modelo de barrido de CPU. Dado que es probable que los nodos se "desconecten" de vez en cuando, ya que sus propietarios usan sus recursos para su propósito principal, este modelo debe diseñarse para manejar tales contingencias.
La creación de un entorno oportunista es otra implementación de barrido de CPU donde el sistema de administración de carga de trabajo especial recolecta las computadoras de escritorio inactivas para trabajos de computación intensiva, también se conoce como Enterprise Desktop Grid (EDG). Por ejemplo, HTCondor [7]El marco de software de computación de alto rendimiento de código abierto para la racionalización distribuida de grano grueso de tareas computacionalmente intensivas se puede configurar para usar solo máquinas de escritorio donde el teclado y el mouse están inactivos para aprovechar de manera efectiva la energía de CPU desperdiciada de estaciones de trabajo de escritorio inactivas. Al igual que otros sistemas por lotes con todas las funciones, HTCondor proporciona un mecanismo de cola de trabajos, una política de programación, un esquema de prioridad, un control de recursos y una gestión de recursos. También se puede utilizar para administrar la carga de trabajo en un clúster dedicado de computadoras o puede integrar sin problemas tanto recursos dedicados (clústeres montados en bastidor) como máquinas de escritorio no dedicadas (barrido de ciclo) en un entorno informático.
El término computación en red se originó a principios de la década de 1990 como una metáfora para hacer que la energía de las computadoras sea tan fácil de acceder como una red eléctrica . La metáfora de la red eléctrica para la computación accesible se convirtió rápidamente en canónica cuando Ian Foster y Carl Kesselman publicaron su trabajo fundamental, "The Grid: Blueprint for a new computing infraestructura" (1999). Esto fue precedido por décadas por la metáfora de la informática de utilidad (1961): la informática como utilidad pública, análoga al sistema telefónico. [8] [9]
La recuperación de CPU y la computación voluntaria se popularizaron a partir de 1997 por Distributed.net y más tarde en 1999 por SETI @ home para aprovechar el poder de las PC en red en todo el mundo, con el fin de resolver problemas de investigación intensivos en CPU. [10] [11]
Las ideas de la cuadrícula (incluidas las de la informática distribuida, la programación orientada a objetos y los servicios web) fueron reunidas por Ian Foster y Steve Tuecke de la Universidad de Chicago , y Carl Kesselman del Instituto de Ciencias de la Información de la Universidad del Sur de California . . El trío, que lideró el esfuerzo para crear el kit de herramientas Globus , es ampliamente considerado como los "padres de la red". [12] El kit de herramientas incorpora no solo la gestión de la computación, sino también la gestión del almacenamiento., suministro de seguridad, movimiento de datos, monitoreo y un conjunto de herramientas para desarrollar servicios adicionales basados en la misma infraestructura, incluida la negociación de acuerdos, mecanismos de notificación, servicios de activación y agregación de información. Si bien Globus Toolkit sigue siendo el estándar de facto para la creación de soluciones de red, se han creado otras herramientas que responden a algún subconjunto de servicios necesarios para crear una red empresarial o global. [ cita requerida ]
En 2007, el término computación en la nube ganó popularidad, que es conceptualmente similar a la definición canónica de Foster de computación en red (en términos de recursos informáticos que se consumen ya que la electricidad proviene de la red eléctrica ) y la computación de servicios públicos anterior. De hecho, la computación en red a menudo (pero no siempre) se asocia con la entrega de sistemas de computación en la nube, como lo ejemplifica el sistema AppLogic de 3tera . [ cita requerida ]
En noviembre de 2006, Seidel recibió el premio Sidney Fernbach en la Conferencia de Supercomputación en Tampa, Florida . [13] "Por contribuciones sobresalientes al desarrollo de software para HPC y computación Grid para permitir la investigación numérica colaborativa de problemas complejos en física; en particular, modelado de colisiones de agujeros negros". [14] Este premio, que es uno de los más altos honores en computación, fue otorgado por sus logros en relatividad numérica.
Además, a marzo de 2019, la red Bitcoin tenía una potencia informática medida equivalente a más de 80.000 exaFLOPS (operaciones de punto flotante por segundo). [21] Esta medida refleja el número de FLOPS necesarios para igualar la salida de hash de la red Bitcoin en lugar de su capacidad para operaciones aritméticas generales de punto flotante, ya que los elementos de la red Bitcoin ( ASIC de minería de Bitcoin ) realizan solo el hash criptográfico específico. cálculo requerido por el protocolo Bitcoin .
La computación en cuadrícula ofrece una forma de resolver problemas del Gran Desafío , como el plegamiento de proteínas , el modelado financiero , la simulación de terremotos y el modelado del clima / clima , y fue integral para habilitar el Gran Colisionador de Hadrones en el CERN. [22] Las cuadrículas ofrecen una forma de utilizar los recursos de tecnología de la información de manera óptima dentro de una organización. También proporcionan un medio para ofrecer tecnología de la información como una utilidad para clientes comerciales y no comerciales, y esos clientes pagan solo por lo que usan, como electricidad o agua.
En octubre de 2016, más de 4 millones de máquinas que ejecutan la plataforma de código abierto Berkeley Open Infrastructure for Network Computing (BOINC) son miembros de World Community Grid . [15] Uno de los proyectos que usa BOINC es SETI @ home , que estaba usando más de 400,000 computadoras para lograr 0.828 TFLOPS en octubre de 2016. En octubre de 2016, Folding @ home , que no es parte de BOINC, logró más de 101 x86 -petaflops equivalentes en más de 110.000 máquinas. [dieciséis]
La Unión Europea financió proyectos a través de los programas marco de la Comisión Europea . BEinGRID (Business Experiments in Grid) fue un proyecto de investigación financiado por la Comisión Europea [23] como un proyecto integrado en el marco del programa de patrocinio del Sexto Programa Marco (VIPM). Iniciado el 1 de junio de 2006, el proyecto duró 42 meses, hasta noviembre de 2009. El proyecto fue coordinado por Atos Origin. Según la ficha técnica del proyecto, su misión es “establecer rutas eficaces para fomentar la adopción de la computación en red en la UE y estimular la investigación de modelos comerciales innovadores que utilicen tecnologías Grid”. Para extraer las mejores prácticas y los temas comunes de las implementaciones experimentales, dos grupos de consultores están analizando una serie de pilotos, uno técnico y otro empresarial. El proyecto es significativo no solo por su larga duración, sino también por su presupuesto, que con 24,8 millones de euros, es el mayor de todos los proyectos integrados del VIPM. De esto, 15,7 millones son aportados por la Comisión Europea y el resto por sus 98 empresas colaboradoras. Desde el final del proyecto, los resultados de BEinGRID han sido recogidos y llevados a cabo por IT-Tude.com .
El proyecto Enabling Grids for E-sciencE, con sede en la Unión Europea y sitios incluidos en Asia y Estados Unidos, fue un proyecto de seguimiento del European DataGrid (EDG) y evolucionó hacia la European Grid Infrastructure . Esto, junto con el LHC Computing Grid [24] (LCG), fue desarrollado para apoyar experimentos usando el CERN Large Hadron Collider . Se puede encontrar en línea una lista de los sitios activos que participan en LCG [25], al igual que la supervisión en tiempo real de la infraestructura de EGEE. [26] El software y la documentación pertinentes también son de acceso público. [27]Se especula que los enlaces de fibra óptica dedicados, como los instalados por el CERN para abordar las necesidades de uso intensivo de datos de la LCG, algún día puedan estar disponibles para los usuarios domésticos, proporcionando así servicios de Internet a velocidades hasta 10.000 veces más rápidas que una conexión de banda ancha tradicional. [28] La infraestructura de red europea también se ha utilizado para otras actividades de investigación y experimentos, como la simulación de ensayos clínicos oncológicos. [29]
El proyecto Distributed.net se inició en 1997. La instalación de Supercomputación Avanzada (NAS) de la NASA ejecutó algoritmos genéticos utilizando el limpiador de ciclo Condor que se ejecuta en unas 350 estaciones de trabajo de Sun Microsystems y SGI .
En 2001, United Devices operó el Proyecto de Investigación del Cáncer de United Devices basado en su producto Grid MP , que realiza un ciclo de búsqueda en computadoras voluntarias conectadas a Internet. El proyecto se ejecutó en aproximadamente 3,1 millones de máquinas antes de su cierre en 2007. [30]
Hoy en día existen muchas definiciones de computación en cuadrícula :
Nombre | Región | Comienzo | Fin |
---|---|---|---|
Infraestructura de red europea (EGI) | Europa | Mayo de 2010 | Dic. De 2014 |
Open Middleware Infrastructure Institute Europe (OMII-Europa) | Europa | Mayo de 2006 | Mayo de 2008 |
Habilitación de Grids para E-sciencE (EGEE, EGEE II y EGEE III) | Europa | Marzo de 2004 | Abril de 2010 |
Instrumentación Remota habilitada para Grid con Computación y Control Distribuidos (GridCC) | Europa | Septiembre de 2005 | Septiembre de 2008 |
Iniciativa europea de middleware (EMI) | Europa | Mayo de 2010 | activo |
KnowARC | Europa | Junio de 2006 | Noviembre de 2009 |
Instalación de cuadrícula de datos nórdicos | Escandinavia y Finlandia | Junio de 2006 | Diciembre 2012 |
Cuadrícula de comunidad mundial | Global | Noviembre de 2004 | activo |
XtreemOS | Europa | Junio de 2006 | (Mayo de 2010) ext. a septiembre de 2010 |
OurGrid | Brasil | Diciembre de 2004 | activo |