340 likes | 443 Views
Para la CT. PLANIFICACIÓn DE PROCESOS. Diferentes sistemas/entornos. Dependiendo de la arquitectura tenemos diferentes configuraciones, políticas, etc Ordenadores “personales” Clusters de SMP’s Supercomputadores Portátiles Sistemas multimedia Moviles (empotrados)
E N D
Diferentes sistemas/entornos • Dependiendo de la arquitectura tenemos diferentes configuraciones, políticas, etc • Ordenadores “personales” • Clusters de SMP’s • Supercomputadores • Portátiles • Sistemas multimedia • Moviles (empotrados) • Sistemas con políticas Real-time (incluidos multimedia)
Supercomputadores • Barcelona Supercomputing Center (MareNostrum) • Cada Blade tiene: 2 procesadores a 2.3GHz, ejecutando Linux.
Supercomputadores • Requerimientos: • Es un sistema de High Performance Computing (HPC) • Muchos usuarios • Muchos trabajos enviados a ejecutar • Ejecución interactiva : Para desarrollar código pero no es la misión principal de un Supercomputador • Ejecución Batch (la mayoría) • Aplicaciones paralelas (sinó para que 10K procesadores?). En estos entornos se llaman trabajos o jobs. • Cada nodo es un SMP de 4 CPUS Mucha comunicación por red Altos requerimientos de red. • El objetivo del sistema es: • Maximizar el uso de la máquina • Ejecutar las aplicaciones lo más rápido posible • Como no son interactivas, el tiempo de respuesta no es lo importante
Configuración • Varios niveles de planificación y software de gestión muy avanzado • Se reservan algunos nodos para el trabajo interactivo. El resto de la máquina se gestiona con un gestor de colas: • MOAB : Software de gestión de colas. Gestiona diferentes colas a las que se asignan recursos (máximo tiempo de ejecución, máximo número de procesos), etc. Implementa una política que es una variante de FCFS. Los jobs piden directamente lo que necesitan y se les asigna lo que piden. Es un software de sistema pero está por encima del sistema operativo. • SLURM: Gestor de recursos. Crea los procesos y se encarga de monitorizarlos. Es un software de sistema pero está por encima del sistema operativo. • Linux: en cada nodo hay una instancia de Linux normal. • Se intenta minimizar los cambios de contexto para que las aplicaciones vayan lo más rápido posible
Sistemas Real Time • ¿Que es Real Time? • Un sistema Real –Time garantiza que los resultados se producen en un plazo determinado • Que se cumplan o no los plazos puede ser más o menos grave dependiendo del sistema • Real-Time críticos: Resultados catastróficos si no se cumplen los plazos. Entornos industriales. • Entornos Hard/Softt real-time. El sistema garantiza los plazos o simplemente prioriza las tareas real-time • Características de estos sistemas, típicamente son para sistemas dedicados, con requerimientos muy claros de tiempo, se suelen implementar en dispositivos pequeños, como embeded. • Que ofrece un kernel real-time • No suele servir para entornos típicos de PC de sobremesa • Suelen ser muy específicos • No requieren interacción con el usuario • Requieren información detallada de tiempos de los procesos • No están pensados para interactuar con los dispositivos que hay en los PC’s
Sistemas real-time • Las tareas (procesos) están perfectamente descritas mediante: • Un periodo: son repetitivas • Un plazo(deadline): han de ejecutarse antes de … • Un tiempo de ejecución • Las diferentes políticas son más o menos seguras y intentan ( o garantizan) los plazos. • El conjunto de tareas suele ser conocido “a priori” • Los sistemas calculan si los plazos puede o no ser garantizados dados un conjunto de tareas • El API de Pthreads ofrece funciones para gestionar threads real-time • Ofrece dos clases de threads • SCHED_FIFO: Se sigue una política FCFS. No hay cambios de contexto para threads con la misma prioridad • SCHED_RR . Como la anterior pero con RoundRobin para threads de la misma prioridad
Entornos basados en virtualización GESTión de memoria
Entornos basados en virtualización(I) • Virtualización • Técnica que permite ocultar los recursos físicos del software que los están usando • Máquina virtual • Contenedor software que puede correr su propio sistema operativo (guest OS) y aplicaciones como si fuera una máquina física • Aísla el software que ejecuta del resto de software que se está ejecutándo en la misma máquina física • Posibles operaciones sobre una máquina virtual: encender, parar, suspender, migrar, modificar recursos asignados… • Virtual Machine Monitor (VMM) o Hypervisor gestiona el reparto de recursos entre máquinas virtuales
Apl.1 Apl. 2 Entornos basados en virtualización(II) Apl.3 Guest OS Guest OS MáquinaVirtual MáquinaVirtual CPU CPU Mem Mem VMM MáquinaFísica CPU MemoriaFísica
Entornos basados en virtualización (III) • Facilita • Compartición de máquina física garantizando seguridad y fiabilidad • Consolidación de recursos: ahorro energético y maximización de la utilización de la máquina • Administración del entorno de ejecución de cada aplicación • Adaptado a las necesidades de la aplicación • Uniformiza la visión de los recursos físicos • Facilita reproducir el entorno de ejecución en cualquier plataforma física • Cloud computing
Entornos basados en virtualización (IV) • Algunos tipos de virtualización • Emulación Hardware • Interpreta cada instrucción de lenguaje máquina • Se utiliza en el desarrollo de sistemas • Ejecución lenta • Ejemplo: Bochs • Paravirtualization • guest OS modificado para interactuar con el VMM • Mejora rendimiento • Ejemplo: xen • Full virtualizationo virtualización nativa • guest OS no necesita ninguna modificación • VMM intercepta código cuando es necesario • Ejemplo: vmware
Entornos basados en virtualización (V) • Traducción de direcciones • Nuevo nivel de direcciones • Dirección de máquina: dirección física real • Dirección física: abstracción que representa las direcciones físicas de la máquina virtual • Dirección lógica: direcciones referenciadas por los programas • Guest OS mantiene relación entre direcciones físicas y direcciones lógicas y VMM mantiene en la MMU la relación entre direcciones de máquina y direcciones físicas • VMM gestiona las modificaciones de la MMU • Interceptando el código del guest OS (full virtualization) o cooperando con él (paravirtualization)
Entornos basados en virtualización (VI) • Protección de acceso entre máquinas virtuales • VMM la garantiza • Asigna marcos (direcciones de máquina) a cada máquina virtual • Sólo él puede modificar la MMU • Reemplazo de memoria • VMM puede necesitar reclamar memoria de las VM si se ha sobredimensionado la memoria física asignada a cada una • Guest OS es el que realmente sabe la memoria usada por cada aplicación • Técnica de ballooning • Cargar un módulo en el guest OS que consuma memoria forzando a que se ejecute el algoritmo de reemplazo del guest • Direcciones de máquina asociadas a las direcciones físicas liberadas son las que el VMM reclamará
Gestió de l’energia (1) • Un PC actual consumeix uns 200 watts d’energia • Amb una eficiència del 85%: el 15% es perd en calor • Es calcula que hi ha constantment uns 100 milions d’ordinadors funcionant • 20.000 megawatts (equivalent a unes 20 centrals nuclears) • Els principals consumidors d’energia són: pantalla, disc dur i CPU • Aprox: 60%, 15-20% i 10-15% respectivament • Aspectes hardware • Bateries dels portàtils: tipus, consum, duració, contaminació • CPU, memòria i perifèrics amb diferents modes de treball: en marxa, inactius i apagats
Gestió de l’energia (2) • El principal responsable d’implementar polítiques de reducció del consum energètic és el sistema operatiu • Tot i que les aplicacions també es poden programar segons models d’execució de menor consum • Dues estratègies, a nivell de sistema operatiu: • Apagar components del sistema: principalment perifèrics • Degradar la qualitat del servei que rep un procés • Addicionalment, es pot dissenyar una interfície que permeti la cooperació entre el sistema operatiu i les aplicacions d’usuari • El sistema informa sobre l’estat dels dispositius i l’aplicació utilitza aquesta informació per realitzar unes tasques o unes altres
Gestió de l’energia. Exemples (3) • Pantalla • Apagat automàtic, que habitualment es deixa que ho configuri l’usuari; el reactivat és quasi instantani • Il·luminat de zona parcial de la pantalla, la que ocupi la finestra activa • Disc dur • Cal mantenir-lo constantment girant a alta velocitat: cost energètic! • Es pot parar, però el cost de reactivar-lo és elevat en quant a temps i consum energètic • Cal implementar una molt bona política de predicció d’ús • Es pot complementar l’optimització mitjançant una bona cache de disc i mitjançant les escriptures retardades • Cooperació sistema-aplicació: En programes tipus processador de texts es pot configurar que es salvi el document periòdicament però preferiblement en moments en els quals el disc estigui en estat actiu
Gestió de l’energia. Exemples (4) • CPU • La CPU dels portàtils es pot posar en estat inactiu mitjançant software, i es torna a activar mitjançant una interrupció • La CPU pot reduir la velocitat a la meitat, reduint el consum en ¾ parts • Cal implementar polítiques de predicció de manera que el sistema configuri adequadament el mode de treball de al CPU • Altres components • Memòria: Buidar la cache i desactivar-la temporalment, o copiar-la completament a disc en estat d’hibernació • La comunicació inalàmbrica consumeix molta energia, però si es desconnecta es perdria la informació: modificar el router per a què guardi la informació en un buffer i s’esperi a que es connecti la WiFI • Quan puja la temperatura, valorar si posar en marxa el ventilador o posar elscomponents en mode de baixconsum
NTFS – New TechnologyFileSystem • Sistema de Ficheros creado por Microsoft (Windows NT) • Basado en: • HPFS (High Performance FileSystem) IBM/Microsoft OS/2 • HFS (HierarchicalFileSystem) Mac OS • Disco dividido en CLUSTERS • Un cluster contiene varios sectores • Disco de más de 4GB: 1 cluster = 16 sectores • En NTFS todo son ficheros • Formato:
NTFS: PartitionBoot Sector • PartitionBoot Sector • 16 sectores reservados al principio de la partición
NTFS: MasterFileTable • MasterFileTable (MFT) • Una parte de los metadatos (system files) de una partición NTFS • Almacena una lista de RECORDS que contienen ATRIBUTOS • Espacio reservado: MTF-zone • 12% del espacio del disco duro • Se incrementa y se reduce de forma dinámica • Crecer: doblar el espacio actual • Reducir: mitad del espacio actual
NTFS: Records & Atributos • Records • Estructura que guarda información de un fichero agrupando atributos • Normalmente relación 1 record por fichero • A veces se necesitan más records por fichero • Atributos • Información relacionada a un fichero • Desde bits (ej: permisos de lectura/escritura) hasta exabytes (ej: video) • No hay distinción entre los datos de un fichero y los atributos que lo describen
NTFS: Records & Atributos • 2 clases de records: • Dependen del tamaño del fichero a que referencia: • Si el fichero < 1500 bytes • Record con atributos residentes • Incluyen los datos del fichero • Optimizan el acceso a disco • Si el fichero > 1500 bytes • Record con atributos de datos NO residentes • Record con índices • índices que apuntan a bloques de información • Si hay tantos índices que no caben en un record de la MFT, se utiliza un puntero a otro record de la MFT que contendrá índices
NTFS: System Files (metadatos) • Los 16 primeros RECORDS de la MFT están reservados para metadatos • Del 0 al 10: • $MFT: puntero a MFT • $MFTmirr: copia del MFT • $LogFile: fichero de journaling • $Volume: Información sobre el volumen • $AttrDef: listado de atributos del volumen • $.: Directorio raiz • $Bitmap: Bitmap del espacio libre • $Boot: Sector de boot • $BadClus: lista de clusters con errores • $Secure: base de datos de ACLs • $Upcase: Relación entre ficheros con nombre en mayúsculas y minúsculas • $Extend: Extensión de la información • Del 11 al 15 para futuros metadatos
NTFS: Visión de una Partición • Ejemplo de una partición • Ejemplo de una MFT
NTFS: Ficheros Dispersos • Ficheros Dispersos • Ahorra espacio en disco • No se almacenan en el disco las largas cadenas de ceros • Existe un atributo en el record que indica si el fichero es disperso • NTFS detecta si el acceso al fichero coincide con una cadena de ceros
NTFS: Journaling • Transacciones almacenadas en $LogFile • Tamaño de 2 MB a 4 MB • Una vez la transacción se ha finalizado, se elimina del $LogFile • Cada 5 segundos se estudia el $LogFile para llevar a disco y eliminar transacciones
NTFS: Encriptación • A nivel de fichero y transparente al usuario • Servicio de W2K – EncryptedFileSystem (EFS) • API: • EncryptFile • DecryptFile • Algoritmo: RSA
NTFS: Compresión • El usuario puede activar la compresión de ficheros/directorios/disco • A partir de ese momento se comprime (modificar) descomprime (acceder) automáticamente • Transparente al usuario • Cada fichero es comprimido en grupos de 16 clusters • Cada grupo se comprime/descomprime de forma aislada de los demás (son independentes) • Limitado a clusters de hasta 4KB
NTFS: Alternate Data Streams • Alternate Data Streams (ADS) • Conjuntos de datos alternativos que se organizan en streams adicionales al conjunto de datos que componen un fichero • Ej: Resumen de propiedades de un fichero mp3 (autor, nombre, etc) • Destinado para… • Actuar como servidor de ficheros para clientes Mac • Resumen de propiedades/características del fichero • Rastreo de volúmenes • Originalmente implementado para compatibilidad con Mac OS • Peligro de uso incorrecto para atacar sistemas • Se pueden insertar datos sin que sean visibles en el fichero de forma directa • Ej: un fichero de texto (.txt) que sólo contiene 10 bytes de texto, pero además tiene un ADS que contiene un ejecutable de 20 Megas • El SO sólo mostraría los 10 bytes de texto, pero podría llegar a ejecutar el contenido del ADS • Solucionado en la versión de NTFS de Windows 7
SF Distribuidos • Network FileSystem • Implementación y especificación de un sistema software para acceder a sistemas de ficheros remotos mediante LAN/WAN • Desarrollado inicialmente por Sun (Solaris & SunOS) • Permite compartir sistemas de ficheros independientes entre distintas máquinas de forma transparente • Un directorio remoto se monta en un directorio del SF local • Se tiene que proporcionar el nombre del host de la máquina remota para poder montar el SF • Aparte de limitaciones por protección, cualquier SF (o directorio de ese SF) de una máquina remota puede ser montado en una máquina local • Orientado hacia… • Cloud Computing &largescaledistributedsystems(Ej: Google, Yahoo, Facebook) • Google FileSystem • HadoopDistributedFileSystem
SF en máquinas de tiempo real • Limitación de tiempo para transferencias a “disco” • El uso de otros dispositivos (memorias flash) que se manejan como “discos” pueden influir en la limitación temporal