科技报告详细信息
Position Paper: Nondeterminism is unavoidable, but data races are pure
Boehm, Hans-J.
HP Development Company
关键词: nondeterminism;    data races;    scalability;   
RP-ID  :  HPL-2012-218
学科分类:计算机科学(综合)
美国|英语
来源: HP Labs
PDF
【 摘 要 】

Modern mainstream programming languages distinguish between "atomic" (or sometimes "volatile") variables, which support concurrent access, ordinary data accesses with well-defines semantics. Concurrent accesses to an ordinary data variables, if one of those is an update, is defined as a data race. This distinctionis essential; these languages provide meaningful semantics only in the absence of data races. Code with data races not only allows inaccurate results; such code may completely and repeatably fail when recompiled or run on a different operating system version. In C and C++ data races are equivalent to assignments to out-of-bounds array elements; they can results in arbitrary failures, including application crashes, hangs, and inexplicably and completely wrong answers. These specifications, combined with implementation realities, make it infeasible to exploit "benign" data races to obtain performance, even if we are willing to tolerate approximate answers. Furthermore, even if we happen to get lucky, and code with data races happens to execute correctly with some compiler, the presence of atomic operations in languages like C and C++ means that data races provide at best inconsequential performance advantages and, in our experience, no scalability advantages at all.

【 预 览 】
附件列表
Files Size Format View
RO201804100000138LZ 259KB PDF download
  文献评价指标  
  下载次数:15次 浏览次数:12次