Intel Swarm Computing, el reto de coordinar 80 núcleos en un procesador

Swarm Computing

Una de las primeras sorpresas que nos llevamos al visitar la sede de Intel es la cantidad de obleas de procesadores experimentales que circulan, casi como objetos decorativos, por las oficinas. La sorpresa pasó a más cuando, en la sala de proyectos en la que nos reunimos, cazamos la que véis en la foto y nos explicaron que se trataba de una remesa de procesadores de 80 núcleos, que son los chips más potentes con los que Intel está experimentando hasta la fecha.

Los núcleos, sin embargo, no son nada sin un software que los coordine, y ese es el gran caballo de batalla de Intel a día de hoy. “Nuestro reto ahora es conseguir que los núcleos trabajen en equipo sin darse de bofetadas entre ellos” Comenta Manuel Vara, Responsable de comunicación de Intel y uno de los españoles que trabajan en la sede principal de la compañía y a los que podréis conocer en breve gracias a la entrevista que les hicimos.

 

Para empezar, no hay que considerar esos 32, 48 u 80 núcleos como núcleos completos. La idea es que muchos de ellos se encarguen de tareas muy específicas como controlar el audio o los gráficos 3D. Este reparto de tareas permitiría además que no estén encendidos todos a la vez. Bajo estas líneas podeis ver una representación virtual de lo que los científicos de Intel están tratando de lograr.

Los LED de la mitad izquierda representan el modelo computacional actual, en el que los núcleos no colaboran y tienden a enzarzarse en una tarea concreta, consumiendo demasiada energía y recalentándose.

Swarm Computing

A la derecha, los distintos colores representan núcleos que están en funcionamiento, en espera o apagados. Intel denomina a este sistema Computación en enjambre (Swarm) y pretende ser unasolución de software que gestione sistemas de procesado de escala extrema, como uno o varios procesadores funcionando con 80 núcleos cada uno. Se trata, en definitiva de gestionar modelos en los que se manejan un trillón de millones de operaciones por segundo.

Como es habitual, esto no se refiere a un entorno doméstico, pero su comprensión ayudará también aoptimizar la gestión de procesadores con 8, 10 o 12 núcleos físicos (y el doble de núcleos lógicos) que podamos ver en equipos en los próximos años.

Swarm Computing

Curiosamente, los científicos encargados del proyecto Swarm están jugando con una idea que viene del P2P. En vez de separar cada tarea y asignarla a un único procesador, estos especialistas tratan de separar cada función en fragmentos básicos de información a los que denominan Codelets. En teoría, estos codelets podrían repartirse en bruto entre varios núcleos multipropósito para optimizar su rendimiento y minimizar el consumo de energía.

Swarm Computing

Lo difícil, la magia, consiste en desarrollar un software capaz de crear las dependencias y políticas del sistema necesarias para coordinar la computación de estas unidades básicas y reconstruirlas en un conjunto coherente. Hasta ahora, la ley de Moore se ha cumplido gracias a auténticos milagros encombinatoria de materiales.

De momento hay terreno por delante, pero la computación de dentro de 10 años depende por entero de nuestra capacidad de gestionar un número cada vez de cerebros intentando ponerse de acuerdo en la misma habitación, algo que ya es de por sí difícil con una habitación llena de cerebros humanos.

 

El juego mas dificíl del mundo

Este es un juego de habilidad de concepción sencilla pero de ejecución compleja. Se trata de mover el cuadro azul hasta el objetivo marcado con la palabra “GOAL” utilizando el movimiento del ratón y sin colisionar con las paredes ni con los objetos en movimiento. La complicación radica en que el movimiento del objeto es inverso al del ratón. Esto significa que si movemos el ratón hacia arriba, el cuadrado se moverá hacia abajo y si movemos el ratón hacia la derecha lo hará hacia la izquierda.

Este tipo de juegos es ideal para mejorar nuestra habilidad y atención sobre las acciones que realizamos. Verás que inicialmente te moverás lentamente y con dificultad ya que es necesario pensar en cada movimiento sobre el comportamiento del objeto respecto al movimiento del ratón, pero según vas avanzando en el juego, comprobarás que mejoras el control de los mandos hasta que el mecanismo de juego se convierte en un conocimiento asimilado o “compilado”, de forma que no nos representará ningún esfuerzo realizar la actividad.

 

Cómo resolver cualquier problema informático (o casi)

Cómo resolver los problemas del ordenador

Dice un refrán que es mejor enseñar a pescar que dar peces. Si aplicamos esto al mundo de los ordenadores, aprender a resolver cualquier problema informático es la enseñanza más valiosa de todas, pues elimina la necesidad de pedir ayuda a compañeros, parientes y amigos, o la de preguntar una y otra vez en foros y blogs.

Sigue leyendo

Contadores Digitales

En casi todos los tipos de equipo digital se encuentran flip-flops programados o conectados como contadores, usándose no solamente como contadores sino como equipo para dar la secuencia de operación, división de frecuencias, así como para manipulación matemática.

En el sentido más elemental, los contadores son sistemas de memoria que “recuerdan” cuántos pulsos de reloj han sido aplicados en la entrada. La secuencia en que esta información se almacena depende de las condiciones de la aplicación y del criterio del diseñador de equipo lógico. Muchos de los contadores más comunes se encuentran disponibles en paquetes de circuitos integrados.

Contadores con Flip-flop

Introducción.

En la actualidad, los sistemas digitales son muy utilizados y variados para diferentes tipos de aplicaciones las cuales en su mayoría son aplicadas en la industria y en mayor parte de los equipos electrónicos.

Es por esto que es necesario saber a grandes rasgos las aplicaciones, y como funcionan los diferentes tipos de sistemas digitales, así nosotros poder desarrollar la capacidad de aplicar y de poder trabajar con ellos sin ningún tipo de dificultad. Sigue leyendo

FLIP-FLOP

Generalidades

Siendo los Flip-Flop las unidades básicas de todos los sistemas secuenciales, existen cuatro tipos: el RS, el JK, el T y el D. Y los últimos tres se implementan del primero —pudiéndose con posterioridad con cualquiera de los resultados confeccionar quienquiera de los restantes.

Todos pueden ser de dos tipos, a saber: Flip-Flop activado por nivel (FF-AN) o bien Flip-Flop maestro-esclavo (FF-ME). El primero recibe su nombre por actuar meramente con los “niveles” de amplitud 0-1, en cambio el segundo son dos FF-AN combinados de tal manera que uno “hace caso” al otro.

Un circuito flip-flop puede mantener un estado binario indefinidamente (Siempre y cuando se le este suministrando potencia al circuito) hasta que se cambie por una señal de entrada para cambiar estados. La principal diferencia entre varios tipos de flip-flops es el numero de entradas que poseen y la manera en la cual las entradas afecten el estado binario.

 

Memoria Digital

Se trata de pequeñas tarjetas de memoria 100% electrónicas, basadas en el uso de celdas de almacenamiento tipo NAND, las cuáles permiten guardar datos por largos periodos de tiempo sin necesidad de tener alimentación eléctrica durante ese lapso. Al no tener partes en movimiento (salvo los dispositivos MicroDrive), tienen una baja generación de calor, pocodesgaste pero una alta velocidad de transmisión de datos, además tienen la característica de ser memorias portátiles que se pueden utilizar en una gran cantidad de dispositivos como:teléfonos celulares modernoscámaras digitales de videocámaras fotográficas digitalesreproductores MP3, etc.; exceptuando claro las memorias USB y las unidades SSD que ya tiene su uso definido.

 

Económicamente hablando, el precio en el mercado ronda los 7 € para dispositivos con ‘4 GB de almacenamiento’, aunque, evidentemente, se pueden encontrar dispositivos exclusivamente de almacenamiento de unos pocos MB por precios realmente bajos, estos en extinción, y de hasta 600 € para la gama más alta y de mayores prestaciones. No obstante, el coste por MB en los discos duros son muy inferiores a los que ofrece la memoria flash y, además los discos duros tienen una capacidad muy superior a la de las memorias flash.

Ofrecen, además, características como gran resistencia a los golpes, bajo consumo y por completo silencioso, ya que no contiene ni actuadores mecánicos ni partes móviles. Su pequeño tamaño también es un factor determinante a la hora de escoger para un dispositivo portátil, así como su ligereza y versatilidad para todos los usos hacia los que está orientado.

Sin embargo, todos los tipos de memoria flash sólo permiten un número limitado de escrituras y borrados, generalmente entre 10.000 y un millón, dependiendo de la celda, de la precisión del proceso de fabricación y del voltaje necesario para su borrado.

Este tipo de memoria está fabricado con puertas lógicas NORNAND para almacenar los 0s ó 1s correspondientes. Actualmente (08-08-2005) hay una gran división entre los fabricantes de un tipo u otro, especialmente a la hora de elegir un sistema de archivos para estas memorias. Sin embargo se comienzan a desarrollar memorias basadas en ORNAND.

Los sistemas de archivos para estas memorias están en pleno desarrollo aunque ya en funcionamiento como por ejemplo JFFS originalmente para NOR, evolucionado a JFFS2 para soportar además NANDYAFFS, ya en su segunda versión, para NAND. Sin embargo, en la práctica se emplea un sistema de archivos FAT por compatibilidad, sobre todo en las tarjetas de memoria extraible.

Otra característica de reciente aparición (30-9-2004) ha sido la resistencia térmica de algunos encapsulados de tarjetas de memoria orientadas a las cámaras digitales de gama alta. Esto permite funcionar en condiciones extremas de temperatura como desiertos o glaciares ya que el rango de temperaturas soportado abarca desde los -25 °C hasta los 85 °C.

Las aplicaciones más habituales son:

  • El llavero USB que, además del almacenamiento, suelen incluir otros servicios como radio FM, grabación de voz y, sobre todo como reproductores portátiles de MP3 y otros formatos de audio.
  • Las PC Card
  • Las tarjetas de memoria flash que son el sustituto del carrete en la fotografía digital, ya que en las mismas se almacenan las fotos.

Existen varios estándares de encapsulados promocionados y fabricados por la mayoría de las multinacionales dedicadas a la producción de hardware.

 

Circuitos MSI

La evolución de los circuitos integrados ha producido una gran variedad de circuitos que realizanmás que una simple función lógica. Estos circuitos, dependiendo de su complejidad y de la cantidadde compuertas lógicas internas han sido clasificados como circuitos de:Baja Escala de Integración  (SSI).- Hasta 12 compuertas lógicas o menos (funciones lógicasbásicas)Media Escala de Integración (MSI).- Hasta 100 compuertas lógicasAlta y muy Alta Escala de Integración (LSI y VLSI) .- Más de 100 compuertas lógicas Hay varias ventajas en el uso de los circuitos  MSI. Sigue leyendo

Funciones no especificadas completamente. Don't care

La especificación básica de una función de conmutación (función booleana) es la tabla de verdad, que muestra la lista de todas las combinaciones posibles de las variable y el valor que asumirá la o las salidas para todas esas combinaciones.

Hasta ahora hemos supuesto que los valores de verdad se especifican estrictamente para todas las 2n combinaciones de entradas posibles, siendo n el numero de variables de entrada. Sin embargo, no siempre es así. Existe la posibilidad que ciertas combinaciones de entrada, debido a restricciones externas, no se produzcan nunca. Esto no quiere decir que si estas entradas prohibidas se produjeran, el circuito no responderá de alguna forma, de hecho cualquier circuito de conmutación responderá de alguna forma a cualquier entrada. Sin embargo, dado que la entrada no puede ocurrir nunca, no importa si el circuito responderá a la salida con un cero o con un uno a esta combinación de entrada prohibida.
Cuando se presentan estas situaciones se dice que la salida es NO ESPECIFICADA (Don’t care en inglés). Esto se indica en la tabla de verdad y en el mapa de Karnaugh correspondiente con una X en lugar del 1 o 0.
Esta X en el mapa de Karnaugh la utilizaremos como un comodín, haciéndola valer 0 o 1 según nuestra conveniencia a la hora de minimizar. Cuando queremos simplificar una función utilizando mapas de Karnaugh, estas condiciones de don’t care para formar grupos de “unos” mas grandes que nos generaran términos productos menores.

 

Circuitos Combinatorios

Un circuito combinatorio es un arreglo de compuertas lógicas con un conjunto de entradas y salidas.
Las n variables de entrada binarias vienen de una fuente externa, las m variables de salida van a un destino externo, y entre éstas hay una interconexión de compuertas lógicas. Un circuito combinatorio transforma la información binaria de los datos de entrada a los datos de salida requeridos.
Un circuito combinatorio puede describirse mediante una tabla de verdad que muestre la relación binaria entre las n variables de entrada y las m variables de salida. Puede especificarse también con m funciones booleanas, una por cada variable de salida. Cada función de salida se expresa en término de las n variables de entrada.
El análisis de un circuito combinatorio comienza con un diagrama de circuito lógico determinado y culmina con un conjunto de funciones booleanas o una tabla de verdad.
El diseño de circuitos combinatorios parte del planteamiento verbal del problema y termina con un diagrama de circuito lógico. Pasos:
1- Se establece el problema
2- Se asignan letras a las variables de entrada y salida
3- Se deriva la tabla de verdad que define la relación entre entradas y salidas
4- Se obtienen las funciones booleanas simplificadas para cada salida
5- Se traza el diagrama lógico

Mapa de Karnaugh

Un mapa de Karnaugh (también conocido como tabla de Karnaughdiagrama de Veitch, abreviado como K-MapaKV-Mapa) es un diagrama utilizado para la simplificación defunciones algebraicas booleanas. El mapa de Karnaugh fue inventado en 1950 por Maurice Karnaugh, un físico y matemático de los laboratorios Bell.

Los mapas K aprovechan la capacidad del cerebro humano de trabajar mejor con patrones que con ecuaciones y otras formas de expresión analítica. Externamente, un mapa de Karnaugh consiste de una serie de cuadrados, cada uno de los cuales representa una línea de la tabla de verdad. Puesto que la tabla de verdad de una función de N variables posee 2N filas, el mapa K correspondiente debe poseer también 2N cuadrados. Cada cuadrado alberga un 0 ó un 1, dependiendo del valor que toma la función en cada fila. Las tablas de Karnaugh se pueden utilizar para funciones de hasta 6 variables

 

Ecuaciones Booleanas

Reducción de ecuaciones booleanas.

Introducción.

Se denomina función lógica o booleana a aquella función matemática cuyas variables son binarias y están unidas mediante los operadores del álgebra de Boole suma lógica (+), producto lógico (·) o negación(‘). Función Booleana
Una función booleana es una aplicación de A x A x A x….A en A, siendo A unconjunto cuyos elementos son 0 y 1 y tiene estructura de álgebra de Boole.
Existen distintas formas de representar una función lógica, entre las que podemos destacar las siguientes:
• Algebraica
• Por tabla de verdad
• Numérica
• Gráfica
Todas las variables y constantes del Álgebra booleana, admiten sólo uno de dos valores en sus entradas y salidas: Sí/No, 0/1 o Verdadero/Falso. Estos valores bivalentes y opuestos pueden ser representados por números binarios de un dígito (bits), por lo cual el Álgebra booleana se puede entender cómo el Álgebra del Sistema Binario. Todas las operaciones (representadas por símbolos determinados) pueden ser materializadas mediante elementos físicos de diferentes tipos (mecánicos, eléctricos, neumáticos o electrónicos) que admiten entradas binarias o lógicas y que devuelven una respuesta (salida) también binaria o lógica.