gestión de procesos - laboratorio ss.oo. [sistemas ...· 1 sistemas operativos distribuidos...

Download Gestión de Procesos - Laboratorio SS.OO. [Sistemas ...· 1 Sistemas Operativos Distribuidos Gestión

Post on 26-Sep-2018

214 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • 1

    Sistemas Operativos Distribuidos

    Gestin deProcesos

    Gestin deProcesos

    Gestin de Procesos

    1. Conceptos y taxonomas: Trabajos y sistemas paralelos2. Planificacin esttica:

    Planificacin de tareas dependientesPlanificacin de tareas dependientesPlanificacin de tareas paralelasPlanificacin de mltiples tareas

    3. Planificacin dinmica:Equilibrado de cargaMigracin de procesosMigracin de datos

    Fernando Prez CostoyaJos Mara Pea Snchez

    Migracin de datosEquilibrado de conexiones

    Escenario de Partida: Trminos

    Trabajos: Conjuntos de tareas (procesos o hilos) que demandan: (recursos x tiempo) Recursos: Datos dispositivos CPU u otros requisitos (finitos) Recursos: Datos, dispositivos, CPU u otros requisitos (finitos)

    necesarios para la realizacin de trabajos. Tiempo: Periodo durante el cual los recursos estn asignados (de

    forma exclusiva o no) a un determinado trabajo. Relacin entre las tareas: Las tareas se deben ejecutar siguiendo

    unas restricciones en relacin a los datos que generan o necesitan (dependientes y concurrentes)

    Fernando Prez CostoyaJos Mara Pea Snchez

    Sistemas Operativos Distribuidos3

    ( p y ) Planificacin: Asignacin de trabajos a los nodos de proceso

    correspondientes. Puede implicar revisar, auditar y corregir esa asignacin.

    Escenario de Partida

    Recursos demandados

    TrabajosTareas

    Nodos(Procesadores)

    Fernando Prez CostoyaJos Mara Pea Snchez

    Sistemas Operativos Distribuidos4

    OBJETIVOAsignacin de los trabajos de los usuarios a los

    distintos procesadores, con el objetivo de mejorarprestaciones frente a la solucin tradicional

  • 2

    Caractersticas de un Sistema Distribuido

    Sistemas con memoria compartida Recursos de un proceso accesibles desde todos los procesadores

    Mapa de memoriap Recursos internos del SO (ficheros/dispositivos abiertos, puertos, etc.)

    Reparto/equilibrio de carga (load sharing/balancing) automtico Si el procesador queda libre puede ejecutar cualquier proceso listo

    Beneficios del reparto de carga: Mejora uso de recursos y rendimiento en el sistema Aplicacin paralela usa automticamente procesadores disponibles

    Si t di t ib id

    Fernando Prez CostoyaJos Mara Pea Snchez

    Sistemas distribuidos 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 Reparto de carga requiere migracin de procesos

    Sistemas Operativos Distribuidos5

    Escenario de Partida: Objetivos

    Qu mejoras de prestaciones se espera conseguir?Tipologa de sistemas: Sistemas de alta disponibilidad Sistemas de alta disponibilidad

    HAS: High Availability Systems Que el servicio siempre est operativo Tolerancia a fallos

    Sistemas de alto rendimiento HPC: High Performance Computing Que se alcance una potencia de cmputo mayor Ejecucin de trabajos pesados en menor tiempo

    Fernando Prez CostoyaJos Mara Pea Snchez

    Sistemas Operativos Distribuidos6

    Ejecucin de trabajos pesados en menor tiempo Sistemas de alto aprovechamiento

    HTS: High Troughput Systems Que el nmero de tareas servidas sea el mximo posible Maximizar el uso de los recursos o servir a ms clientes (puede no ser lo mismo).

    Sistemas Operativos Distribuidos

    Descripcin de Tareas

    Descripcin de Tareas

    Coordinacin

    Fernando Prez CostoyaJos Mara Pea Snchez

    CoordinacinOrquestacin

    Escenario de Partida: Trabajos

    Qu se tiene que ejecutar? Tareas en las que se dividen los trabajos:

    T di j t Tareas disjuntas Procesos independientes Pertenecientes a distintos usuarios

    Tareas cooperantes Interaccionan entre s Pertenecientes a una misma aplicacin

    Fernando Prez CostoyaJos Mara Pea Snchez

    Sistemas Operativos Distribuidos8

    Pueden presentar dependencias O Pueden requerir ejecucin en paralelo

  • 3

    Tareas Cooperantes

    Dependencias entre tareas Modelizado por medio de un

    grafo dirigido acclico (DAG).

    Ejecucin paralela Implican un nmero de tareas

    concurrentes ejecutando g g ( ) jsimultneamente: 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

    Tareas

    Fernando Prez CostoyaJos Mara Pea Snchez

    Sistemas Operativos Distribuidos9

    Ejemplo: Workflow

    un intercambio de mensajes.

    Ejemplo: Cdigo MPI

    Transferencia de datos

    Orquestacin vs. Coreografa

    Existen dos trminos relacionados en la gestin de servicios: Orquestacin (Orchestation): Representa la ordenacin y gestin

    de servicios desde la perspectiva de un participante (un proceso de i ) E i t l di dnegocio). Existe un solo coordinador.

    Coreografa (Choreography): Tiene un mbito ms amplio e implica la coordinacin de todos los participantes de un sistema complejo entero. Existe una poltica en la que varios elementos se coordinan y se ajustan entre s.

    Una diferencia muy sutil (en el plano terico)

    Fernando Prez CostoyaJos Mara Pea Snchez

    Sistemas Operativos Distribuidos10

    Una diferencia muy sutil (en el plano terico). En ambos casos representan definiciones declarativas de

    cmo se deben realizar uno o varios procesos, denominadas a veces como reglas de negocio (business rules)

    Gestin de Negocio (I)

    Los sistemas que implementan BPM, denominados habitualmente Business Process Management System(BPMS) utilizan lenguajes de descripcin de procesos:(BPMS) utilizan lenguajes de descripcin de procesos: BPEL (Business Process Execution Language) lenguaje XML de

    orquestacin de servicios. Extensin de: WSFL (de IBM) XLANG (de BizTalk-Microsoft).

    Actualmente estandarizado por OASIS. Otros lenguajes son (BPML Business Process Modeling Language

    Fernando Prez CostoyaJos Mara Pea Snchez

    Sistemas Operativos Distribuidos11

    g j ( g g g[anterior], y WS-CDL Web Services Choreography Description [sin implementacin]).

    Gestin de Negocio (II)

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

    Submit

    CheckInventory

    SendResult to

    SAP Mainframe

    FormulateFulfillment

    OfferCanTransformOrder/ Determine

    Fernando Prez CostoyaJos Mara Pea Snchez

    Sistemas Operativos Distribuidos12

    Order

    CheckCredit

    Result to User

    Portal Java Web App

    FormulateRejection

    Fulfill?Order/Customer Discount

  • 4

    Gestin de Negocio (III)

    10:00am

    Handle Negative

    Discount Service

    start

    BPEL Flow

    Get Discount

    i kg

    Credit Exception

    Credit Service InventoryService

    Send Credit Application

    Receive Credit Result

    Send Inventory Request

    Receive Inventory Result

    Fernando Prez CostoyaJos Mara Pea Snchez

    Sistemas Operativos Distribuidos13

    Determine if Can Fulfill

    end

    ?

    03:00pm

    Oracle, SOA Oracle Development Day

    Gestin de Negocio (y IV)

    entor

    no

    esos

    BPE

    L por

    med

    io de

    un

    grfi

    co (E

    clips

    e)

    BPEL

    proje

    ct://w

    ww.ec

    lipse

    .org/b

    pel/

    Fernando Prez CostoyaJos Mara Pea Snchez

    Sistemas Operativos Distribuidos14

    Edici

    n de

    proc

    e

    http

    Sistemas Operativos Distribuidos

    PlanificacinPlanificacin

    Esttica

    Fernando Prez CostoyaJos Mara Pea Snchez

    EstticaDinmica

    Sistemas de Cmputo

    Dependen de uso previsto del sistema: Mquinas autnomas de usuarios independientes

    Usuario cede uso de su mquina pero slo cuando est desocupadaq p p Qu ocurre cuando deja de estarlo?

    Migrar procesos externos a otros nodos inactivos Continuar ejecutando procesos externos con prioridad baja

    Sistema dedicado slo a ejecutar trabajos paralelos Se puede hacer una estrategia de asignacin a priori O ajustar el comportamiento del sistema dinmicamente Se intenta optimizar tiempo de ejecucin de la aplicacin o el

    Fernando Prez CostoyaJos Mara Pea Snchez

    Sistemas Operativos Distribuidos16

    p p j paprovechamiento de los recursos

    Sistema distribuido general (mltiples usuarios y aplicaciones) Se intenta lograr un reparto de carga adecuado

  • 5

    Tipologa de Clusters

    High Performance Clusters Beowulf; programas paralelos; MPI; dedicacin a un problema

    High Availability ClustersHigh Availability Clusters ServiceGuard, Lifekeeper, Failsafe, heartbeat

    High Throughput Clusters Workload/resource managers; equilibrado de carga; instalaciones de supercomputacin

    Segn servicio de aplicacin: Web-Service Clusters

    LVS/Piranha; equilibrado de conexiones TCP; datos replicados

    Fernando Prez CostoyaJos Mara Pea Snchez

    Sistemas Operativos Distribuidos17

    Storage Clusters GFS; sistemas de ficheros paralelos; identica visin de los datos desde cada nodo

    Database Clusters Oracle Parallel Server;

    Planificacin

    La planificacin consiste en el despliegue de las tareas de un trabajo sobre unos nodos del sistema: Atendiendo a las necesidades de recursosAtendiendo a las necesidades de recursos Atendiendo a las dependencias entre las tareas

    El rendimiento final depende de diversos factores: Concurrencia: Uso del mayor nmero de procesadores

    simultneamente. Grado de paralelismo: El grado ms fino en el que se pueda

    descomponer la tarea

    Fernando