best counter
GNU/Linux. MuyLinux

¿Hardware y software en la misma liga?

29/03/2010| por | 20 comentarios

Hace mucho que no escribo así que he decidido pillaros por sorpresa ;) La cosa es que alguno ya sabrá que me dedico al rollo de HPC o se lo habrá imaginado por ahora así que voy a escribir sobre algo relacionado.

supercomputer molecular simulation s2 ¿Hardware y software en la misma liga?

Últimamente, el hardware ha avanzado mucho … quizás demasiado. Hoy en día tenemos la posibilidad de comprar “mini-supercomputadoras”. Podemos tener un sistema con varios cores/CPUs y una o más GPUs (coprocesadores mátemáticos vectoriales). Hasta hace poco, esto sólo lo podía pagar una entidad pública (con nuestro dinero claro ;) y empresas con mucho dinero (especialmente petroleras). Pero hoy en día un equipo de estos es relativamente bararato.

tesla11 ¿Hardware y software en la misma liga?

Ahora viene la pregunta con truco: ¿de qué me sirve? La verdad es que no te sirve para mucho en casa … salvo que … Siempre hay un “pero” o un “depende” o un “salvo que” ;) Salvo que, uses un software muy determinado que le saque el jugo a dicho hardware. Me explico: el software no ha avanzado tan deprisa … <pensando> … Corrijo, el software sí ha avanzado, pero esos avances no se han incluido en el sw de “propósito general”. Por ejemplo, en un sw típico de un PC NO se le saca el jugo a las GPGPUs ni a todos los cores que tenemos. Tenemos una potencia de cálculo inimaginable en nuestros PCs en forma de tarjeta gráfica (NVIDIA y ATI), pero esta se limita a mostrarnos las páginas web, los correos y esas animaciones infernales basadas en Flash (lo siento, pero es que no soporto el abuso que se hace de Flash). Ahora vienen las preguntas:

“¿Pero vamos a ver, para qué quiero yo usar un procesador vectorial a la hora de abrir una página web o un documento ofimático?”

No es fácil responder a esa pregunta así de buenas a primeras y, posiblemente no sirva el 100% de las veces. Vamos a ver unos ejemplos para saber de qué hablo:

  1. a lo mejor no quieres usar la GPGPU, pero quieres usar todos tus cores. Por ejemplo, al navegar por Internet y ver páginas estáticas NO necesitas los 256 cores de cálculo vectorial que tiene tu tarjeta gráfica, pero te interesa que tu navegador con sus miles de tabs o pestañas echen mano de todos los cores que tienes instalados. Si sois como yo y os dedicáis a abrir todo enlace viviente a base de botón derecho -> abrir en nueva pestaña … pues te interesa echar mano de todas las CPUs y así conseguir que las pestañas se abran más deprisa. Esto es un ejemplo muy sencillo para que veáis por dónde van los tiros.
  2. Otro ejemplo sería el uso de varios cores para los clientes de correo (sí, soy de la vieja escuela y uso un cliente de correo y POP para descargarme los correos, no uso webmail ni IMAP). Para los que tengan las mismas manías que yo, habréis visto que los clientes de correo tienen capacidades antispam, antivirus, corrector ortográfico y no sé cuántas cosas más. Bueno, pues si todas esas cosas se paralelizan y echan mano de todos los cores que tenemos … nuestra vida será más placentera ;)
  3. Ofimática. Aquí la cosa ya empieza a complicarse porque podemos empezar a habalar de GPGPUs. Vamos a imaginar que trabajamos con hojas de cálculo muy grandes y complejas (somos el currante de una gestoría o de un banco o de una financiera o de un departamento financiero). Pues esta gente muchas veces tiene que trabajar con unas hojas de cálculo muy complejas y grandes con miles de operaciones. ¿Se verían beneficiados si la GPGPU les ayudase aunque sólo fuese un poco? Sí.

“Bua, pero yo no me dedico a eso así que me importa poco, nada o absolutamente nada que mi OOo Calc o mi Kspread use la GPGPU.”

Haya paz, que aún me queda mucho rollo por contar.

Bien, vamos con el usuario mayoritario: aquel que NO se dedica a secuenciar el genoma del demonio de tasmania, ni el que se dedica al estudio aerodinámico de los ascensores, ni el que se dedica a los cálculos de riesgo de hipotecas y préstamos ni nada de eso. Vamos con … una persona que se dedica a cosas “normales”: leer el correo, abrir un documento de texto, recibir/enviar un fax (¿un fax? Sí, aún hay gente que usa “eso”), escucha algo de música mientras trabaja, como por ejemplo: un periodista … Hey!! Eso es, escucha música. ¿Os imagináis que su reproductor de música fuese capaz de usar la GPGPU para codificar/decodificar música? Pensaréis que esto es una bobada porque con la CPU va bien, ¿por qué más?

Imagínate que el periodista pudiera codificar muchas pistas de audio al mismo tiempo y más deprisa aún. ¿Para qué quiere un periodista codificar varias pistas de audio al mismo tiempo más deprisa? Muy sencillo, vamos a suponer que ha estado en 5 presentaciones de producto, 2 actos oficiales y 3 entrevistas a lo largo del día y lo tiene todo grabado en su grabadora o móvil. Cuando llegue a la oficina o a casa, quiere volcarlo a su PC, pero el formato en el que se ha grabado no es compatible (sí, os lo juro, siguen usándose formatos no compatibles ;) con su reproductor de audio del PC/portátil. Pues nada, echa mano del codificador de audio y pasa todas esas pistas de audio al formato que sea en segundos gracias a la GPGPU. Ya no hablamos de minutos, hablamos de segundos (incluso de MUY pocos segundos).

Como véis, le hemos dado a una vida de lo más aburrida y anodina (o eso piensan algunos) la posibilidad de ser más eficiente en su trabajo. Pero, ahora viene el problema:

  • ¿es capaz de usar la GPGPU el software que usa el periodista?
  • ¿está bien paralelizado el código?
  • ¿está optimizado el código?

Posiblemente la respuesta sea: NO.

Lo que quiero decir es que el software de “andar por casa” no está optimizado :( Esto es a lo que me refería cuando decía al principio que el hardware ha avanzado mucho y el software no. Por desgracia, como el hardware es barato, la respuesta es: compra más memoria/CPU. Pero de nada me vale si el software no está optimizado para los avances que trae el hardware.

¿Qué tiene todo esto que ver con el software libre? Esto tiene que ver con la posibilida de usar cosas como openMP y OpenCL en el software de código abierto y mejorar el rendimiento de nuestro software (y, por ende, hacer nuestra vida mejor y más placentera) Ya, ya sé que gcc incluye soporte para openMP, pero:

  • ¿el software que usas en tu PC/portátil/notebook hace uso de OpenMP? Lo más seguro es que no :(
  • ¿está el software que usas a diario bien paralelizado para sacarle todo el jugo a los cores que tienes en tu equipo? Lo más seguro es que no. Ya, ya sé que el kernel sí, pero no pregunto por el kernel, pregunto por el software a nivel de usario (user land), recordad: no sólo de kernel vive el Hombre ;)

Todo este rollo viene porque el mundo del HPC antes estaba limitado a unos pocos, pero ya se ha comoditizado (ya está al alcance de todo el mundo) … el hardware, el software de entornos HPC no :( Así que todos aquellos que programéis (sea profesionalmente o no), todos aquellos que estéis buscando trabajo, que estéis estudiando aún, todos los que querráis cambiar por aburrimiento, … Os aconsejo que le vayáis echando un ojo a estas tecnologías de mejora de software: paralelización, optimización, depuración, openMP, OpenCL, MPI, … Porque de aquí a muy poco, es a quien se le va a pagar grandes sumas.

Os voy a poner un ejemplo, en uno de los grupos a los que me he apuntado de LinkedIn, una persona preguntó:

What do the grey beards have to say to the new younger people coming into HPC?

(¿Qué consejos daríais los “abuelos” a los novatos en HPC?)

Una de las respuestas fue:

Optimize, Optimize, Optimize. Rinse & Repeat. Even small changes to code can make parallel computations much more efficient, thus faster and shorter job completion. [...]

(Optimiza, optimiza, optimiza. Aclara y repite. Incluso pequeños cambios al código pueden hacer más eficiente la computación paralela y, por tanto, la finalización de la tarea más rápida y corta [...])

Otra respuesta:

Optimize what counts and let the rest untouched. Younger folks tend to launch on a crusade and tune every little bit in an application. Typically 20% of the code accounts for > 80% of the run time. There are so many apps to tune it’s smart to get the most bang out of an app and then move on quickly to the next app. You may always come back and tune a bit more later.

(Optimiza lo importante y no toques lo demás. Los jóvenes se lanzan a unas cruzadas y optimizan todo en una aplicación. Por norma general, el 20% del código supone el >80% del tiempo de ejecución. Hay tantas aplicaciones que optimizar que es inteligente sacar el máximo de una aplicación y pasar rápidamente a la siguiente. Siempre podrás volver y optimizar un poco más.)

Otra muy buena (en mi opinión ;):

We now have the emergence of multi-core ARM processors. Multi-threaded processing is in everyone’s future, even for handsets.

(Ya están a punto de dalir procesadores ARM multi-core. El procesamiento multithreading está en el futuro de todo el mundo, incluso para dispositivos móviles.)

Otro ejemplo que voy a poner no viene de los consejos que dan en LinkedIn, sino de otro post que lo que dice es que las (GP)GPUs han avanzado mucho en temas de hardware, pero que el software va por detrás (concretamente, los juegos):

As has long been the case, graphics hardware outpaces games development.

(Como lleva ocurriendo desde hace tiempo, el hardware de gráficos aventaja al software de juegos.)

[...]

As always, the important thing to take away from the state of the GPU market is that performace is king. A card’s features set may be impressive, but the games it will be driving are generations behind.

(Como siempre, lo importante es que el rendimiento es el rey. Las características de una tarjeta (gráfica) pueden ser impresionantes, pero los juegos que ejecutará están generaciones por detrás.)

En el caso del post, hace referencia a seguir estándares también como una de las razones por las que el software (juego) va por detrás.

Si os metéis en los blogs de Intel o AMD u otras similares, veréis que cada vez aparecen más preguntas/quejas/consejos/… sobre optimización y depuración de código. Si os fijáis en el mercado, cada vez se demanda más la GPGPU (aunque hay algunos que la piden porque está de moda, pero eso es otro tema). Más cosas a tener en cuenta:

  • cada vez más, los PCs, portátiles, netbooks y, dentro de poco, los móviles van teniendo más cores y memoria. Para estos entornos OpenMP es muy bueno.
  • cada vez estamos más interconectados por lo que el uso de MPI es una ventaja

Animo a todos aquellos que he mencionado antes, el software que manejamos y nos gusta es libre: podéis contribuir y aprender cosas nuevas, podéis encontrar o cambiar de trabajo, podéis mejorar dicho software, … ¿Qué mejor momento que este?

Por cierto, una de las respuestas a la pregunta del grupo de LinkedIn fue esta::

The professionals more willing to pursue HPC in new markets are the energetic ‘newbies’ so for me great to have them. [...]

(Los profesionales que más quieren introducir HPC en nuevos mercados son los notavos enérgicos, así que por mi, encantado de tenerles. [...])

Así que ya sabéis: invitados estáis a este nuevo mundo con mucho futuro y mucho software libre :D

Related posts:

  1. “Orígenes del software”, dentro del Centro de Software en Ubuntu 10.10
  2. Encuesta: software libre / software privativo
  3. Absuelven a Yahoo! por la misma demanda que condenaron a Google
  4. Business Software Alliance (BSA) vs la Europa del software libre
  5. A propósito del software libre / software privativo
Categorías: Miscelánea
Etiquetas:

Hay 20 comentarios

  1. 1
    Garolard dice:

    Aquí el fallo está, como casi siempre, en la mása crítica, en el populacho, la muchedumbre, que compra sin ton ni son, pensando sencillamente que 100000 tiene que ser por fuerza mejor que 1000, aunque no sepan ni lo que están comprando. Hay un montón de gente que la solución que le da a sus problemas de lentitud es “compra más ram” o “compra un procesador mejor” como si con eso fueran a arreglar todos sus problemas.

    Hay mucho software mal hecho, pero como el hardware es cada vez más potente, pues el usuario final casi no nota que el problema es el software y no el hardware, así que para que molestarse en optimizar el software “de andar por casa” si la gente en realidad no lo apreciará haga lo que haga, al menos le ahorra esfuerzo al programador y el cliente se verá igual de satisfecho.

    Como siempre, y como habrá dicho algún sabio en algún momento, la ignorancia de la mayoría es el mayor enemigo a batir.

    • 4
      redtitle dice:

      No estoy de acuerdo contigo, no todo el mundo puede ni quiere tener conocimientos de internet, ni de software, ni de electrónica, la mayoría de la gente quiere resultados y punto.Si instalando 2Gb mas de ram el PC responde, esta persona estará contenta y no buscará tener mas información.

      Y te lo dice alguien que recomendó a un recién titulado ingeniero telemático que no hacia falta comprar otra tarjeta de red, cuando se podía perfectamente virtualizar otro sistema operativo y tenerlo en otro rango de red..quiero decirte con esto que soy de los que, si hace falta, no se gastan 15 euros en una tarjeta de red..pudiendo utilizar antes un soft mas adecuado

      saludos

  2. 2
    redtitle dice:

    En primer lugar felicitar por este tipo de post, que tocan temas muy importantes a la hora de ver hacia donde evoluciona la tecnología y en segundo lugar, visto el conocimiento hardware del autor, me gustaría preguntar si conoces de paginas web donde se comente la evolución hacia ethernet de toda la red troncal de internet.

    gracias un saludo

    • 14
      Thrash dice:

      La verdad es que no conozco webs sobre el tema que comentas (red troncal de Inet). No es el mundo en el que me muevo :( Intentaré enterarme.

      Sí decir que las redes también están sufriendo su (r)evolución ya que tenemos a los defensores de Ethernet (con 10 GigE sobre todo) y los defensores de InfiniBand batallando. Cada uno con sus ventajas (y con los inconvenientes del contrincante) para almacenamiento y redes.

  3. 3
    pron dice:

    “botón derecho -> abrir en nueva pestaña” == “botón central”

    • 5
      redtitle dice:

      jajaja yo también pensaba comentarlo, pero me he contenido xD

      • 7
        MB dice:

        Pues yo no he podido contenerme jeje, pero no estaban vuestros mensajés aún xD

        • 12
          Thrash dice:

          Vaya (blush) no sabía cómo ponerlo. Pensé:

          “Si pongo botón central a lo mejor no lo entienden. Si pongo botón derecho a lo mejor es más fácil de entender”.

          Lo importante: ¿habéis comprendido lo que quería decir? Espero que sí ;)

    • 16
      lotiopep dice:

      Vaya, pues lo acabo de descubrir ahora mismo ;-)

      • 18
        Miguel-Palacio dice:

        yo tambien =P

  4. 6
    MB dice:

    Aunque el rollo de la HPC no es lo mío (absolutamente!), esto suena como casi todo en este mundo: la “tendencia” o “buenas maneras” son optimizar y depurar pero la realidad se impone y al final es más barato no salirse de las especificaciones y programar lo justo que hacerlo todo bien desde el principio… y es lo que hay.

    Por cierto, después de leer esto:

    “Si sois como yo y os dedicáis a abrir todo enlace viviente a base de botón derecho -> abrir en nueva pestaña…”

    No me queda más que mandarte una colleja virtual… porque será broma ¿no? xD

    Un saludo!

    • 13
      Thrash dice:

      Aunque respondo aquí a MB, otros habéis comentado algo similar. Lo más fácil es “Más madera”, como decían los Hermanos Marx. Metes más memoria y más CPU y burro grande, ande o no ande.

      Obviamente, aquí imperan más cosas como: el jefe chillándote porque los plazos de entrega no se cumplen, si optimizas para tal hardware en otro hardware se ve mal o no corre porque tiene tal puñeta o lo que has usado es propietario, es más barato comprar hardware que pagar horas de una persona optimizando, …

      Soy consciente de todo eso. Pero quería hacer ver que hay un nuevo mercado que viene de camino y nuevas posibilidades. También quería hacer ver que el FLOSS tiene una gran ventaja aquí porque somos muchos y es bastante fácil contribuir con nuestro granito de arena. Así que quería animar a todos aquellos que estén en una situación incómoda (parados, sobre todo y aquellos que estén en sus últimos años de estudios y buscando empleo) ya que puede haber oportunidad para ellos.

  5. 8
    fernando dice:

    AMEN!

  6. 9
    Ntrx dice:

    Respecto a la gráfica la demandan los Juegos, para un uso de internet, y oficina si no fuese por el Flash (como bien dices) con 64mb sobra.

  7. 10
    GaUsS dice:

    Hombre… yo también trabajo en HPC, optimizo en compilación (sueño con el manual de los compiladores de intel), he tenido que volver a programar rutinas para un TESLA (gpgpu) y volver a pelearme com MPI (argggg)…. el tema de openMP… chico… que quieres que te diga… los bucles for no dan para mucho más…

    pero es que soy un privilegiado y trabajo para una institución pública… de la lista del Top500 de supercomputadores, 5 son españolas, mayoritariamente públicas (BSC -ibm-, Leon -hp-, y-otros-centros-públcos… de buena gente se que los del CNI se ha comprado un bichito…. -hp- ) y existen más centros de computación públicos que ya no aparecen en esa lista: CESGA, EL_DE_EXTREMADURA….

    pero el resto del mundo… consultorías/cárnicas… no se dedican a esto… tiene su .NET su Java y son muy felices y generan mucho dinero (los jefes)… optimizar en Java… wtf!!!!

    a nivel de europa: Jülich (espero escribirlo bien), el CERN… son palabra mayores (y espero que mi futuro, en los países bajos).

    en fin… que el 90% de los futuros cachorros no van a catar la diferencia entre utilizar y no utilizar -ip

    pd. el hpc está todavía vivo… (vease el ibergrid de braga) pero mis jefes se están inclinando últimamente por el cloud-computing, a nivel se servicio es muy interesante para ahorrar costes hw.

    • 11
      Thrash dice:

      A lo que me refería con el post es que el hardware es cada vez más potente y que tenemos en la palma de la mano (dispositivos móviles) cacharros capaces de correr lo que hace años sólo podía correr un equipo potente y caro.

      Cada vez nos metemos más en multiprocesadores, mucha RAM, aceleradores/coprocesadores (FPGAs, GPGPUs, …) y la mejor forma de sacarle el jugo a ese hardware es usando técnicas que se llevan usando desde hace mucho en el mundo HPC.

      En el mundo HPC “tradicional” (centros como los que has nombrado, laboratorios privados, petroleras, banca, …) no hay que comentar nada de esto porque como dices, ya se hace … Pero en el software “doméstico” (clientes de correo, reproductores multimedia, navegadores web, paquetes ofimáticos, editores de audio y video, edición gráfica, …) no se están implementando dichas tecnologías por lo que tenemos MUCHO sw en serie y no paralelilzado ni capaz de sacarle el jugo a nuestros aceleradores (GPGPUs) lo cual es una lástima :(

      En lo que es el mundo “Enterprise” (aka BBDD, servidores web, servidores de correo, NAS, …) también tiene cabida, por ejemplo: como método anti-spam el uso de FPGAs podría (no lo aseguro porque no lo he probado) ser una buena opción, algunos appliances NAS usan FPGAs para acelerar el servir ficheros (BlueArc), aceleración de cifrado mediante GPGPUs, aceleración/paralelización de antivirus, …

      A todo esto hay que sumar nuevos sistemas de ficheros.

      En cuanto a OpenMP vs MPI. Es como KDE vs GNOME ;) Por norma general, es más fácil programar y depurar OpenMP y OpenMP funciona mejor en máquinas NUMA (los procesadores Intel y AMD actuales “son NUMA”). Como siempre, hay gente a favor, en contra y gente que es capaz de demostrar lo contrario. Por eso he dicho que “por norma general”. Obviamente: hay que probar cada caso y quedarse con lo que mejor funciona ;)

      Esto es un mercado “nuevo” para el mundo No-HPC y está creciendo :)

      En cuanto al cloud computing. Sí, es la nueva moda, igual que las GPGPUs y las FPGAs hace unos años. Al final tendrá su nicho y su utilidad (que no digo que no la tenga). El otro día me escriben de Italia diciendo que quieren Cloud y mucha CPU. Después de unos cuantos correos, el cliente lo que quería correr era un Oracle corriente y moliente. Otro ejemplo, ¿os acordáis del utility-computing? Pues una vez me llaman de un banco de Portugal porque quieren montar MS-Exchange en utility-computing. Después de explicarles lo que era el utility-computing, me dicen que vaya marrón que el jefe ya había salido a la prensa diciendo que ya lo tenían corriendo y que a ver cómo lo montan ahora.

      A todo esto: recordemos siempre que hay que probar antes de meternos al 100%. Es decir, si alguien después de leer este post quiere meterse en este mundillo y tienes ideas para mejorar el software “doméstico” … que antes haga pruebas, no vaya a ser que se lance a un GSoC y que no se obtenga beneficio alguno después de unos meses de duro trabajo.

      PD Espero que tengas suerte en tu futuro centro de HPC, GaUsS :D !!! Ya nos contarás.

      • 15
        GaUsS dice:

        En las aplicaciones “domésticas” es muy difícil cambiar costumbres… recuerdo que en la carrera había un único profesor que intentaba enseñar a programar con hilos los programas con interfaces gráficas:
        1 hilo para el visualizador
        1 hilo para la lógica del programa
        1 hilo para los controles

        el resto decían: tirad de IDE… que son muy bonitos y deben solucionar todo.

        yo en las aplicaciones genéricas me conformo con que no hagan barbaridades y utilicen patrones y estas cosillas. esto es verídico: programa en java que se colgaba porque en la conexión al server no utilizan un pool de threads y se “olvidaron” de hacer un close de las conexiones…. O_O

        sobre openmp y mpi… no era una crítica ni quería empezar un flame, pero estarás conmigo en que la dificultad y flexibilidad asociada de MPI no tiene nada que ver con openMP… evidentemente se pueden utilizar las dos aproximaciones…. ya… pero a nivel de escalabilidad en grandes clusters o la matriz con la que estás trabajando con openMP es mu grande o te tienes que ir a MPI.

        coincido en que son todo modas y que poco prevalece, de FPGAs no tengo ni idea, amigos míos telecos creo que todavía las utilizan para procesamiento de señal….

        pd. lo de los países bajos es más una ilusión que una realidad, pero vistos sueldos y calidad de vida… y estando sin novia… a ver mundo !!!!

        ;-)

      • 17
        Land-of-Mordor dice:

        Probablemente me esté metiendo en camisa de once varas, dado que no es precisamente de lo que más controlo, pero me gustaría apreciar lo siguiente:

        El 99% de las veces es más económico comprar un hardware más potente, porque incluso en máquinas de corte “servidor” o “estación de trabajo” el precio se ha venido devaluando con respecto al coste de la vida en los últimos años. Son asequibles hasta para consumidores “domésticos”, eso sí, con bastante presupuesto. No quiere decir que usando software más adecuado se puedan rejuvenecer máquinas antiguas.

        Mientras la tecnología de integración siga aguantando (que le queda poco) seguirá siendo más barato adquirir un hardware más potente y olvidarnos del software. El mercado está dirigido de esta manera y, al igual que con el ladrillo, no va a parar hasta que reviente. ¿Qué pasará cuando reviente? pues que entonces habrá que arremangarse y hacer que el software explote al máximo el hardware para que el consumidor final tenga esa “sensación” de que su máquina “nueva” o “actualizada” hace más y más rápido que la anterior.

        Como comentas, el software libre tiene muchas posibilidades en este campo, empezando por la base del kernel (que ya trabaja en esta “filosofía”) se pueden crear aplicaciones cada vez más óptimas y que requieran menos recursos para realizar las mismas o más funciones, pero esto “choca” con la tendencia hacia el mercantilismo (abanderada por Shuttlework y Canonical) y al establecimiento de plazos para los desarrollos (incluso pide que el resto de las distribuciones se “sincronicen” con su calendario de desarrollo). Los plazos a la hora de desarrollar software son un enemigo mortal de la optimización. Las cosas se terminan cuando funcionan, no cuando corren sin colgar el sistema o dejarse la mitad de la RAM en identificadores abiertos sin cerrar. El software libre tiene grandes oportunidades al poder ofrecer un modelo de desarrollo diferente, más disperso y colaborativo, pero hay que tener cuidado en coger las malas costumbres del desarrollo de software privativo. Debe ser el Ingeniero Jefe de Software de la empresa quién diga para cuándo estará el producto terminado y no el CEO o el Director de Márqueting, Publicidad y otros engaños.

  8. 19
    henry dice:

    interesante post, me gusto mucho, creo voy a tener en cuenta algunos puntos tratados para estudio y actualizacion, recuerdo cuando el maestro nos decia que compraramos una PC con Co-procesador matematico para lo que teniamos que hacer.

  9. 20
    Javier dice:

    Muy Interesante tu opinion yme da muchos mas animos para aprender mas acerca de la computacion e informatica y asi poder saber mas acerca de la actualizacion de software gracias…
    la verdad es q no puedo comentar mucho puesto recien estoy entrando en todo esto…

    por que recien termine mi carrera de Psicologo y bueno me interesa mucho saber la interrelacion hombre maquina y tecnologia pero todo lo que estoy encontrando es muy intersante …

    en cuanto a la porgramacion hardware y acerca de lo que comentas en cuanto a software..

    saludos…

Escribe tu comentario