200 likes | 369 Views
INSTITUTO TECNOLÓGICO DE CD. GUZMÁN. Sistemas Operativos II. MC. Daniel Fajardo Delgado. 8 de Mayo de 2004. COMPUTACIÓN PARALELA II. POINTER JUMPING Árbol dirigido (directed tree), es un grafo que cumple con: a) Cada nodo tiene grado de salida 1.
E N D
INSTITUTO TECNOLÓGICO DE CD. GUZMÁN Sistemas Operativos II MC. Daniel Fajardo Delgado 8 de Mayo de 2004
POINTER JUMPING Árbol dirigido (directed tree), es un grafo que cumple con: a) Cada nodo tiene grado de salida 1. b) Existe un nodo especial “r“ (raíz) cuyo grado de salida es 0. c) Existe una ruta entre cualquier nodo del árbol “r“. Cualquier nodo != r Siempre apunta al padre. r r
PROBLEMA Encontrar la raíz del árbol (bosque). Se tiene un conjunto de n nodos, en donde cada nodo; conoce el índice de su padre, denotado por p(i). Para la raíz: p(r) = r
La técnica pointer jumping realiza lo siguiente: ~> Actualiza el sucesor de cada nodo en cada paso. El sucesor es el nodo al que se apunta en un momento dado. Sucesor nuevo = Sucesor del sucesor viejo ~> Esta técnica dobla en cada paso la distancia entre un nodo y su sucesor, hasta que finalmente el sucesor es la raíz. K S(k) S(S(k))
LIST RANKING?? 5 4 3 2 1 0
BROADCAST (PARA HIPERCUBO) ???
PROBLEMA Sea n = 2^k. Un Torus (Mesh en el que los procesadores de los extremos tienen conexiones con los procesadores al otro extremo del Mesh). Un Torus de dimensión n x n se puede empotrar en un hipercubo de dimensión 2^k (Esto es un hipercubo de 2^{2k} = n^2 procesadores). Y cómo?
AMOEBA – A DISTRIBUTED OS FOR THE 1990's Sape J. Mullender Guido Van Rossum Andrew S. Tanenbaum Robbert van Renesse Hans van Staveren
~> Amoeba es un SO distribuido. ~> Junta una gran variedad de máquinas conectadas sobre una red para formar una computadora de gran capacidad. ~> Fue desarrollado originalmente en the Vrije Universiteit (Amsterdam) en 1981, por Andrew Tanenbaum y su equipo. ~> Su objetivo = SO distribuido para el cálculo paralelo (múltiples procesadores) y distribuido. ~> El usuario se loguéa, edita programas, los compila, lee su mail, etc. ~> Estas acciones hacen intervenir diferentes maquinas. ~> El usuario no lo ve.
~> Actualmente, Amoeba es el SO distribuido más rápido. ~> El código fuente de Amoeba es manejado bajo licencia pública. ~> Amoeba se construye bajo un microkernel tradicional. Soporta verdadero multithreading (controlador por el kernel), y el manejo de memoria en segmentos. ~> El sistema busca cada vez la maquina menos cargada. ~> Es el sistema quien determina las compilaciones que pueden ejecutarse en paralelo o en serie y sobre que máquina(s). ~> Un lenguaje específico que tiene en cuenta el paralelismo y la distribución, ha sido creado: Orca. ~> Todos los componentes de Amoeba se comunican entre sí sobre una interfaz estandarizada RPC.
~> No importa si un thread cliente o servidor se está ejecutando en modo kernel o usuario (utiliza la misma interfaz RPC). ~> Sufre de la ausencia de programas de aplicación. Existe una emulación UNIX que permite portar programas más fácil. ~> Tiene X11 con algunas aplicaciones, varios compiladores (gcc, ocaml, tcl/tk), bash shell, editores y otras cosas más. Amoeba está listo para usar!! ~> Aún está en modo experimental, pero listo para usar. ~> FSD-Amoeba está creado sólo para programadores dedicados y no para usuarios finales.
ARQUITECTURA LOGICA 2 partes distintas: 1. Un micronucleo (1 por procesador); 2. Un conjunto de servidores que implementan las operaciones clásicas de un SE. Funciones del microkernel: 1. Administración de los procesos y threads; 2. Administración de base de la memoria; 3. Administración de las comunicaciones; 4. Administración de las E / S de base.
SERVIDORES Todo lo que no hace el kernel lo hacen los servidores. ~> Minimizar la talla del kernel. ~> Incrementar la flexibilidad: Cambiar un servidor y una versión de servidor es fácil. Podemos tener varias versiones diferentes al mismo tiempo para usuarios diferentes. El corazón de Amoeba = noción de objeto. Todos los objetos del sistema (objetos físicos o lógicos) son: nombrados, protegidos y controlados por capabilities. Ejemplo: archivos, directorios, segmentos memoria, ventanas, procesadores, discos, etc.
SERVIDOR DE ARCHIVOS ~> Es el bullet server. ~> Una vez creado, un archivo no puede ser modificado. * Menos problemas de coherencia de los datos. * Duplicación fácil. Tenemos el directory server que controla los directorios y el replication server. El usuario es libre de utilizar los servidores de origen o de crear sus propios servidores.
PUNTOS PRELIMINARES A LA INSTALACIÓN. ~> La versión de Amoeba i80386 ISA también se ejecutará para i80480 y Pentium ISA, PCI y Vlbus. ~> Utiliza el formato estándar de tablas de partición. ~> Instalar cualquier otro SO antes de instalar Amoeba. ~> Dejar al menos 300 MB de espacio en disco y 800 MB cuando hay muchos usuarios y se utiliza Windows X. ~> Se requieren de al menos 32 MB de memoria RAM. ~> La distribución pequeña de Amoeba requiere de 5 disquetes de 3.5.
PUNTOS PRELIMINARES A LA INSTALACIÓN. El disquete etiquetado como COLDSTART contiene un número de kernels booteables, entre otros la instalación del kernel. Los disquetes etiquetados como RAMDISKIMAGE contienen una imágen contiene una imágen de un disco virtual que será usada usada en la instalación del kernel. Los disquetes restantes, etiquetados como AMOEBA contienen una imágen en gzip de un starch comprimido conteniendo todos los sistemas binarios a ser instalados. Es necesario antes de comenzar la instalación escribir la dirección MAC de la computadora... se requiere después para la instalación.
Quieren instalarlo? http://fsd-amoeba.sourceforge.net/install.html