• No results found

Chapter 4 : RESEARCH METHODOLOGY

4.5.3 Conducting Interviews

recálculo total

Para poder analizar los resultados globales de los acumuladores, y analizar cuándo y cómo debe realizarse la distribución, es necesario hacer un estudio exhaustivo del comportamiento que se va a obtener de la arquitectura. La arquitectura P2P se caracteriza por no tener un solapamiento en las etapas de comunicación y aplicación; si bien, el comportamiento del proxy que implementan contempla esta posibilidad de solapamiento. Es necesario, por tanto, un mensaje de multidifusión desde el procesador raíz, para que todos los procesadores conozcan el momento exacto en que termina una transición; y así, poder empezar la siguiente de forma coordinada. En ausencia de este mensaje, los procesadores pueden obtenerlo por escucha activa en la red de comunicaciones: cuando el último procesador hijo del raíz comunique con éste, será el punto en el que las comunicaciones hayan finalizado. La última alternativa, es no contemplar el sincronismo de etapas, y que cada procesador pueda empezar su etapa de aplicación en el momento en que termina la comunicación con su padre. La situación de que todos los procesadores esperen a que el último hijo comunique con el padre, implica que todos los procesadores conocen cuales son los procesadores hijos de la raíz; porque aunque se vio que los procesadores solo necesitan saber la topología de los procesadores antecesores y descendientes, en este caso, todos conocerán la existencia de los procesadores hijos de la raíz.

En la arquitectura P2P, las comunicaciones están organizadas, de forma que el procesador raíz sea el último en recibir la información, y por tanto, pueda tener una información completa del sistema. Si cada procesador comunica a su padre los contenidos de los acumuladores que contiene, y los recibidos por los hijos, el procesador raíz tendrá toda la información de los acumuladores. Con esta información, en el procesador raíz se puede realizar el análisis de la necesidad de realizar una redistribución de las membranas, e incluso, decidir cuál debería ser esta redistribución. Como ya se ha indicado, el indeterminismo del sistema conlleva a que la misma distribución pueda ser eficiente o no, dependiendo del reparto no determinista de objetos en reglas. El realizar continuamente redistribuciones puede provocar que los movimientos de membranas entre procesadores que se hacen con la configuraciónci sean realizados inversamente para la configuraciónci+1,

con la considerable pérdida de tiempo. Así, por tanto, se proponen dos formas de hacer el análisis: utilizando un número fijo de transiciones (cr, por su representación como número de configuraciones), o cuando el

tiempo real de la transición sea unαpeor que el tiempo estimado para el mismo cometido.

En ambos casos, cada membrana debe determinar el tiempo estimado que necesitará para sus evoluciones, y de igual forma, cada procesador debe estudiar cuanto tiempo invierte en cada fase de comunicación. El estudio de cada membrana se puede realizar o bien recalculando el árbol de decisión para la selección de reglas activas y volviendo a calcular el tiempo necesario (media o máximo) para su recorrido y posterior aplicación de reglas; o bien, utilizando los valores reales obtenidos en la aplicación, y que se encuentran en los acumuladores de la membranas. La segunda opción, si bien parece la más exacta, no contempla los cambios que se pueden producir por la disolución de otras membranas en el futuro, pudiendo inducir a un grave error. Una tercera alternativa sería un híbrido de ambas, donde se consideran los tiempos reales que se están obteniendo, y los tiempos posibles que se pueden obtener. Teniendo en cuenta que no existen comunicaciones en paralelo, y que los demás procesadores están ociosos mientras dos de ellos comunican, el que los tiempos reales sean superiores a los tiempos estimados no presentan ningún problema, salvo la pérdida de tiempo.

Si la opción elegida para el recálculo es que se hayan realizado cr transiciones, cada ese número de

transiciones todos los procesadores comunicarán a su padre, junto con los objetos y membranas disueltas, los nuevos tiempos estimados de la membrana, y los tiempos de comunicación que ese procesador obtiene. Considerando que en cada evolución, existen momentos en los que el procesador está ocioso, esperando a que haya comunicación entre otros procesadores, se puede realizar el recálculo del árbol de decisión de selección

de reglas activas, y el nuevo estimador de tiempo asociado, en dicho tiempo ocioso; mejorando tanto los tiempos reales, como los tiempos estimados en cada evolución. En la evolución que coincida con un múltiplo decr, en el mensaje enviado al padre se añadirán estos tiempos, junto con los tiempos de las comunicaciones

que realiza el procesador, y los tiempos recibidos de los procesadores hijos. El procesador raíz, cuando reciba estos tiempos, realizará una nueva distribución de membranas en procesadores.

En el caso de que siempre se analice si es necesaria la redistribución, en los mensajes enviados del procesador hijo al padre, se añadirán estos valores, tanto los contenidos en el procesador, como los recibidos por los procesadores hijos. El procesador raíz, con los valores obtenidos calculará cuanto es el tiempo real que se ha necesitado para la transición, y lo comparará con el tiempo estimado. Si el tiempo real es superior a un

α%del estimado, se realizará una nueva distribución. Existe una alternativa para evitar que los procesadores

estén continuamente comunicando a los padres sus tiempos. El procesador raíz puede poner un cronometro cuando empiece su etapa de aplicación, que parará cuando finalice de reubicar objetos, y realizar la disolución de las membranas, recibidos en el mensaje del último de sus hijos. Este tiempo, es exactamente igual al tiempo que se tarda en realizar la transición, y por tanto, el valor necesario para comprobar el grado de cumplimiento de las estimaciones. Es más, este tiempo será inferior al anterior, puesto que no es necesaria una comunicación sobrecargada de tiempos entre los procesadores. El problema asociado a dicho método reside en que en caso de ser necesaria una redistribución, el procesador raíz desconoce los tiempos que tardan las membranas en aplicar y los procesadores en comunicar, por lo que debe solicitarlos a todos los procesadores, con la consiguiente pérdida de tiempo. Así, el uso de una u otra estrategia estará determinado por el grado de acercamiento de las estimaciones, y por el tiempo en la implementación de la penalización de las comunicaciones al añadir los tiempos almacenados en los acumuladores.

Se considera que existen tres estrategias de sincronización entre los procesadores: mensaje de difusión del procesador raíz a los demás al final de la transición, monitorización de la red por parte de todos los procesadores para detectar cuando comunica el último procesador hijo al raíz, y aplicación en cada procesador inmediatamente después de la comunicación. La estrategia de reubicación cadacr transiciones puede utilizarse

con cualquiera de las estrategias mencionadas, con la condición de qué al final de las transiciones múltiplos de cr, los procesadores deban esperar a un mensaje del procesador raíz indicando cuál es la nueva distribución,

o que pueden continuar con su evolución. En cambio, cuando siempre se evalúa, solo se puede ejecutar la alternativa de que sea el procesador raíz el que dé la orden de empezar la nueva etapa de evolución.

Se podría, sin embargo, utilizar cualquier estrategia de sincronización si se añaden nuevos elementos y sincronismo al sistema. En cada procesador se puede empezar la aplicación de reglas en las membranas, aunque no se haya decidido si se va a hacer redistribución, ni cuál va a ser ésta. Una membrana puede aplicar sus reglas, si se considera esta etapa como una indivisible, de forma que si un procesador empieza la aplicación de reglas en esa membrana, no parará su ejecución hasta terminarla. Así, aunque reciba la orden de que debe realizar una redistribución, esa membrana, se reubique o no, lo hará con el estado de haber convertido sus objetos en nuevos -con sus destinos correspondientes- y con la indicación de si al final se debe disolver o no. Además, será necesario que cada membrana tenga una marca, para saber si ya ha evolucionado o no; de forma que al transferirla a otro procesador se sepa si se debe realizar la aplicación de reglas o no sobre dicha membrana. Así, es posible que se reubiquen membranas con la fase de aplicación ya realizada, junto a membranas que aún no lo haya hecho. Los procesadores, para aplicar, deberán chequear primero si se ha realizado ya la aplicación o no. La aplicación asíncrona tiene beneficios cuando las membranas de los procesadores ascendientes tardan menos en aplicar. Por ejemplo, si las membranas del procesador raíz tardan menos que las del primer procesador hijo, la comunicación entre ellos sufriría una espera hasta que el procesador hijo terminara de aplicar. Pero si el procesador hijo comienza su aplicación antes de la raíz, podría terminar antes, y eliminar esta espera. Como los tiempos no son constantes, y dependen de factores aleatorios, se recomienda que los procesadores empiecen la etapa de aplicación cuando terminan de comunicar, aún a expensas de incluir un nuevo elemento en cada membrana.

Sea cual fuere el método elegido para realizar una redistribución la forma de buscar ésta es exactamen- te igual. Se puede utilizar cualquiera de los algoritmos mencionados para la distribución estática, con dos variantes. En primer lugar, y puesto que todos los algoritmos eran ejecutados sobre poblaciones -sean cro- mosomas, genotipos o partículas-, uno de los individuos debe contener la distribución actual, y el reemplazo

generacional no puede permitir que se pierda el individuo mejor adaptado. Así, en el caso de no encontrar una solución mejor, se seguirá con la distribución actual. En segundo lugar, se debe contabilidad el tiempo de reubicación de membranas. De tal forma, que si una membrana debe ubicarse en otro procesador con la distribución realizada, el tiempo de reubicar esta membrana será añadido como tiempo de evolución del P sistema, para la función de adaptación. Como estas reubicaciones solo se realizarán una vez, y la intención con la redistribución es que en las siguientes transiciones no sean necesarias nuevas redistribuciones, el tiem- po de reubicación será reducido en un factor, que debe ser definido. Se podría por ejemplo utilizar como factor, el número de transiciones que se estima se van a producir sin realizar otra redistribución. Si bien, no dejan de ser nuevas estimaciones, que afectarán a los resultados obtenidos. Por último, se debe señalar, que se pueden obtener individuos cuyas distribuciones tengan un bajo valor de adaptación, pero que con otro renombramiento de los procesadores, sea una solución más óptima. Sin embargo, el proceso de búsqueda de grafos isomorfos se encuentra dentro de la clase de problemas NP, por lo que no es viable realizar esta comprobación. Aunque si se puede usar una pequeña aproximación, que renombre cada procesador en base al nombre del procesador de la distribución original que contiene a la mayor parte de sus membranas. Aún a pesar de esto, se confía en los métodos evolutivos, con el fin de poder encontrar mejores distribuciones que las actuales, con pocas generaciones, puesto que el coste computación de calcular una nueva distribución, se está restando del rendimiento del sistema.

La arquitectura HP2P, aunque presenta un comportamiento diferente, que mejora los tiempos de evo- lución, para las distribuciones dinámicas se puede estudiar en conjunto. La casuística presentada para la arquitectura P2P, puede ser utilizada -con pequeñas salvedades- para la arquitectura HP2P. La única dife- rencia entre ambas arquitecturas, es que en HP2P los procesadores no pueden monitorizar la red para conocer cuando el último hijo del procesador raíz comunica con este. Así, salvo esta diferencia, todo lo aportado para la arquitectura P2P es aplicado para la arquitectura HP2P. También debe tenerse en cuenta que al utilizan intervalos fijos de comunicación, las estimaciones realizadas deben ser siempre superiores al tiempo real de aplicación y comunicación. Esto vuelve a entorpecer en el buen uso del sistema, y los métodos mostrados para el estudio dinámico del P sistema.

Related documents