InicioInfoComo construir tu propia Supercomputadora

Como construir tu propia Supercomputadora

Info9/6/2015
¿Por qué pagar $ 10 millones para un superordenador que este artículo le puede mostrar cómo construir su propio clúster superordenador con sólo un puñado de Windows / Linux PC de ... Titanic de James Cameron (la película) equipo de efectos especiales no se podía permitir una supercomputadora para hacer la representación crítica, y nada menos tomaría demasiado tiempo. Como todos los animadores de alta gama y casas de efectos especiales, el equipo de Titanic tenía un montón de estaciones de trabajo SGI Indigo (así como un montón de nuevas estaciones de trabajo de Windows NT para los puestos de trabajo de gama baja), pero Titanic romance y tragedia fue mucho más exigente que la mayoría proyectos. Se requiere un mayor grado de realismo que la épica de ciencia ficción típica, y el realismo es caro. Representación de las escenas de agua era obviamente un trabajo para un superordenador, pero con Titanic ya muy por encima del presupuesto, una computadora $ 10 millones no era realista. El problema de rendimiento se resolvió mediante el ensamblaje de un conjunto de equipos basados en DEC Alpha en un cluster Linux, un superordenador instante en una pequeña fracción del costo, que produjo un gran número de efectos visuales extraordinariamente difíciles para esta película exigente. En este artículo, aunque un poco fuera de tema, voy a discutir cómo construir un superordenador Linux o Windows genérico con el concepto de computación en clúster. Usted se enterará de lo fácil que es construir una supercomputadora con clusters Linux. En este artículo vamos a limitar nuestra discusión a la construcción de clusters Linux y Windows para obtener superordenador poder computacional. Está fuera del alcance de este artículo para discutir cómo resolver cualquier problema algorítmico intensivas de cálculo y la forma de codificar los algoritmos para la arquitectura de cluster. Definiciones y Beneficios de la agrupación en Clúster Greg Pfister, en su maravilloso libro En busca de Clusters, define un clúster como "un tipo de sistema paralelo o distribuido que: consiste en una colección de equipos enteros interconectados, y se utiliza como un único recurso informático unificado". Por lo tanto, un cluster es un grupo de ordenadores unidos en un fondo de recursos comunes. Una tarea determinada se puede ejecutar en todos los equipos o en cualquier equipo específico en el cluster. Vamos a mirar en los beneficios de la agrupación: Aplicaciones científicas: Empresas que ejecutan aplicaciones científicas sobre supercomputadoras pueden beneficiarse de la migración a un grupo más rentable Linux. Los grandes proveedores de Internet y las empresas de comercio electrónico con una gran base de datos: los proveedores de servicios de Internet o sitios web de comercio electrónico que requieren alta disponibilidad y balanceo de carga y escalabilidad. Gráficos de renderizado y animación: Un cluster Linux se ha convertido en importante en la industria del cine para renderizar gráficos de calidad. En la película Titanic, se usó un cluster Linux para hacer que el fondo en las escenas del océano. El mismo concepto fue utilizado en las películas True Lies y Entrevista con el vampiro. También podemos caracterizar grupos por su función: Distribuido clúster de procesamiento: Tareas (pequeña pieza de código ejecutable) se descompone y se trabajó por muchos sistemas pequeños en lugar de un gran sistema, a menudo desplegado para una tarea previamente manejados por supercomputadoras. Este tipo de clúster es muy adecuado para el análisis científico o financiero. Grupos Fail-over : Clusters se utilizan para aumentar la disponibilidad y capacidad de servicio de los servicios de red. Cuando una aplicación o servidor falla, sus servicios se migran a otro sistema. La identidad del sistema fallido también se migra. Servidores de conmutación por error se utilizan para servidores de bases, servidores de correo o servidores de archivos: Alta disponibilidad racimos de balanceo de carga: Una aplicación dada puede ejecutar en todos los equipos y un ordenador determinado puede alojar múltiples aplicaciones. El "mundo exterior" interactúa con el clúster y equipos individuales son "oculto". Es compatible con grandes piscinas de racimo y las aplicaciones no necesitan ser especializado. Alta disponibilidad agrupación funciona mejor con la aplicación sin estado y de las que se pueden ejecutar al mismo tiempo: Creando Clusters de Windows Hardware; Antes de empezar, usted debe tener el siguiente hardware y software: Al menos dos ordenadores con Windows XP, Windows NT, Windows 2000 Service Pack 6 o en red con algún tipo de equipos LAN (concentrador, conmutador, etc.). Asegúrese de Windows durante la fase de establecimiento de que TCP / IP, y NetBUI están instalados, y que la red se inicia con todas las tarjetas de red detectadas y los controladores correctos instalados. Vamos a llamar a estos dos equipos de un clúster de Windows. Ahora se necesita algún tipo de software que le ayudará a desarrollar, implementar y ejecutar aplicaciones sobre este grupo. Este software es el núcleo de lo que hace un clúster de Windows es posible. Software: La interfaz de paso de mensajes (MPI) es un estándar en evolución de facto para apoyar la computación en clúster basado en paso de mensajes. Existen varias implementaciones de esta norma. En este artículo, vamos a utilizar mpich2, que está disponible gratuitamente y se puede descargar desde aquí para el agrupamiento de Windows, y encontrar documentación relacionada aquí. Lea el PDF antes de iniciar los pasos siguientes. Paso 1: Descargar y descomprimir mpich2 en cualquier carpeta y compartir esta carpeta con permisos de escritura. Paso 2: Copia todos los archivos con la extensión .dll desde C: MPICH2 lib a la carpeta C: system32 Windows . Paso 3: Instalar el Servicio de Cluster Manager en cada host que desea utilizar para la ejecución remota de procesos MPI. Para la instalación, puesta en rcluma-install.bat (ubicado en el directorio C: MPICH2 bin) haciendo doble clic en la red local o en coche. Debe tener derechos de administrador en los anfitriones para instalar este servicio. Paso 4: Siga el paso 1 y 2 para cada nodo del clúster (vamos a nombrar a cada equipo del clúster como nodo). Paso 5: Ahora Start RexecShell (desde la carpeta C: MPICH2 bin) haciendo doble clic en él: Abra el diálogo de configuración pulsando F2. La distribución contiene un ejemplo precompilado programa MPI cpi.exe llamado (ubicado en MPICH2 / bin). Elija como el programa real. Asegúrese de que cada huésped puede alcanzar cpi.exe en la ruta especificada. Elija ch_wsock como el plug-in activo. Seleccione los hosts para calcular sucesivamente. En "Cuenta" en la pestaña, introduzca su nombre de usuario, dominio y contraseña, que tiene que ser válida en cada host elegido. Pulse OK para confirmar su selección. El botón de inicio (de la ventana RexecShell) está activado y se puede presionar para empezar cpi.exe en todos los hosts seleccionados. La salida se mostrará en ventanas separadas. Felicitaciones - su computadora (clúster de Windows) está listo para ejecutar programas MPI! La Construccion de un Cluster Linux Los Clusters para Linux son generalmente más comúnes, robusta, eficiente y rentable que los clústeres de Windows. Ahora vamos a ver los pasos a seguir en la construcción de un cluster Linux. Para obtener más información, visite: http://www.linuxclustersinstitute.org/ Paso 1 Instalar una distribución de Linux (estoy usando Red Hat 7.1 y trabajar con dos cajas de Linux) en cada equipo en el clúster. Durante el proceso de instalación, asigne nombres de host y, por supuesto, las direcciones IP únicas para cada nodo en el clúster. Por lo general, un nodo es designado como el nodo principal (donde controlarás el clúster, escribir y ejecutar programas, etc.) con todos los demás nodos utilizados como esclavos computacionales. Nombramos uno de nuestros nodos como maestro y el otro como esclavo. Nuestro grupo es privado, lo que en teoría podríamos asignar cualquier dirección IP válida para nuestros nodos, siempre y cuando cada uno tiene un valor único. He utilizado 192.168.0.190 dirección IP para el nodo maestro y 192.168.0.191 para el nodo esclavo. Si ya ha instalado Linux en cada nodo del clúster, entonces usted no tiene que hacer cambios en sus direcciones IP o nombres de host a menos que desee. Los cambios (si es necesario) se pueden hacer usando el programa de configuración de la red Linuxconf en Red Hat. Por último, crear cuentas de usuario idénticas en cada nodo. En nuestro caso, vamos a crear el DevArticle usuario en cada nodo de nuestra agrupación. Puede crear las cuentas de usuario idénticas durante la instalación, o puede utilizar el comando adduser como root. Paso 2 Ahora tenemos que configurar rsh en cada nodo en nuestra agrupación. Crear .rhosts archivos en los directorios de usuario y de la raíz. Nuestros archivos .rhosts para los usuarios DevArticle son los siguientes: Master DevArticle Slave DevArticle Por otra parte, los archivos .rhosts para los usuarios de tipo root son como sigue: Master root Slave root A continuación, se crea un archivo de hosts en el directorio / etc. A continuación se muestra nuestro archivo hosts para Master (el nodo maestro): 192.168.0.190 Master.home.net Master 127.0.0.1 localhost 192.168.0.191 Slave Paso 3 No quite la línea localhost 127.0.0.1. Los archivos hosts.allow en cada nodo se modificó mediante la adición de ALL + como la única línea en el archivo. Esto permite a cualquier persona en cualquier nodo de permiso para conectarse a cualquier otro nodo en nuestro grupo privado. Para permitir que los usuarios root para usar rsh, tuve que añadir las siguientes líneas al archivo / etc / securetty: rsh, rlogin, rexec, pts/0, pts/1. Y modifica el archivo /etc/pam.d/rsh; #%PAM-1.0 # For root login to succeed here with pam_securetty, "rsh" must be # listed in /etc/securetty. auth sufficient /lib/security/pam_nologin.so auth optional /lib/security/pam_securetty.so auth sufficient /lib/security/pam_env.so auth sufficient /lib/security/pam_rhosts_auth.so account sufficient /lib/security/pam_stack.so service=system-auth session sufficient /lib/security/pam_stack.so service=system-auth Etapa 4 Rsh, rlogin, Telnet y rexec son discapacitados en Red Hat 7.1 por defecto. Para cambiar esto, yo navegué al directorio /etc/xinetd.directory y modificar cada uno de los archivos de comando (rsh, rlogin, telnet y rexec), cambiando el = yes Línea de discapacitados a discapacitados = no. Una vez que se hicieron los cambios para cada archivo (y salvos), cerré el editor y emitió el siguiente comando; xinetd –restart -- to enable rsh, rlogin, etc. Paso 5 A continuación, descargar la última versión de MPICH (UNIX todos los sabores) para el nodo principal de aquí. Descomprima el archivo, ya sea en el directorio de usuario común (el usuario idéntica que estableció para todos los nodos "DevArticle" en nuestro cluster) o en el directorio raíz (si desea ejecutar el clúster como root). Emita el siguiente comando: tar zxfv mpich.tar.gz Cambiar al nuevo directorio; mpich-1.2.2.3 directory. Type ./configure, y cuando la configuración es completa y tiene un símbolo del sistema, escriba make. El make tarda unos minutos, dependiendo en la capacidad de la computadora, una vez que termina añade los directorios; mpich-1.2.2.3/bin y mpich-1.2.2.3/util hacia tu perfil PATH en .bash o como lo establece su declaración de entorno de la ruta. Los caminos de superusuario para la papelera de MPICH y directorios util en nuestro nodo maestro son /root/mpich-1.2.2.3/util y /root/mpich-1.2.2.3/bin. Para el usuario DevArticle en nuestro clúster, / root se sustituye por / home / DevArticle en los estados de ruta. Salir y luego inicie sesión para permitir que el PATH modificado que contiene los directorios MPICH. Paso 6 A continuación, hacer que todos los archivos de ejemplo y los MPE archivos gráficos. En primer lugar, vaya a la mpich-1.2.2.3 / examples / directorio básica y tipo cosméticos a hacer todos los archivos básicos de ejemplo. Cuando este proceso haya terminado, puede ser que también vaya al directorio contrib mpich-1.2.2.3 / emp / y hacer algunos archivos MPE ejemplo adicionales, especialmente si desea ver gráficos. Dentro del directorio emp / contrib, debería ver varios subdirectorios. El que vamos a estar interesado es en el directorio de Mandel. Cambie al directorio Mandel y Tipo Marca para crear el archivo exec pmandel. Ahora está listo para probar el clúster. Testeando el Cluster Linux El primer programa que se ejecutará es cpilog. Desde dentro del directorio de ejemplos básica mpich-.2.2.3 / /, copie el archivo exec cpilog (si este archivo no está presente, utilice tomar comando de nuevo) a su directorio de nivel superior. En nuestro grupo, esto es, ya sea / root (si está conectado como root) o / home / DevArticle, si está conectado como DevArticle (hemos instalado MPICH ambos lugares). A continuación, desde el directorio superior, rcp el archivo cpilog a cada nodo del clúster, colocar el archivo en el directorio correspondiente en cada nodo. Por ejemplo, si estoy registrado como DevArticle en el nodo maestro, me expido Esclavo cpilog rcp: / home / DevArticle para copiar cpilog al directorio DevArticle en esclavo. Voy a hacer lo mismo para cada nodo (si hay más de dos nodos). Si quiero ejecutar un programa como root, entonces voy a copiar el archivo cpilog a los directorios raíz de todos los nodos del clúster. ENHORABUENA su computadora (cluster Linux) está listo para ejecutar programas MPI! Una vez que los archivos se han copiado, voy a escribir lo siguiente desde el directorio superior de mi nodo maestro para probar mi clúster: mpirun -np 1 cpilog Esto ejecutará el programa cpilog en el nodo maestro para ver si el programa funciona correctamente. Algunos programas MPI requieren por lo menos dos procesadores (-np 2), pero cpilog trabajarán con una sola. La salida es la siguiente: pi is approximately 3.1415926535899406, Error is 0.0000000000001474 Process 0 is running on Server.home.net wall clock time = 0.360909 Ahora a probar los dos nodos (o sin embargo muchos quieres probar) escribiendo: mpirun -np 2 cpilog y verá algo como esto: pi is approximately 3.1415926535899406, Error is 0.0000000000001474 Process 0 is running on Master.home.net Process 1 is running on Slave.home.net wall clock time = 0.0611228 El número que sigue el parámetro -np se corresponde con el número de procesadores (nodos) que desea utilizar en la gestión de su programa. Este número no puede superar el número de máquinas que figuran en el archivo machines.LINUX más uno (el nodo principal no aparece en el archivo machines.LINUX). Para ver algunos gráficos, debemos ejecutar el programa pmandel. Copie el archivo exec pmandel (del mpich-1.2.2.3 directorio / emp / contrib / Mandel) a su directorio de nivel superior y luego a cada nodo (como lo hizo para cpilog). Entonces, si X no está en ejecución, ejecutar un comando startx. Desde una consola de comandos, escriba xhost + para permitir que cualquier nodo para utilizar su pantalla X y, a continuación, establezca la variable DISPLAY de la siguiente manera: DISPLAY = Servidor: 0 (asegúrese de reemplazar Server con el nombre de host del nodo maestro). Ajuste la variable DISPLAY dirige toda la salida de gráficos para su nodo principal. Pmandel Ejecutar, escriba: mpirun -np 2 pmandel El programa pmandel requiere al menos dos procesadores para funcionar correctamente. Usted debe ver el conjunto de Mandelbrot dictada en su nodo principal. La adición de más procesadores (mpirun -np 10 pmandel) debería aumentar la velocidad de renderizado de forma espectacular. El gráfico mandelbrot set ha sido dividido en pequeños rectángulos para la prestación por los nodos individuales. En realidad se puede ver los nodos que trabajan como los rectángulos están llenos. Si un nodo es un poco lento, a continuación, los rectángulos de ese nodo será el último que rellenar. Es muy fascinante verlo.
Datos archivados del Taringa! original
19puntos
420visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
6visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

a
a-la-mierda4🇦🇷
Usuario
Puntos0
Posts20
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.