Tema%4.(
Sistemas(distribuidos.((
Introducción.(Modelos(HW(y(SW.(
Marisol(García(Valls(
(
Departamento(de(Ingeniería(Telemá8ca(
Universidad(Carlos(III(de(Madrid(
[email protected]
Arquitectura(de(sistemas(II(
(
Grado(en(Ingeniería(Telemá8ca(
Curso:(3º,(cuatrimestre:(2º
Índice(
• Sistema(distribuido(
• El(hardware(de(los(sistemas(distribuidos(
– Mul8procesadores(de(bus(
– Mul8procesadores(conmutados(
– Mul8computadores(de(bus(
• El(soSware(de(los(sistemas(distribuidos(
– El(Sistema(Opera8vo(
– El(Middleware(
– Modelos(de(interacción(distribuida(
©2017(Marisol(García(Valls((
(2(
Sistema(Distribuido(
• Un(sistema%distribuido(es(aquél(en(el(que(sus(componentes(
hardware(o(soSware(ubicados(en(computadores(en%red%se%
comunican%y%coordinan(sus(acciones(sólo%pasándose%mensajes.(
• Caracterís8cas:(
– Concurrencia(de(sus(componentes.(
• Acceden(a(recursos(compar8dos((páginas(web,(ficheros,(etc.)(
– No%existe%un%reloj%global.(
• La(única(comunicación(es(por(paso(de(mensajes.(
– Fallos%independientes.(
• Pueden(causar(aislamiento(
• Di]cil(detectar(si(es(un(fallo(o(es(que(la(red(se(ha(vuelto(lenta.(
©2017((Marisol(García(Valls((
(3(
El(Hardware(de(los(sistemas(distribuidos(
• La(configuración+del+hardware(depende(de(cómo%están(interconectados(
• Clasificación(de(Flynn((1992)(según(el(número(de:(
los(computadores(y(cómo%comunican.(
– Rutas(de(instrucciones.(
– Rutas(de(datos.(
(
•
(
SISD
Una(única(ruta(de(instrucciones(y(de(datos.(
SIMD
Una(única(ruta(de(instrucciones(y(múl8ples(rutas(de(datos.(
MISD Múl8ples(rutas(de(instrucciones(y(una(única(ruta(de(datos.(
MIMD Grupo(de(computadores(independientes,(cada(uno(con(su((
propio(contador(de(programa,(programa(y(datos.(
Los(sistemas(distribuidos(son(MIMD(
©2017(Marisol(García(Valls((
(4(
Tipos(de(sistemas(MIMD(
de datos y bajo
retardo en el envío
Mucho intercambio
de mensajes
Fuertemente
acoplados
MIMD
Computadores
paralelos y
distribuidos
Según el acoplamiento:
Menor intercambio
de datos y mayor
retardo en el envío
de mensajes
Débilmente
acoplados
Multiprocesadores
(memoria compartida)
Multicomputadores
(memoria propia)
Según la interconexión de la red:
Bus
Conmutados
Bus
Conmutados
Sequent,
Encore
Ultracomputer,
RP3
Estaciones de
trabajo en LAN
Transputer
©2017((Marisol(García(Valls((
(5(
Mul8procesadores(de(bus(
• Un(mul8procesador(basado(en(bus(consta(de(varias%CPUs%y(un(módulo(de(memoria(que(se(
conectan(a(un(bus%común.(
CPU
CPU
CPU
Memoria
• Un(bus(8ene(líneas(de(direcciones,(líneas(de(datos(y(líneas(de(control.(
BUS
• Para(leer(una(palabra(de(memoria,(una(CPU(coloca(la(dirección(de(la(palabra(en(el(bus(de(
direcciones(y(la(señal(de(lectura(en(las(líneas(de(control.(
•
La(memoria(responde(enviando(el(valor(de(la(palabra(por(el(bus(de(datos.(
• Memoria(coherente:(si(la(CPU(A(escribe(una(palabra(en(memoria(y(B(lee(esa(palabra(
después,(B(deberá(obtener(el(valor(que(escribió(A.(
•
Si(existen(muchas(CPUs,(este(esquema(produce(sobrecarga(en(el(bus.(
©2017((Marisol(García(Valls((
(6(
Mul8procesadores(de(bus(II(
La(introducción(de(memorias%cache%de(alta(velocidad(soluciona(esto.(
•
• Man8enen(las(palabras(de(memoria(consultadas(más(recientemente.(
•
•
Todas(las(pe8ciones(de(memoria(pasan(por(la(cache.(
Se(producirá(un(acierto%en%cache%%(cache+hit)(si(la(palabra(solicitada(está(en(la(cache.(
En(caso(contrario,(se(produce(un(fallo%en%cache((cache+miss).(
CPU
Cache
CPU
Cache
CPU
Cache
Memoria
• A(mayor(tamaño(de(cache,(menor(sobrecarga(del(bus(por(tráfico(y(mayor(podrá(ser(
el(número(de(CPUs(en(el(sistema.(
BUS
©2017((Marisol(García(Valls((
(7(
Mul8procesadores(de(bus(III(
respec8vas.(
Las(caches(introducen(un(problema(importante(de(coherencia:(
– Supongamos(que(dos(CPU,(A+y+B,+leen+la+misma+palabra(de(memoria(en(sus(caches(
– A+rescribe(la(palabra((lo(hace(en(su(cache).(
– B+lee(el(valor(de(esa(palabra((valor(an8guo(que(coge(de(su(cache,(y(no(el(valor(que(A(acaba(
– La(memoria(ahora(es(incoherente.(
de(escribir).(
Se(han(desarrollado(algunas(soluciones:(
– Cache%de%acceso%a%memoria%para%escritura((write:through+cache).(Se(accede(a(memoria(
cuando(se(producen:(
• Fallos(de(cache(para(lectura.(
• Todas(las(escrituras((sean(fallos(o(aciertos).(
– Cache%supervisora((snoopy+cache+o+snooping+cache):(monitoriza(el(bus(constantemente(
para(detectar+escrituras.(
•
•
• Un(diseño(con(caches(que(combinen+write:through(y+snopping(es(coherente(y(
•
transparente(al(programador.(
Con(este(método(es(posible(tener(un(número(considerable(de(CPUs(en(un(único(bus((32(a(64).(
©2017((Marisol(García(Valls((
(8(
Mul8procesadores(conmutados(
Establecen(una(forma(especial(de(interconectar(CPUs(y(memoria.(
•
• Permiten(tener(más(de(64(procesadores.(
•
•
Se(divide(la(memoria(en(módulos.(
Los(módulos(de(memoria(se(conectan(con(las(CPUs((con(una(línea%de%interruptores.(
CPU
CPU
CPU
CPU
M
M
M
M
Línea de interruptores
(crossbar switch)
Interruptor
(crosspoint switch)
• Para(que(una(CPU(tenga(acceso(a(un(módulo(de(memoria(par8cular,(el(interruptor(
que(las(une(se(baja.(
• Varias(CPUs(pueden(acceder(a(memoria(a(la(vez.(
•
El(problema(radica(en(que(el(número%de%interruptores(necesarios(puede(ser(
prohibiEvo.(
©2017((Marisol(García(Valls((
(9(
Mul8procesadores(conmutados(II(
Existen(otras(arquitecturas(de(conmutación(en(mul8procesadores(que(intentan(reducir%el%
número%de%interruptores.(
• Máquinas(basadas(en(la(red%omega:(
– Un(interruptor(une(a(más(de(una(CPU(con(una(o(más(memorias.(
– Presentan(mayor(retardo.(
•
•
•
CPU
CPU
CPU
CPU
M
M
M
M
Interruptores 2 x 2
Sistemas(jerárquicos(y%NUMA((Non(Uniform(Memory(Access):(
– Cada(CPU(8ene(acceso(a(su(módulo(de(memoria(local((acceso(rápido)(y(el(módulo(de(
memoria(de(otros((acceso(más(lento).(
– Tienen(menor(8empo(medio(de(acceso(que(omega.(
– Tienen(algoritmos(complicados(para(la(distribución(del(código(de(programas(de(forma(
óp8ma.(
Es(complicado+y+caro(desarrollar(grandes(mul8procesadores(de(memoria(compar8da(y(
fuertemente(acoplados.(
©2017((Marisol(García(Valls((
(10(
Mul8computadores(de(bus(
• Cada(CPU(8ene(una(conexión(directa(a(su(memoria(local.(
• El(tráfico(generado(por(la(comunicación(de(CPU(a(CPU(será(mucho(menor(que(
para(CPU(a(memoria.(
• Debido(al(menor(tráfico(no(es(necesaria(la(existencia(de(un(bus(de(alta(
velocidad;(puede(ser(una(LAN.(
(
•
Estación de trabajo
Estación de trabajo
Estación de trabajo
Memoria
Local
CPU
Memoria
Local
CPU
Memoria
Local
CPU
La(red(puede(ser(una(LAN(o(un(bus(de(alta(velocidad((high+speed+bus+
backplane).(
Red
©2017((Marisol(García(Valls((
(11(
Mul8computadores(conmutados(
• En(ellos(cada(CPU(8ene(acceso(directo(y(exclusivo(a(su(propia(memoria,(que(
es(privada.(
• Existen(diferentes(topologías(de(interconexión.(
•
•
La(topología(en(cuadrícula%(o(grid)(es(la(más(sencilla(y(suele(u8lizarse(en(las(
tarjetas(y(placas.(
La(topología(en(hipercubo((hypercube)(es(nmdimensional.(Cada(CPU(8ene(
tantas(conexiones(como(el(número(de(dimensiones(de(la(topología.(
©2017((Marisol(García(Valls((
(12(
El%soIware%de%los%sistemas%
distribuidos%
Índice(
• Capas(soSware(de(un(sistema(distribuido.(
– Sistema(opera8vo(
– Middleware(
igual(a(igual((peer:to:peer)(
• Variantes(del(modelo(clientemservidor(
enlace(espontáneo(a(la(red.(
El(sistema(opera8vo(de(los(sistemas(distribuidos(
•
• Conceptos(de(diseño(de(sistemas(opera8vos(
• Arquitecturas(básicas(de(sistemas(distribuidos(
– Clientemservidor,(Múl8ples(servidores,(Servidores(proxy(y(caché,(Procesos(de(
– Código(móvil,(Agentes(móviles,(Computadores(de(red,(Disposi8vos(móviles(y(
©2017((Marisol(García(Valls((
(14(
El(sistema(opera8vo(en(sistemas(distribuidos(
• El(soSware(del(sistema%operaEvo(es(la(parte(más(importante(y(que(
presenta%la%imagen%del%sistema(a(los(usuarios.(
• Básicamente(son:((
– Fuertemente%acoplados(o((
– Débilmente%acoplados.(
• El(acoplamiento(débil(permite(que(las(máquinas%y%usuarios(de(un(
sistema(distribuido(sean(independientes%pero(puedan%interactuar.(
©2017((Marisol(García(Valls((
(15(
Arquitectura(de(sistemas(II(m(GIT(
(a)((((Sistemas(opera8vos(de(red(
• Los(sistemas%operaEvos%de%red(imponen(pocos(requisitos(de(
• Pueden(exis8r(dis8ntas(configuraciones:(clientes,(servidores(de(
sistema.(
ficheros,(etc.(
• Clientes(y(servidores(pueden(ejecutarse(en(dis8ntos(sistemas(
opera8vos(
– deben(acordar(el(formato(y(significado(de(los(mensajes.(
• Es%soIware%débilmente%acoplado%sobre%hardware%débilmente%
acoplado.(
(
©2017((Marisol(García(Valls((
(16(
Arquitectura(de(sistemas(II(m(GIT(
(b)(((Sistemas(opera8vos(distribuidos(
• Un(sistema%(operaEvo)%distribuido%%es((soIware%es%fuertemente%
acoplado%sobre%hardware%débilmente%acoplado%
• El(soSware(da(una(imagen%única%del%sistema%y(crea(una(imagen(
de(monoprocesador%virtual%
• Mecanismo(global(de(comunicación(entre(procesos.(
• Mecanismo(global(de(protección.(
• La(ges8ón(de(procesos(debe(ser(la(misma(en(todos(los(
subsistemas.(
©2017((Marisol(García(Valls((
(17(
Arquitectura(de(sistemas(II(m(GIT(
(c)(Sistemas(mul8procesador(de(8empo(compar8do(
• Son(un(soIware%fuertemente%acoplado%sobre%hardware%fuertemente%acoplado.(
• Existen(varias(máquinas(de(propósito(general(en(esta(categoría((
• Por(ejemplo,(máquinas(de(bases+de+datos+dedicadas(y(mul<procesadores+de+
<empo+compar<do+con+UNIX.(
• Existe(una(única(cola(de(procesos(preparados(que(se(man8ene(en(la(memoria(
•
compar8da.(
Implicaciones:(
– El(planificador(deberá(ejecutarse(como(una(sección(crí8ca(para(evitar(que(dos(CPUs(escojan(para(
ejecutar(el(mismo(proceso.(
– Deberán(emplearse(mecanismos(de(exclusión(mutua(para(este(fin.(
Memoria
CPU 1
CPU 2
CPU 3
Proceso A
ejecutándose
Cache
Proceso B
ejecutándose
Cache
Proceso C
ejecutándose
Cache
E
Comentarios de: Introducción. Modelos HW y SW - Tema 4. Sistemas distribuidos (0)
No hay comentarios