Multihilo
La técnica conocida como multihilo (del inglés: multithreading) permite a las unidades centrales de procesamiento (CPU) aumentar el rendimiento del núcleo de…
La técnica conocida como multihilo (del inglés: multithreading) permite a las unidades centrales de procesamiento (CPU) aumentar el rendimiento del núcleo de un procesador sin necesidad de alterar la frecuencia. El procesador, con base en esta técnica, puede procesar varias tareas de forma simultánea. Cada hilo, desde un punto de vista técnico, es una hebra que está conectada a un proceso y éstos constituyen, a su vez, un programa individual. El objetivo principal de esta técnica es optimizar la CPU, reduciendo los tiempos de espera entre procesos.[1]
El paradigma de multihilo ha llegado a ser más popular a medida que los esfuerzos para llevar más adelante el paralelismo a nivel de instrucción se han atascado desde finales de los años 1990. Esto permitió que reemergiera a una posición destacada el concepto de computación de rendimiento a partir del más especializado campo del procesamiento transaccional:
- Aunque es muy difícil acelerar un solo hilo o un solo programa, la mayoría de los sistemas de computadores son realmente multitarea entre múltiples hilos o programas.
- Las técnicas que permitirían acelerar el rendimiento total del procesamiento del sistema en todas las tareas (tasks) darían como resultado un aumento significativo del rendimiento.
Las dos principales técnicas para computación de rendimiento son el multiproceso y el multihilo.
Una cierta crítica del multihilo incluye:
- Los múltiples hilos pueden interferir uno con el otro al compartir recursos de hardware como cachés o Translation Lookaside Buffer (TLB).
- Los tiempos de ejecución de un solo hilo no son mejorados, sino por el contrario, pueden ser degradados.
- El soporte de hardware para multihilo es más visible al software que el multiprocesamiento, por lo tanto requiriendo más cambios tanto a las aplicaciones como el sistema operativo.
Las técnicas de hardware usadas para soportar multihilo a menudo paralelizan las técnicas de software usadas para la multitarea de los programas de computadora.
Lenguajes de programación que soportan multihilo
- C=
- Cilk
- Cilk Plus
- Cind
- C#
- Clojure
- Concurrent Pascal
- Emerald
- Fork – programming language for the PRAM model.
- Go
- Java[2]
- ParaSail
- Rust[3]
- SequenceL
Referencias
- ↑ «Multithreading: más potencia para los procesadores». IONOS Digitalguide. Consultado el 25 de julio de 2022.
- ↑ «Definir y ejecutar threads en java».
- ↑ «Threads - The Rust Programming Language». doc.rust-lang.org (en inglés). Consultado el 15 de septiembre de 2017.
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.