Placa dual
-
Primero decirte que ya se ha hablado de esto en otros post, por lo que si quieres mas informacion dirigete a ellos.
No se si lo que quieres es informacion de como funcionan o del rendimiento.
Comentarte que una placa dual necesitara dos procesadores iguales y a ser posible de la misma serie. No tiene sentid ouna placa dual para un usuario domestico, porque no sacaras rendimiento. Aunque tengas una placa con dos procesadores estos no rendiran sin el software adecuado, empezando por el SO (Linux, NT, W2000 o XP) y siguiendo por el resto de programas, ya que si estos no estan preparados para 2 procesadores solo usaran uno de ellos.
El rendimiento biene a ser del 75% mas que con un procesador (175%) pero dependera del software, eso si nunca te va a llegar al 200%.
Sobre el precio, decirte qu eson unas 3 veces mas caras que las 'normales' la K7D Master-L te puede salir por unos 340 Euros.
-
Puntualicemos sobre el incremento del rendimiento
W2K o WinXP = 130%
Linux = 150%
Sun = 180%Estas son aproximaciones de la ganancia del rendimiento, y siempre hablamos de maximos y suponiendo ke el programa con el que trabajamos soporma multiprocesador, sino el rendimiento SERA INFERIOR AL 100%
-
Mas que na es por que toi harto de que los ordenadores avancen de una manera vertiginosa y siempre que te compras unnni nuevo o lo actualizas se te queda corto en tres meses.
Ya me lo pensare mejor. Gracias de todos modos
-
Si es por eso es una tonteria, tirarias el dinero. Un sistema con mas de un procesador es para cuando los calculos que realiza no los puede realizar uno solo o necesitas muchas seguridad, si uno te falla tienes otros para responder.
Si vas a utilizarlo como servidor o como estacion de trabajo para graficos o similar puede serte util, para el Word, jugar y andar por casa, con lo que te ahorras te compras otro en 6 meses.
-
Tengo entendido que para utilizar los dos procesadores hace falta tener un S.O. k los aprobeche, pero eso de k los programas tambien lo esten me parece k no, ya k es el S.O. el que reparte la carga entre los procesadores, y nunca los programas.
-
A ver, es el compilador del programa el q tiene q decidir si va a trabajar con varios procesadores, para que reorganice el codigo ensamblador, luego el S.O. tiene q soportar multiprocesadores para distribuir la carga.
Si el programa no soporta multiprocesador, se ejecutara en uno, y el otro estara parado, sin embargo, si lanzas otra aplicacion "se supone" q el S.O. lo mandara al procesador que esta parado, para asi distribuir la carga, por lo tanto si te pones por ejemplo a pasar pelis a divx, puedes pasar dos a la vez, eso si, prepara HDD con un par de cojo…....
Mas o menos es la idea de los multiprocesadores, quien dice dos dice tres, o cuatro .........., muy dificil q se saque probecho al 100% de todos los procesadores.
-
Como te ha comentado Koton. que el sistema operativo soporte varios procesadores no te asegura un aumento de rendimiento.
Puede ser que el sistema operativo (no todos soportan balanceo de cargas), te lo permita pero puedes no aprovecharlo.
Ejemplo:
Imeginate que quieres pasar una pelicula y jugar al Quake al mismo tiempo, lo ideal seria que cada procesador se quedara con un proceso, sin embargo puede que le asigne los dos procesos al mismo procesador, porque en el otro se este ejucutando otra cosa, el SO, por ejemplo. Si esto ocurre y el sistema operativo no es capaz de distribuir la carga de cada proceso, tendras uno al 100% y el otro al 5%.
Para que un programa soporte dos procesadores necesita programarse con hilos en el caso de SOs basados en NT, ed este modo cada hilo es como un proceso independiente que se ejecuta en un procesador distinto. Esto tambien se puede usar en los ultimos micros de Intel que crean sobre un procesador real dos virtuales.
-
A ver, rompo una lanza por los sitemas duales de los que soy un forofo.
Sin contradecir ninguna de las respuestas anteriores que son básicamente correctas (aunque yo no he visto situaciones en que un SO multiprocesador no reparta la carga de trabajo sobre todos los procesadores disponibles) voy a dar algunas razones a favor para utilizar sistemas duales (partiendo del hecho de utilizar SO adecuado):
-SI eres dado a tener múltiples aplicaciones abiertas (aunque no aprovechen más un procesador): navegar a la vez que juegas o ves peliculas, escuchando música, quemando CDs, mpegeando pelis, ripeando/mptreando CD etc, compilando programas… un sistema multiprocesador es muchisimo más ágil que uno monoprocesador.
-SI eres un forofo de los desafios de la computación distribuida (RC5, OGR, cancer varios, genoma varios, ovnis varios) entonces SÍ que vera casi un 200% de rendimiento sobre lo que obtendrías con una máquina uniprocesador.
-SI eres forofo de algunos programas que si son capaces de exprimir un sistema multiprocesador: Photoshop, 3DMAX... notarás que los tiempos de espera decrecen considerablemente.
-http://forums.2cpu.com/showthread.php?threadid=12959 para más información (en inglés)
Es cierto que las placas son más caras, aunque las monoprocesador de calidad van cada vez más arriba, que hacen falta dos micros (je,je), que la memoria es más cara etc con lo que el sistema sale más caro pero esto de la informatica no deja de ser un hobby para la mayoría y siempre estará presente la duda eterna de si gastar mucho o poco ahora o dentro de un poquito.
Como resumen el eslogan del sitio web por excelencia (2cpu.com) ¡Porqué dos es mejor que una!
-
Estoy de acuerdo contigo, sin embargo, en los ejemplos que has puesto hay algunos con los que no conseguiras el maximo rendimiento.
Primero decirte que conseguir el 200% de rendimiento es imposible, ni tan siquiera el 180% diria yo. Date cuenta que si tienes dos procesadores el SO tiene que hacer el doble de trabajo, tiene que controlar la memoria de los procesos que tienes en dos procesadores, despachar procesos a mas procesadores, etc.
Segundo que los ejemplos que pones que obtienen mayor rendimiento son procesos de calculo intensivo, que es en lo unico que si ibas a notar un rendimiento mucho mayor, Si como comentas con una CPU estas grabando y con la otra estas ripeando, tendras un procesador para cada cosa, pero un solo bus, DMA y disco, o aun teniendo varios discos solo tienes un DMA con lo que el acceso a disco relentizaria todo el sistema. Por eso solo cuando se use mucho el procesador pero poco las E/S, obtendras un gran aumento de rendimiento.
-
Imaginate un PC monoprocesador, evidentemente el 100% de su potencia no esta disponible para ejecutar aplicaciones. Hay un porcentaje de la CPU que es utilizada por el SO para gestionar todo el cotarro existente en el PC. Si ejecutas el administrador de tareas en W2k o WNT verás que muy raramente el proceso inactivo del sistema, el que se indica la inactividad de la FPU de la CPU, baja del 98%. Por tanto podemos decir que disponemos más o menos de un máximo del 98% de la potencia del procesador para ejecutar las aplicaciones.
Ahora vayamos a un sistema con dos procesadores. El 2% del primer procesador se ocupa como antes de manejar todo el cotarro básico del PC que no varía mucho de antes ya que los periféricos son los mismos. Ahora hay que añadir el sobretrabajo de gestionar la multitarea/multiprocesador. Si consideramos ahora en que consisten las aplicaciones de cálculo distribuido veremos que se tratan de pequeñas rutinas muy optimizadas que sólo utilizan la CPU y pequeños accesos a memoria y disco duro para volcar/recoger datos muy de vez en cuando. En estos casos el trabajo de más por gestionar 2 CPUs es muy bajo y en mi experiencia diaría no he visto que sobrepase un 2% de la potencia de una CPU. Por tanto disponemos (simplificando un montón)de una CPU ocupada al 3-4% y otra disponible al 100%. Por tanto sí que podriamos casi alcanzar el techo teórico de duplicar el rendimiento de una CPU aislada.
Se trata evidentemente de un ejemplo a favor muy particular, en la mayoría de las situaciones y como tu bien señalas en tu respuesta, al tener diversas aplicaciones en ejecución se producen colisiones entre ellas al acceder a los mismos subsistemas del PC (memoria, HDD, video) que el SO debe arbitrar y que le ocupan más de un 2% de su tiempo que por tanto no puede dedicar a ejecutar aplicaciones.
También hay que señalar que las placas bases para sistemas multiprocesador utilizan arquitecturas especificas para minimizar este tipo de situaciones, sobre todo en lo que se refiere al acceso y utilización de la meoria RAM. También los sitemas multiprocesador aprovechan mejor la carácterisiticas avanzadas de los buses SCSI y de las configuraciones RAID apropiadas para poder alimentar/recibir datos a las aplicaciones.
-
No es exactamente asi, un sistema operativo tiene el Kernel y una serie de procesos asociados, cuando tu ves el administrador de tareas no te aparecen los procesos del Kernel, solo los procesos cargados por este y/o el usuario, por lo que el rendimiento que muestran es sin tener en cuanta los servicios propios del nucleo y que son precisamente los algoritmos de planificacion, despachador, atencion de interrupciones, etc.
Por eso si el sistema operativo se itene que encargar de administrar dos procesadores todo el trabajo que hace aumenta en mas del doble y por tanto el consumo de CPU tambien, aunque no se refleje en el administrador de tareas.
Sobre lo que comentas de las placas bases, si pero no. Me explico: en sistemas muy especializados y propietarios como los de IBM, HP, SGI, etc, si hay un hardware muy especializado, en una placa dual de MSI o Epox no es asi, todos los recursos hardware estan destinado al soporte de dos procesadores pero no a las comunicaciones.
-
Bueno ya estoy en casa. Probablemente no sea así pero para ver resultados unos ejemplos:
RC5 sobre microprocesador:
http://n0cgi.distributed.net/speed/query.cgi?cputype=61&arch=all&contest=rc5&multi=0&recordid=1RC5 sobre multiprocesador:
http://n0cgi.distributed.net/speed/query.cgi?cputype=61&arch=all&contest=rc5&multi=1&recordid=1He elegido PIII porque los XP con el tema de los MHz reales vs el nombre comercial es más confusa aunque la tendencia es la misma.
Esto confirma mi experiencia directa de cinco años trabajando con máquinas duales y más de 800 dias "cracking" RC5.
En cuanto a las placas, no es MSI,ASUS,Tyan EPOX o Supermicro quie diseña la arquitectura multiprocesador (ni la monoprocesador). De ello es responsable quien diseña el chipset:intel, AMD, VIA, ALI,SErverwork…
Otros enlaces:
http://www.anandtech.com/chipsets/showdoc.html?i=1483
http://www.anandtech.com/showdoc.html?i=1570
describen los chipset MP y MPX de AMD y explica mucho mejor que yo como se intenta optimizar el sistema dual completo concomunicacions punto a punto y no simplemente a soportar dos micros.
saludos,