LuzbelFullHD escribió:una puntualización: el linux de la ps3 usa perfectamente los 2 cores del PPC.
Aparte de los 8 SPE que tiene un Cell, la PS3 monta modelos con solo 7 SPE operativos . Básicamente, si en la fábrica le sale un Cell malo con un SPE roto, en vez de tirarlo a la basura, usan ese Cell para las PS3. Los buenos se los queda IBM para sus servidores
Supongo que Cell con mas SPE inhabilitados se montaron en dispositivos que no necesiten tanta potencia (TV,móviles,etc.)
Esta táctica, que en principio puede parecer ruin, ya la han utilizado otros fabricantes hardware. Por ejemplo, los 486SX de Intel, que eran 486 con el coprocesador matemático defectuoso.
De esos 7 SPE disponibles en los Cell de la PS3, otro mas no está disponible en Linux ya que se reserva para tareas del hipervisor.
Así que en Linux PS3 tenemos 6 SPE disponibles a los que tenemos completo acceso usando el Cell SDK que IBM proporciona gratuitamente (aunque hay que registrarse).
Eso sí, los programas no usan directamente los 6 SPE, y se tiene que reprogramar especificamente para hacer uso de ellos.
Pero esto es igual que cuando Intel sacó las extensiones MMX, si los programas no se diseñaban para utilizarlos expresamente, no había diferencia.
alkaitz escribió:
LuzbelFullHD, hay varias cosas que no he entendido.
¿El Cell tiene 2 cores? Es decir, ¿el PPE es dual core?. Yo creo que no. El PPE es un núcleo con multithreading simultáneo, pero un núcleo al fin y al cabo.
alkaitz escribió:
Los SPE no son en sí "núcleos", o no deberían llamarse así al menos. Son... digamos que unidades funcionales, especialmente orientadas a coma flotante. Por lo tanto son más bien "super-alu's", en vez de núcleos.
alkaitz escribió:
El único núcleo capaz de ejecutar un sistema operativo en Cell es el PPE, así que me resulta extraño que haya un hipervisor en un SPE. Puede que sea cierto, pero si hace tareas de sistema tendrá que ejecutarse en el PPE (y por eso quizá los poseedores de una PS3 vean algo lenta la ejecución de Linux).
alkaitz escribió:
Obviamente, los SPE's permiten una capacidad de cálculo bestial pero el procesador, en general, tiene ciertas deficiencias que hacen que no tenga un buen propósito general. Por ejemplo, no posee predictor de saltos (eso leí en su descripción) y ha de establecerse dicha predicción en compilación.......
Vamos, que probablemente ripee una película HD mucho más rápido que un Pentium actual pero desde luego cuando ejecute código "entero" (léase de números enteros) se tienen que notar extremadamente esas carencias.
Eso es lo que creo, pero no deja de ser una opinión personal.
Un saludo
alkaitz escribió:
Obviamente, los SPE's permiten una capacidad de cálculo bestial pero el procesador, en general, tiene ciertas deficiencias que hacen que no tenga un buen propósito general. Por ejemplo, no posee predictor de saltos (eso leí en su descripción) y ha de establecerse dicha predicción en compilación.......
Vamos, que probablemente ripee una película HD mucho más rápido que un Pentium actual pero desde luego cuando ejecute código "entero" (léase de números enteros) se tienen que notar extremadamente esas carencias.
Eso es lo que creo, pero no deja de ser una opinión personal.
Un saludo
LuzbelFullHD escribió:
De http://en.wikipedia.org/wiki/Cell_%28microprocessor%29
"Note that the relationship between cores and threads is a common source of confusion. The PPE core is dual threaded and manifests in software as two independent threads of execution while each active SPE manifests as a single thread. In the PlayStation 3 configuration as described by Sony, the Cell processor provides nine independent threads of execution."
De http://barrapunto.com/journal.pl?op=display&uid=19560&id=15379
"El PPE es un PowerPC de 64 bits y doble núcleo bastante especial"
Si te fijas las nuevos núcleos de Linux al arrancar dibujan un pingüino por cada core encontrado . Al arrancar en la PS3 se ven 2 cores ( y en algunos kernels parcheados aparecen los 6 SPE como mini-pingüinos ). También puedes verlo al hacer cat al /proc/cpuinfo
Si entrar en detalles técnicos, lo que quiero decir es que en Linux de la PS3 se aprovecha sin problema esta característica de 2 hilos "hardware" y en ese sentido no está capado.
1 solo programa monohilo no notará mejoría, pero el sistema global si se aprovecha de esto.
Supongo que esto es lo que tu llamas "multithreading simultáneo", pero vamos, que hay un soporte hardware para ese "multithreading simultáneo" y no es un multithread conseguido por el kernel de linux por software ( que también lo tienes)
Si, correcto. Los SPE son coprocesadores muy especializados en procesamiento vectorial.
Pero son potentorros, comparado con , por ejemplo, los VU de la PS2 o un coprocesador matemático clásico. Aquí puedes meter ( con las obvias restricciones de memoria ) y trabajar tranquilamente con C++
Lo malo, la poca memoria, que no acceden de forma directa a la memoria principal ( todo va a base de peticiones DMA explicitamente programadas ) y que el rendimiento escalar es muy pobre.
Pero para el tipo de procesamiento en paralelo que se da en los juegos se les puede sacar mucho partido. Eso si, hay que currarselo o usar middleware diseñado especificamente para currarselo por ti.
A ver , el hipervisor obviamente tiene que estar por ahí detrás en el modo hipervisor del PPE (por encima en privilegios del modo kernel )
Pero el que uno de los SPE no esté disponible en linux, hace sospechar que es bloqueado y utilizado en exclusiva por el hipervisor.
La verdad es que no sé si hay una referencia oficial por algún lado a que el SPE capado lo use el hipervisor . pero ¿ qué otra razón habría para quitarte el acceso a un SPE en linux cuando te dan acceso a los otros ?
Si, hay acuerdo en general a que el rendimiento en código, digamos normal , del Cell no es bueno, pero es que ese no es su propósito.
Como diseño para aplicaciones multimedia me parece muy interesante y el que se te permita jugar con el desde linux es muy interesante desde un punto de vista academico.
La pena, como te digo, es que tengas que adaptar todo tu código para sacar partido de los SPE. Una arquitectura de acceso unificado a la memoria facilitaría mucho las cosas, pero seguro tendría impacto en el rendimiento y en el coste.
Iknewthat escribió:El CELL de PS3, y en realidad todos los CELL son mononúcleo más 7-8 SPE.
En algunos sitios los confunden porque permite tener 2 hilos de ejecución simultáneos. Pero también los núcleos de la X360 permiten eso (6 hilos en total) y nadie habla de que la X360 tiene 6 núcleos.
También Windows XP y Linux dibujan dos TUX o dos gráficas en el task admin cuando se usan Pentium 4/ Xeon HT, y estos son mononúcleo.
LuzbelFullHD escribió:
O sea que los 2 hilos que permite el Cell son del estilo del hyperthreading de los Intel ¿no?
Tienes 2 hilos, pero realmente no tienes completamente duplicado el núcleo y el hardware como en un dual-core real
¿ y dices que el procesador de la XBOX permite 6 hilos de ejecución simultáneos sobre el mismo procesador ?
O han sixtuplicado las ALU y alguna cosa más, o habrá unos bloqueos de la ostia ¿ algún enlace donde ver detalles de esto ?
alkaitz escribió:
Son exactamente lo mismo. De hecho el Hyperthreading es el nombre comercial de Intel del Multithreading simultáneo.
Tienes dos hilos en ejecución concurrente (y así aprovechas las paradas por bloqueos por dependencias entre datos).
c0rrupt_gamer escribió:Pues espero que haya mejorado bastante respecto a su version 5 porque... vaya chasco k me lleve.
Entre la lentitud, la resolucion de pantalla mas baja k he visto en mi vida (un peazo de borde negro rodenado un escritorio donde el raton no tiene nada que envidiarle en tamaño a una abeja a escala real) y k no hay acceso a la gpu ni patras... pues me quedo con mi pc (situado a 50 cm de la ps3).
Tanto potencial que dicen tiene la ps3 y cuando voy a probar linux con la idea de "ya tengo ordenador nuevo, no para todo pero si en algunos aspectos" me encuentro con k solo usa algo asi como una septima parte de la CPU ( algo asi como k Cell normalmente usa 7 SPE mientras que linux solo usa uno), la GPU ni la divisa y la RAM es la mitad que la de mi PC (k ya ni recuerdo la de años que tiene) pues... QUE DEMONIOS PRETENDEN QUE HAGA CON ESO??
Me costo horrores configurar internet porque, sencillamente, las ventanas no cabian en el escritorio ye l boton aceptar se quedaba fuera, motivo por el cual tampoco pude configurar bien el xmame.
Al final opte por jugar a los juegos en mame con el sixaxis, pero desde el PC. La desilusion que me lleve fue MUY grande.
Y pensar que me compre un teclado usb solo para instalar linux en la ps3... menos mal k con el UT3 puedo aprovecharlo que si no...
Si la cosa esta mejor hasta me planteo instalarlo otra vez... pero instalar linux solo para decir "mi raton es 5 veces mas grande que el tuyo" como k no vale la pena.