La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Para la CT Mover malloc, sbrk a la primera parte

Presentaciones similares


Presentación del tema: "Para la CT Mover malloc, sbrk a la primera parte"— Transcripción de la presentación:

1 Para la CT Mover malloc, sbrk a la primera parte
Hacer dibujo de N procesos en memoria 1 en CPU

2 PLANIFICACIÓn DE PROCESOS

3 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) En el T5 yo menciono el cloud computing…pero veo que tú no lo mencionas…qué prefieres lo quito yo y me limito a los que tú indicas (yo ya comento real-time) o también lo incuyes tú como un entorno adicional? Como está de actualidad, creo que sería bueno mantenerlo, pero como prefieras

4 Supercomputadores Barcelona Supercomputing Center (MareNostrum)
Cada Blade tiene: 2 procesadores a 2.3GHz, ejecutando Linux.

5 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

6 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

7 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

8 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

9 Entornos basados en virtualización
GESTión de memoria

10 Entornos basados en virtualización(I)
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

11 Entornos basados en virtualización(II)
Apl.1 Apl. 2 Apl.3 Guest OS Guest OS Máquina Virtual Máquina Virtual CPU Mem CPU Mem VMM Máquina Física CPU Memoria Física

12 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

13 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 virtualization o virtualización nativa guest OS no necesita ninguna modificación VMM intercepta código cuando es necesario Ejemplo: vmware

14 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)

15 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á

16 Gestión entrada/salida

17 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 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 La primera computadora, l’ENIAC, tenia tubs de buit i consumia watts de potència. Amb l’aparició dels transistors, el consum va baixar dràsticament (200 watts un PC actual) i, per tant, el consum energètic va deixar de ser prioritari. Però el nombre de computadores que constantment hi ha en funcionament és enorme. Es calcula que uns 100 milions simultàniament: això representa un consum d’uns megawatts! (equival a unes 20 centrals nuclears de tamany mitjà). La reducció del consum es pot fer des de dos perspectives: hardware i software, i sovint amb la cooperació dels dos nivells: el hardware proporciona diferents modes de treball per a què el software en tregui profit. En referència al hardware, es treballa en millorar les prestacions de les bateries en aspectes com: tecnologia de fabricació, cost i temps de càrrega, si cal que estigui descarregada abans de fer una nova càrrega, temps de vida de la bateria, i contaminació un cop es deixa de fer servir. Per altra banda, es treballa en proporcionar components i dispositius amb diferents modes de treball: en funcionament, inactius (per poc temps), en hibernació (per més temps) o apagats. En aquest cas hi ha un compromís entre reduir el consum i temps que es tarda en restablir el funcionament del dispositiu. És responsabilitat del sistema operatiu fer-ne un bon ús d’aquestes característiques.

18 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 Tot i que les aplicacions també es poden escriure de manera que minimitzi el consum energètic (no és objectiu d’aquesta assignatura revisar els models), el sistema operatiu té més capacitat d’influència, ja que aquest administra els recursos i els serveis per a TOTES les aplicacions. En aquest cas, el repte és implementar polítiques que detectin a temps que es deixa d’usar un cert component del sistema i desactivar-lo: cal balancejar l’estalvi en apagar un component i el cost de tornar a posar-lo en marxa. En qualsevol cas, les estratègies d’estalvi energètic són, sovint, a cost de perdre qualitat de servei: temps d’espera per reactivar un dispositiu, baixa velocitat, pèrdua de qualitat d’imatge, … Finalment, es pot dissenyar una interfície que permeti coordinar el sistema operatiu i l’aplicació d’usuari: el sistema operatiu proporciona informació sobre l’estat dels dispositius i les aplicacions utilitzen aquesta informació per realitzar certes tasques en un moment o altre.

19 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

20 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 els components en mode de baix consum

21 NTFS – New Technology File System
Sistema de Ficheros creado por Microsoft (Windows NT) Basado en: HPFS (High Performance File System)  IBM/Microsoft OS/2 HFS (Hierarchical File System)  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:

22 NTFS: Partition Boot Sector
16 sectores reservados al principio de la partición

23 NTFS: Master File Table
Master File Table (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

24 NTFS: Records & Atributos
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

25 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

26 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

27 NTFS: Visión de una Partición
Ejemplo de una partición Ejemplo de una MFT

28 NTFS: 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

29 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

30 NTFS: Encriptación A nivel de fichero y transparente al usuario
Servicio de W2K – Encrypted File System (EFS) API: EncryptFile DecryptFile Algoritmo: RSA

31 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

32 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

33 SF Distribuidos Network File System Orientado hacia…
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 & large scale distributed systems (Ej: Google, Yahoo, Facebook) Google File System Hadoop Distributed File System

34 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


Descargar ppt "Para la CT Mover malloc, sbrk a la primera parte"

Presentaciones similares


Anuncios Google