Que Es Un Cluster
Que Es Un Cluster
Que Es Un Cluster
r
J Los nodos conectadas mediante una simple red Ethernet con placas
comunes (adaptadores de red o s), o utilizarse tecnologías especiales de alta velocidad
como ast Ethernet, Gigabit Ethernet, Myrinet, nfiniband, etc.
r -
J Es un software que generalmente actúa entre el sistema operativo y las
aplicaciones y provee a un cluster lo siguienteJ
na interfaz única de acceso al sistema, denominada (ingle ystem mage), la cual genera
la sensación al usuario de que utiliza un único ordenador muy potente.
erramientas para la optimización y mantenimiento del sistemaJ migración de procesos,
checkpointrestart (congelar uno o varios procesos, mudarlos de servidor y continuar su
funcionamiento en el nuevo host), balanceo de carga, tolerancia a fallos, etc.
EscalabilidadJ debe poder detectar automáticamente nuevos servidores conectados al cluster
para proceder a su utilización.
Ejemplos de middleware J MO , OpenMO , ondor, OpenL, etc.
r a
r G
r G
a
aJ Que nos permiten implementar algoritmos que hagan
uso de recursos compartidosJ P (entral Processing nit), memoria, datos y servicios.
·. lto rendimiento (P, high performance)
Los clusters de alto rendimiento han sido creados para compartir el recurso más
valioso de un computador, el à . ualquier operación que necesite
altos tiempos de P puede ser utilizada en un cluster de alto rendimiento,
siempre que se encuentre un algoritmo que sea paralelizable.
3 lta confiabilidad (
, high reliability)
Estos clusters tratan de aportar la
àPuede
tratarse por ejemplo de sistemas de respuesta a tiempo real.
Este tipo de clusters son los más difíciles de implementar. o se basan solamente
en conceder servicios de alta disponibilidad, sino en ofrecer un entorno de sistema
altamente confiable. Esto implica muchísima sobrecarga en el sistema.
[
MM lexibilidad.
MM Disponibilidad.
MM Escalabilidad.
MM recimiento por incrementos
MM ncorporación de tecnología punta.
MM provecha ciclos perdidos
MM eterogeneidad.
a
n tipo concreto de cluster cuya función es repartir la carga de proceso entre los
nodos y
disponibles en este, es el à
, sistema automático que à à à
. los algoritmos de MO
comparten los recursos disponibles en forma adaptativa mediante un à
. nternamente y de forma transparente para el usuario, los
procesos serán migrados
. Dado que
las demandas en cada nodo pueden variar en el tiempo,
àà
à
à
à
De
forma alternativa, si fuera necesario,
à͟ sus
Las características más destacadas de este tipo de cluster sonJ
u
.
obustez. nte la
!
"
#
$
"%
El aspecto del
à
à à
à
debido a que en muchas
"
&
" es extraordinariamente !
asignadas a cada procesador,
de manera que se realice una
. '
, es decir, hay desbalance en la carga ya sea
que el trabajo no se haya repartido de una forma equitativa o
porque algunos procesadores sean más rápidos que otros, o
por ambas situaciones, entonces
!
La situación ideal es que todos
à
à
à
-*aGG-G
§GG
G!G
Ú e trabajará con el
, el cual consiste en que la
asignación de la carga es efectuada por el nodo maestro a todos sus esclavos.
Ú El nodo maestro será el encargado de recibir todas las tareas que se deberán ejecutar y
tomar la mejor decisión al momento de realizar la repartición de éstas teniendo siempre en
cuenta cuál nodo es más o menos fuerte dentro del clúster.
Ú En el método se verá que el nodo maestro no realizará ninguna de las tareas, sólo
las distribuirá. De ahí, se descarta todo lo que concierne con el balanceo de carga
estático, donde el nodo maestro participa activamente de la ejecución de las
tareas en la computación una vez que haya asignado el trabajo a los nodos
esclavos realizando este proceso una vez o cíclicamente.
-
Ú En este trabajo el método que se propone consiste en la distribución de tareas en los nodos esclavos por parte del nodo
maestro, el cual recopilará una a una las tareas conforme van llegando a medida que pasa el tiempo.
Ú La asignación de las tareas a los nodos esclavos dependerá del tamaño de las tareas y de una función de aptitud, la cual es
calculada por el nodo maestro después de que el nodo esclavo envía ciertos atributos (velocidad de procesamiento,
capacidad de memoria y tiempo de respuesta).
Ú Después de que el nodo maestro asigna una tarea a cierto nodo esclavo, el esclavo ejecutará
la tarea y enviará al nodo maestro una notificación de terminación de tarea, indicándole así al
nodo maestro que esta listo para ejecutar una nueva.
Ú
.
Ú El cálculo de la función de aptitud corresponde a la sumatoria entre los atributos
mencionados previamente, donde cada uno de estos estará multiplicado por un peso que
dependerá de la importancia de este factor en el cluster.
Ú ·. u
#
J en un vector se almacenan todas las tareas iníciales organizadas
de mayor a menor tamaño cada una de estas presenta un D que identifica que tarea es; el otro
vector recopila los nodos esclavos organizados por función de aptitud de mayor a menor.
Ú 2. u
$ %u**
%u"G
!
"#
!! !
$
!
#
%
Ú '. En este punto, el maestro ya conoce cual es la capacidad de cada
nodo esclavo y procede con la
teniendo
en cuenta los cálculos realizados y que las tareas se encuentran
organizadas de mayor a menor tamaño y los nodos se encuentran
también organizados de mayor a menor pero en cuanto a función
de aptitud.
Ú Para iniciar con la asignación se deberá
Ú Para cada nodo *%
que
contendrá las tareas que le serán asignadas para ejecutar.
Ú c) Después de haber asignado las tareas a los nodos esclavos en sus respectivas tandas se
debe analizar nuevamente sí aún quedan tareas en el vector de tareas, de ser el caso, estas
deberán ser incluidas en una nueva tanda que será destinada a las tareas faltantes y que
deberán ser asignadas a las tandas de los nodos esclavos que tengan aún espacio sin exceder
en el Limiteuperior odo(i).
Ú d) í llegasen a faltar tareas por ser asignadas después de realizar el paso anterior y ninguna
entra en el rango de los nodos esclavos entrará una nueva variable a tomar parte de la
asignación. Esta será el tiempo de ejecución, que será el tiempo que tarda cada nodo en
ejecutar una tarea respectiva. Esta variable es calculada como el espacio (tamaño de la tarea
que se esta realizando) sobre la velocidad (función de aptitud del nodo ejecutor de la tarea).
Ú El procedimiento a seguir es calcular el tiempo de ejecución total
acumulado en cada nodo esclavo (TiempoEjecucionTotal(i)),
tomando la tanda de tareas de cada nodo (Tanda(i)) y calculando el
tiempo de ejecución para cada una de las tareas que tiene dicho
nodo.
Ú Posteriormente se procede a tomar la primera tarea que se
encuentra en la tanda de tareas faltantes y a calcular un tiempo de
ejecución supuesto TiempoEjecucionupuesto(i)), para cada nodo
con dicha tarea y a acumularlo en el TiempoEjecucionTotal(i) de
cada nodo. Luego se procederá con la revisión de cual nodo posee
el menor tiempo de ejecución total supuesto
TiempoEjecucionTotalupuesto(i)), aquel que tenga dicho tiempo
será el nodo al cual se le asignará en su tanda esta tarea.
Ú Esto se hace hasta que no queden tareas en la tanda de
tareas faltantes.