Title
DLL-conscious instruction fetch optimization for SMT processors
Abstract
Simultaneous multithreading (SMT) processors can issue multiple instructions from distinct processes or threads in the same cycle. This technique effectively increases the overall throughput by keeping the pipeline resources more occupied at the potential expense of reducing single thread performance due to resource sharing. In the software domain, an increasing number of dynamically linked libraries (DLL) are used by applications and operating systems, providing better flexibility and modularity, and enabling code sharing. It is observed that a significant amount of execution time in software today is spent in executing standard DLL instructions, that are shared among multiple threads or processes. However, for an SMT processor with a virtually-indexed cache implementation, existing instruction fetching mechanisms can induce unnecessary false I-TLB and I-Cache misses caused by the DLL-based instructions that are intended to be shared. This problem is more prominent when multiple independent threads are executing concurrently on an SMT processor. In this work, we investigate a neglected form of contention between running threads in the I-TLB and I-Cache (including both VIVT and VIPT) due to DLLs. To address these shortcomings, we propose a system level technique involving a light-weight modification in the microarchitecture and the OS. By exploiting the nature of the DLLs in our optimized system, we can reinstate the intended sharing of the DLLs in an SMT machine. Using Microsoft Windows based applications, our simulation results show that the optimized instruction fetching mechanism can reduce the number of DLL misses up to 5.5 times and improve the instruction cache hit rates by up to 62%, resulting in up to 30% DLL IPC improvements and up to 15% overall IPC improvements.
Year
DOI
Venue
2008
10.1016/j.sysarc.2008.04.014
Journal of Systems Architecture - Embedded Systems Design
Keywords
Field
DocType
intended sharing,dll ipc improvement,enabling code sharing,dynamic linked libraries,simultaneous multithreading,multiple independent thread,dll-conscious instruction,smt machine,standard dll instruction,existing instruction,caches,translation lookaside buffer,smt processor,dll-based instruction,instruction cache,resource sharing,indexation,operating system
Cache,Computer science,Real-time computing,Software,Microarchitecture,Parallel computing,Thread (computing),Simultaneous multithreading,SMT placement equipment,Shared resource,Translation lookaside buffer,Operating system,Embedded system
Journal
Volume
Issue
ISSN
54
12
Journal of Systems Architecture
Citations 
PageRank 
References 
1
0.36
15
Authors
3
Name
Order
Citations
PageRank
Fayez Mohamood130.74
Mrinmoy Ghosh236722.39
Hsien-Hsin Sean Lee31657102.66