Correctly implementing value prediction in microprocessors that support multithreading or multiprocessing
Journal Article
This paper explores the interaction of value prediction with thread-level parallelism techniques, including multithreading and multiprocessing, where correctness is defined by a memory consistency model. Value prediction subtly interacts with the memory consistency model by allowing data dependent instructions to be reordered. We find that predicting a value and later verifying that the value eventually calculated is the same as the value predicted is not always sufficient. We present an example of a multithreaded pointer manipulation that can generate a surprising and erroneous result when value prediction is implemented without considering memory consistency correctness. We show that this problem can occur with real software, and we discuss how to apply existing techniques to eliminate the problem in both sequentially consistent systems and systems that obey relaxed memory consistency models.
Full Text
Duke Authors
Cited Authors
- Martin, MMK; Sorin, DJ; Cain, HW; Hill, MD; Lipasti, MH
Published Date
- December 1, 2001
Published In
Start / End Page
- 328 - 337
International Standard Serial Number (ISSN)
- 1072-4451
Digital Object Identifier (DOI)
- 10.1109/MICRO.2001.991130
Citation Source
- Scopus