Table Of ContentUniversidad Politécnica de Madrid
Facultad de Informática
Algoritmos de distribución de cargas de
proceso en computación con membranas
TESIS DOCTORAL
Miguel Ángel Peña Camacho
Máster en Tecnologías de la Información
Graduado en Ingeniería del Software
2011
Departamento de Inteligencia Artificial
Facultad de Informática
Algoritmos de distribución de cargas de
proceso en computación con membranas
TESIS DOCTORAL
Miguel Ángel Peña Camacho
Máster en Tecnologías de la Información
Graduado en Ingeniería del Software
DIRECTORES: Juan Castellanos Peñuela
Doctor en Informática
Luis Fernando de Mingo López
Doctor en Informática
2011
UNIVERSIDAD POLITÉCNICA DE MADRID
Tribunal nombrado por el Magfco. y Excmo. Sr. Rector de la Universidad Politécnica de
Madrid, el día de de 20
Presidente: a
Vocal: a
Vocal: a
Vocal: a
Secretario: a
Suplente: a
Suplente: a
Realizado el acto de defensa y lectura de la Tesis el día de de
20 en la E.T.S.I./Facultad a.
EL PRESIDENTE LOS VOCALES
EL SECRETARIO
A mis padres
iv
Agradecimientos
¡Qué contradicción! Esta página que aparece aquí al principio es la última que
estoyescribiendodelatesis,peroserálamásleída.Alfinaldelatesis,sepretende
agradecer en esta página a mucha gente sus aportaciones en el desarrollo de la
misma. Y yo, sin embargo, tengo el miedo de olvidarme de alguien. Por ello,
he decido apenas nombrar, pues igual que soy de la opinión de que las flores
a los vivos, los agradecimientos, día a día. Aún así, y para los acérrimos de
esta fórmula, quienes pretenden encontrar agradecimientos en esta hoja, abro un
poquito de mi corazón, y le dejo las siguientes líneas. Si bien, los agradecimientos
a las personas que me han apoyado, espero haberlos entregado antes de poner
estas palabras.
Conlafinalizacióndeestatesis,pongofinaunacadenadeestudiosrealizados
-aunque de aprender no se termina nunca- y empezaré otra etapa que espero sea
tan gratificante como la que dejo atrás. Es por tanto un buen momento para
agradecer a todas esas personas que me han marcado, y a las que no puedo
nombrar aquí, pues necesitaría otro libro entero.
Si bien es un tópico, debo empezar dando las gracias a mis tutores. No
sólo por el proceso de 4 años de elaboración de esta tesis, sino por todos esos
momentos que hemos vivido. Gracias JuanCas por esos consejos antes de cada
viaje, de cada aventura; y gracias LuisFer por enseñarme que sin parecer que
se trabaja, se puede hacer mucho. A esa forma de hacer sin darle importancia,
porque importa más lo que se hace, que da sus frutos.
Gracias también a esos tutores foráneos, de los que tanto he aprendido, y
que me han hecho abrir “fronteras”, no sólo a mi parte académica, sino también
a mi desarrollo personal. Gracias Cristian, Pier, Erzsébet, György, Anna y Paolo.
Siempre recordaré la forma de hacer presentaciones de Pier, saltándose los for-
malismos, y facilitando la comprensión; el ser capaz de hacer chistes sobre en lo
que uno trabaja, como Erzsebet; y a todo un país como Nueva Zelanda.
He de dar las gracias al DIA, en el cuál he realizado la tesis, a OEI en la
escuela, a la Escuela en general, a la Facultad, a la propia Universidad, y a
las Universidades en su conjunto; de las que tanto he aprendido en esta etapa
académica, formativa, docente, investigadora, y profesional. Han sido muchos
años dentro, en los que he conocido a muchísima gente que me ha aportado
tanto, que no tendrían espacio suficiente para nombrarlos a todos aquí. Aún
así, un especial agradecimiento a Jorge y Bobi, por tan buenos consejos que he
recibido estos años, y por decir las cosas como son. También a Eugenio, que
en paz descanse, por tantos proyectos juntos que hemos hecho, y tantas horas
de conversación en estos años. Y a Pepi, capaz de enseñarme que las cosas son
sencillas si ella está presente.
v
No puedo olvidarme de mis amigos, ni de los que he ido conociendo en esta
etapa y que circunstancias del destino, hacen que estemos alejados. Gracias a
Montse, porque es la única que conoce mi verdadero yo, y que tanto apoyo me
dió cuando realmente lo necesitaba. Gracias a Josito y David por esas barbacoas
en las que no hacía falta nada más para disfrutar. Mi tesis no empezó como
vuestro TFC, pero espero que al menos termine igual.
Gracias María, por enseñarme que lo importante no es la meta, sino disfrutar
del camino. Por recorrer este camino conmigo. Por sufrirme este tiempo. Por esa
felicidad que irradias. Por alegrarme cada día. No existen palabras para darte las
gracias
...
Gracias papá y mamá. Todo lo que soy es por vosotros. El dedicaros esta
tesis es sólo un gesto pequeño del agradecimiento hacia vosotros. Sé que esta
tesis significa mucho más para vosotros que para mí. Sé que con esto se cumplen
algunos de vuestros sueños, y guardaréis un especial recuerdo de ello. Para mí,
me basta con saber que pase lo que pase y esté donde esté, tendré vuestro apoyo
y cariño en lo que decida hacer, como lo he tenido hasta ahora. Y gracias Bea,
por ser la persona que sufre en silencio mi mal humor, porque, aunque no lo
creas, yo tengo envidia de cómo eres.
vi
Resumen
Conelsurgirdelosproblemasirresolublesdeformaeficienteentiempopolino-
mial en base al dato de entrada, surge la Computación Natural como alternativa
a la computación clásica. En esta disciplina se trata de o bien utilizar la natu-
raleza como base de cómputo o bien, simular su comportamiento para obtener
mejores soluciones a los problemas que los encontrados por la computación clási-
ca. Dentro de la computación natural, y como una representación a nivel celular,
surge la Computación con Membranas.
La primera abstracción de las membranas que se encuentran en las células,
da como resultado los P sistemas de transición. Estos sistemas, que podrían ser
implementados en medios biológicos o electrónicos, son la base de estudio de
esta Tesis.
En primer lugar, se estudian las implementaciones que se han realizado, con
el fin de centrarse en las implementaciones distribuidas, que son las que pue-
den aprovechar las características intrínsecas de paralelismo y no determinismo.
Tras un correcto estudio del estado actual de las distintas etapas que engloban
a la evolución del sistema, se concluye con que las distribuciones que buscan un
equilibrio entre las dos etapas (aplicación y comunicación), son las que mejores
resultados presentan. Para definir estas distribuciones, es necesario definir com-
pletamente el sistema, y cada una de las partes que influyen en su transición.
Además de los trabajos de otros investigadores, y junto a ellos, se realizan va-
riaciones a los proxies y arquitecturas de distribución, para tener completamente
definidos el comportamiento dinámico de los P sistemas.
A partir del conocimiento estático –configuración inicial– del P sistema, se
pueden realizar distribuciones de membranas en los procesadores de un clúster
para obtener buenos tiempos de evolución, con el fin de que la computación del
P sistema sea realizada en el menor tiempo posible. Para realizar estas distribu-
ciones, hay que tener presente las arquitecturas –o forma de conexión– de los
procesadores del clúster. La existencia de 4 arquitecturas, hace que el proceso
de distribución sea dependiente de la arquitectura a utilizar, y por tanto, aunque
con significativas semejanzas, los algoritmos de distribución deben ser realizados
también 4 veces. Aunque los propulsores de las arquitecturas han estudiado el
tiempo óptimo de cada arquitectura, la inexistencia de distribuciones para es-
tas arquitecturas ha llevado a que en esta Tesis se probaran las 4, hasta que
sea posible determinar que en la práctica, ocurre lo mismo que en los estudios
teóricos.
Para realizar la distribución, no existe ningún algoritmo determinista que con-
siga una distribución que satisfaga las necesidades de la arquitectura para cual-
quier P sistema. Por ello, debido a la complejidad de dicho problema, se propone
el uso de metaheurísticas de Computación Natural. En primer lugar, se propone
vii
utilizar Algoritmos Genéticos, ya que es posible realizar alguna distribución, y
basada en la premisa de que con la evolución, los individuos mejoran, con la evo-
lución de dichos algoritmos, las distribuciones también mejorarán obteniéndose
tiempos cercanos al óptimo teórico. Para las arquitecturas que preservan la topo-
logía arbórea del P sistema, han sido necesarias realizar nuevas representaciones,
y nuevos algoritmos de cruzamiento y mutación.
A partir de un estudio más detallado de las membranas y las comunicaciones
entreprocesadores,sehacomprobadoquelostiempostotalesquesehanutilizado
paraladistribuciónpuedensermejoradoseindividualizadosparacadamembrana.
Así, se han probado los mismos algoritmos, obteniendo otras distribuciones que
mejoranlostiempos.Deigualforma,sehanplanteadoelusodeOptimizaciónpor
Enjambres de Partículas y Evolución Gramatical con reescritura de gramáticas
(variante de Evolución Gramatical que se presenta en esta Tesis), para resolver
el mismo cometido, obteniendo otro tipo de distribuciones, y pudiendo realizar
una comparativa de las arquitecturas.
Por último, el uso de estimadores para el tiempo de aplicación y comuni-
cación, y las variaciones en la topología de árbol de membranas que pueden
producirse de forma no determinista con la evolución del P sistema, hace que se
deba de monitorizar el mismo, y en caso necesario, realizar redistribuciones de
membranas en procesadores, para seguir obteniendo tiempos de evolución razo-
nables. Se explica, cómo, cuándo y dónde se deben realizar estas modificaciones
y redistribuciones; y cómo es posible realizar este recálculo.
viii
Abstract
NaturalComputingisbecomingausefulalternativetoclassicalcomputational
models since it its able to solve, in an efficient way, hard problems in polynomial
time. This discipline is based on biological behaviour of living organisms, using
nature as a basis of computation or simulating nature behaviour to obtain better
solutions to problems solved by the classical computational models. Membrane
Computing is a sub discipline of Natural Computing in which only the cellular
representation and behaviour of nature is taken into account.
Transition P Systems are the first abstract representation of membranes be-
longingtocells.Thesesystems,whichcanbeimplementedinbiologicalorganisms
or in electronic devices, are the main topic studied in this thesis.
Implementations developed in this field so far have been studied, just to focus
ondistributedimplementations.Suchdistributionsarereallyimportantsincethey
can exploit the intrinsic parallelism and non-determinism behaviour of living cells,
only membranes in this case study. After a detailed survey of the current state
of the art of membranes evolution and proposed algorithms, this work concludes
that best results are obtained using an equal assignment of communication and
rules application inside the Transition P System architecture. In order to define
such optimal distribution, it is necessary to fully define the system, and each one
of the elements that influence in its transition. Some changes have been made in
the work of other authors: load distribution architectures, proxies definition, etc.,
in order to completely define the dynamic behaviour of the Transition P System.
Starting from the static representation –initial configuration– of the Tran-
sition P System, distributions of membranes in several physical processors of a
clusterisalgorithmicallydoneinordertogetabetterperformanceofevolutionso
thatthecomputationalcomplexityoftheTransitionPSystemisdoneinlesstime
as possible. To build these distributions, the cluster architecture –or connection
links– must be considered. The existence of architectures, makes that the pro-
4
cess of distribution depends on the chosen architecture, and therefore, although
with significant similarities, the distribution algorithms must be implemented
4
times. Authors who proposed such architectures have studied the optimal time
of each one. The non existence of membrane distributions for these architectures
has led us to implement a dynamic distribution for the . Simulations performed
4
in this work fix with the theoretical studies.
There is not any deterministic algorithm that gets a distribution that meets
the needs of the architecture for any Transition P System. Therefore, due to the
complexity of the problem, the use of meta-heuristics of Natural Computing is
proposed. First, Genetic Algorithm heuristic is proposed since it is possible to
make a distribution based on the premise that along with evolution the indivi-
duals improve, and with the improvement of these individuals, also distributions
ix
enhance, obtaining complexity times close to theoretical optimum time.
For architectures that preserve the tree topology of the Transition P System,
it has been necessary to make new representations of individuals and new algo-
rithms of crossover and mutation operations. From a more detailed study of the
membranes and the communications among processors, it has been proof that
the total time used for the distribution can be improved and individualized for
each membrane. Thus, the same algorithms have been tested, obtaining other
distributions that improve the complexity time. In the same way, using Particle
Swarm Optimization and Grammatical Evolution by rewriting grammars (Gram-
matical Evolution variant presented in this thesis), to solve the same distribution
task. New types of distributions have been obtained, and a comparison of such
genetic and particle architectures has been done.
Finally, the use of estimators for the time of rules application and com-
munication, and variations in tree topology of membranes that can occur in a
non-deterministic way with evolution of the Transition P System, has been done
to monitor the system, and if necessary, perform a membrane redistribution on
processors to obtain reasonable evolution time. How, when and where to make
these changes and redistributions, and how it can perform this recalculation, is
explained.
x
Description:nombrar aquí, pues necesitaría otro libro entero. Si bien es un inteligente Este comportamiento biológico, se ha copiado en la computación con membranas, donde se La distribución de membranas se hará manteniendo.