Multithreading en entornos de ejecución multitarea

Autores
Rexachs del Rosario, Dolores; Moure, Juan Carlos; Luque Fadón, Emilio
Año de publicación
1998
Idioma
español castellano
Tipo de recurso
documento de conferencia
Estado
versión publicada
Descripción
Un amplio espectro de los entornos en los que se usan las estaciones de trabajo y los computadores personales requiere de la ejecución de múltiples tareas diferentes durante un mismo intervalo de tiempo. Sin embargo, la mayoría de los procesadores actuales están diseñados para minimizar el tiempo de ejecución de una única tarea, e implementan un modelo de ejecución superescalar que usa el paralelismo entre las instrucciones de la tarea para ejecutar varias instrucciones simultáneamente. Estos procesadores ejecutan varias tareas diferentes intercambiando la tarea en ejecución a lo largo del tiempo. El objeto de este artículo es mostrar que para los entornos de ejecución multitarea existen mejores alternativas que los procesadores actuales. Analizamos los requerimientos de estos entornos y las ventajas que presentan los procesadores multithreaded (MT). En primer lugar, la medida fundamental de las prestaciones ya no es el tiempo de ejecución final de cada tarea sino la cantidad de tareas realizadas por unidad de tiempo o productividad (``throughput''). Los procesadores MT soportan a nivel del repertorio de instrucciones la ejecución explícita de varios flujos de control, o threads, reduciendo el tiempo que se pierde al realizar los cambios de contexto. Si además el procesador MT es capaz de ejecutar varias instrucciones de tareas diferentes durante cada ciclo de reloj, compartiendo los recursos del procesador, se puede usar este paralelismo extra para incrementar la productividad del sistema. Una opción básica de diseño es cómo compartir los recursos del procesador entre las tareas activas del procesador. Existen microarquitecturas que permiten compartir entre las tareas prácticamente todos los recursos del procesador, como el simultaneous multithreading (SMT), y otras donde un grupo de recursos está reservado a una única tarea, como el multiprocesamiento en un chip (CMP). En este artículo analizamos otras soluciones intermedias, con un mejor compromiso entre la complejidad del SMT y el relativamente bajo rendimiento del CMP. La asignación de los recursos compartidos del procesador a las tareas activas se realiza dinámicamente, en tiempo de ejecución y ciclo a ciclo. Se analizan los problemas ocasionados por la interferencia entre tareas que comparten recursos, especialmente la memoria cache, y se proponen formas de organizar esta compartición para reducir los problemas. Finalmente, se plantea un modelo cualitativo tanto de las microarquitecturas como de las aplicaciones, con objeto de detectar posibles cuellos de botella, de hacer una primera valoración de las diferentes opciones de diseño y de realizar una aproximación teórica a los resultados cuantitativos que se esperan obtener.
Sistemas Distribuidos - Redes Concurrencia
Red de Universidades con Carreras en Informática (RedUNCI)
Materia
Ciencias Informáticas
Informática
Multiprocessing/multiprogramming/multitasking
multitarea
Applications
Network monitoring
modelado de aplicaciones
multithreadings
simultaneous multithreading
Nivel de accesibilidad
acceso abierto
Condiciones de uso
http://creativecommons.org/licenses/by-nc-sa/2.5/ar/
Repositorio
SEDICI (UNLP)
Institución
Universidad Nacional de La Plata
OAI Identificador
oai:sedici.unlp.edu.ar:10915/24180

id SEDICI_3e67030bbd31651ae2782cb2954227e1
oai_identifier_str oai:sedici.unlp.edu.ar:10915/24180
network_acronym_str SEDICI
repository_id_str 1329
network_name_str SEDICI (UNLP)
spelling Multithreading en entornos de ejecución multitareaRexachs del Rosario, DoloresMoure, Juan CarlosLuque Fadón, EmilioCiencias InformáticasInformáticaMultiprocessing/multiprogramming/multitaskingmultitareaApplicationsNetwork monitoringmodelado de aplicacionesmultithreadingssimultaneous multithreadingUn amplio espectro de los entornos en los que se usan las estaciones de trabajo y los computadores personales requiere de la ejecución de múltiples tareas diferentes durante un mismo intervalo de tiempo. Sin embargo, la mayoría de los procesadores actuales están diseñados para minimizar el tiempo de ejecución de una única tarea, e implementan un modelo de ejecución superescalar que usa el paralelismo entre las instrucciones de la tarea para ejecutar varias instrucciones simultáneamente. Estos procesadores ejecutan varias tareas diferentes intercambiando la tarea en ejecución a lo largo del tiempo. El objeto de este artículo es mostrar que para los entornos de ejecución multitarea existen mejores alternativas que los procesadores actuales. Analizamos los requerimientos de estos entornos y las ventajas que presentan los procesadores multithreaded (MT). En primer lugar, la medida fundamental de las prestaciones ya no es el tiempo de ejecución final de cada tarea sino la cantidad de tareas realizadas por unidad de tiempo o productividad (``throughput''). Los procesadores MT soportan a nivel del repertorio de instrucciones la ejecución explícita de varios flujos de control, o threads, reduciendo el tiempo que se pierde al realizar los cambios de contexto. Si además el procesador MT es capaz de ejecutar varias instrucciones de tareas diferentes durante cada ciclo de reloj, compartiendo los recursos del procesador, se puede usar este paralelismo extra para incrementar la productividad del sistema. Una opción básica de diseño es cómo compartir los recursos del procesador entre las tareas activas del procesador. Existen microarquitecturas que permiten compartir entre las tareas prácticamente todos los recursos del procesador, como el simultaneous multithreading (SMT), y otras donde un grupo de recursos está reservado a una única tarea, como el multiprocesamiento en un chip (CMP). En este artículo analizamos otras soluciones intermedias, con un mejor compromiso entre la complejidad del SMT y el relativamente bajo rendimiento del CMP. La asignación de los recursos compartidos del procesador a las tareas activas se realiza dinámicamente, en tiempo de ejecución y ciclo a ciclo. Se analizan los problemas ocasionados por la interferencia entre tareas que comparten recursos, especialmente la memoria cache, y se proponen formas de organizar esta compartición para reducir los problemas. Finalmente, se plantea un modelo cualitativo tanto de las microarquitecturas como de las aplicaciones, con objeto de detectar posibles cuellos de botella, de hacer una primera valoración de las diferentes opciones de diseño y de realizar una aproximación teórica a los resultados cuantitativos que se esperan obtener.Sistemas Distribuidos - Redes ConcurrenciaRed de Universidades con Carreras en Informática (RedUNCI)1998-10info:eu-repo/semantics/conferenceObjectinfo:eu-repo/semantics/publishedVersionObjeto de conferenciahttp://purl.org/coar/resource_type/c_5794info:ar-repo/semantics/documentoDeConferenciaapplication/pdfhttp://sedici.unlp.edu.ar/handle/10915/24180spainfo:eu-repo/semantics/openAccesshttp://creativecommons.org/licenses/by-nc-sa/2.5/ar/Creative Commons Attribution-NonCommercial-ShareAlike 2.5 Argentina (CC BY-NC-SA 2.5)reponame:SEDICI (UNLP)instname:Universidad Nacional de La Platainstacron:UNLP2025-10-15T10:48:23Zoai:sedici.unlp.edu.ar:10915/24180Institucionalhttp://sedici.unlp.edu.ar/Universidad públicaNo correspondehttp://sedici.unlp.edu.ar/oai/snrdalira@sedici.unlp.edu.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:13292025-10-15 10:48:24.125SEDICI (UNLP) - Universidad Nacional de La Platafalse
dc.title.none.fl_str_mv Multithreading en entornos de ejecución multitarea
title Multithreading en entornos de ejecución multitarea
spellingShingle Multithreading en entornos de ejecución multitarea
Rexachs del Rosario, Dolores
Ciencias Informáticas
Informática
Multiprocessing/multiprogramming/multitasking
multitarea
Applications
Network monitoring
modelado de aplicaciones
multithreadings
simultaneous multithreading
title_short Multithreading en entornos de ejecución multitarea
title_full Multithreading en entornos de ejecución multitarea
title_fullStr Multithreading en entornos de ejecución multitarea
title_full_unstemmed Multithreading en entornos de ejecución multitarea
title_sort Multithreading en entornos de ejecución multitarea
dc.creator.none.fl_str_mv Rexachs del Rosario, Dolores
Moure, Juan Carlos
Luque Fadón, Emilio
author Rexachs del Rosario, Dolores
author_facet Rexachs del Rosario, Dolores
Moure, Juan Carlos
Luque Fadón, Emilio
author_role author
author2 Moure, Juan Carlos
Luque Fadón, Emilio
author2_role author
author
dc.subject.none.fl_str_mv Ciencias Informáticas
Informática
Multiprocessing/multiprogramming/multitasking
multitarea
Applications
Network monitoring
modelado de aplicaciones
multithreadings
simultaneous multithreading
topic Ciencias Informáticas
Informática
Multiprocessing/multiprogramming/multitasking
multitarea
Applications
Network monitoring
modelado de aplicaciones
multithreadings
simultaneous multithreading
dc.description.none.fl_txt_mv Un amplio espectro de los entornos en los que se usan las estaciones de trabajo y los computadores personales requiere de la ejecución de múltiples tareas diferentes durante un mismo intervalo de tiempo. Sin embargo, la mayoría de los procesadores actuales están diseñados para minimizar el tiempo de ejecución de una única tarea, e implementan un modelo de ejecución superescalar que usa el paralelismo entre las instrucciones de la tarea para ejecutar varias instrucciones simultáneamente. Estos procesadores ejecutan varias tareas diferentes intercambiando la tarea en ejecución a lo largo del tiempo. El objeto de este artículo es mostrar que para los entornos de ejecución multitarea existen mejores alternativas que los procesadores actuales. Analizamos los requerimientos de estos entornos y las ventajas que presentan los procesadores multithreaded (MT). En primer lugar, la medida fundamental de las prestaciones ya no es el tiempo de ejecución final de cada tarea sino la cantidad de tareas realizadas por unidad de tiempo o productividad (``throughput''). Los procesadores MT soportan a nivel del repertorio de instrucciones la ejecución explícita de varios flujos de control, o threads, reduciendo el tiempo que se pierde al realizar los cambios de contexto. Si además el procesador MT es capaz de ejecutar varias instrucciones de tareas diferentes durante cada ciclo de reloj, compartiendo los recursos del procesador, se puede usar este paralelismo extra para incrementar la productividad del sistema. Una opción básica de diseño es cómo compartir los recursos del procesador entre las tareas activas del procesador. Existen microarquitecturas que permiten compartir entre las tareas prácticamente todos los recursos del procesador, como el simultaneous multithreading (SMT), y otras donde un grupo de recursos está reservado a una única tarea, como el multiprocesamiento en un chip (CMP). En este artículo analizamos otras soluciones intermedias, con un mejor compromiso entre la complejidad del SMT y el relativamente bajo rendimiento del CMP. La asignación de los recursos compartidos del procesador a las tareas activas se realiza dinámicamente, en tiempo de ejecución y ciclo a ciclo. Se analizan los problemas ocasionados por la interferencia entre tareas que comparten recursos, especialmente la memoria cache, y se proponen formas de organizar esta compartición para reducir los problemas. Finalmente, se plantea un modelo cualitativo tanto de las microarquitecturas como de las aplicaciones, con objeto de detectar posibles cuellos de botella, de hacer una primera valoración de las diferentes opciones de diseño y de realizar una aproximación teórica a los resultados cuantitativos que se esperan obtener.
Sistemas Distribuidos - Redes Concurrencia
Red de Universidades con Carreras en Informática (RedUNCI)
description Un amplio espectro de los entornos en los que se usan las estaciones de trabajo y los computadores personales requiere de la ejecución de múltiples tareas diferentes durante un mismo intervalo de tiempo. Sin embargo, la mayoría de los procesadores actuales están diseñados para minimizar el tiempo de ejecución de una única tarea, e implementan un modelo de ejecución superescalar que usa el paralelismo entre las instrucciones de la tarea para ejecutar varias instrucciones simultáneamente. Estos procesadores ejecutan varias tareas diferentes intercambiando la tarea en ejecución a lo largo del tiempo. El objeto de este artículo es mostrar que para los entornos de ejecución multitarea existen mejores alternativas que los procesadores actuales. Analizamos los requerimientos de estos entornos y las ventajas que presentan los procesadores multithreaded (MT). En primer lugar, la medida fundamental de las prestaciones ya no es el tiempo de ejecución final de cada tarea sino la cantidad de tareas realizadas por unidad de tiempo o productividad (``throughput''). Los procesadores MT soportan a nivel del repertorio de instrucciones la ejecución explícita de varios flujos de control, o threads, reduciendo el tiempo que se pierde al realizar los cambios de contexto. Si además el procesador MT es capaz de ejecutar varias instrucciones de tareas diferentes durante cada ciclo de reloj, compartiendo los recursos del procesador, se puede usar este paralelismo extra para incrementar la productividad del sistema. Una opción básica de diseño es cómo compartir los recursos del procesador entre las tareas activas del procesador. Existen microarquitecturas que permiten compartir entre las tareas prácticamente todos los recursos del procesador, como el simultaneous multithreading (SMT), y otras donde un grupo de recursos está reservado a una única tarea, como el multiprocesamiento en un chip (CMP). En este artículo analizamos otras soluciones intermedias, con un mejor compromiso entre la complejidad del SMT y el relativamente bajo rendimiento del CMP. La asignación de los recursos compartidos del procesador a las tareas activas se realiza dinámicamente, en tiempo de ejecución y ciclo a ciclo. Se analizan los problemas ocasionados por la interferencia entre tareas que comparten recursos, especialmente la memoria cache, y se proponen formas de organizar esta compartición para reducir los problemas. Finalmente, se plantea un modelo cualitativo tanto de las microarquitecturas como de las aplicaciones, con objeto de detectar posibles cuellos de botella, de hacer una primera valoración de las diferentes opciones de diseño y de realizar una aproximación teórica a los resultados cuantitativos que se esperan obtener.
publishDate 1998
dc.date.none.fl_str_mv 1998-10
dc.type.none.fl_str_mv info:eu-repo/semantics/conferenceObject
info:eu-repo/semantics/publishedVersion
Objeto de conferencia
http://purl.org/coar/resource_type/c_5794
info:ar-repo/semantics/documentoDeConferencia
format conferenceObject
status_str publishedVersion
dc.identifier.none.fl_str_mv http://sedici.unlp.edu.ar/handle/10915/24180
url http://sedici.unlp.edu.ar/handle/10915/24180
dc.language.none.fl_str_mv spa
language spa
dc.rights.none.fl_str_mv info:eu-repo/semantics/openAccess
http://creativecommons.org/licenses/by-nc-sa/2.5/ar/
Creative Commons Attribution-NonCommercial-ShareAlike 2.5 Argentina (CC BY-NC-SA 2.5)
eu_rights_str_mv openAccess
rights_invalid_str_mv http://creativecommons.org/licenses/by-nc-sa/2.5/ar/
Creative Commons Attribution-NonCommercial-ShareAlike 2.5 Argentina (CC BY-NC-SA 2.5)
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:SEDICI (UNLP)
instname:Universidad Nacional de La Plata
instacron:UNLP
reponame_str SEDICI (UNLP)
collection SEDICI (UNLP)
instname_str Universidad Nacional de La Plata
instacron_str UNLP
institution UNLP
repository.name.fl_str_mv SEDICI (UNLP) - Universidad Nacional de La Plata
repository.mail.fl_str_mv alira@sedici.unlp.edu.ar
_version_ 1846063911352139776
score 13.22299