Cluster Alto Rendimiento
Short Description
En este artículo se realiza una introducción a los conceptos y definiciones que se necesitan para el desarrollo de un cl...
Description
Cluster de Alto Rendimiento Dan Daniel Jime imenez nez
Andr Andres es Medi edina
Instituto de Electr´ onica Aplicada, Universidad Mayor de San Andr´ es La Paz, Bolivia djimen dji menezj ezjere erez@g z@gmai mail.c l.com om
wellvu wel lvu@ho @hotma tmail. il.com com
art ´ıculo ıculo se realiza una introducci on o´ n a los Resumen— En este art´ conceptos y definiciones que se necesitan para el desarrollo de un cluster de computadoras, as´ı como los componentes y las funciones funciones del mismo, mismo, tambi tambi en e´ n se calculan los tiempos de proce proceso so de dos progr programa amass ejecut ejecutado adoss con difer diferent entes es condiciones en el cluster dise ˜ dise ˜ nado.
I.
´ I NTRODUCCI ON
El termino e´ rmino cluste clusterr (grupo (grupo o racimo racimo)) se define define como como el conjunto de computadores que se comportan como si fuesen un u´ nico computador. La tecnolog´ unico tecnolog´ıa ıa de clusteres ha evolucionado en apoy apoyo o de acti activi vida dade dess que que van van desd desdee apli aplica caci cion ones es de superc´ supercomputo o´ mputo y software de misiones cr ´ıticas, ıticas, servidores web y Figura 1: Cluster de Almacenamiento comercio electr onico, o´ nico, hasta bases de datos de alto rendimiento, entr entree otro otross usos usos.. El comput o´ mputo o con cluste clusteres res surge surge como como resultado de la convergencia de varias tendencias actuales que B. Alta Disponibilidad Los cluster cluster de alta disponibilid disponibilidad ad proporcion proporcionan an continua continua incluyen incluyen la disponibil disponibilidad idad de micropro microprocesad cesadores ores econ´omicos omicos dispon dis ponibi ibili lidad dad de los servic ser vicios ios a trav tra v es e ´ s de la elim el imin inac acii on o´ n de alto rendimien rendimiento to y redes redes de alta velocida velocidad, d, el desarrollo desarrollo alla por por un unico u´ nico elemen elemento to y a trav´ trav´es es del proces proceso o ´ de herramientas de software para c omputo distribuido de alto de la falla recuperaci´ ci´on on en contra contra de fallo falloss al trasla trasladar dar el servic servicio io rendimie rendimiento, nto, as´ as´ı como como la crecie creciente nte necesi necesidad dad de potenc potencia ia de recupera ´ desde el nodo de cluster err o oneo neo a otro nodo completamente computacional para aplicaciones que la requieran. funcional. funcional. Generalment Generalmente, e, los servicios servicios en los cluster de alta ´ II. C LASIFICACI ON DE LOS C LUSTERES disponibilidad leen y escriben datos a trav es e´ s de la lectura y escritura a un sistema de archivos montado. As´ı, ı, un cluster de Un clus luster ter pued uede estar star cons consttitui ituido do por por dos dos o m as a´ s comput computado adores res,, de los cuales cuales se espera espera que presen presente te uno o alta disponibilidad debe mantener la integridad de los datos cuando cuando un nodo nodo recibe recibe el contro controll del servicio servicio desde desde otro otro diferentes combinaciones de los siguientes servicios: nodo. Los nodos err oneos o´ neos no son vistos por los clientes fuera • Almacenamiento del cluster. Los cluster de alta disponibilidad son conocidos tambi´en en como cluster con recuperaci´on on contra fallas. • Alta disponibilidad •
Balance de carga
•
Alto rendimiento
A.
Almacenamiento Un cluster de almacenamiento proporciona una imagen de sistema sistema de archiv archivos os consiste consistente nte a lo largo largo de los servidores servidores en el cluster, permitiendo que los servidores lean y escriban de forma forma simult simult´anea a´ nea a un sistem sistemaa de archi archivo voss compar compartid tido. o. Un cluster de almacenamiento simplifica la administraci on ´ de almacenamiento al limitar la instalaci´on on de aplicaciones a un sistema de archivos. Asimismo, con un sistema de archivos a lo largo del cluster, un cluster de almacenamiento elimina la necesidad de copias de m as a´ s de los datos de la aplicaci on o´ n y ´ simplifica la creaci on o´ n de copias de seguridad y recuperaci on contra desastres.
Figura 2: Cluster de Alta Disponibilidad
1
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
C.
Balanc Balancee de Carga Carga Los cluste clusterr de balanc balancee de carga carga respon responden den a petici peticione oness de servic servicios ios de red desde desde difere diferente ntess nodos nodos para para balanc balancear ear las las peti petici cion ones es a los los lar largo de los los nodo nodoss del del clus cluste terr. El balance de carga proporciona escalabilidad econ´omica omica porque se puede configurar el n umero u´ mero de nodos de acuerdo con los requerimientos de balance de carga. Si un nodo en un cluster de balance de carga falla, el software de balance de carga detecta la falla y asigna las peticiones a otros nodos en el cluster. Los nodos err´oneos oneos en un cluster de balance de carga no son visibles desde los clientes fuera del cluster.
•
Almacenamiento
•
Sistemas operativos
•
Conexiones de red
•
Middleware
•
Protocolos de comunicaci on o´ n y servicios
•
Aplicaciones
•
Ambientes de programaci on o´ n paralela
A.
Nodo Nodo es un punto de intersecci on o´ n de dos o mas elementos, depend dependien iendo do del paradi paradigma gma en que se encuen encuentre tre;; un nodo nodo en redes de computadores es un servidor, mientras que para estructur estructuras as de datos din´amicas amicas,, un nodo nodo es un regis registr tro o que contie contiene ne un dato dato de inter´ inter´es. e s. En el ambito a´ mbito de programac programaci´ i´on on paralela, un nodo puede ser de dos tipos:
Dedicado: Es un computador sin perif ´ perif ericos e´ ricos de salida, es decir no tiene conectado ni el teclado, ni mouse, ni monitor, solamente se encuentra conectado a los dem as a´ s nodos. Este tipo de nodos solo realizan trabajo del cluster, no hacen ninguna tarea individualmente. individualmente.
Figura 3: Cluster de Alta Disponibilidad
D.
ericos de salida, los No dedicado: Es un computador con perif´ericos mas importantes son el teclado y el monitor, ademas se encuentra conectado a los dem as a´ s nodos. En este tipo de nodo se realizan dos tipos de tareas, las relacionadas con el cluster y las tareas individuales del nodo, estas ultimas se realizan como ultima prioridad, por tanto se efect´uan en los periodos de reloj libres que dejan las tareas del cluster.
Alto Rendimiento Los cluste clusterr de alto alto rendim rendimien iento to utiliz utilizan an los nodos nodos para para ejecutar c´ calculos a´ lculos simult aneos. a´ neos. Un cluster de alto rendimiento permi permite te que las aplica aplicacio ciones nes trabaj trabajen en de forma forma parale paralela, la, mejorand mejorando o as´ as´ı el rendim rendimien iento to de estas. e´ stas. Los cluste clusterr de alto alto B. Almacenamiento rendimie rendimiento nto son conocidos conocidos como cluster cluster computaci computacional onales es o El almacenamiento en un cluster es un punto muy delicado y computaci´on on de red. a tomarse muy en cuenta, ya que este puede ser compartido o individual en cada nodo. El problema mas importante esta en la sincronizaci´ sincronizacion o´ n de lectura/escritura as´ as ´ı como el tiempo que usa cada nodo ya que el bus es compartido y el acceso es unico. u´ nico. El protocolo mas usado para el acceso al almacenamiento almacenamiento es NFS 1 . En cuanto a hardware, se pueden utilizar discos duros por cada nodo (sistema tipo DAS 2 ), o bien un unico u´ nico disco compartido 3 entre los nodos (sistema tipo NAS ). El sistema compartido obtiene el acceso a trav es e´ s de los protocolos CIFS, NFS, FTP o TFTP. C.
Sistem Sistema a Opera Operativ tivo o El sistem sistemaa operat operativ ivo o debe debe ser multip multiproc roceso eso,, ya que es el que permitir permitir´a´ una gesti gestion o´ n eficien eficiente te de los recursos recursos en cada cada nodo, nodo, tanto tanto para para el balanc balanceo eo de carga carga en cada cada nodo, nodo, como como para la eficiencia del cluster en su totalidad. Los mas comunes
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
D.
•
GNU/Linux
•
Unix
•
Windows
•
Mac OS
•
Solaris
•
FreeBSD Conexiones de Red
Para un buen rendimiento del cluster la conexi´on on entre los nodos debe ser lo menos compleja posible, para incrementar la ´ Para velocidad en el intercambio intercambio de informaci on. Para ello se utilizan utilizan diferentes tecnolog´ tecnolog ´ıas ıas en los adaptadores de red.
F.
Protoc Protocolos olos de Comunicac Comunicaciion ´ y Servicio
Protocolo es un conjunto de reglas que permiten que dos o mas entidades se comuniquen para transmitir cualquier tipo de informaci on o´ n por medio de un enlace f ´ısico. ısico. Por ejemplo, entre un nodo y el sistema de almacenamiento com´un se puede utilizar el protocolo FTP, entre nodo y nodo se puede utilizar el protocolo UDP y entre el cluster y el cliente se puede utilizar el protocolo TCP/IP. G.
Aplica Aplicacio ciones nes
En la actu actual alid idad ad exis existe ten n un gran gran nume numero ro de clus cluste tere ress implem implement entado ados, s, los ejemp ejemplos los mas mas sobres sobresali alient entes es son los servid servidore oress de Google Google,, Faceb Facebook ook,, Amazon Amazon,, tareas tareas:: etc. etc. Las aplicaciones son muchas y son variadas, se pueden realizar las siguientes
Ethernet: Es la mas utilizada en la actualidad, aun as´ as ´ı no es la mas eficaz ya que limita el tama no n˜ o de paquete, realiza una excesiva comprobaci´on on de errores y los protocolos no son muy avanzados, un ejemplo es el protocolo TCP/IP. La solucion ´ a algunos de estos problemas puede ser el uso de Gigabit Ethernet (1 Gbit/s) o mejor aun 10 Gigabit Ethernet (10 Gbit/s), con una latencia de 30 a 100 µs. Myrinet: Si se dese deseaa una una red red de baja baja late latenc ncia ia,, esta esta es la elecci´ eleccion o´ n perfecta ya que llega a tener de 3 a 10 µs, con una velocid velocidad ad de transf transfere erenci nciaa de 2 a 10 Gbit/s Gbit/s.. Los protocolos sobre esta red son MPICH-GM, MPICH-MX, Sockets-GM y Sockets MX,
•
Predicciones Meteorol´ogicas ogicas
•
Predicciones Burs´ Bursatiles a´ tiles
•
Simulaciones de Comportamiento Cinem atico a´ tico y Din´ Dinamico a´ mico de componentes mec anicos a´ nicos
•
Dise˜ Diseno n˜ o y an´ analisis a´ lisis de nuevo materiales
•
Estudio de f armacos a´ rmacos y enfermedades epid emicas e´ micas
•
Dise˜no no de Estructuras moleculares
•
Creacion o´ n y renderizaci on o´ n de fotogramas de animaci on o´ n
InfiniBand: Es la red con mayor ancho de banda, 96 Gbit/s y • Investigaci on o´ n en general latencia de 10 µ s. Define una conexion o´ n entre un nodo de computaci´on on y un nodo de I/O. La conexi´on on va desde un • etc 4 5 HCA hasta un TCA . Se est´a usando principalmente para H. Ambientes de Programaci Programaci´ on ´ Paralela acceder a arrays de discos SAS. Los Los ambi ambien ente tess de prog progra rama maci ci´on o´ n para parale lela la perm permit iten en SCI: 6 Es una tecnolog´ tecnolog´ıa ıa bastante escalable, se aplica en las impl implem emen enta tarr algo algori ritm tmos os que que haga hagan n uso uso de recu recurs rsos os topolog´ıas ıas de anillo (1D), toro (2D), e hipercubo (3D) sin compartidos: CPU, memoria, datos y servicios. necesidad de un switch. Se tienen tasas de transferencia de hasta 5,3 Gbit/s y latencia de 1,43 µs. ˜ IV. DIS E NO E.
Middleware Middleware
Es un software que produce la interacci on ´ entre el sistema operati operativo vo y las aplicaci aplicaciones. ones. Mediante Mediante middlew middleware are se tiene tiene la sensaci sensaci´on o´ n de que se esta esta utiliz utilizand ando o una ordenado ordenadorr muy potent potentee en lugar lugar de vario varioss comune comunes. s. Es el encar encargad gado o de congel congelar ar o descon descongel gelar ar proces procesos, os, balanc balancear ear la carga, carga, etc. etc. Tambi ambi en e´ n mediante esta herramienta se pueden conectar mas nodos al cluster y utilizarlos sin tener que realizar una tarea compleja para poder distribuir los procesos con los nuevos nodos. Existen varios tipos de este software algunos ejemplos son: MOSIX,
A.
Hardware Hardware
El cluster dise nado n˜ ado es del tipo Beowulf, este es un sistema de computo o´ mputo paralelo basado en clusters de ordenadores personales conectados a trav es e´ s de redes inform aticas a´ ticas est andar, a´ ndar, sin el uso de equipos desarrollados espec´ıficamente ıficamente para la computaci´on on paralela. Las caracter´ caracter ´ısticas ısticas son las mismas en las cuatro PC’s y son las siguientes:
Procesador: Intel Pentium D CPU @ 3.40 Ghz
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
B.
CSMA/CD12 que incrementa la latencia y reduce la velocidad de la obtenci´on on de resultados; esta basado en el est´andar andar IEEE 802.3.
Sistema Operativo
Figura 5: S.O. Ubuntu
Es una distribuci´ distribuci´on on de Ubunt Ubuntu u para para servid servidore oress basada basada en Debian. La diferencia con el anterior sistema es que en este se deben instalar todos los paquetes y configurar cada nodo para funcionar como parte del cluster, cluster, diferenciando el nodo maestro de los nodos esclavos. C.
Figura 7: Cable UTP y Conector RJ45
Las direcciones IP’s se designan de la siguiente manera:
Almace Almacenam namien iento to
El almacenamiento del cluster es el disco duro que se halla en el nodo nodo maestr maestro, o, este este disco disco tiene tiene una capaci capacidad dad de 150 7 Gb @ 133 Mbps bajo la tecnolog tecnolog´´ıa ıa IDE o ATA8 . El nodo maestro comparte una carpeta con los nodos esclavos mediante la tecnolog´ tecnolog´ıa ıa libre NAS 9 mediante el protocolo NFS 10 . 1)
Proto Protocol colo o NFS
Es un protocolo de nivel de aplicaci on, o´ n, de acuerdo con el 11 modelo modelo OSI OSI , este este prot protoc ocol olo o hace hace posi posibl blee que que un nodo nodo acce acceda da a los archivos de otro como si fueran propios del mismo mediante una conexi´on on de red, este protocolo esta incluido por defecto en los sistemas UNIX y en algunos sistemas Linux.
Figura 8: Par´ Parametros a´ metros de la Red
E.
Middleware Middleware
En el desarr desarroll ollo o del cl uster ´ se utiliz utilizo´ el softwa software re SSH13 , este software brinda la posibilidad de conectarse desde el nodo maestro a los nodos esclavos. Una vez que se ha compartido una carpeta o un sistema de archivos se conecta mediante SSH y se inicia un proceso en cada nodo, todo desde el nodo maestro.
Figura 6: Sistema de Archivos en Red
D.
Conexi´ Conexion ´ de Red
Ethernet es el medio m as a´ s utilizado por su bajo costo y su f acil a´ cil instalaci on, o´ n, esta tecnolog tecnolog´ıa ıa es solo solo recome recomenda ndable ble para para prop´ propositos ´ de estudio ya que cuenta con detecci on o´ n de colisiones
Figura 9: Identificaci´ Identificacion o´ n mediante llaves SSH
SSH trabaj trabajaa de forma forma pareci parecida da a telnet telnet,, pero pero utiliza utiliza un cifrad cifrado o para que la informaci´on on no sea legible, con la unica u ´ nica manera de acceder a esta esta informaci´on on es por medio de ataques de
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
F.
Administr Administrador ador de Pro Proceso cesoss 1) Open OpenMP MPD D MPD es un administrador de procesos compatible com MPI hasta la versi on o´ n 1.2. MPD trata de evitar el env´ env ´ıo ıo de procesos a los nodos esclavos, solo cuando el nodo maestro no es suficiente para ejecutar un proceso, entonces es que MPD comienza a mandar tareas, pero lo hace hasta que el siguiente nodo tampoco abastezca; se observa que MPD es eficiente para tareas que necesiten de c´ calculos a´ lculos muy largos. 2) Hydr Hydra a Hydra es un administrador de procesos compatible con MPI desde la versi on o´ n 1.3. Hydra al contrario de MPD trata de usar procesado procesadores res alejados alejados al nodo maestro, maestro, tanto tanto para reducir la carga a este, como para tener mas n´ucleos ucleos activos y usar todos los periodos de clock para realizar los c alculos a´ lculos en todos los nucleos u´ cleos Hydra es eficiente cuando los procesos no son muy pesados y cuando se tiene una gran cantidad de datos. G.
Ambiente Ambiente de Progr Programaci´ amaci´ on Paralela Para poder ejecutar programas se necesita de un entorno, en nuestra investigaci´on on utilizamos dos diferentes. 1)
MPI
MPI MPI15 , es un est´andar andar de paso de mensajes que define la sintax sintaxis is y la sem´antica antica de las funciones funciones de una librer´ librer´ıa ıa en ´ ˜ un lengua lenguaje je en espec espec´ıfico ı fico,, en el cual cual se dise dise˜nan nan programas programas que explo explotan tan a los multip multiproc rocesa esador dores es o bien bien a un sistem sistemaa multin ucleo. u´ cleo. MPI tiene soporte para C, C++, C#, Fortran, Ada, Python, OCaml, Java y c´odigo odigo ensamblador.
•
Bucle PARFOR: p a rf r f o r i = 1 :8 :8 A( i ) = i ; en d
1 2 3
Salida del procesador 1: Salida del procesador 2: Salida del procesador 3: Salida del procesador 4:
1, 2 3, 4 5, 6 7, 8
En este este caso caso tomand tomando o en cuenta cuenta que cada cada proces procesado adorr realiza 2 procesos y que cada proceso toma 10 µs el tiempo total es de: 10µs × 2 = 20µs Claramente en el ejemplo anterior se nota que el tiempo se reduce a 41 utilizando 4 n ucleos u´ cleos que solamente usando 1 n ucleo. u´ cleo. Y como este ejemplo existen muchos otros pero este tema sera tratado en los siguientes cap´ıtulos. ıtulos. V. A.
RESULTADOS
Benchmark HPC T e s t − − − − − − − − − − − − − − Q u an a n t it i t y o f p r o c e s s or or s = 4 C al a l ccu u lt l t aaii on on t i m e = 1.10 seconds C lu l u st s t eerr s p e e d = 1 6 3 6 MFLOPS
−
− − − − − − − − − − − − − − − − − − − −
Clu ste r Clu ste r Clu ste r Clu ste r
n o de de n o de de n o de de n o de de
N00 N01 N02 N03
speed speed speed speed
= = = =
4 09 09 4 09 09 4 09 09 4 09 09
M FL FLOPS M FL FLOPS M FL FLOPS M FL FLOPS
2) Octa Octave ve − − − − − − − − − − − − − − − − − − − − GNU Octave es un software libre enfocado a los c´alculos matem´ matematic a´ ticos os.. Es el equi equiva vale lent ntee al soft softwa ware re priv privat atiivo de Mathworks MATLAB. Este software ejecuta scripts que Los resultados anteriores indican claramente que el numero de sean compatibles con MATLAB , es decir que es compatible operaciones de punto flotante por segundo que puede realizar 6 con archi archivo voss de exten extensi´ si´on on .m, es un lenguaje lenguaje interpretado interpretado.. el cluster es de 1636 × 10 , esto es 4 veces mayor al numero de Actual Actualme mente nte octav octavee tiene tiene mucha muchass funcio funciones nes nativ nativas as para para operaciones de un simple nodo. el procesam procesamient iento o paralelo paralelo,, entre entre algunas algunas se puede nombrar B. C alculo ´ ´ de Pi basicam a´ sicament entee es un bucle bucle f or pero pero que utiliz utilizaa vario varioss parf or, q u e b´ El prim primeer caso caso de estu estudi dio o es el c´alcul lculo o de pi con con procesadores para realizar la ejecuci on. o´ n. Un ejemplo practico a´ ctico es programaci´ programacion o´ n para parale lela la.. Pi es una una raz razon. o´ n. Es la resp respue uest staa a el siguiente: la pregunta: pregunta: ¿como se relaciona relaciona la distancia distancia a trav trav es e´ s de un • Bucle FOR: circulo (el di ametro a´ metro con la distancia a su alrededor)?. Durante milenios se ha sabido que las dos medidas de un c ´ırculo ırculo est an a´ n f o r i = 1 :8 :8 1 relacionadas. El reto estaba en descubrir como. Pi es irracional. 2 A( i ) = i ; 3 en d Su valo valorr se pare parece ce a 22/7 22/7,, pero pero como como ocur ocurre re con con todo todoss los numeros umer ´ os irraciona irracionales, les, ninguna ninguna fracci fracci on o´ n puede describir describirlo lo Salida del procesador: 1, 2, 2, 3, 4, 5, 5, 6, 7, 8 perfectamente, y la expresi on o´ n decimal continuar a´ para siempre sin repetici repeticione ones. s. Luego, Luego, como Phi, Phi, y e, pi es una constant constantee natural que es imposible conocer completamente. Eso no ha
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Figura 10: C´ Calculo a´ lculo de Pi por el m´ metodo e´ todo Monte-Carlo
Supongamo Supongamoss que los dardos dardos se reparten reparten uniforme uniformement mente, e, entonce la probabilidad de que un dardo caiga en el cuadrante del circulo es: ´ Area del cuadrante P = Area del cuadrado
P =
π 4
Si lanzamos N dardos sobre el cuadrado, y sea M el n umero u´ mero de dardos que caen en el cuadrante. La frecuencia relativa de ca ´ıda ıda M π en el cuadrante N , ser´ sera´ aproximadamente igual a 4 . Por tanto:
π =
4 × M N
Se util utiliz iz´o´ este algoritmo en dife difere rent ntes es ambi ambien ente tes. s. El balanceador de trabajos que se utiliz´o es OpenMPD, este evita el retardo que pueda provocarse en la red del cluster; lo que hace hace es envia enviarr trabaj trabajos os a los nodos nodos m as a´ s lejano lejanoss siempr siempree y cuando los m´ mas a´ s cercanos est en e´ n ocupados. Es decir que si el nodo maestro se configur o´ para trabajar en conjunto con el cluster y definimos dos procesos, tomando en cuenta que cada nodo tiene dos procesadores, el trabajo se realizara solo en el nodo maestro. maestro. Si definimos definimos tres procesos, procesos, el balancead balanceador or verifica verifica que dos de los procesos ser an a´ n realizados en el nodo maestro y enviara el proceso sobrante al nodo m as a´ s cercano al maestro. Con Con ello ello se pued puedee afirm afirmar ar que que solo solo cuan cuando do se defin definan an siet sietee o m´as as procesos es que las cuatro computadoras del cluster trabajaran en conjunto. Por ello es que este administrador es muy recomendable cuando se utiliza una infraestructura tipo Beowulf. El otro ambiente o condici´on on es cuando se define que el nodo maestro no trabaje en conjunto con el cluster. Esto tiene un gran efecto como se verifica mas adelante, ya que al tener al nodo maestro solo como emisor de trabajos y receptor de resultados se gana un tiempo importante y el proceso se culmina en menor tiempo que cuando este trabaja. Por otra otra parte parte no es estric estrictam tament entee limita limitante nte el n umero u´ mero de procesos, aunque se tienen solamente 8 n ucleos u´ cleos de trabajo en total, se pueden asignar el n umero u´ mero de procesos que se desee a
Figura 11: Algoritmo para el c´ calculo a´ lculo de Pi
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
1)
Proces Procesamien amiento to con el maestr maestro o incluido incluido
PC
Proc Proces esos os
t1 [µs]
t2 [µs]
t3 [µs]
t4 [µs]
t5 [µs]
tpromedio [µs]
Error [×10−12 ]
1
1
6887
6932
6898
6909
6909
6907
8.333410
1
2
1205
1172
1099
1219
1202
1179,4
8.333387
2
3
215
249
284
168
189
221
8.333387
2
4
252
209
244
209
256
234
8.333307
3
5
121
157
113
95
102
117.6
8.333298
3
6
95
118
124
96
97
106
8.333312
4
7
61
52
43
95
51
60.4
8.333312
4
8
62
67
71
66
52
63.6
8.333312
Cuadro 1: Tiempos para c´ calculo a´ lculo de Pi con nodo maestro
Figura 12: Diferencia de tiempo en 5 tomas
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Se puede notar una gran diferencia en los tiempos de c alculo. a´ lculo.
tmax = 6932µ 6932µs tmin = 43 43µ µs
(1 Proc Proces eso o / 1 PC) PC) (7 Proc Proces esos os / 4 PC) PC)
Incremento = Incremento = 161. 161.21 21X X 2)
Proces Procesamien amiento to sin sin el nodo nodo maestr maestro o
PC
Proc Proces esos os
t1 [µs]
t2 [µs]
t3 [µs]
t4 [µs]
t5 [µs]
tpromedio [µs]
Error [×10−12 ]
1
1
4899
4899
4888
4905
4911
4900.4
8.333410
1
2
1022
1157
1164
1187
1385
1183
8.333387
2
3
737
797
799
743
731
761.4
8.333387
2
4
296
272
254
270
234
265.2
8.333307
3
5
144
195
189
192
137
171.4
8.332980
3
6
147
198
110
135
110
140
8.333312
4
7
50
31
41
41
41
40.8
8.333307
4
8
27
38
32
29
26
30.2
8.333321
4
9
20
20
22
20
16
19.6
8.333325
4
10
16
22
20
16
22
19.2
8.333321
4
11
20
20
20
16
19
19
8.333319
4
12
15
13
10
17
13
13.6
8.333325
4
13
15
10
13
11
13
12.4
8.333334
4
14
14
13
15
14
13
13.8
8.333343
4
15
9
11
13
10
12
11
8.333343
4
16
11
11
8
11
10
10.2
8.333343
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Figura 14: Diferencia de tiempo en 5 tomas
Figura 15: Comparaci´on de tiempo con respecto a procesos y CPU’s
El aparente incremento de tiempo al usar el nodo maestro tiene una explicaci on. o´ n. Cuando el nodo maestro trabaja conjuntamente con el cluster, cluster, este realiza 3 trabajos de fondo. Primero env´ıa ıa los trabajos a cada nodo del cluster, cluster, despu ´es debe realizar la cantidad de trabajos que le son asignados como a cualquiera de los nodos esclavos, y por ´ultimo ultimo debe recibir los resultados de todos los dem´ demas a´ s nodos e ir sumando parcialmente hasta llegar al resultado final.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
C.
Estimador Estimador de Regre Regresi si´ on ´ Nadaraya-Watson El estimador de Nadaraya-Watson es uno de los mecanismos de Regresion o´ n no param´ parametrica e´ trica m´ mas a´ s prestigiosos. Usa un m etodo e´ todo Kernel de estimaci on o´ n de funciones de densidad. Un Kernel muy usual es la distribuci´on on Normal. Por ejemplo una N(0, 1). Al par´ parametro a´ metro h se le denomina ventana y, en realidad, modifica ´ de la Normal, si es esta la dispersion e´ sta la que act ua u´ a de Kernel. Es una forma forma origin original al de constr construir uir una estim estimaci aci o´ n de la variable dependiente “y” a partir de un valor de una variable independiente “x”, bas´andose andose exclusivamente en la posici´on on de los valores de la muestra que tenemos. Se trata de un mecanismo de construcci on ´ de la variable “y” ponderando los valores muestrales de esta variable seg un u´ n la distancia que haya desde el valor de “x” a los valores muestrales de la variabl variablee independi independiente ente.. La ponderaci´ ponderaci´on on se material materializa iza mediante el numerador del Kernel. Supongamos que este e´ ste sea la N(0, 1), entonces si el valor de “x” est a´ cerca de un valor muestral muestral de la variabl variablee independie independiente nte la resta resta ser a´ un valor pr´ proximo o´ ximo a cero y tendr a´ en la Normal un valor grande. Sin embargo, los valores alejados dar´an an restas grandes en valor absolu absoluto to y en la Normal Normal tendr tendr a´ un valor alor proximo o´ ximo a cero. cero. Observemos, pues, que el valor de “y” para esa “x” estar a´ muy influido por los valores muestrales cercanos.
Racine17 demuestr demuestraa que la paraleliz paralelizaci aci on o´ n MPI MPI pued puedee ser ser usada para acelerar el c´alculo alculo del estimador de regresi´on on del Kernel, por medio del c alculo a´ lculo de ajustes de porciones de la muestra muestra en diferente diferentess computad computadoras. oras. La figura figura 16 muestra el incremento en la velocidad de c alculo a´ lculo para problemas de econometr´ econometr´ıa ıa en un cluster de 12 computadoras. El incremen incremento to para k nodos nodos es el tiempo tiempo para finali finalizar zar el problema en un solo nodo dividido entre el tiempo para finalizar el problema en k nodos. Se obtiene un incremento de 10X. Como se aprecia en el gr afico, a´ fico, la regresi on ´ Kernel es la que incrementa la velocidad de c alculo, a´ lculo, seguida seguida por Montecarl Montecarlo, o, Bootstrap, MLE y GMM, en ese mismo orden. Este algoritmo es el que se uso para la investigaci on o´ n con el soporte del software Octave en tres diferentes condiciones. 1)
C alculo ´ ´ solo en el nodo maestro
Tiempo [s]
Datos
Procesos
1000
2000
5000
7000
10000
2
0,908
2,421
13,821
106,074
264,369
3
0,467
1,201
5,312
10,736
197,566
4
0,322
0,811
3,464
11,979
100,989
5
0,245
0, 0 ,605
2,606
5,135
45,85
6
0,203
0,51
2,266
4,711
32,678
7
0,176
0,421
1,922
3,995
31,808
8
0,157
0, 0 ,372
1,646
3,591
18,17
n
gˆ(x) =
yt K [x − xt /γ n ]
t=1
n
K [x − xt /γ n ]
t=1
n
gˆ(x) =
wt yn
t=1
Lo que vemos es que el peso depende de cada punto en la muestra. Para calcular el ajuste en cada punto de la muestra de datos de tama no n˜ o n , en el orden de n 2 k calculos a´ lculos realizados, donde k es la dimensi on o´ n del vector descriptivo de variables x.
Cuadro 3: Tiempos de c´alculo alculo utilizando solo el nodo maestro
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
2)
C alculo utilizando todo el cluster ´ ´
Tiempo [s]
3)
Datos
C alculo utilizando solo los nodos esclavos ´ ´
Tiempo [s]
Datos
Procesos
1000
2000
5000
7000
10000
Procesos
1000
2000
5000
7000
10000
2
0,889
2,292
10,585
23,027
15,38
2
0,08
0,119
0,286
0,643
1,038
3
0,461
1,156
2,087
10,2
45,155
3
0,042
0,059
0,133
0,213
0,636
4
0,317
0,769
3,313
6,648
22,571
4
0,041
0,041
0,09
0,318
0,626
5
0,24
0,588
2,482
4,873
11,082
5
0,034
0,043
0,067
0,119
0,48
6
0,19
0,473
2,069
4,263
8,149
6
0,02
0,028
0,064
0,109
0,411
7
0,169
0,391
1,716
3,704
10,501
7
0,028
0,025
0,051
0,097
0,388
8
0,146
0,349
1,507
3,045
8,486
8
0,025
0,031
0,063
0,092
0,563
Cuadro 4: Tiempos de c´alculo alculo utilizando todo el cluster
Cuadro 5: Tiempos de c´alculo alculo utilizando solo los nodos esclavos
Figura 18: Tiempos de c´ calculo a´ lculo utilizando todo el cluster
Figura 19: Tiempos de c´ calculo a´ lculo utilizando solo los nodos esclavos
tmax = 45 45..155s tmin = 0.146s
(3 Proces Proceso o / 10000 10000 Datos) Datos) (8 Proces Procesos os / 1000 1000 Datos) Datos)
tmax = 1.038s tmin = 0.02s
(2 Proces Proceso o / 10000 10000 Datos) Datos) (6 Proces Procesos os / 1000 1000 Datos) Datos)
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
VI.
CONCLUSIONES
Se comprob´ comprobo´ que el benchmarck del cluster es la suma algebraica de los benchmark de cada uno de los nodos que constituyen el cluster. cluster. • Se obtuvo un incremento muy grande en el tiempo de calculo a´ lculo en los program programas as con los que se realiz realizo o esta esta investigaci on. o´ n. • Se debe debe tene tenerr cuid cuidad ado o al defin definir ir si el nodo nodo maes maestr tro o trabajar´ trabajara´ en conjunto con el cluster, ya que de ser as´ as ´ı se producen dos tipos de resultados. ◦ Cuando el nodo maestro tambi en e´ n trabaja se producen cola colass en la red red y esto esto hace que el tiem tiempo po de tota totall se incr increm emen ente te ya que que el nodo nodo maes maestr tro o reci recibe be los los resultado resultadoss de los nodos nodos esclavo esclavoss solamente solamente despu es e´ s de acabar con su propio trabajo. Pero dado que los calculos a´ lculos se han realizado en una cantidad mayor de procesos se obtiene un error menor. ◦ Cuando el nodo maestro no trabaja con el cluster, solo se encar encarga ga de envia enviarr trabaj trabajos os y recibi recibirr result resultado ados, s, con lo que la red no se encuentra congestionada ya que cada nodo env´ env´ıa ıa sus resultados al maestro y este comienza a procesar procesarlos los inmediatame inmediatamente, nte, y se encuentra encuentra en la capacidad de enviar nuevamente trabajos a los nodos que hayan finalizado para que cada nodo del cluster se encuentre activo en todo momento. Dado que los calculos a´ lculos se realizan realizan en menor cantidad cantidad de procesos procesos se obtiene un error mayor, pero este error se puede subsanar enviando una mayor cantidad de paquetes a •
optimizado para correr en un ambiente paralelo termina en mucho menor tiempo que en un ambiente serial.
View more...
Comments