10.07.2015 Views

Práctica 1. Introducción a los modelos de colas simples ... - PoliformaT

Práctica 1. Introducción a los modelos de colas simples ... - PoliformaT

Práctica 1. Introducción a los modelos de colas simples ... - PoliformaT

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

EMSC Curso 2008-2009Índice <strong>de</strong> prestaciones Método λ b = 0,3 λ m = 0,6 λ a = 0,9Tiempo medio <strong>de</strong> respuesta AnalíticoTiempo medio <strong>de</strong> respuesta Simulación Tsim= 100Tiempo medio <strong>de</strong> respuesta Simulación Tsim= 100000Longitud media <strong>de</strong> la cola AnalíticoLongitud media <strong>de</strong> la cola Simulación Tsim= 100Longitud media <strong>de</strong> la cola Simulación Tsim= 100000Nota: Pue<strong>de</strong>s lanzar varias simulaciones en una sola ejecución. Consulta el Apéndice B al nal <strong>de</strong> esteboletín.Comprobarás cómo al variar el tiempo <strong>de</strong> simulación obtenemos resultados diferentes. Esto planteaun interesante problema sobre cuánto tiempo es necesario simular y cómo tratar estadísticamente <strong>los</strong>resultados <strong>de</strong> la simulación. Estos temas serán abordados con <strong>de</strong>talle en el Tema 4 <strong>de</strong> la asignatura. Demomento vamos a plantear otra cuestión.Cuestión 2 Modica el programa CSIM <strong>de</strong> la cuestión anterior para que la simulación termine cuandohayan atravesado la estación un <strong>de</strong>terminado número <strong>de</strong> clientes. Con <strong>los</strong> resultados obtenidos rellena latabla siguiente:Índice <strong>de</strong> prestaciones Método λ b = 0,3 λ m = 0,6 λ a = 0,9Tiempo medio <strong>de</strong> respuesta Simulación Nclientes= 100Tiempo medio <strong>de</strong> respuesta Simulación Nclientes= 100000Longitud media <strong>de</strong> la cola Simulación Nclientes= 100Longitud media <strong>de</strong> la cola Simulación Nclientes= 100000Cuestión 3 Para po<strong>de</strong>r resolver un mo<strong>de</strong>lo y obtener sus índices <strong>de</strong> prestaciones es necesario que secumpla la condición <strong>de</strong> estabilidad, que para una estación con un solo servidor signica que la tasa media<strong>de</strong> llegada <strong>de</strong>be ser menor que la tasa media <strong>de</strong> servicio (λ < µ). Comprueba mediante simulación quéocurre cuando no se cumple la condición <strong>de</strong> estabilidad (la estación está saturada). Usa, por ejemplo,λ sat = 1,2. Simula para 100000 clientes.Índice <strong>de</strong> prestaciones λ sat = 1,2Tiempo medio <strong>de</strong> respuestaLongitud media <strong>de</strong> la cola4.3. Estudio <strong>de</strong> la cola M/M/1/B: limitación <strong>de</strong> la capacidadLa cola M/M/1/B mo<strong>de</strong>la sistemas en <strong>los</strong> que la capacidad <strong>de</strong>l sistema es limitada (en realidadtodos <strong>los</strong> sistemas reales son limitados). Modica el programa anterior para introducir esa limitación enla capacidad. Recuerda que B es la capacidad total <strong>de</strong> la estación <strong>de</strong> servicio (cola más servidor). Losclientes que llegan a la estación cuando está llena se pier<strong>de</strong>n.Cuestión 4 Compara <strong>los</strong> resultados <strong>de</strong> la simulación y resultados analíticos para una cola M/M/1/B.Usa un tiempo <strong>de</strong> simulación <strong>de</strong> 100000 unida<strong>de</strong>s. Compara <strong>los</strong> resultados obtenidos en este apartado con<strong>los</strong> <strong>de</strong> la Cuestión <strong>1.</strong>V. Santonja 3 X. Molero


EMSC Curso 2008-2009Tiempo medio <strong>de</strong> respuesta (E[R]) λ b = 0,3 λ m = 0,6 λ a = 0,91 procesador2 procesadores4 procesadoresComo se pue<strong>de</strong> observar, a medida que aumenta el número <strong>de</strong> procesadores el tiempo <strong>de</strong> respuestadisminuye aproximándose al tiempo medio <strong>de</strong> servicio.4.6. Estudio <strong>de</strong> <strong>colas</strong> M/M/m/B/KEn este apartado vamos a estudiar un par <strong>de</strong> ejemp<strong>los</strong> <strong>de</strong> <strong>colas</strong> M/M/m/B/K: una cola M/M/3/5y una M/M/2/3/4.Cuestión 7 Compara <strong>los</strong> resultados <strong>de</strong> la simulación y resultados analíticos para una cola M/M/3/5con λ = 1,2 clientes/s y µ = 0,6 clientes/s.Índice <strong>de</strong> prestaciones Analítico SimulaciónTiempo medio <strong>de</strong> respuestaLongitud media <strong>de</strong> la colaProductividadUtilización <strong>de</strong> cada procesadorUtilización <strong>de</strong>l sistemaProporción <strong>de</strong> trabajos que se pier<strong>de</strong>nCuestión 8 Compara <strong>los</strong> resultados <strong>de</strong> la simulación y resultados analíticos para una cola M/M/2/3/4con λ = 0,6 clientes/s y µ = 0,6 clientes/s.Índice <strong>de</strong> prestaciones Analítico SimulaciónTiempo medio <strong>de</strong> respuestaLongitud media <strong>de</strong> la colaProductividadUtilización <strong>de</strong> cada procesadorUtilización <strong>de</strong>l sistema4.7. Estudio <strong>de</strong> la cola M/G/1: distribución <strong>de</strong>l tiempo <strong>de</strong> servicioEn este apartado queremos comparar el efecto <strong>de</strong> utilizar diferentes distribuciones <strong>de</strong>l tiempo <strong>de</strong>servicio or<strong>de</strong>nadas <strong>de</strong> menor a mayor variabilidad. Esta variabilidad se mi<strong>de</strong> con la varianza Var[S] o, loque es equivalente, por el coeciente <strong>de</strong> variación al cuadrado C 2 S = Var[S]/E[S]2 . Las funciones que seutilizan en CSIM para especicar las diferentes distribuciones son las siguientes:Determinista (Var[S] = 0, CS 2 = 0): simplemente usar el valor requerido <strong>de</strong>ntro <strong>de</strong> la función use().Ejemplo: use(estacion,4.56).Erlang <strong>de</strong> 2 etapas (Var[S] = E[S] 2 /2, CS 2 = 1/2): usar la función erlang(double med, doublevar) <strong>de</strong>ntro <strong>de</strong> use(), don<strong>de</strong> med es la media y var la varianza.Exponencial (Var[S] = E[S] 2 , CS 2 = 1): usar la función exponential(double med) <strong>de</strong>ntro <strong>de</strong> use(),don<strong>de</strong> med es la media.Hiperexponencial con varianza Var[S] = 2E[S] 2 o CS 2 = 2: usar la función hyperx(double med,double var) <strong>de</strong>ntro <strong>de</strong> use(), don<strong>de</strong> med es la media y var la varianza.Cuestión 9 Modica la distribución <strong>de</strong>l tiempo <strong>de</strong> servicio <strong>de</strong> la estación en el programa anterior yrellena las tablas siguientes con <strong>los</strong> valores obtenidos para el tiempo medio <strong>de</strong> respuesta.V. Santonja 5 X. Molero


EMSC Curso 2008-2009Tiempo medio <strong>de</strong> respuesta (E[R]) Método Estación λ b = 0,3 λ m = 0,6 λ a = 0,9Determinista Simulación M/D/1Determinista Analítico M/D/1Erlang <strong>de</strong> 2 etapas Simulación M/E 2 /1Erlang <strong>de</strong> 2 etapas Analítico M/E 2 /1Exponencial Simulación M/M/1Exponencial Analítico M/M/1Hiperexponencial ( CS 2 = 2) Simulación M/H/1Hiperexponencial ( CS 2 = 2) Analítico M/H/1Número medio <strong>de</strong> trabajos (E[N]) Método Estación λ b = 0,3 λ m = 0,6 λ a = 0,9Determinista Simulación M/D/1Determinista Analítico M/D/1Erlang <strong>de</strong> 2 etapas Simulación M/E 2 /1Erlang <strong>de</strong> 2 etapas Analítico M/E 2 /1Exponencial Simulación M/M/1Exponencial Analítico M/M/1Hiperexponencial ( CS 2 = 2) Simulación M/H/1Hiperexponencial ( CS 2 = 2) Analítico M/H/1A partir <strong>de</strong> <strong>los</strong> resultados <strong>de</strong> la tabla analiza la inuencia <strong>de</strong> la variabilidad <strong>de</strong>l tiempo <strong>de</strong> servicio(medida a través <strong>de</strong>l coeciente <strong>de</strong> variación al cuadrado CS) 2 sobre <strong>los</strong> índices <strong>de</strong> prestaciones.4.8. Planicación <strong>de</strong> la cola <strong>de</strong> la estaciónEn este apartado vamos a diferenciar 3 tipos <strong>de</strong> trabajos, con diferentes <strong>de</strong>mandas <strong>de</strong> servicio sobrela estación:Tipo <strong>de</strong> trabajo Cliente 1 Cliente 2 Cliente 3Frecuencia media <strong>de</strong> llegada λ/2 λ/3 λ/6Tiempo medio <strong>de</strong> servicio T S 2T S 5T SConsi<strong>de</strong>ra λ = 1,0 trabajos/s y T S = 0,4 s.Para especicar clientes <strong>de</strong> tipos diferentes en CSIM pue<strong>de</strong>s lanzar tres procesos: Cliente1(), Cliente2()y Cliente3(). En la <strong>de</strong>nición <strong>de</strong> cada proceso se <strong>de</strong>ne el uso especíco que éste hace <strong>de</strong> la estación. Enel proceso sim() habrá que generar <strong>los</strong> clientes <strong>de</strong> <strong>los</strong> tres tipos, cada uno con su tiempo entre llegadas(para implementar esta solución, consi<strong>de</strong>ra la i<strong>de</strong>a <strong>de</strong>l Apéndice C).A continuación se van a comparar <strong>los</strong> resultados <strong>de</strong> una cola M/M/1 que se obtienen al aplicar laspolíticas <strong>de</strong> servicio fcfs (rst come, rst served), lcfs_pr (last come, rst served, preemtive) y rnd_rob(round robin). En CSIM, las estaciones (facility) adoptan por <strong>de</strong>fecto la política fcfs, para cambiarlase usa la funciónvoid set_servicefunc(FACILITY f, void(*service_function)());para nuestro caso, podríamos hacerset_servicefunc(estacion, lcfs_pr);para la polítcia lcfs_pr. Para la política round robin se <strong>de</strong>be especicar el tamaño <strong>de</strong>l cuanto <strong>de</strong> tiempoque el servidor <strong>de</strong>dica a cada cliente. esto se hace con la or<strong>de</strong>n set_timeslice(). Por ejemplo:set_timeslice(estacion, 0.1);Cuestión 10 Rellena la tabla siguiente, anontando el tiempo medio <strong>de</strong> respuesta obtenidoV. Santonja 6 X. Molero

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!