Functional verification of SMP, MPP, and vector-register supercomputers through controlled randomness

J. Wunderlich
{"title":"Functional verification of SMP, MPP, and vector-register supercomputers through controlled randomness","authors":"J. Wunderlich","doi":"10.1109/SECON.2003.1268440","DOIUrl":null,"url":null,"abstract":"Prototype supercomputer functionality can be verified by comparing simulated hardware execution with actual hardware test-program runs where each successive test-program run includes randomly changing machine-states, operating scenarios, and data. Increased verification is achieved through repeated program execution. In both multiprocessor and vector-register systems, a \"controlled randomness\" can be used to verify the functionality of simultaneously executing processors or functional units. We discuss the selection and combining of random number generators such that a \"degree-of-randomness\" between successive or parallel program runs is controlled. This allows computer engineers to simulate the execution of actual software (application or system-level) in which successive or parallel program runs may or may not involve uncorrelated tasks. Additionally, random number generators are selected to maximize execution speed and cycle-length, ensure reproducibility, and when desired, best produce a random source of numbers (i.e., to better approximate an independent, identically-distributed source). Generators can also be chosen for ease of implementation, the ability to run backwards, and the ability to split the generator's cycle into uncorrelated segments. \"Backward multipliers\" to allow generators to be run in reverse can also be easily found for some types of generators; reversibility is critical for functional verification so that code execution can be traced backwards to find scenarios that led to detected hardware failures. When generators are carefully selected and combined, the verification process can be optimized. By using this methodology, functional verification of SMP, MPP and vector-register supercomputers can be achieved.","PeriodicalId":241763,"journal":{"name":"IEEE SoutheastCon, 2003. Proceedings.","volume":"147 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2003-04-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"IEEE SoutheastCon, 2003. Proceedings.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SECON.2003.1268440","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4

Abstract

Prototype supercomputer functionality can be verified by comparing simulated hardware execution with actual hardware test-program runs where each successive test-program run includes randomly changing machine-states, operating scenarios, and data. Increased verification is achieved through repeated program execution. In both multiprocessor and vector-register systems, a "controlled randomness" can be used to verify the functionality of simultaneously executing processors or functional units. We discuss the selection and combining of random number generators such that a "degree-of-randomness" between successive or parallel program runs is controlled. This allows computer engineers to simulate the execution of actual software (application or system-level) in which successive or parallel program runs may or may not involve uncorrelated tasks. Additionally, random number generators are selected to maximize execution speed and cycle-length, ensure reproducibility, and when desired, best produce a random source of numbers (i.e., to better approximate an independent, identically-distributed source). Generators can also be chosen for ease of implementation, the ability to run backwards, and the ability to split the generator's cycle into uncorrelated segments. "Backward multipliers" to allow generators to be run in reverse can also be easily found for some types of generators; reversibility is critical for functional verification so that code execution can be traced backwards to find scenarios that led to detected hardware failures. When generators are carefully selected and combined, the verification process can be optimized. By using this methodology, functional verification of SMP, MPP and vector-register supercomputers can be achieved.
SMP, MPP和向量寄存器超级计算机通过控制随机的功能验证
原型超级计算机的功能可以通过比较模拟硬件执行和实际硬件测试程序运行来验证,其中每个连续的测试程序运行包括随机更改的机器状态、操作场景和数据。通过重复执行程序来增加验证。在多处理器和矢量寄存器系统中,“受控随机性”可用于验证同时执行的处理器或功能单元的功能。我们讨论了随机数生成器的选择和组合,以使连续或并行程序运行之间的“随机程度”得到控制。这允许计算机工程师模拟实际软件(应用程序或系统级)的执行,其中连续或并行程序的运行可能涉及或不涉及不相关的任务。此外,选择随机数生成器以最大限度地提高执行速度和周期长度,确保再现性,并在需要时最好地产生随机数源(即,更好地近似独立的、相同分布的源)。生成器的选择还可以考虑到实现的便利性、向后运行的能力以及将生成器的周期划分为不相关的部分的能力。对于某些类型的发电机,也可以很容易地找到允许发电机反向运行的“反向倍增器”;可逆性对于功能验证是至关重要的,这样就可以向后跟踪代码执行,以找到导致检测到的硬件故障的场景。当仔细选择和组合发电机时,可以优化验证过程。利用该方法,可以实现SMP、MPP和矢量寄存器超级计算机的功能验证。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信
小红书