Professional Documents
Culture Documents
Editar 0 13
Que es NUMA?
simultneamente. Su principal caracteristica es el hecho de que varias CPU compartan el acceso a la memoria, teniendo una igualdad de condiciones para dicho acceso,
Ventajas de NUMA:
Otro beneficio que nos brinda NUMA, es la baja latencia que posee, es decir el tiempo o
lapso necesario para que un paquete de informacin se transfiera de un lugar a otro es menor.
Arquitectura de Memoria Compartida -
NUMA
Editar 0 1
Ventajas
Proporciona un nivel de prestaciones efectivos con mayores nivel de paralelismo que un SMP con
varios nodos Numas el trafico del bus en cualquier nodo se limita a las peticiones que el bus pueda
manejar, no obstante si muchos de los accesos a memorias se producen a lados remotos las
prestaciones empiezan a reducirse.
Desventajas
Un computador CC-NUMA, no parece tan transparente como un SMP, se necesita ciertos cambios
en el sofware como asignacion de paginas, la asignacion de procesos y el equilibrado de la carga
para adaptar el sistema operativo y las aplicaciones desde un SMP hacia un CC-NUMA, aparte hay
que considerar la disponibilidad, ya que se trata de una cuestion bastante compleja que depende
de la implementacion exacta de CC-NUMA.
CC-NUMA
Editar 0 4
Los sistemas CC-NUMA buscan reducir el tiempo de acceso a los datos residentes en un nodo
remoto utilizando en cada nodo una cache de tercer nivel (L3). Esta cache recibe el nombre de
cache remota (RC) ya que almacena copias de datos remotos que han sido utilizados
La arquitectura CC-NUMA, al igual que la arquitectura NUMA, utiliza memoria fsicamente
distribuida entre los nodos. En estas cada nodo posee una parte del espacio compartido de
direcciones y una memoria cache que puede utilizarse para replicar datos presentes en cualquier
otro nodo. Dado que la memoria fsica est uniformemente repartida entre los nodos y adems su
tamao es igual al de la memoria direccionable, basta con analizar la direccin solicitada para
determinar en qu nodo reside el bloque que contiene al dato.
MODELOS COMERCIALES MPP
Universidad Autnoma del Estado de Mxico
INTRODUCCIN
El ICL DAP tiene 64x64 elementos de procesamiento (PE) con 4096 bits
de almacenamiento por cada PE. Los programas para el DAP fueron
escritos en DAP FORTRAN que fue un FORTRAN extendido con una
matriz de 64x64 y vectores de 64 elementos. El diseo como se describe
en el documento de Stewart en 1973 es ms o menos lo que se llev a
cabo en la primera versin comercial, excepto la eliminacin en los
elementos de procesamiento de algunas bits suplementarios en las
direcciones, lo que simplific en gran medida la deteccin de errores en
el hardware. Una instalacin adicional fue una mejora forma de sumar
vectores en los PE. Connection Machine fue una serie de
superordenadores que surgi de la investigacin Danny Hillis en la
dcada de 1980 en el MIT sobre las alternativas a la tradicional
arquitectura de von Neumann de la computacin. Fue pensada
originalmente para aplicaciones del campo de la inteligencia artificial y el
procesamiento simblico, pero versiones posteriores alcanzaron un gran
xito en el campo de la ciencia computacional. La tesis original de Danny
Hillis fue la base de la Connection Machine CM-1. En ella se ofrece una
visin general de la filosofa, la arquitectura y el software para la
conexin de la mquina, incluidos los datos de enrutamiento entre los
nodos de la CPU, gestin de memoria, la programacin Lisp para las
distintas mquinas, etc.
CONCLUSIONES
FUENTE
http://www.bsc.es/
http://www.cesga.es/
http://www.atc.uniovi.es/inf_superior/atc2010/trabajos/paralelas/
6-SM%20de%20Memoria%20Distribuida%20comerciales-
memoria.pdf
MODELOS COMERCIALES DE LA ARQUITECTURA
NUMA
Universidad Autnoma del Estado de Mxico
INTRODUCCIN
NUMA (del ingls Non-Uniform Memory Access, en espaol "acceso a memoria no uniforme")
es un diseo de memoria utilizado en multiprocesamiento donde la memoria se accede en
posiciones relativas de otro proceso o memoria compartida entre procesos. Bajo NUMA, un
procesador puede acceder a su propia memoria local de forma ms rpida que a la memoria
no local (memoria local de otro procesador o memoria compartida entre procesadores).
Cada particin de esta memoria se ata directamente a un nodo pero se puede acceder a ella
por procesadores en otro nodos via la red de interconexin. As, los tiempos de acceso a la
memoria difieren dependiendo de si la ubicacin requerida es local al nodo o remota a este.
Este nivel de complejidad agregado puede ser escondido del software de aplicacin pero
hacer esto lleva a un desempeo suboptimo. Para hacer mejor uso del hardware, el
programador debe tomar la arquitectura en consideracin. El cache se usa entre procesadores
y memoria local asi como entre nodos. Mquinas con cach coherente a nivel del hardware se
llaman ccNUMA.
DESARROLLO
CONCLUSIONES
FUENTE:
http://users.dcc.uchile.cl/~rbaeza/cursos/proyarq/choviedo/numa
_definicion.html
COHERENCIA DE CACH
INTRODUCCIN
DESARROLLO
Hay tres niveles diferentes de coherencia de cach:
Todos los procesadores ver exactamente la misma secuencia de los cambios de los valores
para cada operando separada
Diferentes procesadores pueden ver una operacin y asumir diferentes secuencias de valores
Definicin
Coherencia define el comportamiento de lee y escribe en la misma ubicacin de
memoria. Se obtiene la coherencia de cach si se cumplen las siguientes condiciones:
En una operacin de lectura realizada por un procesador P a una ubicacin X que sigue una
operacin de escritura por el mismo procesador P a X, sin escribe de X por otro procesador que se
produce entre la escritura y las instrucciones de lectura realizadas por P, X siempre debe devolver
el valor escrito por P. Esta condicin est relacionada con el mantenimiento el orden del programa,
y esto debe lograrse incluso en arquitecturas monoprocessed.
Una lectura hecha por un procesador P1 a la posicin X que sigue una escritura por otro
procesador P2 X debe devolver el valor escrito por P2 si no hay otro escribe a X realizados por
cualquier procesador de ocurrir entre los dos accesos. Esta condicin define el concepto de vista
coherente de la memoria. Si los procesadores pueden leer el mismo valor anterior despus de la
escritura hecha por P2, podemos decir que la memoria es incoherente.
Escribe en el mismo lugar debe ser secuenciado. En otras palabras, si la ubicacin X recibi
dos valores diferentes A y B, en este orden, de los dos procesadores, los procesadores pueden no
leer localizacin X como B y luego leerlo como A. La ubicacin X debe ser visto con los valores A y
B, en ese orden.
La figura muestra tres procesadores con caches conectadas por un bus a una memoria
principal compartida. Se realiza por parte de los procesadores una serie de accesos a la
posicin u. Primero, el procesador P1 lee u, trayendo una copia a su cache. Despus el
procesador P3 lee u, con lo que tambin pone una copia en su cache. Tras esto, el
procesador P3 escribe en la posicin u cambiando su valor de 5 a 7. Con una cache de
escritura directa, esto causara que la posicin en memoria principal se actualizara; sin
embargo, cuando el procesador P1 vuelve a leer la posicin u (accin 4),
desafortunadamente leer el valor obsoleto (5) de su propia cach en lugar del valor
correcto (7) de la memoria principal.
CONCLUSIN
REFERENCIAS
http://docsetools.com/articulos-informativos/article_70643.html
http://arqui-gr4-her-val-dan-
ldro.wikispaces.com/Coherencia+de+cache+y+protocolo+MESI
Procesamiento Pipeline
Universidad Autnoma del Estado de Mxico
Definicin de Peline
https://arquicompuv.wordpress.com/2013/11/21/pipeline/
Aplicaciones de pipelines en informtica
Caractersticas de pipeline
Referencias
http://msanchez.usach.cl/lcc/Arquitectura-Pipeline.pdf
http://pipelinecomplejos.blogspot.es/
http://www.foro3d.com/f12/que-pipeline-49174.html
http://tuspreguntas.misrespuestas.com/preg.php?idPregunta=9785
http://www.slideshare.net/rehoscript/arquitectura-pipeline
Practica #1
Universidad Autnoma del Estado de Mxico
http://interactivepython.org/runestone/static/pythonds/
2 ALGORITMOS DE BSQUEDA SECUENCIAL
Se utiliza cuando el contenido del vector no se encuentra o no puede ser ordenado. Consiste en buscar
el elemento comparndolo secuencialmente (de ah su nombre) con cada elemento del vector
hasta que ste se encuentre, o hasta que se llegue al final del vector. La existencia se puede
asegurar desde el momento que el elemento es localizado, pero no podemos asegurar la no
existencia hasta no haber analizado todos los elementos del arreglo.
Implementacin en Python
vector=['1','33','23','45','12','78','99','21','31']
valor_a_buscar='21'
posicion=0
encontrado='No'
posicion_del_valor_a_buscar=0
longuitud_del_vector=len(vector)
if vector[posicion]==valor_a_buscar :
posicion_del_valor_a_buscar=posicion
encontrado='Si'
posicion=posicion+1
if encontrado=='Si':
else:
Implementacin en Python
#Gustavo Adolfo Mercado Gonzlez
http://librosweb.es/libro/algoritmos_python/capitulo_8/busqueda_binaria.html
Programacin de Computadoras Paralelas
Universidad Autnoma del Estado de Mxico
INTRODUCCIN
En 1988 McGraw y Axelrod identificaron cuatro formas de desarrollar software para las
computadoras paralelas:
1.-Extender o enriquecer un compilador existente para que traduzca programas secuenciales en
programas paralelos.
2.-Extender o enriquecer un lenguaje existente con nuevas operaciones que permita a los usuarios
expresar el paralelismo.
3.-Agregar una nueva capa de lenguaje paralelo encima de un lenguaje secuencial existente.
DESARROLLO
3.- AGREGAR UNA CAPA DE PROGRAMACIN PARALELA
Imaginemos que la programacin paralela tiene dos capas: la capa inferior contiene el
ncleo del cmputo, donde un proceso manipula su parte de los datos para producir su
parte del resultado, mientras que la capa superior controla la creacin y sincronizacin de
los procesos y la particin de los datos entre los procesos. El compilador sera
responsable de traducir estas dos capas del programa paralelo en cdigo listo para su
ejecucin sobre una computadora paralela.
CONCLUSIONES
REFERENCIAS
http://www.netlib.org/hence/
Encuesta
Pregunta 1:
Pregunta 2:
El 56% de las personas entrevistadas dijo que posee conocimiento y domina la programacin para
multiples hilos y ncleos.
El 42% contesto que posee conocimientos teoricos desactualizados, 2% dijo que es experto en
programacion paralela y nadie dijo que no conociera esta disciplina.
Pregunta 3:
El 62% de los entrevistados dijo que implementan sus aplicaciones en estaciones de trabajo y
servidores, 22% en plataformas moviles, 10% en grids, clusters, Cloud y solo un 6% dijo que en
super computadoras.
Pregunta 4:
El 56% contesto a esta pregunta que para ellos lo mas importante si fueran dueos de un negocio
de desarrollo de software es optimizar el rendimiento multicore con el minimo esfuerzo, el 24% dijo
facilidad en convertir aplicaciones secuenciales en paralelas, el 16% dijo compatibilidad con las
normas abiertas de clculo paralelo y solo un 4% contesto rendimiento linealmente a escala a
travs de hardware heterogneo.
Pregunta 5:
El 37% de los encuestados dicen que ellos desarrollan software en c/c++, 29% usan ms Java,
24% dijo Python, 5% utiliza C# y el otro 5% usa Fortran. Podemos ver que el lenguaje mas utilizado
segun los resultados es C/C++, Java y Python.
COMPUTADORAS CUNTICAS
INTRODUCCIN
Las computadoras se han vuelto parte de nuestra vida cotidiana. Estn presentes no slo en
las universidades, oficinas y escuelas, sino en las casas de muchas personas. Las
computadoras modernas almacenan nuestros datos, nos comunican con los amigos, sacan
fotos y sirven para escuchar msica. Sin embargo, no hay que olvidar su propsito original:
hacer clculos. Ha habido recientemente un enorme avance en la computacin numrica.
Cada ao aparecen procesadores ms rpidos y debemos tirar a la basura las computadoras
que orgullosamente compramos hace poco tiempo. Qu nos depara el futuro?
DESARROLLO
Una computadora cuntica es un dispositivo informtico que hace uso directo del fenmeno de la
mecnica cuntica, como la superposicin y el entrelazamiento cuntico, para realizar operaciones
sobre datos.
El aumento en la velocidad y la potencia de las computadoras en los ltimos aos y los efectos
de esta tecnologa son tan espectaculares, que uno podra pensar que no tienen lmites. Y ni
siquiera hace falta tomar en cuenta los cambios que las computadoras han producido en el
comercio y la economa. Basta considerar el efecto de las computadoras en la ciencia para
darse cuenta de que han cambiado nuestra manera de estudiar la naturaleza. Hoy en da las
computadoras nos permiten simular, por ejemplo, colisiones de galaxias y la formacin de las
primeras estrellas. As podemos estudiar y entender estos sucesos sin necesidad de que
ocurran ante nuestros ojos. Podemos decir que los cientficos cuentan con una nueva
herramienta, adems de las tradicionales (la teora y la experimentacin): la ciencia
computacional.
Richard Feynman, uno de los fsicos tericos ms brillantes del siglo pasado, reflexion en
1982 acerca de las limitaciones de las computadoras clsicas. Le interesaba, en particular, el
problema de hacer simulaciones del mundo real, que es cuntico a fin de cuentas, por medio
de computadoras clsicas. Se puede? Simular un fenmeno por medio de una computadora
exige que le proporcionemos a sta las ecuaciones matemticas que describen el fenmeno.
La descripcin matemtica de los fenmenos cunticos es la ecuacin de Schrdinger. Se
trata de una ecuacin diferencial que una computadora clsica puede manipular. En otras
palabras, nada impide resolver ecuaciones de movimiento cuntico con una computadora
clsica. Pero la dificultad, como indic Feynman, es que slo podramos resolver problemas
muy simples y de poco inters, en los que intervienen slo unas cuantas partculas (en un
sistema cuntico de inters hay miles de millones de partculas). Si el nmero de partculas
aumenta, la capacidad de la mquina debe aumentar exponencialmente. Para simular
procesos cunticos no triviales la computadora clsica tendra que ser gigantesca, porque su
capacidad aumenta en forma lineal. Adems de plantear esta crtica de la fsica computacional
clsica, Richard Feynman Propuso la utilizacin de sistemas cunticos sencillos,
llamados qubits (de quantum bits), como elementos estructurales bsicos de una nueva
computadora. As nace el sueo de una computadora cuntica.
CONCLUSIONES
La computadora ha ido evolucionando segn las necesidades del usuario, cada vez se hace
mas rigidos los requerimientos y caracteristicas de un equipo de computo.
El usuario ya exige mayor velocidad del procesamiento de datos, mayor espacio de
almacenamiento y es por eso que la computadora va evolucionando o sufriendo cambios que
nos permiten avanzar en el mundo de la tecnologa.
La tecnologa nos ha alcanzado y nos ha rebasado, estamos en un tiempo donde la
computadora se ha convertido en una necesidad y como no nos conformamos siempre tendra
avances que nos facilitara el trabajo y problemas que se presentan en la vida diaria. Asi nace
la computacin Cuntica.
FUENTES
http://www.comoves.unam.mx/numeros/articulo/67/computacion-cuantica
http://www.alegsa.com.ar/Dic/computadora%20cuantica.php