Mírate la web del proyecto openmosix [sourceforge.net] (en Inglés). Además si buscas por ahí hay un montón de manuales y referencias justamente a este sistema.
Si se puede montar Cluster en novell Con OES.
Oes no es mas el que SLES9 + el SP1 o el NW6.5 con Sp3.
Lo que han echo es cambiarle el nombre.
Se puede montar un Cluster con un nodo en Linux y otro en Netware, o dos en Linux.
viene todo docmentado en:
http://www.novell.com/es-es/documentation/
y mas comcretamente en:
http://www.novell.com/documentation/ncs_lx/index.h tml
por
pobrecito hablador
el Lunes, 06 Junio de 2005, 11:31h
(#520635)
Es privativo (por lo q ya estoy esperando a q alguien se me tire al cuello), pero el mejor de lo que he conocido hasta ahora. He estado una buena temporada trabajando con él y todo ha ido como la seda.
Supongo que de su web podrás bajarte alguna demo; el problema es luego convencer a la empresas de que paguen las licencias, q no son baratas precisamente.
1 respuesta por debajo de tu umbral de lectura actual.
por
pobrecito hablador
el Lunes, 06 Junio de 2005, 11:34h
(#520639)
Para hacer un balanceo de carga en Linux te recomiendo que uses el LVS (Linux Virtual Server) que consiste en disponer de una maquina frontal con una unica ip virtual que hace la funcion de router hacia las maquinas traseras que componen la granja de servidores. Es un sistema robusto (el mismo gestiona HW redundante), rapido y muy adaptable. El Piranha, que comentas, no es mas que un front-end de configuracion del LVS.
El LVS esta en la cluster suite de RH, pero se puede instalar en otras distros. Aqui te dejo la pagina web del proyecto.
http://www.linuxvirtualserver.org/
El tema de migracion de procesos entre servidores de un cluster es distinto, para ello tendras que recurrir a un beowulf.
Yo en estos momentos estoy jugando con linux-HA
( http://www.linux-ha.org )
Me he montado un cluster con dos pc's, y funciona de maravilla. ( dos PC's que comparten una IP,y una serie de servicios. En todo momento solo uno de ellos tiene los servicios levantados, conmutando automáticamente de uno a otro cuando el servidor activo se cae)
muy simple y eficiente. Además no depende de un repartidor de carga, que si se cae deja tieso al sistema.... :-)
.
-- Quosque tandem abutere Catilina Patientia nostra?
HA o High Avaliability (Alta Disponibilidad) no es un sistema de clustering o de reparto de carga, sino un 'parche' de redundancia para equipamiento crítico que deba disponer de altos uptimes.
Los tiempos de conmutación (y sincronización) de Linux-HA son buenos, pero bastante elevados, por lo que tampoco es algo que yo recomendaría a nivel profesional para servicios realmente críticos.
En resumen, que con HA, no tienes ni procesamiento distribuido, ni reparto de carga ni nada por el estilo.
Salvando las distancias es como comparar un RAID-1 basado en espejo (HA) con un RAID-0 basado en stripping (clustering). Una solución facilita la redundancia, la otra aumenta el rendimiento.
Siguiendo con el símil, lo normal es que un cluster venga siendo equivalente a un RAID0+1, con lo que disfrutarías tanto de redundancia como de aumento en la velocidad.
Veritas Cluster Server no es un servicio de cluster por definicion, ahora tenemos 300 cluster montados en netware 6 y se preve migrarlos a SLES9, por ahora el cluster con un nodo en linux y otro en netware van como al seda.
NCS lo puedes poner en cualquier distro de linux
por
pobrecito hablador
el Lunes, 06 Junio de 2005, 13:24h
(#520736)
Si que puedes usar gfs con slackware, nosotros lo usamos bajo debian.
Para clusteres de alta disponibilidad puedes usar, heartbeat, las maquinas se comunican entre ellas y si alguna cae otra toma su ip.
Otra opcion es usar LVS (Linux Virtual server), Tienes una maquina que se encarga de redirigir las peticiones a una ip, entre un pool de servidores, comprueba los servicios cada cierto tiempo y si uno de los servidores falla lo remueve del pool.
El gfs da un buen resultado en estos casos, ya que puedes usarlo para escribir simultaneamente en un mismo sistema de ficheros que comparta el pool de servidores para tener las mismas paginas web, acceso ftp, etc...
En cuanto a calculo, puedes usar algun cluster tipo beowulf, este se basa en librerias que implementan sistemas de mensajes entre las maquinas, tienes que programar usando estas librerias para que haya paralelizacion.
Otra solucion mas facil, pero con menos rendimiento, seria openmosix, que distribuye procesos (con carga baja de I/O) entre los diferentes nodos.
Siempre puedes hacer algo artesanal, como podria ser un bash script para ripear video, partiendo el video en varios trozos y usando claves rsa para el ssh, puedes mandar a procesar cada trozo de video a un nodo, cuando esten procesados todos los trozos los vuelves a juntar.
Respecto al tema de los clusters de alta disponibilidad (HA). Los que lo tengais montados y hagais uso de esta solución en entornos empresariales, ¿qué solución usais para el almacenamiento compartido? Ando buscando desde hace unos días algún array de discos SATA con 2 canales SCSI precisamente para este tema. ¿En vez de compartir discos sincronizais entre los nodos?
Yo estoy haciendo mi PFC basándome en Condor. Es un sistema de planificación de carga HTP (así que distribuye procesos, no sirve para programar un proceso para multiprocesador como MPI o PVM). Consta de varios procesos que se ejecutan como daemons y un conjunto de programas para acceder a ellos. Además tiene APIs para acceder a él vía SOAP o Perl. Tiene versión para Windows, Linux, MacOS X...
Además tiene otras características que sólo he visto en él, como checkpointing (puede parar la ejecución de un proceso y continuarlo en ese punto más tarde) y llamadas remotas (por ejemplo redirige un fopen al ordenador de envío). Estas características sólo se pueden utilizar si ha sido compilado con unas librerías propias.
No tiene problemas para enviar ficheros (incluso comprimidos) de entrada, así que puede disponer de ellos aunque no estén en un directorio compartido (Sun Grid Engine, similar, no puede).
He estado buscando bastante, y si lo que quieres es un sistema de distribución de procesos en una red de ordenadores, y que sea multiplataforma, es lo mejor. Leí algo sobre LVS pero no tenía tan buena pinta, y que yo sepa no había versiones más que para Linux.
en tux.cl, en la sección de articulos hay toda una sección de clustering con un howto de openmosix y uno de bewluf, eso sí, lo que me interes saber es como funcionan las tarjetas de vídeo en los clusters mosix, ¿es posible que quede como un sistema doble monitor?¿o para eso tienen que estar las dos targetas de vídeo en el mismo ordenador?
saludos desde Chile
1 respuesta por debajo de tu umbral de lectura actual.
Hace aproximadamente un par de años, uno de los integrantes del "core team" de la ASSL [assl-site.net] desarrolló su proyecto de final de carrera entorno a la implementación de Arquitecturas de Clustering de Alta Disponibilidad y Escalabilidad (ACADE) [assl-site.net]. El enlace te llevará al documento de la memoria en PDF, en el cual se explica detalladamente lo que debes hacer para implementar un cluster usando LVS (Linux Virtual Server) y HeartBeat para los nodos de respaldo. Todo ello está implementado sobre Slackware, así que imagino que servirá para tu propósito.
De cualquier forma, imagino que tendrás en cuenta que Slackware no es diferente al resto de Linux en cuanto a aplicaciones se refiere. No se trata de explicar en un comentario las diferencias entre distribuciones ya que hay documentación de sobras al respecto de este tema, pero las diferencias más básicas que puedes encontrar con respecto a otras distros hacen referencia al sistema de arranque, la jerarquía de directorios y el sistema de paquetes (que lo tiene, aunque gratuitamente suela decirse que no).
A todo esto me queda añadir, aunque sea a modo de aclaración o anécdota, que soy usuario fiel de Slackware desde su versión 96 (que data del mismo año), y que a día de hoy la uso en el 50% de mis máquinas. EL resto se lo reparten FreeBSD y Gentoo. Y también a modo de anécdota te comento que SuSE (creo que la mencionabas en la noticia original, no?) es un derivado de Slackware. Al menos así lo era en su comienzo, aunque actualmente se parece en 0 a ella heheh
En este momento me encuentro estudiando las especificaciones de OpenMP [openmp.org] que al parecer es una muy buena alternativa. Te recomiendo le heches un ojo a su FAQ [openmp.org] para que determines si es lo que necesitas.
;)
1 respuesta por debajo de tu umbral de lectura actual.
Depende mucho para qué lo quieras. Si lo que interesa es correr un programa un poco más deprisa que un único nodo se pueden probar parches en el núcleo como OpenMosix o soluciones de Terminal Server. Pero esto es la parte más pequeña del software
Para que una aplicación corra en más de un host tienes dos opciones, que el programa se crea que está en el mismo ordenador (aunque no en el mismo procesador) o que el programa sea consciente de las comunicaciones. Entre un caso y el otro hay bastantes diferencias tanto en el hardware como en el software.
No hay que perder de vista que tanto la aplicación como el cluster daben estar adaptados al tipo de paralelismo que queramos. El código debe ser consciente de ello. La mayoría de las aplicaciones en paralelo contienen las llamadas para la comunicación de procesos en el mismo código, con lo que no hay ninguna aplicación que se haga "paralela" por arte de magia. Ya podemos montar un cluster OpenMosix que funcione como la seda que como el programa no sepa de comunicaciones no va a migrar. Y ese migrado de procesos no tiene nada que ver si es entre procesadores o entre nodos.
Si es entre procesadores (máquinas SMP, Symmetric MultiProcessing) hay que usar algo parecido a OpenMP, que viene de serie con algunos buenos compiladores (intel, por ejemplo). OpenMosix hace creer al programa que cada nodo es en realidad otro procesador de la máquina SMP. Si es entre nodos sin emulación debes usar, o que el programa use, PVM o alguna implementación de MPI (LAM, MPICH, OpenMPI) y algún servidor de Terminal Server. De todos modos, y te lo digo por experiencia, hay un cluster para cada tipo de paralelización. No hay soluciones universales, y cuanto más versatilidad promete peor funciona.
Si quieres alguna recomendación para aprender rápido quema unos CDs de ClusterKnoppix y lo tendrás todo listo en cuestión de minutos (con un poquito de suerte). Para probar cómo migran de poco sirven los ejemplos que te dan, están preparados para que funcionen siempre. Prueba alguna versión paralela de codificadores de audio, así de paso tendrás más MP3 en tu archivo. También encontrarás mucha información en la página de OpenMosix, aunque te aviso que no es oro todo lo que reluce
por
pobrecito hablador
el Lunes, 06 Junio de 2005, 15:39h
(#520878)
Si lo que quieres es un cluster andando mas rapido que ahora, te recomiendo clusterknoppix (1cd) y CHAOS 1.5 (1cd) funciona de maravillas y puedes usar esas maquinas con windows (si nadie mas las esta usando claro :))
Puedes utilizar Kimberlite [missioncriticallinux.com]. Lo he usado sobre Debian con éxito. ¿Tienes el harware configurado? Para mi es la parte difícil.
Una variedad muy interesante de clusters son los SSI o Single System Image, es decir, todos los nodos del cluster se comportan como si fueran un único super ordenador con N procesadores corriendo un único sistema operativo. Ya se ha hablado de OpenMosix (http://openmosix.sourceforge.net). Hay dos soluciones muy buenas también, con distinto grado de madurez y características: Kerrighed (http://www.kerrighed.org) y OpenSSI (http://openssi.org). Esta última, la probé hace unos meses y me gustó bastante. Y para BSD tenemos DragonFly BSD (http://www.therfcc.org/dragonfly-bsd-171614.html) .
Se llaman clusters computacionales y los proyectos más famosos son Beowulf [beowulf.org] y Mosix [mosix.org]. El segundo subdivide a nivel de procesos y no necesitas adaptar la aplicación para correr sobre él, mientras que para el primero sí tienes que programar de una forma particular la aplicación.
Espero que te sirva como información para empezar a bichear.
por
pobrecito hablador
el Lunes, 06 Junio de 2005, 12:16h
(#520687)
"No necesariamente. En todo caso, necesitará un kernel que incorpore el parche de openmosix pero, de momento, sólo funciona con la serie 2.4 del kernel."
Yo le llamo parchear el kernel a "necesitar un kernel que incorpore el parche". En todo caso no es el kernel estandar, que eso es a lo que me referia.
"No necesitas ningún shell propio"
Me exprese mal, el om trae un wrapper para la shell, o usas ese wrapper (al que le llamo "shell propio") o lanzas cada proceso usando el lanzador de om...
"¿Y eso que es?"
Beowulf tiene unas librerias alternativas a las estandar de C, que son equivalentes pero pensadas para usar el cluster. Al compilar las aplicaciones que quieras usar con Beowulf tenes que usar estas libreria, que calculo que pude dar algun dolor de cabeza. Ademas, claro que si los algoritmos de las aplicaciones no son paralelizables no vas a ganar mucho mas que un balanceo a nivel de procesos.
Que paso que estas con ese mal humor? No me digas que KDE 3.4.1 sigue compilando! ;)
Una configuración de cuatro Power Mac G5 duales no sale mucho más barata que una mini-supercomputadora. En concreto, según el precio de Applestore, cuatro Power Mac G5 Duales 2,7 GHz cuestan:
4x2999 = 11996 ( dolares Usa ).
Una configuración mínima de 4 Blades Dual PowerPc 970 sale, según precios de la web de IBM, por:
4 Blades+ 4 disco = 4x ( 2250 + 350 ) = 10400
Chasis + Switch module = 2700 + 3000 = 5700
Total 16100 US$
La diferencia no es tan significativa. Además hay que tener en cuenta que en el primer caso no se cuenta ni el switch ni, creo, las tarjetas. Además en el segundo caso el switch, aunque sea el más barato - el menos caro, mejor dicho - de los disponibles, está optimizado para la tarea a la que se le va a dedicar.
Aunque es posible que, en el ejemplo al que haces referencia, los cuatro Power Mac ya existían en el centro, o se los trajeron de casa algunos de los estudiantes.
Hacerlo sobre slackware
(Puntos:1, Divertido)Hummmm... slackware creo que no es apto para tareas corporales ;-)
Openmosix
(Puntos:3, Informativo)( http://www.openbsd.org/faq/pf/ )
València en bici [valenciaenbici.org]
Cluster en Novell
(Puntos:4, Informativo)Veritas Cluster Server
(Puntos:2, Informativo)Supongo que de su web podrás bajarte alguna demo; el problema es luego convencer a la empresas de que paguen las licencias, q no son baratas precisamente.
LVS
(Puntos:4, Informativo)Hay un libro
(Puntos:3, Interesante)( http://www.latierraesplana.com/ )
Linux-HA
(Puntos:5, Informativo)( http://barrapunto.com/ )
( http://www.linux-ha.org )
Me he montado un cluster con dos pc's, y funciona de maravilla. ( dos PC's que comparten una IP,y una serie de servicios. En todo momento solo uno de ellos tiene los servicios levantados, conmutando automáticamente de uno a otro cuando el servidor activo se cae)
muy simple y eficiente. Además no depende de un repartidor de carga, que si se cae deja tieso al sistema.... :-)
.
Quosque tandem abutere Catilina Patientia nostra?
Re:Linux-HA
(Puntos:4, Informativo)Los tiempos de conmutación (y sincronización) de Linux-HA son buenos, pero bastante elevados, por lo que tampoco es algo que yo recomendaría a nivel profesional para servicios realmente críticos.
En resumen, que con HA, no tienes ni procesamiento distribuido, ni reparto de carga ni nada por el estilo.
Salvando las distancias es como comparar un RAID-1 basado en espejo (HA) con un RAID-0 basado en stripping (clustering). Una solución facilita la redundancia, la otra aumenta el rendimiento.
Siguiendo con el símil, lo normal es que un cluster venga siendo equivalente a un RAID0+1, con lo que disfrutarías tanto de redundancia como de aumento en la velocidad.
NCS
(Puntos:1)Clusters bajo Linux
(Puntos:1, Informativo)Para clusteres de alta disponibilidad puedes usar, heartbeat, las maquinas se comunican entre ellas y si alguna cae otra toma su ip.
Otra opcion es usar LVS (Linux Virtual server), Tienes una maquina que se encarga de redirigir las peticiones a una ip, entre un pool de servidores, comprueba los servicios cada cierto tiempo y si uno de los servidores falla lo remueve del pool.
El gfs da un buen resultado en estos casos, ya que puedes usarlo para escribir simultaneamente en un mismo sistema de ficheros que comparta el pool de servidores para tener las mismas paginas web, acceso ftp, etc...
En cuanto a calculo, puedes usar algun cluster tipo beowulf, este se basa en librerias que implementan sistemas de mensajes entre las maquinas, tienes que programar usando estas librerias para que haya paralelizacion.
Otra solucion mas facil, pero con menos rendimiento, seria openmosix, que distribuye procesos (con carga baja de I/O) entre los diferentes nodos.
Siempre puedes hacer algo artesanal, como podria ser un bash script para ripear video, partiendo el video en varios trozos y usando claves rsa para el ssh, puedes mandar a procesar cada trozo de video a un nodo, cuando esten procesados todos los trozos los vuelves a juntar.
Espero que te sirva de algo.
Almacenamiento compartido
(Puntos:1)( http://futur3.com )
Condor
(Puntos:1)( http://iiso.blogspot.com/ )
Yo estoy haciendo mi PFC basándome en Condor. Es un sistema de planificación de carga HTP (así que distribuye procesos, no sirve para programar un proceso para multiprocesador como MPI o PVM). Consta de varios procesos que se ejecutan como daemons y un conjunto de programas para acceder a ellos. Además tiene APIs para acceder a él vía SOAP o Perl. Tiene versión para Windows, Linux, MacOS X...
Además tiene otras características que sólo he visto en él, como checkpointing (puede parar la ejecución de un proceso y continuarlo en ese punto más tarde) y llamadas remotas (por ejemplo redirige un fopen al ordenador de envío). Estas características sólo se pueden utilizar si ha sido compilado con unas librerías propias.
No tiene problemas para enviar ficheros (incluso comprimidos) de entrada, así que puede disponer de ellos aunque no estén en un directorio compartido (Sun Grid Engine, similar, no puede).
He estado buscando bastante, y si lo que quieres es un sistema de distribución de procesos en una red de ordenadores, y que sea multiplataforma, es lo mejor. Leí algo sobre LVS pero no tenía tan buena pinta, y que yo sepa no había versiones más que para Linux.
Para más información, la web oficial es http://www.cs.wisc.edu/condor/ [wisc.edu]
PD: no es open source, pero la licencia [wisc.edu] parece bastante permisiva. No es un producto comercial ni similar.
-- Ideas + Ingeniería del Software [blogspot.com]
Hispacluster
(Puntos:3, Informativo)( Última bitácora: Jueves, 09 Junio de 2005, 12:57h )
Echa un vistazo a Hispacluster [hispacluster.org]. No tiene mucho movimiento, pero está todo en español.
howtos
(Puntos:1)( http://phrodo00.openfrogs.com/ )
SLES 9
(Puntos:1)Arranca Yast --> Sistema --> High Availability.
Esto utiliza heartbeat.
Ahora solo te queda utilizar tu buscador favorito, montones de horas y paciencia.
Saludos
chen
Clusters en Slackware
(Puntos:2)( http://www.ivanhq.net/ )
Hace aproximadamente un par de años, uno de los integrantes del "core team" de la ASSL [assl-site.net] desarrolló su proyecto de final de carrera entorno a la implementación de Arquitecturas de Clustering de Alta Disponibilidad y Escalabilidad (ACADE) [assl-site.net]. El enlace te llevará al documento de la memoria en PDF, en el cual se explica detalladamente lo que debes hacer para implementar un cluster usando LVS (Linux Virtual Server) y HeartBeat para los nodos de respaldo. Todo ello está implementado sobre Slackware, así que imagino que servirá para tu propósito.
De cualquier forma, imagino que tendrás en cuenta que Slackware no es diferente al resto de Linux en cuanto a aplicaciones se refiere. No se trata de explicar en un comentario las diferencias entre distribuciones ya que hay documentación de sobras al respecto de este tema, pero las diferencias más básicas que puedes encontrar con respecto a otras distros hacen referencia al sistema de arranque, la jerarquía de directorios y el sistema de paquetes (que lo tiene, aunque gratuitamente suela decirse que no).
A todo esto me queda añadir, aunque sea a modo de aclaración o anécdota, que soy usuario fiel de Slackware desde su versión 96 (que data del mismo año), y que a día de hoy la uso en el 50% de mis máquinas. EL resto se lo reparten FreeBSD y Gentoo. Y también a modo de anécdota te comento que SuSE (creo que la mencionabas en la noticia original, no?) es un derivado de Slackware. Al menos así lo era en su comienzo, aunque actualmente se parece en 0 a ella heheh
Salu2
ttyp0
----
ivanhq.net - ivan@ivanhq.net
Otra alternativa
(Puntos:2);)
Pues para hacer un cluster...
(Puntos:1)( http://torroja.dmt.upm.es/guillem/blog )
Depende mucho para qué lo quieras. Si lo que interesa es correr un programa un poco más deprisa que un único nodo se pueden probar parches en el núcleo como OpenMosix o soluciones de Terminal Server. Pero esto es la parte más pequeña del software
Para que una aplicación corra en más de un host tienes dos opciones, que el programa se crea que está en el mismo ordenador (aunque no en el mismo procesador) o que el programa sea consciente de las comunicaciones. Entre un caso y el otro hay bastantes diferencias tanto en el hardware como en el software.
No hay que perder de vista que tanto la aplicación como el cluster daben estar adaptados al tipo de paralelismo que queramos. El código debe ser consciente de ello. La mayoría de las aplicaciones en paralelo contienen las llamadas para la comunicación de procesos en el mismo código, con lo que no hay ninguna aplicación que se haga "paralela" por arte de magia. Ya podemos montar un cluster OpenMosix que funcione como la seda que como el programa no sepa de comunicaciones no va a migrar. Y ese migrado de procesos no tiene nada que ver si es entre procesadores o entre nodos.
Si es entre procesadores (máquinas SMP, Symmetric MultiProcessing) hay que usar algo parecido a OpenMP, que viene de serie con algunos buenos compiladores (intel, por ejemplo). OpenMosix hace creer al programa que cada nodo es en realidad otro procesador de la máquina SMP. Si es entre nodos sin emulación debes usar, o que el programa use, PVM o alguna implementación de MPI (LAM, MPICH, OpenMPI) y algún servidor de Terminal Server. De todos modos, y te lo digo por experiencia, hay un cluster para cada tipo de paralelización. No hay soluciones universales, y cuanto más versatilidad promete peor funciona.
Si quieres alguna recomendación para aprender rápido quema unos CDs de ClusterKnoppix y lo tendrás todo listo en cuestión de minutos (con un poquito de suerte). Para probar cómo migran de poco sirven los ejemplos que te dan, están preparados para que funcionen siempre. Prueba alguna versión paralela de codificadores de audio, así de paso tendrás más MP3 en tu archivo. También encontrarás mucha información en la página de OpenMosix, aunque te aviso que no es oro todo lo que reluce
OPenMosix
(Puntos:1, Informativo)Kimberlite
(Puntos:1)Clusters SSI
(Puntos:1)Re:Ya que estamos...
(Puntos:3, Informativo)( http://barrapunto.com/~Rosita%20fraguel/bitacora | Última bitácora: Domingo, 09 Octubre de 2005, 17:43h )
Se llaman clusters computacionales y los proyectos más famosos son Beowulf [beowulf.org] y Mosix [mosix.org]. El segundo subdivide a nivel de procesos y no necesitas adaptar la aplicación para correr sobre él, mientras que para el primero sí tienes que programar de una forma particular la aplicación.
Espero que te sirva como información para empezar a bichear.
Más Rosita Fraguel [blogspot.com]
Re:Varias Opciones
(Puntos:1, Interesante)Re:"clusters" con 4 Power Mac G5 duales y Linux...
(Puntos:3, Inspirado)( http://barrapunto.com/ | Última bitácora: Lunes, 24 Febrero de 2014, 10:03h )
un cluster de 10 bichos de esos va a dejar tirado esta chorrada pa principiantes ;)
Dale fuego a un hombre y estara caliente un dia, prendele fuego y estara caliente el resto de su vida.
Re:"clusters" con 4 Power Mac G5 duales y Linux...
(Puntos:2)( http://barrapunto.com/ )
4x2999 = 11996 ( dolares Usa ).
Una configuración mínima de 4 Blades Dual PowerPc 970 sale, según precios de la web de IBM, por:
4 Blades+ 4 disco = 4x ( 2250 + 350 ) = 10400
Chasis + Switch module = 2700 + 3000 = 5700
Total 16100 US$
La diferencia no es tan significativa. Además hay que tener en cuenta que en el primer caso no se cuenta ni el switch ni, creo, las tarjetas. Además en el segundo caso el switch, aunque sea el más barato - el menos caro, mejor dicho - de los disponibles, está optimizado para la tarea a la que se le va a dedicar.
Aunque es posible que, en el ejemplo al que haces referencia, los cuatro Power Mac ya existían en el centro, o se los trajeron de casa algunos de los estudiantes.
Haz el amor y no la guerra.