entornos operativos para la gestión de recursos de...

39
ENtornos Operativos para la Gestión de Recursos de Aplicaciones Paralelas Marisa Gil, Xavier Martorell {marisa,xavim}@ac.upc.es Curso de Doctorado 2.002/03 Departamento de Arquitectura de Computadores UPC

Upload: lenguyet

Post on 30-Jan-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

ENtornos Operativos para la Gestión deRecursos de Aplicaciones Paralelas

Marisa Gil, Xavier Martorell {marisa,xavim}@ac.upc.es

Curso de Doctorado 2.002/03

Departamento de Arquitectura de Computadores

UPC

Page 2: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 2

¿Qué es un sistema operativo?(dibujo sacado de “Operating Systems. Communicating with and Controlling the Computer” Laurie S. Keller, Prentice Hall, 1988, p.7)

Procesador

Almacenamientoprimario

Input

Output

Almacenamientosecundario

Gestión dealmacenamientosecundario

Gestión dealmacenamientoreal

Output

Gestión dealmacenamiento/almacenamientovirtual

Gestión delprocesador

INTRODUCCIÓN

Page 3: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 3

¿Qué es un sistema operativo?

Sistema Operativo: conjunto de software (rutinas y “programas”) que hacen deintermediario entre el hardware y las aplicaciones.

SO

Hw

ApApAp

Ap

INTRODUCCIÓN

Page 4: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 4

¿Qué es un sistema operativo?

• GESTOR DE RECURSOS:- Varias aplicaciones y usuarios coexisten:

• Mejor utilización de la máquina, compartiendo todos los recursos.

- Cualquier parte de la máquina se ve como un recurso y todos los recursospertenecen al sistema operativo.

- Recursos tradicionales• Discos, memoria, impresora

- Recursos en auge en la actualidad• Procesadores: gestión del paralelismo

• Red: protocolos, coordinación en tiempo real

• Consumo de energía: sistemas embedded

• MÁQUINA VIRTUAL:• modelo más comprensivo para el usuario

• instrucciones más simples de utilizar

INTRODUCCIÓN

Page 5: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 5

El sistema operativo como gestor de recursos

• Recursos hardware de la máquina en la que está corriendo• Recursos software (dispositivos lógicos):

buzonesficherosterminales virtuales

• Gestión que lleva a cabo:- Tratar y dirigir los acontecimientos que llegan al sistema.- Decidir aquién asigna un recurso,cómo y durantecuánto tiempo.- Permitir la compartición y que sea “la más justa”.

• Además,- Garantizar la protección de los programas y suya.

INTRODUCCIÓN

Page 6: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 6

El sistema operativo como máquina virtual

• Ofrecer una visión simplificada -o diferente- de la arquitectura hardware- Cómo interaccionan los componentes de un sistema, desde la visión del

usuario- La descripción puede ser muy compleja y se divide en módulos

• división vertical, en base a la funcionalidad y su implementación

• división horizontal, en interficies, sin entrar en la implementación:

S.O.

Hardware CPUs Dispositivos Memoria

Gestión deProcesos

Gestión deDispositivos

Gestiónde Ficheros

Gestiónde Memoria

INTRODUCCIÓN

Page 7: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 7

El sistema operativo como máquina virtual

Las abstracciones y modelos, que pueden simplificar la visión y el estudio,pueden sin embargo dificultar modificaciones de diseño o de nuevasfuncionalidades.

Por ejemplo, mejorar la gestión de memoria a partir de una visión de lamemoria virtual, en lugar de trabajar sobre el recurso “memoria física”

INTRODUCCIÓN

Page 8: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 8

Estructura de un sistema operativo clásico

La manera de acceder a los servicios del sistema operativo es a través de laslla-madas al sistema.

Todo programa, de usuario o especial, acaba realizando una llamada al sistema siquiere acceder a los recursos del sistema.

Sistema Operativo

Programa de Programa desistemausuario

Llamadas alsistema

Llamadas alsistema

INTRODUCCIÓN

Page 9: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 9

LLamadas al sistema: Librería de sistema

En la librería de sistema están todas las llamadas al sistemaLa apariencia de externa de una llamada al sistema es exacta-

mente igual a la de la llamada a una función o procedi-miento del programa de usuario, o bien de una librería dellenguaje.

printfscanf.....

librería de C

factorialpotencia... librería matemática

read,exec... librería del sistema

Sistema Operativo

programa

INTRODUCCIÓN

Page 10: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 10

Cómo el SO realiza un servicio

Petición de un servicio

Realización delservicio

Información de que el servicio hafinalizado y de cómo ha finalizado

Qué estructuras ha necesitadoQué algoritmos ha utilizadoCuánto tiempo ha tardadoA qué dispositivos ha accedido

USUARIO

SISTEMA

INTRODUCCIÓN

Page 11: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 11

El Sistema Operativo como máquina virtual

• Modelo más “comprensivo”del sistema operativo.• La máquina real, es vista y utilizada por las aplicaciones

según la ofrezca el SO:• modelo proceso/thread

• modelo de memoria compartida/paso de mensajes

K

M M M

CPUK

MODELO PROCESO

CPUCPUCPU

M M M

MODELO THREAD

K

M M M

CPU K

M

CPUM M

CPUMEMORIA COMPARTIDA

PASO DE MENSAJES

INTRODUCCIÓN

Page 12: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 12

¿Cómo ven las aplicaciones los recursos?

• El SO simplifica el trabajo de las aplicaciones:directamente dan una “orden” a su máquina virtual

• El SO las independiza de las cuestiones de política y asignación de los recursos• compartición de recursos

• esperas de servicios.

“ejecutar-programa”

crear-proceso

cargar en memoriafichero ejecutable

inicializar estructurasen los diferentesniveles/módulos/rutinas

INTRODUCCIÓN

Page 13: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 13

Estructura interna del sistema operativo

• Organización del código que forma el sistema operativo• Depende de la metodología de diseño utilizada• Depende de los objetivos funcionales del producto final

• fácil de comprender

• fácil de distribuir (sistemas distribuidos o en red)

• fácil de replicar y/o diversificar servicios

• fácil de modificar y/o ampliar

• Clasificación (una posible, la más tradicional)• Monolítico

• Por capas o niveles

• Cliente/servidor

INTRODUCCIÓN

Page 14: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 14

Sistema operativo monolítico

• Las principales ventajas: simplicidad y eficiencia• Buena integración de todos sus componentes

• Cuando el sistema crece, es difícil de ampliar.• Son sistemas monolíticos: UNIX, DOS, Mach.

Programa deaplicación

Programa deaplicación

Modo Usuario

Modo KernelServicios del Sistema

Hardware

. . .

Procedimientosde S.O.

INTRODUCCIÓN

Page 15: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 15

Sistema Operativo por capas o niveles

• Potencia el desarrollo en grupos diferentes• Fácil de entender y extender (añadir, modificar capas)• Difícil definir “capas limpias”• Ineficiencia de ver sólo el nivel inmediato• Solución: capas porosas.

Programa deaplicación

Programa deaplicación

Modo Usuario

Modo KernelServicios del Sistema

Hardware

. . .

Sistema de Ficheros

Administrador de dispositivos de E/S y memoria

Planificador del procesador

INTRODUCCIÓN

Page 16: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 16

Sistema operativo cliente/servidor

• Todos los módulos son clientes y servidores del resto• Permite modificar y ampliar los servicios• Su principal problema es la sobrecarga de comunicación• Punto de partida del diseño basado en el kernel

HW

NÚCLEO

usuario

Servidorde procesoS. de

ficheros

S. dedisco

HW

microkernel

usuario

UNIXservidor

usuario

deimpresora server

INTRODUCCIÓN

Page 17: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 17

Estructura del sistema operativo

aplicación

CPUTLB

memoriareloj disco

pantalla

red consola

capa dependiente de la máquina (y dispositivos)

vector de interrupciones

sincronización planificación

sistema deficherosmemoria virtual

cola de peticiones de E/S

interfaz de llamadas al sistema

INTRODUCCIÓN

Page 18: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 18

Abstracciones del sistema:PARALELISMO/ASIGNACIÓN DE RECURSOS

Objeto al que el SO asigna los recursos• Proceso• Task-Thread• Environment• Realm• Scheduler activation

Gestión de recursos asociada al objeto• Espacio de direcciones• Entornos de ejecución• Políticas de asignación y compartición

INTRODUCCIÓN

Page 19: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 19

El Proceso

• Process Control Block: contenedor donde guardar su estado

processstate

nextprevious

process idprogram counter

registers

memory structure

open file table

etc

INTRODUCCIÓN

Page 20: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 20

La Task y el Thread en la Máquina Virtual que ofrece el S.O.

• Descomposición de la noción de proceso en dos abstracciones: Task y Thread• Task

- Conjunto de recursos del sistema, agrupados en una entidad- Dos Tasks no comparten nada si no se ha tomado una acción específica- Contiene un cierto número de threads

• Thread- Punto de un flujo de control dentro de una Task- Pertenece a una única Task que define su espacio de direcciones- Tiene acceso a todos los elementos de la Task- Ejecuta potencialmente en paralelo con otros Threads- Tiene un estado de ejecución “mínimo” (un PC y un SP)- No hay relación de parentesco, todos son independientes- Comunicación por memoria compartida, sincronización explícita- Es planificado en procesador, posibles mapeos- Es necesario para operaciones de SO, mantiene el estado

INTRODUCCIÓN

Page 21: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 21

Tasks/Threads vs. Procesos

• Modelo de proceso (máquina virtual monoprocesador) ymodelo de Task/Thread (máquina virtual multiprocesador)

• Motivación de la multiprogramación: Utilización eficiente de los recursos de lamáquina por parte de las aplicaciones

- concurrencia y paralelismo- competición por los recursos

• Los procesos poseen espacios de direcciones independientes, privilegios inde-pendientes, capacidad de acumular recursos

• Proceso: creación y comunicación costosas, paralelismo de grano grueso• Threads: concurrencia/paralelismo dentro de la Task

- menores costes de creación y comunicación (grano más fino)- comunicación por memoria compartida- gestión eficiente de múltiples situaciones de bloqueo- cooperación en la planificación

• Propuestas de “procesos de peso variable”

INTRODUCCIÓN

Page 22: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 22

Task-Thread

• Características del thread en ejecución:• identificador (pid, thid, puerto)

• estado de ejecución

• registros

• parámetros de planificación

• task que lo contiene

• contador de operaciones suspend

• estadísticas, tiempos

• procesador(es) asociados

• kernel stack

• en algunos sistemas, “memoria privada”

• tratamiento de excepciones (?)

INTRODUCCIÓN

Page 23: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 23

Aplicación de Mach: Processor_set

• Processor set:- submáquina física dedicada a flujos (tasks)- política de planificación propia

TASK

thread

Procesadores

Processor set (pset)

...

P

P

P

Processor Set(pset)

PP

PP

P

Runq

Runq

Runq

Runq

Runq

procesadores inactivos

procesadores inactivos

32 colas

Processor Set(pset)

INTRODUCCIÓN

Page 24: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 24

Scheduler Activations

• “Vasijas” que el kernel cede al usuario.• El “mundo” de una vasija, es equivalente físicamente al de un thread• Hay políticas y tratamientos que son del usuario, no del kernel

Usuario

Kernel

eXc

procesador

asignación deflujo a eXc

activaciónde upcall

avisoconupcall

INTRODUCCIÓN

Page 25: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 25

Scheduler Activations: ejemplo

UsuarioKernel

eXc

procesador

asignación deflujo a eXc

activaciónde upcall

fin temporización

eventoeXc idprocesadorregistros

INTRODUCCIÓN

Page 26: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 26

Shuttles y activations: migrating threads

• Se distinguen- Task: objeto pasivo- Task con thread: objeto activo

• El thread es una entidad de kernel que, ocasionalmente, hace upcalls para ejecu-tar diferentes códigos de usuario

- Shuttle: parte estática del thread (único por cada objeto thread)- Activation: parte dinámica del thread (una por task)

• Visión de vínculo entre el recurso lógico (thread) y el recurso físico (procesador)

INTRODUCCIÓN

Page 27: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 27

Exokernel

• El sistema se convierte en un puro gestor de recursos del hardware• La abstracción de procesador virtual se ofrece a un nivel superior y puede ser

diversa (para un entorno UNIX, el proceso, etc...)• Necesita un objeto que represente la aplicación, como cliente que recibe recursos

environment

• Acumula toda la máquina virtual sobre la que corre una aplicación- memoria virtual- procesador- red

INTRODUCCIÓN

Page 28: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 28

Environment

Representación del procesador como recurso

id CPUcurqfree_qidle_envcurenvtabla pág.

CPUContext

CPU

usedqnumnticksenvid

quantums

Uenv

(r/w por librería)

Cola global: cada cpu tiene su env0, al que apunta:- la estructura _cpuctxt->idle_env- el quantum[0] de la cpu

(bloque deactivacióndel kernel)

INTRODUCCIÓN

Page 29: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 29

Espacio de direcciones

• Memoria virtual- Conjunto de direcciones válidas de la máquina virtual- Independiente de las limitaciones físicas- Modificación dinámica del espacio- Espacio contiguo (Unix) o disperso- Direccionable a byte, operaciones aplicables a conjuntos de bytes- Memoria anónima o mapeada- Protección y herencia

• Técnicas de gestión- Unidad de asignación, protección- Reemplazo global o local- COW

INTRODUCCIÓN

Page 30: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 30

Multiprocesadores y entornos operativos

• Sistemas multiprocesadores- Sistemas fuertemente acoplados, con memorias grandes- Pool de procesadores

• Más CPUS que usuarios

• Asignación bajo demanda

- Estaciones de trabajo• Procesador(es), memoria, pantalla, red, multimedia

• Sin disco, movilidad, carga dinámica de código y datos

• Entornos operativos multiprocesadores- Monolíticos y microkernel- Sobre nuevas abstracciones: thread, task, procesador- Funcionalidades a nivel de usuario, a nivel de aplicación- Emulación, extensibilidad y especialización a nivel de aplicación- Programación dirigida por eventos, tratamiento excepciones, I/O asín-

crona

INTRODUCCIÓN

Page 31: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 31

Modelos de programación paralela (con procesos o threads)

• Memoria compartida- Procesos y memoria compartida explícita- Flujos, compartición implícita y total

• Paso de mensajes- Adaptado a la arquitectura- Comunicación y sincronización explícita- Distribución del código y datos- Balanceo entre cálculo y comunicación- Eficiente tras un laborioso diseño y realización- La aplicación funciona sólo al final- Dependiente de los cambios de velocidad relativa

• En conjunción con la arquitectura, o no: DSM, mensajes en SMP

INTRODUCCIÓN

Page 32: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 32

Modelo de proceso y modelo de thread

pc

sp sp sp

pcpc

Shared memory

fork()

thread_create()

Procesos y memoriacompartida explícita

Threads: compartición implícita

INTRODUCCIÓN

Page 33: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 33

Usuario

Kernel

I/O

cálculo

creación

fin

llamada al sistema

excepción

upcall

petición

kernelthread

I/O

Ejemplo de aplicación multiflujo

Page 34: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 34

Máquinas paralelas

• Memoria local (multicomputadores)• Memoria local al procesador

• Red de interconexión variada

• Gestión de la comunicación por hardware (ie. transputers)

• Generalmente SIMD, por no necesitar compartición de datos.• Computadores “masivamente paralelos”

• cálculo intensivo

M

P

M

P

M

P

M

P

Máquinas reales

Page 35: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 35

Procesadores de memoria local

PM

PM

PMPM

P/M

P/M

P/M

P/M

P/M

P/M

P/M

P/M

P/M

P/M

P/M

P/M

P/M

P/M

P/M

P/M

MIMD de memoria distribuida

......

......

......

................ ................

Front End

Multiprocesador SIMD

Máquinas reales

Page 36: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 36

Máquinas paralelas

• Multiprocesadores de memoria compartida• Memoria visible y accesible por todos los procesadores

• Modelo natural para MIMD

• Contención en memoria: diversificar en módulos.

• Contención en el bus: memorias locales cache.

P P P P...

Shared Memory

Máquinas reales

Page 37: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 37

Memorias cache

• Cache de instrucciones: muy efectivo en multiprocesadores de memoria compar-tida.

• Cache de datos: problemas de coherencia en los accesos de escritura.

CPU

Memoria

cache

CPU

cache

Máquinas reales

Page 38: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 38

Redes de workstations

• Paralelismo a través de la red• Gestión de la comunicación por software: protocolos de comunicación• Criticalidad: tiempo de comunicación/ejecución entre comunicaciones

Pool compartido de recursos:Procesadores, memoria, discos

workstation workstation .... workstation

Máquinas reales

Page 39: ENtornos Operativos para la Gestión de Recursos de ...people.ac.upc.edu/marisa/doctorado/T1_slides.pdf · La manera de acceder a los servicios del sistema operativo es a través

UPC/DAC Tardor 2.002

Entornos Operativos para la Gestión de Recursos ... 39

Otros trabajos paralelos a través de la red: videoconferencia

Workstation

Monitor

Cámara

Micrófono

Altavoz

Workstation

Monitor

Cámara

Micrófono

AltavozRed

Aplicaciónparalela

Máquinas reales