La jerarquía de memorias organiza diferentes niveles de memoria de acuerdo a su tamaño, velocidad y costo. La cache es el nivel superior más rápido y pequeño que almacena copias de datos y código de la memoria principal más lenta y grande para mejorar el rendimiento. Cuando se necesita un bloque que no está en la cache ocurre un fallo y se debe traer el bloque desde la memoria inferior.
Cuántas veces no hemos odio 32 o 64 bits??, pero pocos usuarios entienden exactamente cual es la diferencia, este pequeño escrito lo explica técnicamente.
Cuántas veces no hemos odio 32 o 64 bits??, pero pocos usuarios entienden exactamente cual es la diferencia, este pequeño escrito lo explica técnicamente.
Aquí les presento un breve resumen de las diferentes generaciones de los sistemas operativos, como se fueron creando y el gran salto que dio esto en cuanto a la tecnología de hoy.
ea cual sea es esquema de organización del almacenamiento que se adopte para un sistema específico, es necesario decidir que estrategias se deben utilizar para obtener un rendimiento óptimo.
Gestión de documentos [Cómo encontrar SIN organizar] (Ricardo devis)Ricardo Devis
Introducción al nirvana corporativo: cómo encontrar sin haberlo organizado previamente. La parte más interesante es la que describe el despliegue de técnicas de "Get Back Your Life!", la biblia del e-mail para corporaciones en USA.
Almacenamiento de objetos en Ceph y su API S3 (LibreCon 2017)Igalia
By Javier Muñoz.
Se presentará Ceph como plataforma de almacenamiento escalable, los problemas que resuelve y los desafíos que se encuentran las empresas que la utilizan para ofrecer productos y servicios de almacenamiento en cloud similares a Amazon S3.
(c) LibreCon 2017
https://librecon.io/
Principios del Diseño Orientado a Objetos (OOD) Aplicados en CLeandro Francucci
Presentación de los principios del diseño orientado a objetos (OOD) aplicados a la programación en lenguaje C, como una manera disciplinada de organizar, diseñar y codificar software, demistificando su uso exclusivo en lenguajes o herramientas particulares. Su aplicación en sistemas de software, incluyendo los embedded systems, tienen grandes beneficios, ya que fomentan la producción de software flexible, reutilizable, transportable, legible, fácil de probar y mantener, promoviendo lo que se conoce como código limpio. A su vez, se presentarán los principios básicos para conseguir esto último, y comprender el diseño ágil de software. Finalmente, se presentarán diferentes técnicas de programación en C para lograr su implementación.
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfsandradianelly
Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestr
2. 2 Introducción Los programas comparten en la memoria tanto su código como sus datos. Estrategia de optimización de rendimiento: posibilitar a la CPU el acceso ilimitado y rápido tanto al código como a los datos. Inconveniente: tecnológicamente, cuanto más grandes son las memorias (más capacidad) más lentas y costosas resultan.
3. 3 Introducción Ley de localidad: todo programa favorece una parte de su espacio de direcciones en cualquier instante de tiempo. Dimensiones: Localidad temporal (tiempo). Si se referencia un elemento tenderá a ser referenciado pronto. Localidad espacial (espacio). Si se referencia un elemento, los elementos cercanos a él tenderán a ser referenciados pronto.
4. 4 Introducción El principio de localidad y la directriz que el hardware más pequeño es más rápido mantienen el concepto de una jerarquía basada en diferentes localidades y tamaños. Organizada en varios niveles, cada uno más pequeño, más caro y más rápido. Todos los datos de un nivel se encuentran también en el nivel siguiente, hasta el extremo inferior de la jerarquía.
5. 5 D Ejemplos de jerarquías de memoria CPU CPU I Cache L2 cache RAM RAM disco disco red
6. 6 Terminología básica El nivel superior, el más cercano al procesador es mas rápido y pequeño que el nivel inferior. Mínima unidad de información en una jerarquía de dos niveles bloque
7. 7 Terminología básica (1) Acierto (hit) : un acceso a un bloque de memoria que se encuentra en el nivel superior. Fallo (miss) : el bloque no se encuentra en ese nivel. Frecuencia de aciertos : fracción de accesos a memoria encontrados en el nivel superior. Frecuencia de fallos (1 - frecuencia de aciertos): fracción de accesos a memoria no encontrados en el nivel superior.
8. 8 Terminología básica (2) Tiempo de acierto : tiempo necesario para acceder a un dato presente en el nivel superior de la jerarquía incluye el tiempo necesario para saber si el acceso es un acierto o un fallo. Tiempo de fallo : tiempo necesario para sustituir un bloque de nivel superior por el correspondiente bloque de nivel más bajo, más el tiempo necesario para proporcionar este bloque al dispositivo que lo solicitó (generalmente la CPU). Penalización de fallo : tiempo de fallo + tiempo de acierto.
9. 9 Tiempo de fallo... Componentes: Tiempo de acceso : tiempo necesario para acceder a la primera palabra de un bloque en un fallo relacionado con la latencia del nivel más bajo Tiempo de transferencia : tiempo para transferir las restantes palabras del bloque relacionado con el ancho de banda entre las memoria de nivel más bajo y más alto.
10. 10 Direccionamiento CPU # blqs Log2 # blq Dirección de memoria 1 0 0 1 0 1 1 1 0 0 1 1 0 0 1 0 1 0 1 1 0 0 1 0 1 0 0 1 1 0 Dirección de la estructura de bloque DEB Dirección de desplazamiento de bloque OFS
11. 11 Rendimiento de la jerarquía T medio de accesos= Frec. acierto * T acierto + Frec. fallo * Penalización de fallos = T acierto + Frecuencia de fallos * Tiempo de fallos
12. 12 Clasificación de las jerarquías de memoria Ubicación del bloque Dónde puede ubicarse un bloque en el nivel superior Identificación del bloque Cómo se encuentra un bloque en el nivel superior Sustitución de bloque Qué bloque debe reemplazarse en caso de fallo Estrategia de escritura Qué ocurre en una escritura
13. 13 Primer nivel : Memoria CACHE Memorias muy rápidas Poca capacidad Se interponen entre el procesador y la memoria principal CPU Cache RAM Nivel de cache
17. 16 Notas . . . En una cache asociativa por conjuntos, si hay n bloques por conjunto, la cache se llama asociativa por conjuntos de n vías (asociatividad n) Una cache de correspondencia directa podría decirse que es asociativa por conjuntos de una sola vía Una cache totalmente asociativa posee un solo conjunto con grado de asociatividad m (si posee m bloques en total)
27. aumenta el tamaño de la etiquetaUna cache totalmente asociativa no tiene índice y la parte de etiqueta posee la dirección de la estructura de bloque total. 22
28. 23 Ejemplo (parte 1) Caché de 512 bytes dividida en bloques de 16 bytes (32 bloques) La caché está, a su vez, agrupada en 8 conjuntos de 4 bloques cada uno (4 vías). 0 1 2 3 4 5 6 7 El nivel inferior es una RAM de 16 Kbytes. Entonces tiene 1024 bloques de 16 bytes cada uno 0 1 . . . . . . . . . . . . . . . . . . . . . . . . 1023
29. 24 Ejemplo (parte 2) Si la dirección que necesita la CPU es 9000 entonces: bloque = 9000 DIV 16 = 562 desplaz = 9000 MOD 16 = 8 En la caché irá en el conjunto: conjunto = 562 MOD 8 = 2 y el valor de la etiqueta será: etiqueta = 562 DIV 8 = 70 70 2 8 indice desplazamiento etiqueta
30. 25 Ejemplo (parte 3) En binario sería: 9000 = 1000 1100 101 000 Como el bloque es de 16 bytes, el desplazamiento lo dan los 4 últimos bits desplazamiento = 1000 ( = 8) dir.est. bloque = 1000 1100 10 Como la caché es de 8 conjuntos, entonces, el MOD 8 representa los últimos 3 bits de la dirección de estructura de bloque. Entonces: indice = 010 ( = 2) etiqueta = 1000 110 ( = 70) 1000110 010 1000 indice desplazamiento etiqueta
31. 26 Uso de los campos de la DEB etiqueta desplazamiento Cache 1 D e c o d i f i c a d o r índice datos Cache 2 Cache 3
32. 27 Diagrama de bloques del subsistema de cache bloque offset dato Memoria memoria de datos # blq CPU Dir Memoria de etiquetas DEB pres presencia
33. 28 Sustitución de bloques Ante un fallo de cache es necesario traer un bloque nuevo y ubicarlo en algún lugar del nivel superior Si existe algún bloque de cache con datos no válidos, el reemplazo se hace en ese lugar Debido a la alta frecuencia de aciertos de la cache es necesario tomar estrategias de reemplazo
40. disminuye la posibilidad de desechar información que se necesitará pronto
41.
42. 32 Mecanismo pseudo aleatorio Blq anterior Semilla cíclica + Fallo de cache Indice a usar Nuevo blq de reemplazo Para ahorrar la demora del sumador se calcula el bloque para el siguiente fallo y se usa el anterior para atender el fallo actual
43. 33 Más notas... La estrategia aleatoria es sencilla de construir en hardware Cuando el número de bloques a gestionar aumenta, la estrategia LRU se convierte en muy cara frecuentemente se utiliza una aproximación de ésta La política de reemplazo juega un papel más importante en las caches más pequeñas que en las más grandes donde hay más opciones para sustituir. Asociatividad 2 vías 4 vías 8 vías tamaño LRU aleatorio LRU aleatorio LRU aleatorio 16 Kb 5.18% 5.69% 4.67% 5.29% 4.39% 4.96% 64 Kb 1.88% 2.01% 1.54% 1.66% 1.39% 1.53% 256 Kb 1.15% 1.17% 1.17% 1.13% 1.12% 1.12%