Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Memoria Transaccional

1,259 views

Published on

  • Be the first to comment

  • Be the first to like this

Memoria Transaccional

  1. 1. Memoria transaccional Adriana Castro Bonenfant - adri@hardcoders.org - Arquitecturas Multiprocesador ´ ´ Facultad de Informatica, Universidad Politecnica de Madrid Enero 2012A. Castro (FI UPM) Memoria transaccional Enero 2012 1 / 20
  2. 2. ´ndiceI1 ´ Introduccion Escenario ´ Motivacion2 Transacciones ´ Definicion Funcionamiento3 Memoria transaccional Implementaciones Ejemplos de Instrucciones Arquitectura Ejemplo4 Bibliograf´a ı A. Castro (FI UPM) Memoria transaccional Enero 2012 2 / 20
  3. 3. Contenido1 ´ Introduccion Escenario ´ Motivacion2 Transacciones ´ Definicion Funcionamiento3 Memoria transaccional Implementaciones Ejemplos de Instrucciones Arquitectura Ejemplo4 Bibliograf´a ı A. Castro (FI UPM) Memoria transaccional Enero 2012 3 / 20
  4. 4. EscenarioPresente y futuro son multicore Incremento del no instrucciones/s con la misma freq de reloj Mejora del rendimiento en programas paralelos Mejor rendimiento → nuevas caracter´sticas ı ´ ´Pero la programacion paralela es mas compleja que la secuencial Algoritmos ´ Depuracion No determinismo Rendimiento no siempre asegurado Memoria compartida + preemption Incremento de problemas de concurrencia Escalabilidad A. Castro (FI UPM) Memoria transaccional Enero 2012 4 / 20
  5. 5. ´MotivacionObtener estructuras de datos compartidas libres de bloqueos(lock-free) ´ Operaciones no requieren exclusion mutuaLas estructuras de datos lock-free evitan problemas relacionados conbloqueos en sistemas concurrentes: Inversiones de prioridad Convoying Interbloqueos ´Buscar manera de simplificar programacion paralela mediante la ´ ´ejecucion atomica de un conjunto de instrucciones load-store, similara las transacciones en las bases de datos. Control de acceso a memoria compartida A. Castro (FI UPM) Memoria transaccional Enero 2012 5 / 20
  6. 6. Contenido1 ´ Introduccion Escenario ´ Motivacion2 Transacciones ´ Definicion Funcionamiento3 Memoria transaccional Implementaciones Ejemplos de Instrucciones Arquitectura Ejemplo4 Bibliograf´a ı A. Castro (FI UPM) Memoria transaccional Enero 2012 6 / 20
  7. 7. TransaccionesConcepto similar al de las bases de datos ´Definicion ´Secuencia finita de instrucciones maquina englobadas en un bloque ´cuya operacion es completa.Propiedades ACID: Atomicity (atomicidad) Consistency (consistencia) Isolation (aislamiento) Durability (durabilidad) ´En ocasiones las propiedades consistencia, aislamiento y durabilidad aparecen fusionadas como serializacion (serializability) A. Castro (FI UPM) Memoria transaccional Enero 2012 7 / 20
  8. 8. ´Funcionamiento de una transaccionInicio 1 Hacer copia privada de datos compartidos 2 Hacer actualizaciones en copia privada 3 Si datos compartidos no modificados → actualizar datos compartidos con copia privada y goto(Fin) Si conflictos → descartar copia privada y goto(Inicio)Fin A. Castro (FI UPM) Memoria transaccional Enero 2012 8 / 20
  9. 9. Contenido1 ´ Introduccion Escenario ´ Motivacion2 Transacciones ´ Definicion Funcionamiento3 Memoria transaccional Implementaciones Ejemplos de Instrucciones Arquitectura Ejemplo4 Bibliograf´a ı A. Castro (FI UPM) Memoria transaccional Enero 2012 9 / 20
  10. 10. Memoria transaccional ´Definicion ´Arquitectura multiprocesador que pretende hacer la sincronizacion ´lock-free tan eficiente como las tecnicas convencionales basadas en ´exclusion mutua.Caracter´sticas: ı ´ Codigo eficiente y sencillo resuelve operaciones conflictivas ´ (contencion en locks es trivial con TM) Mezcla de operaciones de grano fino y grueso ´ ´ ´ Combinacion de operaciones atomicas con orelse (if atomico) 2 caches por procesador (regular y transaccional), exclusivas Protocolo Snoopy en buses ´ Mas dif´cil de implementar que los locks ı E/S todav´a presenta problemas... ı A. Castro (FI UPM) Memoria transaccional Enero 2012 10 / 20
  11. 11. Implementaciones (I)Hardware(HTM): Modificaciones en procesador, cache y buses ´ Baja sobrecarga y buen rendimiento energetico ´ Poco intrusivos en el entorno de ejecucionSoftware(STM): Librer´as de los lenguajes, con requerimientos ıhardware m´nimos ı ´ Mayor variedad de algoritmos y mas sofisticados ´ Facilmente modificable y evolucionable ´ Alta capacidad de integracion con sistemas existentes (ej: garbage collectionH´brida (HyTM): HTM + STM ı ´ Combinacion del buen rendimiento hardware con las ventajas que ofrece el software A. Castro (FI UPM) Memoria transaccional Enero 2012 11 / 20
  12. 12. Implementaciones (II)BlueGene/Q (IBM) — Nov. 2011 Primer procesador comercial con TM #17 top500 (noviembre 2011) #[1-4] green500 (noviembre 2011)Rock (Sun Microsystems) — 2007 - 2010 Proyecto cancelado por OracleVega 2 (Azul Systems) — 2007 A. Castro (FI UPM) Memoria transaccional Enero 2012 12 / 20
  13. 13. Ej. Instrucciones: acceso a memoriaLoad-transactional (LT) ´Carga el contenido de una region compartida de memoria en unregistro privadoLoad-transactional-exclusive (LTX) ´Carga el contenido de una region compartida de memoria en un ´registro privado, marcando la region como actualizableStore-transactional (ST) ´Carga en una region compartida de memoria el contenido de un ´registro privado, no haciendolo visible hasta un commit. Transaction’s read set (TRS): regiones le´das por LT ı Transaction’s write set (TWS): regiones accedidas por LTX o ST ´ Transaction’s data set (TDS): union de los conjuntos anteriores A. Castro (FI UPM) Memoria transaccional Enero 2012 13 / 20
  14. 14. Ej. Instrucciones: estado de transaccionesCommit (COMMIT) ´Hace permanentes los cambios realizados (exito), si ninguna otra ´transaccion ha actualizado alguna TDS o le´do en la TWS. ıSi falla, se descartan todos los cambios en el TWSAbort (ABORT)Descarta todos los cambios del TWSValidate (VALIDATE)Comprueba el estado de las transacciones concurrentes: true si no seha abortado, false eoc, descartando las posibles actualizaciones A. Castro (FI UPM) Memoria transaccional Enero 2012 14 / 20
  15. 15. Cache transaccional Similar a cache de v´ctimas ı Asociativa total Protocolos de coherencia de cache para deteccion de conflictos Estado en linea de cache transaccional Mensajes en bus transaccional No propaga a otros procesadores o MP hasta commit Si abort, invalida linea de cache transaccional A. Castro (FI UPM) Memoria transaccional Enero 2012 15 / 20
  16. 16. Ejemplo (I)Fragmento de un benchmark contador (Herlihy & Moss, ISCA ’93) shared int counter; void process (int work) { int success = 0, backoff = BACKOFF_MIN; unsigned wait; while (success < work) { ST (&counter, LTX (&counter) + 1); if (COMMIT ()) { success++; backoff = BACKOFF_MIN; } else { wait = random () % (01 << backoff); while (wait--); if (backoff < BACKOFF) backoff++; } } } A. Castro (FI UPM) Memoria transaccional Enero 2012 16 / 20
  17. 17. Ejemplo (II) Bus y Red A. Castro (FI UPM) Memoria transaccional Enero 2012 17 / 20
  18. 18. Contenido1 ´ Introduccion Escenario ´ Motivacion2 Transacciones ´ Definicion Funcionamiento3 Memoria transaccional Implementaciones Ejemplos de Instrucciones Arquitectura Ejemplo4 Bibliograf´a ı A. Castro (FI UPM) Memoria transaccional Enero 2012 18 / 20
  19. 19. Bibliograf´a (I) ı Transactional Memory, 2nd ed., T. Harris, J. Larus and R. Rajwar — 2010, Morgan & Claypool Publishers Transactional Memory: Architectural support for lock-free data structures, M. Herlihy and J. Moss — ISCA ’93 Transactional Memory Overview, O. Ruwase — CMU 2007 The Transactional Memory / Garbage Collection Analogy, D. Grossman — 2007 Hybrid Transactional Memory, P. Damron, A. Fedorova, Y. Lev, V. Luchangco, M. Moir an D. Nussbaum — 2006 Transactional Memory, Wikipedia Non-blocking algorithm, Wikipedia ´ ´ ˜ Sincronizacion, Concurrencia y Transacciones, F. Perez, J. Pena, M. ´ Perez — SOD, FI UPM A. Castro (FI UPM) Memoria transaccional Enero 2012 19 / 20
  20. 20. Bibliograf´a (II) ı Blue Gene, Wikipedia IBM plants transactional memory in CPU, EETimes — 2011 Rock Processor, Wikipedia Sun rallies industry around Rock CPU, EETimes — 2008 Azul Systems, Wikipedia A. Castro (FI UPM) Memoria transaccional Enero 2012 20 / 20

×