You are on page 1of 16

MULTITHREADING

Elena Prez-Toril Gracia M Dolores Perea Clemente

NDICE
Introduccin Ventajas Tipos y Modos de implementacin Hyperthreading Ejemplos Conclusiones Bibliografa
2

Introduccin
MULTITHREADING
CAPACIDAD DEL S.O DE EJECUTAR LAS DIFERENTES PARTES DE UN PROGRAMA (THREADS) SIMULTNEAMENTE.

THREADS

Contadores de programa independientes Mecanismos de etiquetado para distinguir las instrucciones de diferentes hilos Mecanismo que dispare el cambio de hilo.

Semi-proceso caracterizado por:


Un punto definido de comienzo Una secuencia de ejecucin Un punto de terminacin.

Los threads comparten memoria y datos entre ellos.


3

Ventajas con respecto a la programacin secuencial:


DIVIDE EL PROBLEMA en partes ms simples, siendo tratada parcial o completamente en PARALELO. En las modernas arquitecturas multiprocesadoras, una aplicacin Multithreading (MT) puede aprovecharse de la posibilidad de usar MS PROCESADORES para resolver el MISMO PROBLEMA. Un programa MT APROVECHAR LOS TIEMPOS MUERTOS que pueda encontrar en varias sub-fases de solucin de problemas para construir otra parte del proceso. MT es ms barato en trminos de recursos del sistema utilizados que los sistemas multiproceso.
4

Implementacin de hilos:

tiempo de proceso entre los threads y los interrumpe a intervalos regulares para dar paso al siguiente en la cola. (p.e. Windows 95/ NT,Unix)

MULTIHILO PREVENTIVO: El S.O. distribuye el

control de la CPU el tiempo que necesite.

MULTIHILO COOPERATIVO: Cada hilo toma el

Tipos de Multithreading
EXPLCITO (Especificado por el programador) Los hilos los genera el S.O. El cambio de hilo se produce de manera automtica por el procesador debido una poltica de cambio implementada. - Interleaved Multithreading (IMT) - Blocked Multithreading (BMT) - Simultaneous Multithreading (SMT) IMPLCITO: Se obtienen hilos del mismo proceso en tiempo de ejecucin.
6

Blocked Multithreading
MODELO ESTTICO: una determinada instruccin produce un cambio de hebra.
Explcito: Implcito
una instruccin provoca el cambio de contexto determinadas instrucciones como load-store provocan un cambio d contexto

MODELO DINMICO: el cambio de contexto es provocado por un evento dinmico (load, store, seal especfica ). En general, todas la informacin en el pipe de instrucciones entre la etapa de bsqueda y la etapa que provoca el cambio de contexto se descarta.
7

Blocked multithreading:

Multithreading simultneo
Todos los contextos de cada thread estn activos a la vez, compitiendo cada ciclo por los recursos vlidos. Tipos:
Recurso compartido Recurso rplica
10

Flujo de datos

NONBLOCKING THREADS: aprovechan e tiempo de espera del procesador para acceder a memoria. BLOCKING THREADS: no actan mientras el procesador est ocupado.

11

Hyperthreading:
Es la marca registrada de Intel para la implementacin del SMT para la microarquitectura del Pentium4. Combina hardware MT con tecnologa superescalar. Permite procesar hilos en paralelo, usando 2 procesadores lgicos. Segn Intel la mejora es del 40%.
12

13

http://www.intel.com/multi-core/demos.htm

14

Conclusiones
El MT permite ejecutar las diferentes partes de un programa simultneamente. Aprovecha los tiempos muertos. Es ms barato que los multiprocesadores. Se pueden realizar distintas instrucciones por ciclo de reloj.
15

Bibliografa
www.intel.es
http://en.wikipedia.org/wiki/Hyperthread

http://arstechnica.com Tutorial ACM Computing Surveys

16

You might also like