Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Procesos 4pp
Procesos 4pp
Gestin de
Procesos
3. Planificacin dinmica:
Equilibrado de carga
Migracin de procesos
Migracin de datos
Equilibrado de conexiones
Escenario de Partida
Recursos demandados
Nodos
(Procesadores)
Tareas
Trabajos
OBJETIVO
Asignacin de los trabajos de los usuarios a los
distintos procesadores, con el objetivo de mejorar
prestaciones frente a la solucin tradicional
Sistemas
Si t
di
distribuidos
t ib id
Proceso ligado a procesador durante toda su vida
Recursos de un proceso accesibles slo desde procesador local
No slo mapa de memoria; Tambin recursos internos del SO
Descripcin de
Tareas
Coordinacin
Coordinacin
Orquestacin
Tareas cooperantes
Interaccionan entre s
Pertenecientes a una misma aplicacin
Pueden presentar dependencias
O Pueden requerir ejecucin en paralelo
Tareas Cooperantes
Dependencias entre tareas
Modelizado por medio de un
ggrafo dirigido
g acclico ((DAG).)
Tareas
Transferencia de datos
Ejemplo: Workflow
Ejecucin paralela
Implican un nmero de tareas
concurrentes ejecutando
j
simultneamente:
De forma sncrona o asncrona.
En base a una topologa de
conexin.
Siguiendo un modelo
maestro/esclavo o distribuido.
Con unas tasas de comunicacin y
un intercambio de mensajes.
BELP:
Define procesos de negocio interoperables y protocolos de negocio.
Permite componer servicios nuevos a partir de otros.
Define estructuras de control (ifthenelse, while, sequence, flow)
Gestiona variables del proceso y mensajes (entrantes y salientes).
SAP
Mainframe
Formulate
Fulfillment
Offer
Check
Inventory
Submit
Order
Transform
Order/
Customer
Check
Credit
Send
Result to
User
Can
Fulfill?
Determine
Discount
Portal
Formulate
Rejection
Java
Web App
<process>
start
10:00am
Discount Service
<faultHandlers>
Get Discount
<invoke>
i
k
<flow>
<partnerLink>
<variable>
Handle Negative
g
Credit Exception
Credit Service
<invoke>
Inventory
Service
<receive>
<partnerLink>
<partnerLink>
</flow>
<switch>
</process>
end
Determine if
Can Fulfill
03:00pm
Sistemas de Cmputo
Planificacin
Esttica
Esttica
Dinmica
Tipologa de Clusters
Planificacin
Storage Clusters
GFS; sistemas de ficheros paralelos; identica visin de los datos desde cada nodo
Database Clusters
Oracle Parallel Server;
Planificacin
Dedicacin de los procesadores:
Exclusiva: Asignacin de una tarea por procesador.
Tiempo
p compartido:
p
En tareas de cmputo
p masivo con E/S reducida
afecta dramticamente en el rendimiento. Habitualmente no se hace.
Gestin de
Procesos
Planificacin Esttica
Fernando Prez Costoya
Jos Mara Pea Snchez
Planificacin Esttica
s
Sistema
no
p
espera
Trabajos
Sistemas Operativos Distribuidos
23
no
p
espera
Pl ifi d
Planificador
Recursos?
s
Sistema
Fernando Prez Costoya
Jos Mara Pea Snchez
Backfilling
Backfilling es una modificacin
aplicable a cualquiera de las
polticas anteriores:
Si el trabajo seleccionado por la
poltica no tiene recursos para entrar
entonces,
Se busca otro proceso en la cola que
demande menos recursos y pueda
entrar.
Permite aprovechar mejor el sistema
Planificador
Recursos?
no
Backfilling
S1
S2
S3
S4
S5
Hipercubo
Anillo
Modelo distribuido
Sistemas Operativos Distribuidos
27
S6
Planificador
s
Recursos?
no
Backfilling
Rendimiento de la Planificacin
El rendimiento del esquema de planificacin depende:
Recepcin bloqueante
Barrera de sincronizacin
Recepcin no bloqueante
Envio bloqueante
Ejecucin
Bloqueado
Ocioso
Fernando Prez Costoya
Jos Mara Pea Snchez
11
Gestin de
Procesos
2
1
3
4
Planificacin Dinmica
Planificacin Dinmica
Load Sharing:
Asignacin
Load Balancing:
Medicin de la Carga
Qu informacin se transmite?:
Situacin:
El estado del sistema es que ciertos nodos tienen una carga ms alta
qque otros.
Diferentes medidas:
Nuevo proceso
Q>T
Fin de proceso
Ejecucin
local
no
P=0
P>Pmax
Seleccin de destino:
Distintas alternativas:
Elegir
El i un nodo
d all azar.
Probar con un n de nodos hasta
encontrar un receptor.
Probar con un n de nodos y elegir
aqul con menos carga.
Q<T
Aceptado?
Continua
ejecutando
no
P=0
P>Pmax
no
no
Solicitar
Ejecucin
no
Ejecucin
remota
Solicitar
Trabajo
no
Oferta?
Ejecucin
local
Seleccin de destino:
Ejemplo:
Muestreo
M t aleatorio
l t i dde un n lilimitado
it d
de nodos hasta encontrar uno con
un nivel de carga > umbral.
Si la bsqueda falla, esperar hasta
que otro proceso termine o un
periodo predeterminado antes de
reintentar.
Estabilidad: estable
Con altas cargas, probable que
receptores encuentren emisores.
Algoritmo Simtrico
Tmin
receptor
Tmax
emisor
Migracin de Procesos
Migracin fuerte:
Realizado a nivel de cdigo nativo y una vez que la tarea ha iniciado
su ejecucin (en cualquier momento)
De propsito general: Ms flexible y ms compleja
Migracin de datos:
No se migran procesos sino slo los datos sobre los que estaba
trabajando.
Sistemas Operativos Distribuidos
39
10
Migracin Dbil
Migracin Dbil
A=3
A=3
Solicitud de clase
Proceso.class
Nodo 1
Proceso.class
Cargador
dinmico
Nodo 2
Migracin Fuerte
Migracin Fuerte
Solucin nave:
Copiar el mapa de memoria: cdigo, datos, pila, ...
Crear un nuevo BCP ((con toda la informacin salvaguardada
g
en el
cambio de contexto).
Ficheros abiertos
Seales pendientes
Sockets
Semforos
Regiones de memoria compartida
.....
A nivel de usuario:
Librerias de checkpointing
Protocolos para desplazamiento de sockets
Intercepcin de llamadas al sistema
Otros aspectos:
PID nico de sistema
Credenciales y aspectos de seguridad
Fernando Prez Costoya
Jos Mara Pea Snchez
11
Migracin Fuerte
Migracin de Datos
Pero si hay menos (lo normal), hay que repartir. El reparto puede
ser:
12
Entrelazado
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0000111122223333
0123012301230123
for(pid=0;pid<P;pid++) {
principio = pid * N/P
fin = (pid + 1) * N/P 1
for(i=0;i<N;i++) {
asignar(i,i%P);
}
for (i=principio;i<fin,i++)
{...}
Asignacin propia.
Centralizado: Guiado o Trapezoidal
LOCK (C);
mia = i;
i = i + Z;
UNLOCK (C);
z = 1 self
(entero superior)
que equivale a
Zi = Zi-1 (1 - 1/P)
13
Z1
Z2
Zn
1
Equilibrado de Conexiones
op. de planificacin
Z
s=1
Z1 + Z n
Z + Z n Z1 Z n
n= 1
+ 1 = N
2
2 k
k=
Z12 Z n2
2 N ( Z1 + Z n )
14