Skip to main content

Correctly implementing value prediction in microprocessors that support multithreading or multiprocessing

Publication ,  Journal Article
Martin, MMK; Sorin, DJ; Cain, HW; Hill, MD; Lipasti, MH
Published in: Proceedings of the Annual International Symposium on Microarchitecture
December 1, 2001

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.

Duke Scholars

Published In

Proceedings of the Annual International Symposium on Microarchitecture

DOI

ISSN

1072-4451

Publication Date

December 1, 2001

Start / End Page

328 / 337
 

Citation

APA
Chicago
ICMJE
MLA
NLM
Martin, M. M. K., Sorin, D. J., Cain, H. W., Hill, M. D., & Lipasti, M. H. (2001). Correctly implementing value prediction in microprocessors that support multithreading or multiprocessing. Proceedings of the Annual International Symposium on Microarchitecture, 328–337. https://doi.org/10.1109/MICRO.2001.991130
Martin, M. M. K., D. J. Sorin, H. W. Cain, M. D. Hill, and M. H. Lipasti. “Correctly implementing value prediction in microprocessors that support multithreading or multiprocessing.” Proceedings of the Annual International Symposium on Microarchitecture, December 1, 2001, 328–37. https://doi.org/10.1109/MICRO.2001.991130.
Martin MMK, Sorin DJ, Cain HW, Hill MD, Lipasti MH. Correctly implementing value prediction in microprocessors that support multithreading or multiprocessing. Proceedings of the Annual International Symposium on Microarchitecture. 2001 Dec 1;328–37.
Martin, M. M. K., et al. “Correctly implementing value prediction in microprocessors that support multithreading or multiprocessing.” Proceedings of the Annual International Symposium on Microarchitecture, Dec. 2001, pp. 328–37. Scopus, doi:10.1109/MICRO.2001.991130.
Martin MMK, Sorin DJ, Cain HW, Hill MD, Lipasti MH. Correctly implementing value prediction in microprocessors that support multithreading or multiprocessing. Proceedings of the Annual International Symposium on Microarchitecture. 2001 Dec 1;328–337.

Published In

Proceedings of the Annual International Symposium on Microarchitecture

DOI

ISSN

1072-4451

Publication Date

December 1, 2001

Start / End Page

328 / 337