Computadores multicore

“COMPUTADORAS MULTI-CORE (VARIOS NUCLEOS)” Ing. Franklin Manuel Silva Monteros Departamento de Eléctrica y Electrónica

Views 86 Downloads 2 File size 272KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

“COMPUTADORAS MULTI-CORE (VARIOS NUCLEOS)” Ing. Franklin Manuel Silva Monteros

Departamento de Eléctrica y Electrónica de la Escuela Politécnica del Ejército Extensión Latacunga

Resumen

El presente trabajo pretende introducir a los interesados, en las características que tienen los computadores de varios núcleos, cuales son sus ventajas, desventajas y sus aplicaciones.

Abstract This paper aims to introduce interested in properties that have multi-core computers, what are its advantages, disadvantages and applications.

Existen ya desde hace algún tiempo en el mercado ecuatoriano los computadores de varios núcleos o multicore, pero no todos sabemos lo que esto significa.

There are already some time in the Ecuadorian market the multi-core computers, but we knows what that means.

Los computadores han venido aumentando su velocidad de trabajo para ofrecernos mayor rapidez en nuestro trabajo y a la vez poder competir entre varios productores de computadoras, esta necesidad de aumentar la velocidad de procesamiento ya no es posible únicamente aumentando la velocidad de trabajo de un solo procesador, en la actualidad se lo puede realizar haciendo trabajar en conjunto y en paralelo más de un microprocesador. Pero esto no ayuda si es que los programas que utilizamos trabajan en forma secuencial y no paralela. Por tanto este trabajo pretende dar una visión de los computadores

Computers have increased their speed of work to make our work faster and still being able to compete with several manufacturers of computers, this need for increased processing speed is no longer possible only by increasing the operating speed of a single processor, now it can be done by working together and in parallel of one or more microprocessors. But this does not help if you use programs that work in sequentially rather than paralell. Therefore, this work tries to give an overview of multicore computers that permits users to extract the maximum benefit.

multicore tal que permita a sus usuarios sacarles el mayor provecho posible.

1.Introducción

Han pasado más de sesenta años desde que el primer computador apareció, fue el Mark I, construido en 1944 en la Universidad de Harvard, sin embargo esta máquina no esta considerada como computadora electrónica ya que su funcionamiento era en base a dispositivos electromecánico s y no era de propósito general, aun así fue el principio de la era de los computadores de grandes prestaciones, esto lo digo porque antes de esta época ya existían máquinas que realizaban cálculos simples, como por ejemplo la máquina de Babbage que apareció en 1823. Existen datos de máquinas anteriores pero consideremos a la MARK I como la pionera por lo ya expuesto, le siguieron otros

computadores de gran tamaño hasta que en 1951 aparece el primer computador comercial el UNIVAC (Universal Computer), que disponía de mil palabras de memoria central y podía leer cintas magnéticas. Cerca de la década de 1960 aparecen los computadores construidos en base a circuitos de transistores y por tanto su tamaño se redujo, y se programaban en lenguajes llamados de alto nivel. Por 1970 le siguen los computadores construidos por IBM basados en circuitos integrados y programados con lenguajes de control de sistemas operativos, estos computadores son de tamaño reducido y de bajo costo. Por 1971 gracias a INTEL aparecen los microprocesad ores que son un gran adelanto

de la microelectrónica , estos son circuitos integrados de alta densidad y con una velocidad impresionante. Las microcomputado ras con base en estos circuitos son extremadamente pequeñas y baratas, por lo que su uso se extiende al mercado industrial. Aquí nacen las computadoras personales que han adquirido proporciones enormes y que han influido en la sociedad en general sobre la llamada "revolución informática".(1) 2. Computadores Multicore El avance de las computadoras ha sido vertiginoso, produciendo grandes cambios en la sociedad, actualmente muy pocas personas desconocen de su existencia y casi todo joven la sabe utilizar. Sin que

embargo, gran

cantidad de personas tenemos y utilizamos estos dispositivos, en muchos casos no conocemos de todo su potencialidad, y algunos cambios importantes en la funcionalidad de las computadoras han pasado inadvertidos para muchos de nosotros, esto trae a lugar que se compren computadores con grandes prestaciones que luego no son correctamente utilizadas. Esto ha sucedido por ejemplo en el caso de la aparición de los computadores de varios núcleos, nada nuevo para países desarrollados pero si para países como el nuestro. Y, en que consiste la diferencia de estos computadores, pues empecemos conociendo un poco acerca de los microprocesador es y su evolución.

El microprocesad or es el microchip más importante en una computadora, podemos considerarlo el cerebro de una computadora. Este esta construido en base a transistores, y, en sus inicios contenía centenares. En la actualidad son millones, y gracias a ellos es que el microprocesador puede realizar sus funciones o labores. El microprocesador es la parte de la computadora diseñada para llevar acabo o ejecutar los programas. Este viene siendo el cerebro de la computadora, el motor, el corazón de esta máquina. Este ejecuta instrucciones que se le dan a la computadora a muy bajo nivel haciendo operaciones lógicas simples, como sumar, restar, multiplicar y dividir. Este dispositivo se

ubica generalmente en un zócalo especial en la placa o tarjeta madre y dispone para su buen funcionamiento de un sistema de enfriamiento (generalmente un ventilador).

Microprocesador AMD Athlon 64 X2 3600. Lógicamente funciona como la unidad central de procesos (CPU/Central Procesing Unit), que está constituida por registros, la unidad de control y la unidad aritméticológica. En el microprocesador se procesan todas las acciones de la computadora. Su "velocidad" es medida por la cantidad de operaciones por segundo que puede realizar: también llamada

frecuencia de reloj. La frecuencia de reloj se mide en MHz (megahertz) o gigahertz (GHz). Una computadora personal o más avanzada puede estar soportada por uno o varios microprocesador es, y un microprocesador puede soportar una o varias terminales (redes). Un núcleo suele referirse a una porción del procesador que realiza todas las actividades de una CPU real. La tendencia de los últimos años ha sido la de integrar más núcleos dentro de un mismo empaque, además de componentes como memorias cache y controladores de memoria, elementos que antes estaban montados sobre la placa base como dispositivos individuales.(2) Pero a que se debe esta tendencia de aumentar el número de

núcleos en un computador. Como es de imaginar los primeros computadoras y las de hasta hace unos pocos años contenían un solo microprocesador y llegaron a alcanzar frecuencias de operación de hasta los 4 Ghz, Aumentar la capacidad de los microprocesador es depende entonces de aumentar su número de transistores internos y la frecuencia de operación. En cuanto al número de transistores no parece haber problema ya que desde los inicios del microprocesador hasta la actualidad este número se ha duplicado aproximadament e cada dos años, esto incluso fue predicho por Gordon Moore, cofundador de INTEL, y según él para el año 2011 este número sería 32 billones. Es decir cada

que año

esperaremos que el número de transistores aumente, al menos durante los años próximos, pues como es de suponer todo tiene un límite, pero dejemos que las nuevas tecnologías decidan cuando eso debe pasar. Por tanto el número en si no es un problema pero si genera uno, y es que a mayor número de transistores se requiere mayor cantidad de energía para alimentarlos, además estos generan pérdidas que producen calor y a más transistores por supuesto más calor. Pero el calor generado por los transistores no depende únicamente de la cantidad, sino y en porcentaje mucho mayor depende de la velocidad a la cual conmutan es decir de la frecuencia a la cual los haremos trabajar. Al aumentar la frecuencia de operación, la cantidad de calor

disipado por los transistores aumenta mucho, lo cual limita la frecuencia de los microprocesador es y al parecer esta es la razón de que no se haya superado los 4 GHz aun cuando la predicción para el año 2010 era alcanzar los 30 Ghz. 30 Ghz serían posibles si a esta frecuencia no se generaría tanto calor y es que de pronto resulta increíble creer, que la temperatura de un microprocesador a esta velocidad superaría el calor producido por un reactor nuclear, pero esto es verdad e incluso es muy probable que la diferencia sea muy grande. Creo que queda claro que no podemos aumentar la frecuencia de operación de los microprocesador es, esto significa que la velocidad de un computador se debería estancar, pues no, y esto esta comprobado, la solución es

utilizar más de un microprocesador en cada computador aunque esto no se lo realiza de esta manera, sino que en cada microprocesador se aumentan los núcleos de ejecución, para no explicar esto de los núcleos de ejecución podríamos decir que cada microprocesador en realidad esta formado por varios microprocesador es integrados en uno. Resulta conveniente trabajar con varios núcleos ya que no se excedería la temperatura, pero además esta comprobado que varios núcleos trabajan mejor que uno solo, aun cuando este último tenga una capacidad igual a la suma de todos ellos. Entonces cual es la velocidad de estos microprocesador es de varios núcleos, acaso como mencioné deberían ser de 4 Ghz, veamos lo que

investigadores de la INTEL nos dicen. Acudiendo a física de transistores, si se reducen los MHz en 15% en la CPU, el consumo de energía se reduce en 50%. Así, si se unen dos CPUs en un mismo chip, el consumo total de energía (y por ende el calor generado) de ambos volvía a ser el 100% original, pero ahora con el poder de dos procesadores el rendimiento crece en un 70%. Y así ocurrirá con 4 núcleos, 8 núcleos, etc.

Imagínense ahora qué ocurre con el consumo de energía en ese mismo ejemplo. Si disminuir en 15% los MHz bajaban el consumo en 50% como expliqué, cuál es el impacto al reducir los MHz en 50%? Consumos muy bajos de energía que se traducen en PCs menos ruidosos y en portátiles con mayor duración de la batería.(3) Debido a esto es fácil entender porque los microprocesador es de varios núcleos de hoy son de frecuencias de operación inferior a los 4 GHz, específicamente hablando el microprocesador Core dos dúo de INTEL trabaja a 2,33 Ghz. Bueno regresemos a lo que motivo este artículo. Este cambio en los computadores probablemente paso inadvertido para Ud., veamos, cree Ud. que un computador de varios núcleos

es mas veloz que uno de un solo núcleo?,… Esto es verdad si Ud. sabe utilizarlo. Le pongo un ejemplo, Ud. Trabaja con un programa podría ser Word (o LabView), en una máquina de un solo núcleo de 3GHz, al trabajar con el mismo programa en un computador de 8 núcleos de 2GHz cada uno, debería funcionar más rápido, pero no es así, por que? La razón es que el programa que Ud. tenia estaba programado en serie es decir ejecuta una instrucción tras de otra que es lo que se hacia para un microprocesador de un solo núcleo, este programa por tanto en una máquina de varios núcleos se ejecutará en uno solo de ellos y como la velocidad es menor, ahora el programa se hace más lento. Con esto Ud. dirá que no vale la pena un computador de

varios núcleos, si sigue trabajando con el mismo programa es verdad, pero si Ud. se actualiza que es lo que todos debemos hacer, y compra un Word ( o LabView) que esté realizado con programación paralela, este se ejecutará mucho más rápido. Y que es programación paralela?, pues es una programación donde se dividen las tareas de un programa en partes llamados threads o hilos de ejecución, para que varias de ellas se puedan ejecutar al mismo tiempo en núcleos diferentes. Con esto no se quiere decir que al tener 4 núcleos de 2 Ghz cada uno, nos de cómo resultado uno de 8GHz, ya que debido a que comparten recursos un núcleo puede estorbar a otro, de todas maneras la velocidad final no esta muy

lejana de los 8 GHz. Si Ud. tiene un computador de varios núcleos y no se percató de cambiar sus programas de la versión serie a la paralela, es hora de hacerlo, pero no todo estuvo desperdiciado pues su computadora si funcionaba más rápido, ya que mientras un solo núcleo estaba ocupado en su programa serie, otros se encargaban de internet, de música, de imprimir, etc, lo cual le permitió a su programa tener el núcleo solo para su ejecución y por ende ser más rápido aunque no como debería serlo al ejecutarse en paralelo. Las potencialidades de estos computadores son muchas, nos ahorran tiempo en nuestro trabajo, las universidades las utilizan para investigación científica y la nasa las utiliza en aras de nuevos descubrimientos

en el espacio, claro que en estos dos casos últimos no hablamos de computadoras de 8 núcleos sino de decenas de ellos y de hasta miles, pues la NASA posee un computador de 10.240 núcleos con una capacidad de desarrollar 42,7 teraflops (operaciones de punto flotante por segundo). Para que tenga una idea de cuanto se puede alcanzar con la computadora de la NASA basta con decir que los cálculos que esta máquina realiza en un segundo, a una persona le llevarían más de un millón de años. (4) Terminaremos al mencionar que este cambio muy importante en el hardware de los computadores ya ha preocupado a los diseñadores de software, pues Microsoft ya ha modificando sus programas para esta nueva tendencia.

3. Conclusiones La velocidad de un computador refleja la velocidad con la cual puede realizarse un trabajo con ella, siempre que la utilicemos adecuadamente. Los computadores multicore (varios núcleos), trabajaran a su máxima velocidad cuando ejecutan tareas simultaneas o cuando trabajan con programas de ejecución paralela. Por tanto se deben seleccionar los programas que usualmente utilizamos en su versión paralela. Si un programa secuencial es ejecutado en un computador multicore, puede resultar más lento que en una computadora de un solo núcleo donde la velocidad de éste sea mayor que la velocidad de cada uno de los núcleos de una computadora multicore. La velocidad de una

computadora de varios núcleos no es la suma de las velocidades de cada núcleo, aunque si se utiliza correctamente, puede llegar a aproximársele.

Phd. e Ing. Nicolás Gil Mata Phd. profesores de la materia de Arquitecturas para la computación.

La paralelización de un programa utiliza recursos, lo cual puede hacer que la ejecución de un programa pequeño sea más lenta en un computador multicore, pero esto no sucederá ya que por lo general los programas comerciales, hoy son de gran tamaño.

(1) LATINIA NDO, Historia de la comput ación, http://ww w.monog rafias.co m/trabajo s/histoco mp/histo comp.sht ml

4. Agradecimiento Mi más grande agradecimiento a Dios, a mi esposa Zuly y mis hijas Veky y Emily quienes son mi luz y mi futuro, a mis padres y hermanos por todo su apoyo y en general a mi familia entera. A mis compañeros de estudio y a mis profesores de la Universidad de Málaga-España, en especial a Ing. Rafael Asenjo Plaza

5- Referencias

(2) WIKIPED IA, (junio de 2010), Micropr ocesado res, [. http://es. wikipedia .org/wiki/ Micropro cesador (3) Hurato, Carlos, (jnio 19 de 2007), El fin de la era de los MHz y el inicio de la era Multi-

core http://blo gs.intel.c om/latini nsights (4) PERGAM INO VIRTUAL , (28 de octubre de 2004), La NASA posee la comput adora más rápida del mundo, http://ww w.perga minovirtu al.com.ar /revista/c gibin/hoy/a rchivos/0 0001301. shtml

6- Paginas de interés WIKIPEDIA, Intel core Duo, http://es.wikipedi a.org/wiki/Intel_ Core_Duo WISHKITO,(4 de Septiembre de 2006), Tabla comparativa entre Core Duo y Core 2 Duo, http://www.xatak a.com/ordenador es/tabla-

comparativaentre-core-duoy-core-2-duo APPLE, Más poder para tu MAC, http://www.apple .com/la/macosx/t echnology/ FOROS, Psicofxp, (6 de septiembre 2006), Diferencias entre Dual Core y Core Duo, http://www.psicof xp.com/forums/r ecomendaciones -de-compraventa-dehard.271/378267 -diferenciasdual-core-y-coreduo.html SOMN, Computación multinúcleo: ¿Demasiado lejos? http://www.amazi ngs.com/ciencia/ articulos/comput acion_multinucle o.html BLOGSPOT, (29 de abril de 2009), procesadores multinúcleo, http://procesador multinucleo.blog spot.com/ SARMIENTO, David, (20 de marzo de 2010), Microsoft rediseñara sus

SO para microprocesad ores multinúcleos, http://www.chw.n et/2010/03/micro soft-redisenarasus-so-paramicroprocesador es-multinucleos %E2%80%8F/

Silva Franklin. Nació en la Ciudad de Quero, el 22 de Octubre de 1965, sus estudios universitarios los realizó en la Escuela Politécnica Nacional de la Ciudad de Quito Ecuador, donde obtuvo el título de Ing. Electrónico con especialidad en Control en el año de 1998. Posee también un grado de Magister Ejecutivo en Dirección de Empresas, obtenido en la Universidad

Autónoma de los andes UNIANDES en la ciudad de Ambato – Ecuador en el año 2004, un Diplomado en Redes Digitales Industriales obtenido en la Escuela Politécnica del Ejército Extensión Latacunga en la Ciudad de Latacunga – Ecuador en el año de 2009, y actualmente se encuentra realizando su tesis Doctoral en la Universidad de Malaga, en Malaga – España. Se ha desenvuelto en el campo laboral en el área de mantenimiento eléctrico electrónico y de automatización industrial con su propia empresa durante los últimos 20 años, además por el mismo período ha sido y es hasta la actualidad docente de la Escuela Politécnica del Ejército extensión Latacunga, en el Departamento de Eléctrica y Electrónica.

Para comunicarse con el autor se lo puede realizar a los siguientes correos electrónicos:

[email protected] du.ec y framasims@hot mail.com