Вы находитесь на странице: 1из 32

Facultad de Ingeniera de Sistemas e Informtica

Ingeniera de Control

CONTROLADOR DE SERVIDOR WEB APACHE TOMCAT

TESINA DE INGENIERA DE CONTROL

Facultad de Ingeniera de Sistemas e Informtica

Integrantes: Marav Navarro, Giancarlo Ortiz Gil, Erick Pinto Luna, Andrs Rojas Cuadros, Vctor Jean Franz Torres Rivera, Toms 07200195 07200012 07200154 07200034 07200184

Profesor:

Fermn Prez, Flix Armando Noviembre 2010

Controlador de un Servidor Web

2010 -II 1

Facultad de Ingeniera de Sistemas e Informtica

Ingeniera de Control

Tabla de contenidos
1. Introduccin.................................................................................................................................3 1.1 Antecedentes.....................................................................................................................3 1.2 Definicin del Problema...................................................................................................4 1.3 Objetivos...........................................................................................................................5 1.4 Justificacin......................................................................................................................6 1.5 Propuesta...........................................................................................................................6 1.6 Organizacin de la tesina..................................................................................................7 2. Marco terico...............................................................................................................................7 2.1 Lgica Difusa....................................................................................................................7 2.2 Servidor Web..................................................................................................................10 2.3 Apache Tomcat...............................................................................................................12 2.4 Sockets, comunicacin entre procesos............................................................................13 3. Estado del arte...........................................................................................................................15 3.1 Taxonoma del Problema................................................................................................15 3.2 Mtodo............................................................................................................................16 3.3 Modelo............................................................................................................................20 4. Resolucin del problema aplicando la tcnica seleccionada.....................................................21 4.1 Anlisis...........................................................................................................................21

Entradas y salidas del modelo.................................................................................21 Descripcin de cada variable:..................................................................................21 Fuzzificacion de las entradas...................................................................................22 Fuzzificacion de la salida........................................................................................22 Graficas para cada variable......................................................................................23
Tabla de Decisin (FAM)....................................................................................................25 Mecanismo de Inferencia Borroso Usados..........................................................................25

Para las entradas .....................................................................................................25 Para la salida ...........................................................................................................26 PROCESO DE LA SIMULACIN........................................................................27


Generacin de Cdigo mediante fuzzyTech.................................................................................29 5. Conclusiones..............................................................................................................................32 6. Referencias bibliogrficas .......................................................................................................32

Controlador de un Servidor Web

2010 -II 2

Facultad de Ingeniera de Sistemas e Informtica

Ingeniera de Control

1. Introduccin 1.1 Antecedentes La diversidad cada vez mayor de aplicaciones que se apoyan en la World Wide Web y la creciente popularidad de las aplicaciones basadas en Web en tiempo crtico (como el comercio en lnea) motivan a la construccin de servidores Web compatibles con QoS (Calidad de Servicio). Dichos servidores personalizan sus atributos de rendimiento en funcin de las clase de las solicitudes tal que las solicitudes ms importante recibir un mejor servicio.

Desde la perspectiva de los clientes que solicitan, el atributo de servicio de rendimiento ms visible suele ser la latencia del servidor. Peticiones diferentes pueden tener diferentes tolerancias a la latencia.

Por ejemplo, se puede argumentar que las solicitudes de comercio de acciones se deben servir con mayor rapidez que las solicitudes de informacin. Del mismo modo, el cliente interactivo se debe servir con ms prontitud que los agentes de software como rastreadores de fondo y los servidores Proxy Web,

Desde la perspectiva del servidor, una empresa puede contar con polticas que limitan la memoria y la CPU consumida por los servidores Web. Estas polticas vienen de las necesidades del negocio, incluyendo: (a) proporcionar la suficiente potencia para aplicaciones de co-localizados (por ejemplo, servidor de archivos, servidor de base de datos), (b) evitar la fatiga y los fracasos como resultado de la
Controlador de un Servidor Web 2010 -II 3

Facultad de Ingeniera de Sistemas e Informtica

Ingeniera de Control

utilizacin excesiva, y (c) garantizar que hay capacidad suficiente para manejar picos de carga de trabajo y/o fallas en el servidor.

Algunas empresas tambin desean proporcionar una latencia de servicios diferentes a diferentes clases de clientes en funcin de sus cuotas mensuales o importancia. En una situacin en la que los clientes pagan para recibir un mejor servicio, cualquier ambigedad en relacin con la mejora del rendimiento esperado puede causar la preocupacin cliente y por tanto, percibirlo como una desventaja.

En los ltimos aos han sido testigos de un crecimiento espectacular del nmero de proveedores de servicios electrnicos (por ejemplo, proveedores de servicios Internet, proveedores de servicios de aplicaciones, gestin de proveedores de servicios y proveedores de servicios de almacenamiento). Con este crecimiento se ha recorrido un gran inters en los acuerdos de nivel de servicio y la automatizacin de su cumplimiento.

1.2 Definicin del Problema La explotacin generalizada de tecnologas de la informacin (TI) ha motivado la necesidad de una gestin basada en polticas de recursos de TI. Estas polticas vienen de las necesidades del negocio.

Con frecuencia, hay una "falta de concordancia" entre lo que las polticas de los administradores quieren y los controles que se dan.

Controlador de un Servidor Web

2010 -II 4

Facultad de Ingeniera de Sistemas e Informtica

Ingeniera de Control

En un servidor web de aplicaciones Tomcat, los administradores quieren controlar el uso del CPU asociado a la aplicacin de Apache Tomcat, pero no hay manera de hacerlo directamente. Ms bien, los administradores deben operar indirectamente mediante el ajuste de varios parmetros de ajuste.

El personal de operaciones debe llevar a cabo experimentos para determinar cmo usos deseados se puede lograr con los controles que estn disponibles.

El problema a resolver es no poder controlar directamente el uso del Procesador asociado a las aplicaciones alojadas en el servidor Web Apache Tomcat, para eso se debe encontrar la forma de poder hacerlo mediante otros parmetros de control de ajuste del servidor que afecten el rendimiento del CPU y memoria, dando una buena calidad de servicio. 1.3 Objetivos Tradicionalmente, los administradores del sistema han sido responsables de la optimizacin de parmetros de ajuste, un proceso que consume mucho tiempo y cursos intensivos, y por lo tanto un alto costo. El objetivo de este trabajo es describir un enfoque para la automatizacin de ajuste de parmetros utilizando un controlador difuso que emplea reglas borrosas para incorporar conocimiento cualitativo de los efectos de los parmetros de ajuste.

Un ejemplo de tal conocimiento cualitativo en el servidor web Apache Tomcat es "MaxThreads tiene un efecto cncavo hacia arriba en los tiempos de respuesta". Nuestros estudios con un verdadero servidor de web Apache Tomcat sugieren que tal sistema puede mejorar el rendimiento sin la intervencin humana. Adems, se
Controlador de un Servidor Web 2010 -II 5

Facultad de Ingeniera de Sistemas e Informtica

Ingeniera de Control

muestra que el controlador puede adaptarse automticamente a cambios en las cargas de trabajo.

1.4 Justificacin Hoy en da la mayor cantidad de personas utilizan pginas web para realizar todo tipo de operaciones, sea transaccional, consultas, etc.; razn por lo cual genera mucho uso de CPU en los servidores.

La empresa prestadora de los servicios lo que busca es poder controlar ese rendimiento de CPU usado por los servidores web, ya que es muy importante porque as se puede dar una mejor calidad de servicio para los clientes teniendo buena performance, mayor velocidad en la navegacin de los clientes, ms rpido puede ser el acceso. Pues para esto debera existir un controlador capaz de poder manejar estos parmetros indirectamente, as tambin brindamos una buena satisfaccin del cliente al acceder a los servicios y que nuestro servidor pueda realizar sus actividades ptimamente.

1.5 Propuesta Lo que se propone es la elaboracin de un controlador difuso modelo MISO (2 entradas y una salida), que pueda manejar indirectamente el rendimiento del CPU y la memoria usada por el servidor, siguiendo las polticas dadas por la empresa; esto se realizar mediante el parmetro de ajuste del servidor Tomcat, el cual es MaxThreads, obteniendo as una buena perfomance y ofreciendo una buena calidad de servicio a los clientes.

Controlador de un Servidor Web

2010 -II 6

Facultad de Ingeniera de Sistemas e Informtica

Ingeniera de Control

1.6 Organizacin de la tesina El presente trabajo est organizado en 6 captulos, en el captulo 2 se presentar el marco terico relacionado al problema, en el captulo 3 se presentar el estado del arte, el planteamiento de manera profunda del sistema y la tcnica de desarrollo a usar, en el captulo 4 se detallar la resolucin del problema con la tcnica seleccionada, en el captulo 5 se presentar el sistema de control computacional realizado, y finalmente en el captulo 6 se detallar las conclusiones obtenidas del presente trabajo.

2. Marco terico 2.1 Lgica Difusa 1.1.1 Concepto Una de las disciplinas matemticas con mayor nmero de seguidores actualmente es la llamada lgica difusa o borrosa, que es la lgica que utiliza expresiones que no son ni totalmente ciertas ni completamente falsas, es decir, es la lgica aplicada a conceptos que pueden tomar un valor cualquiera de veracidad dentro de un conjunto de valores que oscilan entre dos extremos, la verdad absoluta y la falsedad total. Conviene recalcar que lo que es difuso, borroso, impreciso o vago no es la lgica en s, sino el objeto que estudia: expresa la falta de definicin del concepto al que se aplica. La lgica difusa permite tratar informacin imprecisa, como estatura media o temperatura baja, en trminos de conjuntos borrosos que se combinan en reglas para definir acciones: si la temperatura es alta entonces enfriar mucho. De esta manera, los sistemas de control basados en lgica difusa combinan variables de entrada,

Controlador de un Servidor Web

2010 -II 7

Facultad de Ingeniera de Sistemas e Informtica

Ingeniera de Control

definidas en trminos de conjuntos difusos, por medio de grupos de reglas que producen uno o varios valores de salida.

1.1.2 Breve historia y aplicaciones La lgica difusa fue investigada, por primera vez, a mediados de los aos sesenta en la Universidad de Berkeley (California) por el ingeniero Lotfy A. Zadeh cuando se dio cuenta de lo que l llam principio de incompatibilidad: Conforme la complejidad de un sistema aumenta, nuestra capacidad para ser precisos y construir instrucciones sobre su comportamiento disminuye hasta el umbral ms all del cual, la precisin y el significado son caractersticas excluyentes. Introdujo entonces el concepto de conjunto difuso (Fuzzy Set) bajo el que reside la idea de que los elementos sobre los que se construye el pensamiento humano no son nmeros sino etiquetas lingsticas. La lgica difusa permite representar el conocimiento comn, que es mayoritariamente del tipo lingstico cualitativo y no necesariamente cuantitativo, en un lenguaje matemtico a travs de la teora de conjuntos difusos y funciones caractersticas asociadas a ellos. Permite trabajar a la vez con datos numricos y trminos lingsticos; los trminos lingsticos son inherentemente menos precisos que los datos numricos pero en muchas ocasiones aportan una informacin ms til para el razonamiento humano.

1.1.3

Conjuntos borrosos y funciones caractersticas El primer ejemplo utilizado por Lofti A. Zadeh, para ilustrar el concepto

de conjunto difuso, fue el conjunto hombres altos. Segn la teora de la lgica clsica el conjunto hombres altos es un conjunto al que perteneceran
Controlador de un Servidor Web 2010 -II 8

Facultad de Ingeniera de Sistemas e Informtica

Ingeniera de Control

los hombres con una estatura mayor a un cierto valor, que podemos establecer en 1.80 metros, por ejemplo, y todos los hombres con una altura inferior a este valor quedaran fuera del conjunto. As tendramos que un hombre que mide 1.81 metros de estatura pertenecera al conjunto hombre altos, y en cambio un hombre que mida 1.79 metros de altura ya no pertenecera a ese conjunto. Sin embargo, no parece muy lgico decir que un hombre es alto y otro no lo es cuando su altura difiere en dos centmetros. El enfoque de la lgica difusa considera que el conjunto hombres altos es un conjunto que no tiene una frontera clara para pertenecer o no pertenecer a l: mediante una funcin que define la transicin de alto a no alto se asigna a cada valor de altura un grado de pertenencia al conjunto, entre 0 y 1.

Formalmente, un conjunto clsico A, en un universo de discurso U, se puede definir de varias formas: enumerando los elementos que pertenecen al conjunto, especificando las propiedades que deben cumplir los elementos que pertenecen a ese conjunto o, en trminos de la funcin de pertenencia A(x):

Podemos adems decir que el conjunto A es matemticamente equivalente a su funcin de pertenencia o caracterstica (x) A m, ya que conocer (x) A m es lo mismo que conocer A. Un conjunto difuso en el universo de discurso U se caracteriza por una funcin de pertenencia A(x) que toma valores en el intervalo [0.1], y puede representarse como un conjunto de pares ordenados de un elemento x y su valor de pertenencia al conjunto:
Controlador de un Servidor Web 2010 -II 9

Facultad de Ingeniera de Sistemas e Informtica

Ingeniera de Control

1.1.4 Operaciones con conjuntos borrosos Las operaciones bsicas entre conjuntos difusos son las siguientes: o El conjunto complementario de un conjunto difuso es aquel cuya

funcin caracterstica viene definida por:

o La unin de dos conjuntos difusos A y B es un conjunto difuso A U B en U cuya funcin de pertenencia es:

o La interseccin de dos conjuntos difusos A y B es un conjunto difuso A B en U con funcin caracterstica:

Estas tres operaciones definidas para conjuntos difusos cumplen, al igual que en la teora clsica de conjuntos, asociatividad, conmutatividad y distributividad as como las leyes de Morgan.

2.2 Servidor Web 1.1.5 Definicin Un servidor Web es el corazn de Internet, entre otros importantes dispositivos. Todo ordenador tiene un servidor o mquina dedicada, la cual est conectada a Internet para dar disponibilidad a sitios Web, cuando son solicitadas por usuarios de la red. Este ordenador o mquina, es conocida
Controlador de un Servidor Web 2010 -II 10

Facultad de Ingeniera de Sistemas e Informtica

Ingeniera de Control

como servidor Web. Este equipo acepta las peticiones http del navegador Web del usuario, y entrega las pginas Web que podemos ver, las cuales suelen ser pginas HTML y objetos enlazados, imgenes, ficheros, etc. En otras palabras, cuando alguien quiere ver una pgina Web en cuestin pinchando un enlace, el ordenador donde lanza una peticin al servidor Web donde dicha pgina est alojado.

1.1.6 Funcionamiento El Servidor web se ejecuta en un ordenador mantenindose a la espera de peticiones por parte de un cliente (un navegador web) y que responde a estas peticiones adecuadamente, mediante una pgina web que se exhibir en el navegador o mostrando el respectivo mensaje si se detect algn error. A modo de ejemplo, al teclear www.wikipedia.org en nuestro navegador, ste realiza una peticin HTTP al servidor de dicha direccin. El servidor responde al cliente enviando el cdigo HTML de la pgina; el cliente, una vez recibido el cdigo, lo interpreta y lo exhibe en pantalla. Como vemos con este ejemplo, el cliente es el encargado de interpretar el cdigo HTML, es decir, de mostrar las fuentes, los colores y la disposicin de los textos y objetos de la pgina; el servidor tan slo se limita a transferir el cdigo de la pgina sin llevar a cabo ninguna interpretacin de la misma.

1.1.7 Servidor Web Local Instalar un servidor web en nuestro PC nos permitir, entre otras cosas, poder montar nuestra propia pgina web sin necesidad de contratar hosting, probar nuestros desarrollos va local, acceder a los archivos de nuestro equipo
Controlador de un Servidor Web 2010 -II 11

Facultad de Ingeniera de Sistemas e Informtica

Ingeniera de Control

desde un PC remoto (aunque para esto existen otras opciones, como utilizar un servidor FTP) o utilizar alguno de los programas basados en web tan interesantes que estn viendo la luz ltimamente. El problema de usar nuestro ordenador como servidor web es que conviene tenerlo encendido permanentemente (para que est accesible de forma continua como la mayora de los sitios webs), con el consiguiente coste debido al consumo de electricidad (conviene tener en cuenta que hay alojamientos web gratuitos, incluso sin publicidad y con interesantes funciones).

2.3 Apache Tomcat 1.1.8 Definicin Tomcat (tambin llamado Jakarta Tomcat o Apache Tomcat) funciona como un contenedor de servlets desarrollado bajo el proyecto Jakarta en la Apache Software Foundation. Tomcat implementa las especificaciones de los servlets y de JavaServer Pages (JSP) de Sun Microsystems.

1.1.9 Entorno Tomcat es un servidor web con soporte de servlets y JSPs. Tomcat no es un servidor de aplicaciones, como JBoss o JOnAS. Incluye el compilador Jasper, que compila JSPs convirtindolas en servlets. El motor de servlets de Tomcat a menudo se presenta en combinacin con el servidor web Apache. Tomcat puede funcionar como servidor web por s mismo. En sus inicios existi la percepcin de que el uso de Tomcat de forma autnoma era slo recomendable para entornos de desarrollo y entornos con requisitos mnimos de velocidad y gestin de transacciones. Hoy en da ya no existe esa
Controlador de un Servidor Web 2010 -II 12

Facultad de Ingeniera de Sistemas e Informtica

Ingeniera de Control

percepcin y Tomcat es usado como servidor web autnomo en entornos con alto nivel de trfico y alta disponibilidad. Dado que Tomcat fue escrito en Java, funciona en cualquier sistema operativo que disponga de la mquina virtual Java.

1.1.10

Estado de su desarrollo Tomcat es mantenido y desarrollado por miembros de la Apache Software Foundation y voluntarios independientes. Los usuarios disponen de libre acceso a su cdigo fuente y a su forma binaria en los trminos establecidos en la Apache Software Licence. Las primeras distribuciones de Tomcat fueron las versiones 3.0.x. Las versiones ms recientes son las 6.x, que implementan las especificaciones de Servlet 2.5 y de JSP 2.1. A partir de la versin 4.0, Jakarta Tomcat utiliza el contenedor de servlets Catalina.

2.4 Sockets, comunicacin entre procesos 1.1.11 Definicin Socket designa un concepto abstracto por el cual dos programas (posiblemente situados en computadoras distintas) pueden intercambiar cualquier flujo de datos, generalmente de manera fiable y ordenada. Un socket queda definido por una direccin IP, un protocolo de transporte y un nmero de puerto.

1.1.12

Orgenes En los orgenes de Internet, las primeras computadoras en implementar sus protocolos fueron aquellas de la universidad de Berkeley. Dicha

Controlador de un Servidor Web

2010 -II 13

Facultad de Ingeniera de Sistemas e Informtica

Ingeniera de Control

implementacin tuvo lugar en una variante del sistema operativo Unix conocida como BSD Unix. Pronto se hizo evidente que los programadores necesitaran un medio sencillo y eficaz para escribir programas capaces de intercomunicarse entre s. Esta necesidad dio origen a la primera especificacin e implementacin de sockets, tambin en Unix. Hoy da, los sockets estn implementados como bibliotecas de programacin para multitud de sistemas operativos, simplificando la tarea de los programadores.

1.1.13

Propiedades Las propiedades de un socket dependen de las caractersticas del protocolo en el que se implementan. El protocolo ms utilizado es Transmission Control Protocol, aunque tambin es posible utilizar UDP o IPX. Gracias al protocolo TCP, los sockets tienen las siguientes propiedades: Orientado a conexin. Se garantiza la transmisin de todos los octetos sin errores ni omisiones. Se garantiza que todo octeto llegar a su destino en el mismo orden en que se ha transmitido. Estas propiedades son muy importantes para garantizar la correccin de los programas que tratan la informacin. El protocolo UDP es un protocolo no orientado a la conexin. Slo se garantiza que si un mensaje llega, llegue bien. En ningn caso se garantiza que llegue o que lleguen todos los mensajes en el mismo orden que se mandaron. Esto lo hace adecuado para el envo de mensajes frecuentes pero no demasiado

Controlador de un Servidor Web

2010 -II 14

Facultad de Ingeniera de Sistemas e Informtica

Ingeniera de Control

importantes, como por ejemplo, mensajes para los refrescos (actualizaciones) de un grfico.

Figura1. Esquema de comunicacin entre procesos mediante socket TCP

3. Estado del arte 3.1 Taxonoma del Problema El problema a resolver, pertenece a los tipos de problemas de control, el cual describe un enfoque de control basado en la teora de la aplicacin de polticas para las mtricas relacionadas, en nuestro caso el servidor web Apache Tomcat.

Controlador de un Servidor Web

2010 -II 15

Facultad de Ingeniera de Sistemas e Informtica

Ingeniera de Control

Estos tipos de problemas son muy vistos hoy en da, ya que siempre se necesitar de un controlador que realice lo que las polticas de la empresa manifieste pero sin disminuir el rendimiento de la aplicacin, as lograremos un mejor performance de la aplicacin.

3.2 Mtodo El mtodo empleado para disear el controlador ser el mtodo basado en la lgica difusa:

Controlador Basado en Lgica Difusa Un Controlador Basado en Lgica Difusa es un sistema electrnico e informtico que sirve de soporte fsico para realizar inferencias con lgica difusa. Fundamentalmente porque podr aplicarse con sencillez a procesos complejos y pobremente definidos ya sea porque no se dispone de conocimiento cuantitativo de su dinmica o porque la informacin proveniente de sensores es imperfecta (faltante, imprecisa, corrompida por ruido). Sin embargo, estos procesos pueden ser manejados por operadores humanos de un modo eficiente. Este tipo de problemas suele ser bastante corriente en los ambientes industriales. Se considera que la variable controlada es de tipo analgica y que debe ser convertida a digital antes de ser usada en los clculos internos del controlador.

Por lo tanto, el controlador basado en lgica difusa ser un caso particular de un controlador digital, cuyo comportamiento ser no lineal. Sus bloques constitutivos son una Base de Conocimiento (BC), una Base de Datos (BD) o

Controlador de un Servidor Web

2010 -II 16

Facultad de Ingeniera de Sistemas e Informtica

Ingeniera de Control

memoria de trabajo, un Motor de Inferencias (MI), un Borrosificador (F) y un Desborrosificador (D).

Base de Conocimientos La arquitectura que se aprecia en la figura, para el CBLD es la de un sistema basado en conocimiento, ya que estos controladores pueden considerarse como un caso particular de aquellos sistemas. Para representar el conocimiento existen muchos mtodos, aunque para los sistemas de tipo reactivos (que responden a las entradas provenientes de sensores) como los CBLD, el mtodo preferido suele ser la representacin en forma de reglas.

Generalmente m reglas del tipo:

Donde las Xi son salidas del sistema a controlar, o funciones de dicha salida (errores, derivadas), provenientes de sensores o estimadores; las Y son directamente las variables manipuladas que tendrn que ser convertidos a valores nicos para manejar los actuadores; y los Ai son conjuntos difusos. Mediante reglas de este tipo se codifica en el sistema informtico parte del conocimiento humano en el manejo del proceso, as como tambin los objetivos de control. Por ejemplo: Si error de
Controlador de un Servidor Web 2010 -II 17

Facultad de Ingeniera de Sistemas e Informtica

Ingeniera de Control

temperatura es Grande Positivo y la derivada error de temperatura es Grande Positiva entonces aumento de combustible inyectado es Grande Negativo.

Motor de Inferencia Es el encargado de concatenar las implicancias de la Base de Conocimiento, aplicando recursivamente una regla de inferencia composicional. Por ejemplo, el operador mx/min.

Borrosificador La funcin de este bloque es la de asociar a las entradas una funcin de pertenencia, acorde con el particionamiento del universo de discurso que se haya efectuado.

Transforma la medicin del valor determinstico de una variable en valores subjetivos mediante un proceso de verbalizacin. De esta manera, se pueden distinguir las siguientes funciones: Medir los valores de las variables de entrada. Hacer una adaptacin de escalas desde estas variables de entrada y el universo de discurso, en una suerte de normalizacin. Asociar a la entrada un valor lingstico que puede verse como la pertenencia a un dado conjunto difuso.

Desborrosificador

Controlador de un Servidor Web

2010 -II 18

Facultad de Ingeniera de Sistemas e Informtica

Ingeniera de Control

A partir de los consecuentes de las reglas que se hayan disparado, que seguramente sern ms de una, es necesario obtener una nica accin de control, combinando el resultado propuesto por cada una de ellas. Para ello, este bloque es el encargado de servir de soporte para la aplicacin de alguna de las tcnicas elegidas (el mximo, la media de mximos, el centroide).

A partir de esta descripcin en bloques, es posible comprender el funcionamiento del CBLD. Para ello se supondr lo que ocurre con el error, una de las entradas a este controlador, en un intervalo de muestreo, entre dos bajadas sucesivas de esa llave que est tomando muestras (como puede considerarse a un conversor A/D ideal). En el instante kT la variable controlada analgica es convertida al tiempo discreto. Luego se compara con la referencia y se obtiene un valor para el error. ste ingresa al emborronador, en el que se le aade una etiqueta lingstica (conjunto difuso) y un valor entre [0,1], asignndole una pertenencia a dicho conjunto difuso.

Por ejemplo el error puede haber resultado luego de este procedimiento como PM (positivo medio) con PM=0,3 y PG (positivo grande) con PG=0,7. Con estos valores simblicos se ingresa en la memoria de trabajo. All, el motor de inferencias buscar qu reglas poseen entre sus antecedentes estos patrones en un procedimiento que se conoce en la literatura como pattern matching. Cuando se produce esta coincidencia, la regla se dispara, tornndose verdadero el consecuente de la regla disparada. En el dominio de la lgica difusa, la asercin verdadero tiene toda la gama de matices posibles y se modelan con la funcin de pertenencia. Supngase que una de las reglas que se disparan tiene en su consecuente que la
Controlador de un Servidor Web 2010 -II 19

Facultad de Ingeniera de Sistemas e Informtica

Ingeniera de Control

accin de control debe ser, para esos errores, positiva grande, y luego de calcular la funcin de pertenencia correspondiente teniendo en cuenta el mtodo para modelar las conjunciones y la implicancia, se encuentra que PG=0,6. Este valor tambin se anota en la memoria de trabajo. Seguramente se dispararn ms de una regla, por lo que el motor de inferencias debe combinar la evidencia de cada una de las que se dispar, en el procedimiento que se conoce como agregacin (if...then... ALSO...). El resultado de esta combinacin es un nuevo conjunto difuso, que debe ser desborrosificado por el bloque correspondiente para obtener un valor determinado que se aplicar sobre el actuador, completando este ciclo. Con la toma de una nueva muestra para calcular el error en (k+1)T se inicia nuevamente.

3.3 Modelo Existen 2 modelos importantes para el anlisis de un controlador: MIMO (Multiple Input Multiple Output) y SISO (Single Input Single Output).

Los sistemas SISO son aquellos que cuentan con simplemente una entrada y una salida, de esta manera es lgico pensar que para mantener la nica salida del sistema debe hacerse los ajustes necesarios a la entrada y se lograra el propsito del control.

Los sistemas MIMO presentan interaccin entre cada una de sus salidas y sus distintas entradas, existen, sin embargo algunos sistemas, pueden ser modelado como sistemas de lazo mltiples independientes siempre y cuando exista dependencia fuerte entre cada salida y nica entrada, sin embargo, el sistema puede ser modelado como un sistema multivariable de lazos independientes.
Controlador de un Servidor Web 2010 -II 20

Facultad de Ingeniera de Sistemas e Informtica

Ingeniera de Control

Para nuestro caso usaremos un sistema tipo MISO (Multiple Input Single Output), donde habrn 2 entradas al controlador difuso y solo existir una nica salida. 4. Resolucin del problema aplicando la tcnica seleccionada Para resolver dicho problema usaremos un controlador basado en lgica difusa en la cual mide el rendimiento del CPU, a travs de la variacin de la variable del servidor de apache Tomcat MaxThreads; es decir las entradas a mi controlador sern: El nmero de MaxThreads, la cual es la cantidad mxima de los clientes concurrentes que pueden estar en el servidor. La diferencia entre porcentaje de CPU deseado y el porcentaje de CPU actual. La salida de dicho controlador ser: El incremento de MaxThreads, es decir la cantidad que va a variar la cantidad de MaxThreads para poder regular el CPU. 4.1 Anlisis Entradas y salidas del modelo

Descripcin de cada variable: difCPU.- es la diferencia entre la lectura de porcentaje de uso de CPU y el porcentaje de CPU deseado, esta diferencia se mide en porcentaje, su rango es :
Controlador de un Servidor Web 2010 -II 21

Facultad de Ingeniera de Sistemas e Informtica

Ingeniera de Control

-100 100 porcentaje

maxThread.-es el valor actual del maxThread del servidor Tomcat, este valor se mide en unidades y su rango es: 0 1000 unidades incMaxThread.- es el incremento, ya sea positivo o negativo, que variara el valor actual del maxThread, este valor se mide en unidades y su rango es: -20 20 unidades Fuzzificacion de las entradas. La variable difCPU se descompone en las siguientes etiquetas: Etiqueta muy_negativo negativo poco_negativo cero poco_positivo positivo muy_positivo Variable crisp -100% -60% -90% -30% -60% 0% -30% 30% 0% 60% 30% 90% 60% 100%

La variable maxThread se descompone en las siguientes etiquetas: Etiqueta muy_pequeo pequeo medio grande muy_grande Variable crisp 0u 340 u 160u 500u 340u 640u 500u 840u 640u 1000u

Fuzzificacion de la salida.

La variable incMaxThread se descompone en las siguientes etiquetas:

Controlador de un Servidor Web

2010 -II 22

Facultad de Ingeniera de Sistemas e Informtica

Ingeniera de Control

Etiqueta muy_negativo negativo cero positivo muy_positivo

Variable crisp -20u -8u -17u 0u -8u 8u 0u 17u 8u 20u

Graficas para cada variable Entrada 1: difCPU

Controlador de un Servidor Web

2010 -II 23

Facultad de Ingeniera de Sistemas e Informtica

Ingeniera de Control

Entrada 2: maxThread

Salida 1: incMaxThread

Controlador de un Servidor Web

2010 -II 24

Facultad de Ingeniera de Sistemas e Informtica

Ingeniera de Control

Tabla de Decisin (FAM)

Mecanismo de Inferencia Borroso Usados Para las entradas ComputeMBF Es el mtodo tradicional de fuzzificacin, el valor crisp interseca la funcin de pertenencia y se determina un cierto grado de validez.

Controlador de un Servidor Web

2010 -II 25

Facultad de Ingeniera de Sistemas e Informtica

Ingeniera de Control

Para la salida CoM Centro de Mximos Computa la salida crisp utilizando un promedio ponderado de los valores mximos de los trminos de la variable segn los resultados de la inferencia.

Controlador de un Servidor Web

2010 -II 26

Facultad de Ingeniera de Sistemas e Informtica

Ingeniera de Control

PROCESO DE LA SIMULACIN Primero se representa el modelo en el Fuzzy TECH definiendo las dos entradas y la salida

Controlador de un Servidor Web

2010 -II 27

Facultad de Ingeniera de Sistemas e Informtica

Ingeniera de Control

Para empezar la simulacin se debe de hacer clic.

A continuacin se puede observar los valores que toman cada variable de entrada, y el valor de salida

Controlador de un Servidor Web

2010 -II 28

Facultad de Ingeniera de Sistemas e Informtica

Ingeniera de Control

Generacin de Cdigo mediante fuzzyTech Para generar la clase en java mediante el Fuzzytech ir a la siguiente opcin:

Controlador de un Servidor Web

2010 -II 29

Facultad de Ingeniera de Sistemas e Informtica

Ingeniera de Control

Controlador de un Servidor Web

2010 -II 30

Facultad de Ingeniera de Sistemas e Informtica

Ingeniera de Control

Con lo cual se genera el siguiente archivo java

Controlador de un Servidor Web

2010 -II 31

Facultad de Ingeniera de Sistemas e Informtica

Ingeniera de Control

5. Conclusiones Poniendo en prctica los temas tratados en clase, concluimos que es posible poder controlar el uso del CPU de un servidor web (Apache Tomcat), con slo manejar el parmetro de ajuste de cantidad de hilos del servidor (MaxThreads), utilizando un controlador basado en lgica difusa y un sensor software (hecho en JAVA) capaz de capturar el rendimiento del CPU en un tiempo determinado, obteniendo un resultado de acuerdo a la poltica de la empresa para la que se desarrolla.

6. Referencias bibliogrficas

Libro: Ingeniera de Control Moderna Tercera Edicin Autor: Katsuhiko Ogata

Artculo: Tcnicas de Control Adaptativas Aplicadas a Sistemas Multivariables Fecha: Agosto 2007, Universidad Tecnolgica de Pereira

Artculo: A feedback control architecture and design methodology for service delay guarantees in web servers Fecha: Agosto 2001, Universidad de Virginia, Departamento de Ciencias de Computacin

Artculo: A Web Servers View of the Transport Layers Fecha: Octubre 2000, ACM Computer Communication Review

Controlador de un Servidor Web

2010 -II 32

Вам также может понравиться