Descripción del proyecto
EL USO DE ENTORNOS DE COMPUTACION EN CLOUD ES MASIVO, EXISTEN DISTINTOS TIPOS DE SISTEMAS CLOUD PARA PROPORCIONAR LA INFRAESTRUCTURA (INFRASTRUCTURE AS A SERVICE O IAAS), LA PLATAFORMA PARA EJECUTAR APLICACIONES (PLATFORM AS A SERVICE O PAAS) O LA PROPIA APLICACION (SOFTWARE AS A SERVICE), LOS SISTEMAS SAAS NORMALMENTE SE DESPLIEGAN SOBRE PAAS O SOBRE PLATAFORMAS CONCRETAS, LOS PAAS PROPORCIONAN EL ENTORNO DE EJECUCION PARA PODER DESPLEGAR APLICACIONES, INCLUYENDO LOS SERVICIOS DEL SISTEMA OPERATIVO Y EL RUNTIME, QUE PUEDE INCLUIR UNA MAQUINA VIRTUAL DE PROCESO (E,G, JVM), ADICIONALMENTE, EL SISTEMA OPERATIVO USADO SUELE SER DE UNO PROPOSITO GENERAL, CON LA SOBRECARGA QUE SUPONE (E,G, LINUX), MAS AUN, PARA ABSTRAER EL HARDWARE ES HABITUAL QUE DICHO SISTEMA SE ENCUENTRE ALOJADO SOBRE UNA MAQUINA VIRTUAL DE SISTEMA (E,G, UN HIPERVISOR COMO XEN), ESTA GRAN PILA DE SOFTWARE IMPIDE EL APROVECHAMIENTO DE LAS CAPACIDADES DEL HARDWARE SUBYACENTE, POR UN LADO, EJECUTA MUCHO MAS CODIGO QUE EL NECESARIO PARA EL SERVICIO Y CONSUME MAS RECURSOS, ESTO ADEMAS PROVOCA UNA PRESION EN LAS CACHES DE MEMORIA Y OTROS RECURSOS (E,G, ALMACENAMIENTO), POR OTRA PARTE, IMPIDE QUE LA APLICACION ESTE ESPECIALIZADA PARA APROVECHAR LAS CARACTERISTICAS PROPIAS DE LA MAQUINA, POR EJEMPLO, LA LOCALIDAD O LOS DISTINTOS TIPOS DE NUCLEOS EN LAS MAQUINAS MODERNAS, LA RAZON POR LA QUE SE SUELE SEGUIR EL ESQUEMA DESCRITO ES LA FLEXIBILIDAD Y PORTABILIDAD, COMPROMETIENDO EL RENDIMIENTO Y LA SIMPLICIDAD DEL SISTEMA, LA DISMINUCION DE RENDIMIENTO IMPIDE LA EJECUCION DE APLICACIONES CON REQUERIMIENTOS DE ALTAS PRESTACIONES Y EL APROVECHAMIENTO DE LAS MAQUINAS EXISTENTES, LA COMPLEJIDAD REDUCE LA COMPRENSIBILIDAD DEL SISTEMA, PROVOCANDO PROBLEMAS DE SEGURIDAD Y ALARGANDO EL DESARROLLO Y DEPURACION DE LAS APLICACIONES,NUESTRA EXPERIENCIA PREVIA EN EL DESARROLLO DEL SISTEMA OPERATIVO NIX Y LA DE OTROS INVESTIGADORES DEL CAMPO INDICA QUE SE PUEDEN OBTENER MEJORAS SIGNIFICATIVAS EN EL RENDIMIENTO DE LAS APLICACIONES ESPECIALIZANDO LOS NUCLEOS Y/O LOS NODOS, EN ESTE PROYECTO QUEREMOS ESPECIALIZAR LOS NODOS DE LA NUBE, CONVIRTIENDO LAS APLICACIONES EN KERNELS PARA LOS NODOS UTILIZADOS,NUESTRA PROPUESTA CONSISTE EN DESTILAR Y ESPECIALIZAR AUTOMATICAMENTE EL SISTEMA OPERATIVO PARA OFRECER LOS SERVICIOS MINIMOS REQUERIDOS POR UNA UNICA APLICACION O SERVICIO, DE TAL FORMA QUE LA APLICACION EJECUTE DIRECTAMENTE SOBRE EL HW, APROVECHANDO TODO SU POTENCIAL, EL SO SE REDUCE AL MINIMO REQUERIDO PARA EL DESPLIEGUE DE LA APLICACION, DANDO SERVICIOS COMO COMUNICACION ENTRE LOS DISTINTOS PROCESOS DE LA APLICACION, ABSTRACCION DEL HARDWARE, MEMORIA VIRTUAL Y FACILIDADES DE DESPLIEGUE AUTOMATIZADO ENTRE DISTINTAS MAQUINAS, ESTO PERMITIRA A LAS APLICACIONES CLOUD ESCALAR MAS Y EJECUTAR MAS EFICIENTEMENTE,SE CREARA UNA NUEVA ARQUITECTURA DE SISTEMA Y SE DESARROLLARAN PROTOCOLOS, TECNICAS Y SERVICIOS QUE PERMITIRAN EJECUTAR APLICACIONES EN UN ENTORNO DE CLOUD COMPUTING DE TAL FORMA QUE DICHA APLICACION (EN CADA NODO) NO SOPORTE LA SOBRECARGA DE SERVICIOS INNECESARIOS NI TENGA INTERFERENCIA DEL SISTEMA OPERATIVO, DICHO DE OTRO MODO, LA APLICACION SE CONVERTIRA EN EL NUCLEO DEL SISTEMA OPERATIVO EJECUTADO EN LOS NODOS DEL ENTORNO CLOUD, SE IMPLEMENTARA UN PROTOTIPO DE DEMOSTRACION PARA APLICACIONES ESCRITAS EN EL LENGUAJE GO (DESARROLLADO POR GOOGLE) QUE POSTERIORMENTE SE TRANSFERIRA A LA INDUSTRIA PARA SU EXPLOTACION, COMPUTACIÓN CLOUD\ ESCALABILIDAD\ SISTEMA OPERATIVO\ PAAS\ IAAS\ SAAS