Wednesday 13 February 2019

Simultaneous Multithreading :: Threads Caches Hyper Threading Essays

Simultaneous MultithreadingSimultaneous multithreading put simply, the shar-ing of the execution resources of a superscalar processor betweenmultiple execution threads has recently become widespread viaits entree (under the name Hyper-Threading) into IntelPentium 4 processors. In this implementation, for reasons of ef-ficiency and economy of processor area, the sharing of processorresources between threads extends beyond the execution units ofparticular concern is that the threads plow devil to the memorycaches.We demonstrate that this shared access to memory caches pro-vides not only an easily used high bandwidth covert channel be-tween threads, but also permits a malicious thread (operating, intheory, with limited privileges) to monitor the execution of anotherthread, allowing in many cases for theft of cryptanalytic keys.Finally, we provide some suggestions to processor designers, op-erating system vendors, and the authors of cryptographic software,of how this attack could be mitigated or eliminated entirely.1. IntroductionAs integrated circuit cunning technologies deal improved, provid-ing not only faster transistors but smaller transistors, processor design-ers have been met with two critical challenges. First, memory latencieshave increased dramatically in relative terms and second, while it iseasy to spend extra transistors on create additive execution units,many programs have fairly limited instruction-level parallelism, whichlimits the extent to which additional execution resources can be uti-lized. Caches provide a partial ancestor to the first problem, whileout-of- fellowship execution provides a partial solution to the second.In 1995, synchronic multithreading was revived1in order to com-bat these two difficulties 12. Where out-of-order execution allowsinstructions to be reordered ( emergence to maintaining architectural se-mantics) within a stipulate window of perhaps a hundred instructions,Key words and phrases. Side channels, simul taneous multithreading, caching.1Simultaneous multithreading had existed since at least 1974 in theory 10, evenif it had not yet been shown to be practically feasible.--------------------------------------------------------------------------------Page 2 simultaneous multithreading allows instructions to be reordered acrossthreads that is, or else than having the operating system perform con-text switches between two threads, it can schedule both threads simul-taneously on the same processor, and instructions will be interleaved,dramatically increasing the utilization of existing execution resources.On the 2.8 GHz Intel Pentium 4 with Hyper-Threading processor,with which the repose of this paper is concerned2, the two threadsbeing executed on each processor share more than merely the execu-tion units of particular concern to us, they share access to the memorycaches 8. Caches have already been demonstrated to be cryptograph-ically dangerous Many implementations of AES 9 are subjec t to tim-ing attacks arising from the non-constancy of S-box lookup timings 1.

No comments:

Post a Comment