14
7/23/2019 Investigaciòn Unidad 5 Ing. Reinol http://slidepdf.com/reader/full/investigacion-unidad-5-ing-reinol 1/14  1 Instituto tecnológico superior de Cintalapa. PROFESOR: ING. REINO ROQUE FARRERA. MATERIA: SISTEMAS OPERATIVOS ll. UNIDAD: 5 CTIVIDAD: Usos y tendencias de los Sistemas Operativos Distribuidos. CARRERA: INGENIERÍA EN INFORMÀTICA SEMESTRE: 5º GRU PO “E”  PRESENTAN: SUNY CONCEPCIÓN DE PAZ TRINIDAD. JORDÁN HIPÒLITO CRUZ CAMACHO. JOSAFATH SOLÓRZANO MENDOZA.  YESENIA GUADALUPE LÒPEZ OVANDO.

Investigaciòn Unidad 5 Ing. Reinol

  • Upload
    jordan

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Investigaciòn Unidad 5 Ing. Reinol

7/23/2019 Investigaciòn Unidad 5 Ing. Reinol

http://slidepdf.com/reader/full/investigacion-unidad-5-ing-reinol 1/14

 

1

Instituto tecnológico superior de

Cintalapa.

PROFESOR: ING. REINO ROQUE FARRERA.

MATERIA: SISTEMAS OPERATIVOS ll. 

UNIDAD: 5

CTIVIDAD: Usos y tendencias de los SistemasOperativos Distribuidos. 

CARRERA: INGENIERÍA EN INFORMÀTICA

SEMESTRE: 5º GRUPO “E” 

PRESENTAN:SUNY CONCEPCIÓN DE PAZ TRINIDAD.JORDÁN HIPÒLITO CRUZ CAMACHO.JOSAFATH SOLÓRZANO MENDOZA. YESENIA GUADALUPE LÒPEZ OVANDO.

Page 2: Investigaciòn Unidad 5 Ing. Reinol

7/23/2019 Investigaciòn Unidad 5 Ing. Reinol

http://slidepdf.com/reader/full/investigacion-unidad-5-ing-reinol 2/14

 

2

USOS Y TENDENCIAS DE LOS SISTEMAS OPERATIVOSDISTRIBUIDOS.

 Administración de Sistemas Distribuidos. La administración de

sistemas distribuidos incluye las actividades como: manejo de laversión y distribución del software, monitoreo de la utilización de losrecursos y el mantenimiento del sistema de seguridad, entre otros.Los administradores de sistemas distribuidos se ocupan demonitorear continuamente al sistema y se deben de asegurar de sudisponibilidad. Para una buena administración, se debe de poderidentificar las áreas que están teniendo problemas así como de larápida recuperación de fallas que se puedan presentar. Lainformación que se obtiene mediante el monitoreo sirve a losadministradores para anticipar situaciones críticas. La prevención deestas situaciones ayuda a que los problemas no crezcan para que noafecten a los usuarios del sistema.

Page 3: Investigaciòn Unidad 5 Ing. Reinol

7/23/2019 Investigaciòn Unidad 5 Ing. Reinol

http://slidepdf.com/reader/full/investigacion-unidad-5-ing-reinol 3/14

 

3

5.1 ADMINISTRACIÒN DE SISTEMAS DISTRIBUIDOS.

La administración de sistemas distribuidos incluye las actividades como: manejode la versión y distribución del software, monitoreo de la utilización de losrecursos y el mantenimiento del sistema de seguridad, entre otros.

La administración de sistemas distribuidos incluye las actividades como: manejode la versión y distribución del software, monitoreo de la utilización de losrecursos y el mantenimiento del sistema de seguridad, entre otros. Losadministradores de sistemas distribuidos se ocupan de monitorearcontinuamente al sistema y se deben de asegurar de su disponibilidad. Para unabuena administración, se debe de poder identificar las áreas que están teniendoproblemas así como de la rápida recuperación de fallas que se puedan presentar.La información que se obtiene mediante el monitoreo sirve a los administradorespara anticipar situaciones críticas. La prevención de estas situaciones ayuda aque los problemas no crezcan para que no afecten a los usuarios del sistema.

Configuración de SOD

Instalación Típica

§ Soporte de instalación del Sistema Operativo (CD con auto-arranque)

§ Información del hardware disponible en la máquina destino

§ Drivers de los dispositivos hardware para el sistema operativo elegido (mínimola tarjeta gráfica, aunque es

Muy aconsejable disponer de conexión a internet)

De forma general, la instalación se compone de los siguientes pasos:

1. Configuración del dispositivo de arranque en la BIOS

2. Creación de las particiones en el disco duro

3. Creación del sistema de ficheros

4. Selección de paquetes

Page 4: Investigaciòn Unidad 5 Ing. Reinol

7/23/2019 Investigaciòn Unidad 5 Ing. Reinol

http://slidepdf.com/reader/full/investigacion-unidad-5-ing-reinol 4/14

 

4

5. Configuración

6. Instalación y configuración de aplicaciones

En el caso concreto de a práctica, se va a instalar un sistema operativo MicrosoftWindows. El instalador se subdivide en dos partes fundamentales:

1. Instalación modo texto: Se encarga de detectar y cargar los controladoresnecesarios. Permite crear las particiones y sistema de ficheros y finalizarealizando la copia de los ficheros imprescindibles.

2. Instalación gráfica: encargada de realizar la copia de los ficheros del sistema

y aplicaciones del sistema operativo y permite configurar las opciones deinternacionalización y de red.

5.2. INSTALACIÓN DE CLUSTERS.Un cluster de alto rendimiento ¿Qué es un cluster? Cluster es un sistema deprocesamiento de tipo paralelo o distribuido, que está formado de computadorasindependientes, interconectadas entre sí, trabajando juntas como un solorecurso de cómputo intensivo. Las características más sobresalientes en lautilización de un cluster para el cómputo de alto rendimiento tiene las siguientes:Elementos de un cluster Procesadores Se pueden utilizar prácticamentecualquier tipo de procesadores. La tecnología actual los procesadores de unamaquina accesible nos da un rendimiento similar a los procesadores de una

supercomputadora. En donde cada procesador posee una gran cantidad decache, así como de altas velocidades y bajo costo. Figura 1: ¿Porque un cluster?

Page 5: Investigaciòn Unidad 5 Ing. Reinol

7/23/2019 Investigaciòn Unidad 5 Ing. Reinol

http://slidepdf.com/reader/full/investigacion-unidad-5-ing-reinol 5/14

 

5

Proceso adores Comunicaciones Redes /s witches is temas Operativos LinuxEs calabilidad Programación paralela Envío de mensajes Herramientas Aplicaciones Recursos Humanos Cluster Comunicaciones Existen solucionesque necesitan pocos recursos económicos para interconectar los equipos queformaran parte del cluster. Se puede utilizar cualquier tipo de tecnología para la

interconexión entre los equipos ya sea la utilización de redes Ethernet, Myrinet,Gigabit. Con el que se obtiene un gran ancho de banda disponible para lacomunicación con bajas latencias. Sistemas Operativos Se puede utilizarcualquier sistema operativo para la creación de un cluster sin embargo serecomienda el uso de Linux ya que este posee una gran estabilidad a un buenrendimiento en cuanto a manejo de memoría, así como de I/O eficiente, así comola posibilidad de hacer un ajuste muy refinado a los parámetros de losdispositivos para un mejor rendimiento. Software Existe una gran cantidad desoftware que ya está listo para funcionar en un cluster, desde la aparición de losprocesadores con HiperThreading (HT), la programación y la proliferación de

software se ha desarrollado exponencialmente, con lo que se tiene una mayorcantidad de posibilidades para las diferentes disciplinas científicas. RecursosHumanos El elemento más importante para el funcionamiento de cualquiersistema es el elemento humano que capacitado en la administración y manejonecesario de recursos provee de un ambiente más amigable para aquellosusuarios que pretendan utilizar el cluster. El cluster es fácilmente escalable acomparación de las supercomputadoras en donde la escalabilidad depende deuna gran cantidad de recursos económicos. Con la facilidad de extender elcluster con equipo de bajo costo la escalabilidad no representa una gran limitanteen el momento de agregar recursos necesarios para incrementar el poder de

cómputo. Existen además muchas herramientas en la actualidad para laadministración y manejo del cluster, tanto en herramientas de monitoreo, asícomo de herramientas para la administración de trabajos y recursos. El soporteen librerías para programación en paralelo está altamente desarrolladas, lo cualpermite que la programación de nuevas aplicaciones que puedan funcionar enmultiprocesamiento sea más sencillo. 

Cluster es un término anglosajón que se refiere a un conjunto de ordenadoresconectados entre sí creando un único sistema para el cálculo. De este modo sepueden realizar cálculos que de otro modo ser ıan muy lentos o imposibles

debido a las limitaciones de velocidad o memoria que puede gestionar un únicoprocesador. Históricamente para el cálculo en paralelo se han diseñado dostipos de sistemas.

Page 6: Investigaciòn Unidad 5 Ing. Reinol

7/23/2019 Investigaciòn Unidad 5 Ing. Reinol

http://slidepdf.com/reader/full/investigacion-unidad-5-ing-reinol 6/14

 

6

5.3. Estándares de administración en sistemasoperativos distribuidos. 

Los estándares son aquellas normas usuales, los propósitos, los objetivos, aalcanzar, las metas a alcanzar y aquellos índices que integran los planes, y tododato o cifra que pueda emplearse como medida para cumplirlas, son

considerados como estándares.

Estas medidas son indispensables para el control, ya que indican la manera enque deseas que se ejecute una actividad. En la práctica, son los objetivosdeclarados y definidos de la organización y por esa razón los estándares debenabarcar las funciones básicas y áreas clave de los resultados logrados.

Un estándar muy utilizado en los sistemas distribuidos es el CORBA, en el cualnos basaremos para explicar este tema.

Los estándares son aquellas normas usuales, los propósitos, los objetivos, aalcanzar, las metas a alcanzar y aquellos índices que integran los planes, y tododato o cifra que pueda emplearse como medida para cumplirlas, sonconsiderados como estándares.Estas medidas son indispensables para el control, ya que indican la manera enque deseas que se ejecute una actividad. En la práctica, son los objetivosdeclarados y definidos de la organización y por esa razón los estándares debenabarcar las funciones básicas y áreas clave de los resultados logrados.Un estándar muy utilizado en los sistemas distribuidos es el CORBA, en el cualnos basaremos para explicar este tema.

CORBA es el estándar para la creación de sistemas distribuidos creado por elObject Management Group (OMG). Pensado para ser independiente del

Page 7: Investigaciòn Unidad 5 Ing. Reinol

7/23/2019 Investigaciòn Unidad 5 Ing. Reinol

http://slidepdf.com/reader/full/investigacion-unidad-5-ing-reinol 7/14

 

7

lenguaje, rápidamente aparecieron implementaciones en las que se podía usarcasi cualquier lenguaje. Aunque objeto y componente tienen significado distintos, el nombre utilizado enlas tecnologías de Microsoft COM y DCOM, versión distribuida de COM escomponente. COM/DCOM es un sistema de componentes implementado en

todos los sistemas operativos que fabrica Microsoft. La tecnología para crearsistemas distribuidos proporcionada por Microsoft es una versión orientada acomponentes del sistema RPC. Si bien es verdad que se han hecho algunosesfuerzos para que DCOM aparezca en arquitecturas diferentes a la Win32, porhoy, DCOM es una tecnología que solo sirve para los sistemas Microsoft.CORBA, Common Object Request Bróker Architecture, es una tecnología para

crear sistemas distribuidos, creada por un consorcio de fabricantes, agrupadosbajo el OMG.El estándar CORBA define qué ha de incluir una implementación estándar, pero

no cómo se han de hacer. Esta tarea se deja de la mano de los diferentes

fabricantes. Esta es una de las principales características de CORBA: permiteuna total libertad a los implementadores siempre que estos respeten unosmínimos orientados a la interoperabilidad entre implementaciones.Ventajas1) Disponibilidad y VersatilidadMuchas arquitecturas y sistemas operativos cuentan con una implementación

de CORBA, lo que hace suponer que se puede usar CORBA en virtualmentecualquier proyecto de sistemas distribuidos.2) EficienciaLa libertad de desarrollo ha favorecido la existencia de estándar que se adaptan

a multitud de posibles necesidades de los usuarios, generando una competenciaque favorece aquellas implementaciones de mayor calidad y con máscaracterísticas.3) Adaptación a Lenguajes de programaciónEs posible emplear los servicios de CORBA desde cualquier lenguaje de

programación, desde C++, C ó Java, hasta COBOL ó Ada.Los ORBs (Object Request Bróker), es el núcleo de cualquier implementación

CORBA, transmiten los mensajes que se intercambian cliente y servidor, para loque se ocupan de:1. Canalizar las comunicaciones entre los objetos locales y los remotos.

2. Empaquetar los parámetros que el cliente pasa al método remoto y elresultado que el método devuelve al cliente.3. Localizar al objeto remoto a partir de una referencia.IDL (Interface Definition Language) es un lenguaje de programación pensado

exclusivamente para especificar las interfaces de las clases cuyas instanciasqueremos hacer públicas a objetos remotos que las usaran como clientes.La necesidad de un IDL viene dada por la independencia de CORBA respecto ala arquitectura y al lenguaje de programación. Distintos lenguajes soportandiferentes tipos de datos y tienen distintas formas de especificar clases. Inclusolimitándonos a un lenguaje, la ordenación y el tamaño de un tipo de datos

determinado no tiene porqué ser el mismo entre arquitecturas diferentes (por

Page 8: Investigaciòn Unidad 5 Ing. Reinol

7/23/2019 Investigaciòn Unidad 5 Ing. Reinol

http://slidepdf.com/reader/full/investigacion-unidad-5-ing-reinol 8/14

 

8

ejemplo, no es lo mismo un entero en un 386 con MS-DOS que en un UltraSparccon Solaris 7).IDL pone de acuerdo a distintos lenguajes en el formato y tamaño de sus

especificaciones. El compilador de IDL transforma una especificación neutralpara la plataforma y el lenguaje en otra que puedan entender dicho lenguaje y

plataformaLas implementaciones CORBA pueden ofrecer servicios adicionales

voluntariamente. Un ejemplo de estas facilidades es el sistema de suscripciónde eventos, que permite que un objeto se suscriba a eventos generados por otro.El propósito de este servicio es el de mejorar la eficiencia disminuyendo el tráficode la red. Por ejemplo, si hay varios objetos clientes esperando a que sucedaalgo en el objeto que presta servicio en el servidor, en vez de hacer polling,podrían solicitarle a este que les envíe una notificación cuando eso ocurra.El estándar CORBA no se preocupa de la seguridad implementada en el sistema

distribuido. Si por alguna razón se requiere restringir el uso de los recursos

controlados por un determinado objeto, debe hacerlo el usuario.

Dentro de los Sistemas Distribuidos (SOD) existen estándares los cuales ayudana alcanzar metas u objetivos. Un estándar muy utilizado por los SOD es elCORBA ya que este estándar es utilizado para la creación de sistemasdistribuidos ya que permite una total libertad a los implementadores siempre queestos respeten unos mínimos orientados a la interoperabilidad entreimplementaciones, así como utilizar diferentes tipos de lenguajes deprogramación.CORBA ha favorecido la existencia de estándar que se adaptan a multitud de

posibles necesidades de los usuarios, generando una competencia que favoreceaquellas implementaciones de mayor calidad de los SOD.

Page 9: Investigaciòn Unidad 5 Ing. Reinol

7/23/2019 Investigaciòn Unidad 5 Ing. Reinol

http://slidepdf.com/reader/full/investigacion-unidad-5-ing-reinol 9/14

 

9

5.4 Computo de alto rendimiento a bajo costo.

Un cluster es una solución computacional estructurada a partir de un conjunto desistemas computacionales muy similares entre si (grupo de computadoras),interconectados mediante alguna tecnología de red de alta velocidad,configurados de forma coordinada para dar la ilusión de un único recurso; cadauno de estos sistemas estará proveyendo un mismo servicio o ejecutando una(o parte de una) misma aplicación paralela. Un cluster debe tener comocaracterística inherente la compartición de recursos: ciclos de CPU (CentralProcessing Unit), memoria, datos y servicios.

Page 10: Investigaciòn Unidad 5 Ing. Reinol

7/23/2019 Investigaciòn Unidad 5 Ing. Reinol

http://slidepdf.com/reader/full/investigacion-unidad-5-ing-reinol 10/14

 

10

Los sistemas computacionales (nodos) que conforman el cluster podrían sercomputadoras de uno o varios procesadores; estos sistemas podrían estarmontados en un rack, ubicados en un espacio dedicado exclusivamente aalmacenar computadoras, o en el cubículo de un empleado; lo que cuenta escomo están relacionados, como son accesados, y que tipo de aplicación están

ejecutando.

La idea de los clusters tomo impulso en los 90s, cuando se dispuso demicroprocesadores de alto rendimiento, redes de alta velocidad, y herramientasestándar para computación distribuida (Message Passing Interface, MPI, ParallelVirtual Machine, PVM (Quinn, 2003; Pacheco, 1997)) y a costos razonables. Perotambién el desarrollo de los clusters fue impulsado por deficiencias de losSistemas Multiprocesador Simétricos (Symmetric MultiProcessors, SMPs (Cullery Singh, 1999)). Las grandes máquinas SMP son costosas, propietarias, tienenun único punto de falla, no están ampliamente disponibles, y sufren de problemas

de escalabilidad, en términos de número de procesadores y capacidad dememoria. Según Lucke (2005), los sistemas SMP más grandes conocidos,escalan hasta un número de alrededor de 128 CPU.

En 1994, T. Sterling y D. Becker, trabajando en CESDIS (Center of Excellencein Space Data and Information Sciences) bajo el patrocinio del Proyecto de laTierra y Ciencias del Espacio (ESS), construyeron un cluster de computadorasque consistía de 16 procesadores 486DX4, usando una red Ethernet a 10Mbps,con un costo de $40,000. Ellos llamaron a su sistema Beowulf, un éxitoinmediato, y su idea de proporcionar sistemas en base a COTS (Components OfThe Shelve) para satisfacer requisitos de cómputo específicos, se propagórápidamente a través de la NASA y en las comunidades académicas y deinvestigación. En la actualidad, muchos clusters todavía son diseñados,ensamblados y configurados por sus propios operadores; sin embargo, existe laopción de adquirir clusters prefabricados.

El problema que se intenta resolver con estos clusters es el de disponer decapacidad computacional equivalente al encontrado en poderosas y costosassupercomputadoras paralelas tradicionales (Cray/SGI T3E) (Gordon y Gray,2001), pero empleando componentes de bajo costo y ampliamente disponibles(commodities). Los altos requerimientos computacionales a los que se hace

mención, son típicos en aplicaciones como algoritmos genéticos, simulación delíneas de fabricación, aplicaciones militares, bases de datos, síntesis deimágenes, recuperación de imágenes por contenido, simulación de modelos paraclima, análisis de sismos, algoritmos para solución a problemas deelectromagnetismo, dinámica de fluidos, química cuántica, biomedicina, etc.(Buya, 1999, Vol. II).

Las grandes supercomputadoras tradicionales, propietarias y costosas, estánsiendo reemplazadas por clusters a una fracción del costo. Esto permite apequeñas organizaciones de investigación, departamentos de IT (InformationTechnology), y grupos de ingeniería, poseer sus propias supercomputadoras, auna fracción del costo previamente requerido para obtener el equivalente

Page 11: Investigaciòn Unidad 5 Ing. Reinol

7/23/2019 Investigaciòn Unidad 5 Ing. Reinol

http://slidepdf.com/reader/full/investigacion-unidad-5-ing-reinol 11/14

 

11

computacional. Otros aspectos económicos a considerarse son costos explícitos,necesarios para utilizar y mantener un centro especializado consupercomputadoras: espacio, aire acondicionado, consumo de potencia,personal para administración y consultas, etc. Cuando se posee un cluster estoscostos están implícitos ya que se operan centros propios y no se los debe

sustentar como usuarios de un centro especializado (Gordon y Gray, 2001).

En consecuencia, una de las ventajas de una solución con clusters es construiruna plataforma que se ajuste a un presupuesto determinado y que sea adecuadapara un grupo considerable de aplicaciones. Además, un cluster puede serexpandido con relativa facilidad, incrementando el número de nodos o lacapacidad de los nodos individuales existentes, añadiendo memoria y/oprocesadores.

5.5 Súper cómputo basado en clustering como solucióna la necesidad de alto procesamiento en la nueva era.

El número de procesadores en un cluster se ha incrementado notablemente, sehabla de cientos de procesadores. De acuerdo al reporte de de Noviembre de2004, entre las diez supercomputadoras más rápidas del mundo, figuran cincobasadas en cluster, empleando un número de nodos en el orden de 4000.El cluster más rápido se denomina MareNostrum, un eServer BladeCenter JS20,

formado por 4536 procesadores PowerPC970 de 2.2 GHz e interconectados conuna red Myrinet, es considerada la cuarta computadora más veloz y fue

Page 12: Investigaciòn Unidad 5 Ing. Reinol

7/23/2019 Investigaciòn Unidad 5 Ing. Reinol

http://slidepdf.com/reader/full/investigacion-unidad-5-ing-reinol 12/14

 

12

desarrollada por el Barcelona Supercomputer Center de España. La quintacomputadora más veloz se denomina Thunder, formada por 4096 procesadoresIntel Itanium 2 de 1.4 GHz e interconectados con una red Quadrics, fuedesarrollado por Lawrence Livermore National Laboratory de los EstadosUnidos. La sexta computadora se denominaASCI Q y está conformada por 8192

procesadores Alpha Server SC45 de 1.25 GHz, fue desarrollada por Los AlamosNational Laboratory de los Estados Unidos. La séptima computadora sedenomina System X y está conformada por 2200 procesadores 1100 Dual AppleXServe de 2.3 GHz y posee dos redes una Cisco GigE y otra Mellanox Infiniband,fue desarrollada por Virginia Tech de los Estados Unidos. La décimacomputadora también es un cluster, se denominaTungsten y está formada por1450 procesadores P4 Xeon de 3.06 GHz y utiliza una red Myrinet para lainterconexión de los nodos, fue desarrollada por NCSA de los Estados Unidos.

En la actualidad, se pretende que este tipo de solución se inserte entre las

tendencias ampliamente utilizadas en el mundo de IT, que no sean únicamenteun instrumento en universidades e institutos de investigación. Más aún, comoGordon y Gray (2001) señalan, se prevé una convergencia de clusters contópicos como computación P2P (peer-to-peer) y computación Grid (GridComputing).

Por lo mencionado, existe la necesidad de un adecuado entendimiento de lo quela computación con clusters puede ofrecer, cómo los clusters de computadoraspueden construirse, y cuál su impacto en aplicaciones identificadas comoadecuadas para un ambiente basado en clusters.

5.6 Tendencias de investigación

Las razones para construir sistemas distribuidos son las siguientes:

Computación más rápida: si un cálculo dado se puede subdividir en varios suscálculos susceptibles de ejecución concurrente, un sistema distribuido podríapermitirlo distribuir el cálculo entre los distintos sitios, y ejecutándolo de formaconcurrente.

Page 13: Investigaciòn Unidad 5 Ing. Reinol

7/23/2019 Investigaciòn Unidad 5 Ing. Reinol

http://slidepdf.com/reader/full/investigacion-unidad-5-ing-reinol 13/14

 

13

Confiabilidad: si en un sitio de un sistema distribuido falla, los sitios restantespodrían seguir funcionando.

Comunicación: hay muchos casos en los que los programas necesitanintercambiar datos con otros programas del mismo sistema Si muchos sitios

están conectados a través de una red de comunicaciones, los procesos dediferentes sitios tienen la oportunidad de intercambiar información. Los usuariospodrían iniciar transferencia de archivo o comunicarse entre sí por correoelectrónico.

5.7 Sistemas distribuidos como infraestructura para elsoporte de las empresas en las TI

El impacto en los sistemas de información y telecomunicación ya es, y será, muyimportante. Éstas son algunas de las características y tendencias que marcanestos cambios en la sociedad.

La idea de comunicar e intercambiar dinámicamente servicios e información dioorigen a los sistemas distribuidos. Esta noción indica que las necesidades de unmundo real, los servicios deben adherirse o quitarse según sean requeridos. Lossistemas distribuidos permiten la existencia de una multiplicidad de estacionesde trabajo, las cuales ofrecen los recursos a los usuarios mediante un modelo de

red.El usuario (sociedad) no sabe concretamente la máquina que ofrece servicio nisu dirección o ubicación geográfica; únicamente conoce su nombre oidentificador y en muchos caso ni siquiera este último.

El objetivo es accesar aun recurso a distancia como seria en una aplicación localsin conectarse en ningún caso con la maquina propietaria.