Professional Documents
Culture Documents
Volunteer Computing and Desktop Cloud
Volunteer Computing and Desktop Cloud
Resumen:
solo se han implementado soluciones comerciales en la nube hasta el momento, ofreciendo recursos
y servicios informáticos en alquiler. Algunos proyectos interesantes, como Nimbus, OpenNEbula,
Reservoir, trabajan en Nube. Uno de sus objetivos es proporcionar una infraestructura en la nube
capaz de proporcionar y compartir recursos y servicios con fines científicos. los alentadores de los
resultados de los proyectos informáticos voluntarios en este contexto y la flexibilidad de la nube,
sugerida para abordar nuestros esfuerzos de investigación para- hacia un nuevo paradigma
informático combinado que denominamos Cloud @ Home. Por un lado se puede considerar como
una generalización del @home filosofía, derribando las barreras de la informática voluntaria, y
permitiendo también compartir servicios más generales. Por otro lado, Cloud @ Home se puede
considerar como la mejora de la red de servicios públicos visión de la computación en la nube. En
este nuevo paradigma, los hosts de los usuarios no son interfaz pasiva a los servicios en la nube,
pero pueden interactuar (gratis o por carga) con otras Nubes. En este artículo presentamos el
paradigma Cloud @ Home, destacando su contribución al estado actual del arte en el tema de
distribuciones y computación en la nube. Detallamos la arquitectura funcional y el core estructura
implementando tal paradigma, demostrando cómo es realmente posible construir una infraestructura
Cloud @ Home
I NTRODUCCIÓN
La computación en la nube es un paradigma de computación distribuida que combina aspectos de la
computación en cuadrícula , la computación en Internet , la utilidad computación , computación
autónoma y computación verde . los desarrollo y el éxito de la nube se debe a la madurez alcanzado
por la virtualización de hardware y software . Esta hizo realista la perspectiva de L. Kleinrock [12] de
la informática como la quinta utilidad. La computación en la nube proviene de la perspectiva centrada
en los servicios tiva que se está extendiendo ampliamente en el mundo de las tecnologías de la
información. De este per- spective, se proporcionan todas las capacidades y recursos de una nube a
los usuarios como un servicio , al que se accede a través de Internet sin ningún conocimiento
específico, experiencia o control sobre la infraestructura tecnológica subyacente que los respalda.
Ofrece una interfaz centrada en el usuario que actúa como un usuario único amigable, punto de
acceso para las necesidades y requerimientos de los usuarios. Además, la computación en la nube
proporciona un pro- visión , oferta QoS garantizada y sistema autónomo para gestionar hardware,
software y datos de forma transparente para los usuarios [18]. Para lograr tales objetivos es
necesario implementar un nivel de abstracción de los recursos físicos, uniformando su in- terfaces y
proporcionando medios para su gestión, adaptativamente a los requisitos del usuario. Esto se hace
mediante virtualizaciones , mashups de servicios (Web 2.0) y arquitecturas orientadas a servicios
(SOA). La virtualización permite ejecutar una versión de software de un máquina de hardware en un
sistema host, de forma aislada. “Homogeneiza” los recursos: los problemas de compatibilidad son
superar proporcionando hosts heterogéneos de un entorno informático (la Nube) con el mismo virtual
máquina. El software que implementa la virtualización se denomina hipervisor . La Web 2.0
proporciona una interfaz uniforme para los servicios en la nube. vicios, implementando servicio
mashup. Se basa principalmente en una evolución de JavaScript con construcciones de lenguaje
mejoradas (enlace tardío, clousers, funciones lambda, etc.) y AJAX interacciones. SOA es un
paradigma para organizar y utilizar distribuidos capacidades que pueden estar bajo el control de
diferentes dominios de ership. En SOA, los servicios son el mecanismo por qué necesidades y
capacidades se unen. SOA define interfaces y protocolos estándar que permiten a los
desarrolladores encapsular las herramientas de información como servicios que los clientes pueden
acceder sin conocimiento o control de sus trabajos [8]. Se ha manifestado un gran interés por la
computación en la nube y numerosos proyectos de la industria y la academia han propuesto. En
contextos comerciales, entre otros, lo más destacado: Amazon Elastic Compute Cloud [1] IBM's Blue
Cloud [11], Sun Microsystems Network.com [15], Microsoft Plataforma de servicios Azure [5].
Actividades científicas abiertas y los proyectos son: Embalse [14] Nimbus / Stratus / Wispy / Kupa
[17] y OpenNEbula [7]. Todos ellos apoyan y brindan un paradigma de computación de demanda: los
usuarios envían sus solicitudes a la nube que de forma remota, de forma distribuida, procesa ellos y
les devuelve los resultados. Este modelo cliente-servidor bien se ajusta a los objetivos y alcances de
las nubes comerciales: el negocio. Pero, Por otro lado, representa una restricción para la ciencia
Nubes, que tienen una visión más cercana a la informática voluntaria . La informática voluntaria
utiliza computadoras ofrecidas por sus propietarios, como fuente de poder de cómputo y
almacenamiento para proporcionar informática científica distribuida [3]. Está detrás del "@home"
filosofía de compartir / donar recursos conectados a la red para apoyar la informática científica
distribuida
La necesidad de un paradigma informático tan nuevo es estrictamente relacionados con los límites
de las soluciones Cloud existentes. Durante años La computación en red se ha considerado como la
solución para todos los problemas informáticos: un sistema seguro, fiable y de rendimiento
plataforma para la gestión de recursos distribuidos geográficamente. Pero tiene algunos
inconvenientes: es sensible al hardware o diferencias o incompatibilidad de software; no es posible
extender dinámicamente una organización virtual (VO) en línea inscribir recursos y, en consecuencia,
no es posible compartir recursos locales, si no están inicialmente inscritos en la VO; a menudo no se
enfrenta a problemas de facturación y QoS; es principalmente apoya el paralelismo de datos contra
el paralelismo de tareas , haciendo dificultar la composición de los servicios; los usuarios deben
tener Conocimiento tanto del sistema distribuido como de la aplicación. requisitos para enviar y
gestionar trabajos. Estas deficiencias se han afrontado y resuelto parcialmente en Util- y
computación en la nube, implementando servicios orientados paradigmas con interfaces fáciles de
usar de nivel superior, comenzando a partir de modelos bajo demanda: los usuarios encargan su
computación, paga y obtén los resultados. Dado que están pensados principalmente para Las
aplicaciones comerciales, la QoS y las políticas comerciales deben ser abordado con cuidado. La
utilidad y la informática en la nube un punto de vista abierto y libre: como en la computación Grid, no
es posible inscribir recursos o servicios, como también crear centros de datos mediante la
agregación dinámica de recursos y servicios no concebido con este fin. Además, cada Nube tiene su
propia interfaz y servicios, por lo que no puede comunicarse o interoperar con otras nubes. Por otro
lado, el paradigma de la informática voluntaria complementa un entorno distribuido abierto en el que
los recursos (no servicios como en la nube) se pueden compartir. Pero se manifiesta el mismo
problema de Grid con respecto a la compatibilidad entre recursos. Además, debido a su finalidad,
también no implementar ninguna política de facturación y QoS.
Ian Foster resume el paradigma informático del futuro de la siguiente manera [9]: “... tendremos que
respaldar los pro- visión y configuración de "sistemas virtuales" integrados proporcionando las
capacidades precisas que necesita un usuario final. Nosotros necesitará definir protocolos que
permitan a los usuarios y al servicio proveedores para descubrir y traspasar demandas a otros
proveedores, para supervisar y gestionar sus reservas, y organizar el pago ment. Necesitaremos
herramientas para gestionar tanto el subyacente recursos y los cálculos distribuidos resultantes. Lo
haremos necesitan la escala centralizada de las utilidades de la nube de hoy, y distribución e
interoperabilidad de las instalaciones Grid actuales ". . Compartimos todos estos requisitos, pero de
una manera ligeramente diferente perspectiva: queremos involucrar activamente a los usuarios en tal
nueva forma de computación, que permite crear propios interoperables Nubes. Creemos que es
posible exportar, aplicar y adaptar la filosofía “@home” al paradigma de la computación en la nube.
Al fusionar el voluntariado y la computación en la nube, un nuevo paradigma se puede crear: Cloud
@ Home . Este nuevo paradigma informático devuelve el poder y el control a los usuarios, que
pueden decidir cómo gestionar sus recursos / servicios en una geografía global contexto distribuido
de forma caliza. Pueden sustentar voluntariamente proyectos colocando gratuitamente sus recursos /
servicios en el ámbito científico disposición de los centros de investigación (eventualmente según un
crédito mecanismo), o pueden ganar dinero vendiendo sus recursos a los proveedores de
computación en la nube en un contexto de pago por uso / recurso compartido, según sus
capacidades. Por tanto, en Cloud @ Home tanto el comercial como el los puntos de vista de los
voluntarios coexisten: en el primer caso, el
La orientación al usuario de la nube se extiende a una colaboración de dos forma de nube en la que
los usuarios pueden comprar y / o vender sus recursos fuentes / servicios; en el último caso, la
filosofía Grid de pocos pero las grandes solicitudes informáticas se amplían y mejoran para abrir
Organizaciones virtuales. En ambos casos, los requisitos de QoS podrían ser especificado,
introduciendo en la filosofía Grid y Volunteer ( mejor esfuerzo ) el concepto de calidad. Cloud @
Home también se puede considerar como una generalización y una maduración de la filosofía
@home: un contexto en que los usuarios comparten voluntariamente sus recursos sin ningún
problema de compatibilidad. Esto permite derribar tanto Ware (bits de procesador, endianness,
arquitectura, red) y software (sistemas operativos, bibliotecas, compiladores, aplicaciones,
middlewares) barreras de Grid y la informática voluntaria. Más- más, en Cloud @ Home el término
recursos debe interpretarse en el sentido más general de servicios en la nube. Por otro lado, Cloud
@ Home puede considerarse como la mejora de la visión Grid-Utility de la nube poniendo. En este
nuevo paradigma, los hosts de los usuarios no son pasivos interfaces a los servicios en la nube, pero
pueden participar activamente en informática. Los nodos y servicios individuales pueden inscribirse
mediante el middleware Cloud @ Home, con el fin de construir propio-privado Infraestructuras en la
nube que pueden interactuar (gratis o con cargo) con otras nubes.
El lema de Cloud @ Home es: hardware heterogéneo para Nubes homogéneas . Por tanto, el
escenario que prefiguramos es compuesto por varias Nubes coexistentes e interoperables, como
ilustrado en la Fig. 1. Las nubes abiertas (amarillo) identifican Nubes que funcionan de forma
gratuita; Características de las nubes comerciales (azul) terizar entidades o empresas que venden
sus recursos informáticos para negocios; Las nubes híbridas (verde) pueden venderse o regalarse
liberar sus servicios. La infraestructura general debe hacer frente a la alta namismo de sus nodos /
recursos, lo que permite mover y reasignar datos, tareas y trabajos. Por tanto, es necesario
implementar un middleware ligero , diseñado específicamente para optimizar migraciones. Permite
involucrar dispositivos de recursos limitados en la nube, y no influye en la escritura del código como
Grid y Los paradigmas de la informática voluntaria lo hacen. Otro objetivo importante de Cloud @
Home es la seguridad . La informática voluntaria tiene algunas carencias en cuestiones de
seguridad, mientras que el paradigma Grid implementa complejos mecanismos de seguridad
anismos. La virtualización en Clouds implementa el aislamiento de los servicios, pero no proporciona
ninguna protección contra acceso local. En cuanto a la seguridad de los datos, el objetivo específico
de Cloud @ Home es extender los mecanismos de seguridad de Clouds a la protección de datos del
acceso local. Por último, pero no menos importante, la interoperabilidad es una de las más objetivo
importante de Cloud @ Home. Este es un problema abierto en Grid, Volunteer y Cloud Computing
que queremos afrontar adecuadamente en Cloud @ Home.
La virtualización de recursos físicos ofrece a los usuarios finales una Visión homogénea de los
servicios y recursos de Cloud. Dos los servicios básicos son proporcionados por la capa virtual a
frontend y, en consecuencia, a los usuarios finales: servicios de ejecución y almacenamiento . El
servicio de ejecución es la herramienta para crear y gestionar maquinas virtuales. Un usuario,
compartiendo sus recursos dentro de un Cloud @ Home, permite a los otros usuarios de la nube
ejecutar y gestionar las máquinas virtuales localmente en su nodo, según a las políticas y
restricciones negociadas y monitoreadas en el
capa de interfaz. Como se muestra en la Fig.2, desde el punto de vista del usuario final de ver una
ejecución La nube se ve como un conjunto de máquinas virtuales disponible y listo para usar. El
aislamiento de las máquinas virtuales implementa protección y por lo tanto seguridad. El servicio de
almacenamiento implementa un sistema de almacenamiento distribuido a través de los recursos de
hardware de almacenamiento que componen la nube, altamente independiente de ellos ya que los
datos y archivos se replican de acuerdo con las políticas y los requisitos de QoS que deben
satisfacerse. Desde el punto de vista del usuario final, una nube de almacenamiento aparece como
un disco remoto montado localmente. En un entorno distribuido donde cualquier usuario puede alojar
parte de datos privados, es necesario proteger dichos datos de accesos no autorizados. Una forma
de obtener la confidencialidad de los datos e integridad podría ser la criptografía, como se explica
mejor en la descripción de la capa física.
Para inscribir y administrar los recursos distribuidos y servicios de una nube, proporcionando un
punto de acceso único, es necesario adoptar un enfoque centralizado. Esto está implementado por el
subsistema de gestión que se compone de cuatro partes: la interfaz de usuario , el agente de la nube
, el motor de recursos y el administrador de políticas . La interfaz de usuario proporciona
herramientas para Cloud @ Home-User interacciones. Recopila y gestiona las solicitudes de los
usuarios emitidas. por el lado del cliente. Todas estas solicitudes se transfieren al bloques que
componen la capa subyacente para su procesamiento. Una tarea importante que realiza la interfaz
de usuario es la interoperabilidad de las nubes , implementada por punto a punto conectando la
interfaz de usuario de las Nubes que deseen instalar teroperate. En caso de que una de las dos
nubes sea punto conectado no tiene la estructura Cloud @ Home, es necesario para traducir las
solicitudes entre Cloud @ Home y formatos de nubes extranjeras, tarea delegada por la interfaz de
usuario al agente de Cloud. El agente de la nube recopila y administra información sobre las Nubes
disponibles y los servicios que proporcionar ( parámetros funcionales y no funcionales , como como
QoS, costos, confiabilidad, especificaciones de formatos de solicitud para Traducciones Cloud @
Home-Foreign Clouds, etc). El administrador de políticas proporciona e implementa las facilidades de
acceso. Esta tarea cae dentro del ámbito de seguridad de gestión de identificación, autenticación y
permisos, complementado a partir de PKI como se introdujo anteriormente. La política El
administrador también gestiona la información sobre la calidad del servicio de los usuarios. políticas
y requisitos. El motor de recursos es el corazón de Cloud @ Home. Es responsable de la gestión de
los recursos. Para alcanzar este objetivo, el motor de recursos aplica una política jerárquica. Opera
en nivel superior, de forma centralizada, indexando todos los recursos de la nube. Las solicitudes
entrantes se delegan a los programadores de VM o maestros de almacenamiento que, de forma
distribuida, gestionan recursos informáticos o de almacenamiento respectivamente, coordinados por
el motor de recursos.
El subsistema de recursos contiene todos los bloques implementados las funcionalidades de gestión
local y distribuida de Cloud @ Home. Este subsistema se puede dividir lógicamente en dos partes
que ofrecen diferentes servicios sobre los mismos recursos: el Nube de ejecución y Nube de
almacenamiento . La gestión subsistema los fusiona proporcionando una nube única que puede
ofrecemos servicios de ejecución y / o almacenamiento. La ejecución La nube proporciona
herramientas para administrar máquinas virtuales de acuerdo con a las solicitudes y requerimientos
de los usuarios provenientes de la gerencia subsistema de ment. Se compone de cuatro bloques:
programador de VM , Proveedor de VM , monitor de recursos e hipervisor . VM Scheduler es un
intermediario de recursos periféricos de Infraestructura Cloud @ Home, a la que el motor de recursos
delega la gestión de los recursos y servicios de la Nube. Desde el punto de vista del usuario final,
una máquina virtual se asigna en algún lugar en la nube, por lo que su migración es transparente
para usuarios. El proveedor de VM, el monitor de recursos y el hipervisor son responsables sible
para administrar una VM localmente a un recurso físico. AV M el proveedor exporta funciones para
asignar, administrar, migrar y destruir una máquina virtual en el host correspondiente. El monitor de
recursos permite tomar bajo control el local recursos informáticos de acuerdo con los requisitos y
limitaciones negociado en la fase de configuración con el usuario contribuyente. Si durante la
ejecución de una máquina virtual, los recursos locales se bloquean o se vuelven insuficientes para
seguir ejecutando la máquina virtual, el monitor de recursos solicita al programador que migre la
máquina virtual en otra parte. Para implementar un sistema de almacenamiento distribuido, el
Storage Cloud, especificamos el sistema de archivos Cloud @ Home (FS), inspirado en Google FS
[10]. Las divisiones de Cloud @ Home FS datos y archivos en trozos de tamaño fijo o variable, según
en el recurso de almacenamiento disponible. La arquitectura de dicho archivo. El sistema es
jerárquico: los fragmentos de datos se almacenan físicamente en los proveedores de fragmentos y
los maestros de almacenamiento correspondientes indexan trozos. El maestro de almacenamiento
es el servidor de directorio, que indexa los datos. almacenado en los proveedores de fragmentos
asociados. Interactúa directamente con el motor de recursos para descubrir los recursos que
almacenan datos. El motor de recursos se puede considerar como el servidor de directorio.
indexando todos los maestros de almacenamiento. Para mejorar la nube de almacenamiento
confiabilidad, los maestros de almacenamiento deben replicarse. Además, un El proveedor de
fragmentos se puede asociar a más de un almacenamiento. Maestro. Los proveedores de
fragmentos almacenan físicamente los datos que, como introducción citado anteriormente, están
encriptados para lograr la confidencialidad objetivo de tialidad. La confiabilidad de los datos se puede
mejorar replicando fragmentos de datos y proveedores de fragmentos, en consecuencia actualizando
el maestros de almacenamiento correspondientes. De esta forma, un dato corrupto fragmento se
puede recuperar y restaurar automáticamente a través del maestros de almacenamiento, sin
involucrar al usuario final. Para evitar que los programadores de VM o los maestros de
almacenamiento se conviertan en cuellos de botella, una vez que se han localizado los proveedores
de VM / chunk, Las interacciones de VM o transferencias de datos se implementan directamente
conectando usuarios finales y proveedores de VM o fragmentos, respectivamente.
En este artículo proponemos un paradigma informático innovador que representa una solución para
construir nubes a partir de nodos heterogéneos e independientes, no específicamente ceived para
este propósito. Esto implementa una generalización de tanto el voluntariado como la computación en
la nube agregando el potencialidades putacionales de muchos sistemas pequeños y de baja
potencia, explotando el efecto de cola larga de la informática. De esta manera Cloud @ Home abre
el mundo de la computación en la nube a los centros de investigación científica y académica, así
como a comunidades o usuarios únicos: cualquiera puede apoyar voluntariamenteproyectos
compartiendo sus recursos. Por otro lado,podría abrir el mercado de la informática de servicios
públicos al usuario únicoque quiere vender sus recursos informáticos. Para darse cuenta de
estovisión más amplia, varias cuestiones deben tenerse en cuenta de manera adecuadacuenta:
confiabilidad, seguridad, portabilidad de recursos y serviciovicios, interoperabilidad entre nubes, QoS
/ SLA y negociosmodelos y políticas.Es necesario un entendimiento común, una ontología quecorrige
métricas y conceptos como recursos, servicios y tambiénParámetros generales funcionales y no
funcionales de las nubes, QoS,SLA, formato de exposición, etc., que debe traducirseen estándares
específicos de interoperabilidad. Aspecto fundamentala tener en cuenta es la fiabilidad: de forma
heterogéneaCloud podemos tener recursos altamente confiables (NAS, informáticaservidores), y
recursos apenas confiables (contribución temporaltors). Cloud @ Home debe considerar dicho
parámetro, especificandopolíticas de gestión adecuadas.