Dynamically Controlled Resource Allocation in SMT Processors
SMT processors increase performance by executing instructions from several threads simultaneously. These threads use the resources of the processor better by sharing them but, at the same time, threads are competing for these resources. The way critical resources are distributed among threads determ...
Uloženo v:
| Vydáno v: | 37th International Symposium on Microarchitecture (MICRO-37'04) s. 171 - 182 |
|---|---|
| Hlavní autoři: | , , , |
| Médium: | Konferenční příspěvek Publikace |
| Jazyk: | angličtina |
| Vydáno: |
Washington, DC, USA
IEEE Computer Society
01.01.2004
IEEE Institute of Electrical and Electronics Engineers (IEEE) |
| Edice: | ACM Conferences |
| Témata: | |
| ISBN: | 0769521266, 9780769521268 |
| ISSN: | 1072-4451 |
| On-line přístup: | Získat plný text |
| Tagy: |
Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
|
| Shrnutí: | SMT processors increase performance by executing instructions from several threads simultaneously. These threads use the resources of the processor better by sharing them but, at the same time, threads are competing for these resources. The way critical resources are distributed among threads determines the final performance. Currently, processor resources are distributed among threads as determined by the fetch policy that decides which threads enter the processor to compete for resources. However, current fetch policies only use indirect indicators of resource usage in their decision, which can lead to resource monopolization by a single thread or to resource waste when no thread can use them. Both situations can harm performance and happen, for example, after an L2 cache miss. In this paper, we introduce the concept of dynamic resource control in SMT processors. Using this concept, we propose a novel resource allocation policy for SMT processors. This policy directly monitors the usage of resources by each thread and guarantees that all threads get their fair share of the critical shared resources, avoiding monopolization. We also define a mechanism to allow a thread to borrow resources from another thread if that thread does not require them, thereby reducing resource under-use. Simulation results show that our dynamic resource allocation policy outperforms a static resource allocation policy by 8%, on average. It also improves the best dynamic resource-conscious fetch policies like FLUSH++ by 4%, on average, using the harmonic mean as a metric. This indicates that our policy does not obtain the ILP boost by unfairly running high ILP threads over slow memory-bounded threads. Instead, it achieves a better throughput-fairness balance. |
|---|---|
| Bibliografie: | SourceType-Conference Papers & Proceedings-1 ObjectType-Conference Paper-1 content type line 25 |
| ISBN: | 0769521266 9780769521268 |
| ISSN: | 1072-4451 |
| DOI: | 10.1109/MICRO.2004.17 |

