Talk:Data dependency

From Wikipedia, the free encyclopedia
Jump to: navigation, search
WikiProject Computing (Rated Start-class)
WikiProject icon This article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
Start-Class article Start  This article has been rated as Start-Class on the project's quality scale.
 ???  This article has not yet received a rating on the project's importance scale.

RAW and WAW[edit]

This page needs to be more explict about what RAW and WAW hazards are as this is typically what the literature calls them. WAW is mentioned under output dependancies, but it's hard to find as their is no heading with WAW in it. RAW is not even mentioned. Also there needs to be a listing on WAW and RAW disambiguations page as someone reading a book or article will typically come up against these acronyms, not input, output or true dependancies. Thanks (talk) 13:52, 20 December 2008 (UTC)


This page is of topic as it discusses data hazards instead of data depencies. — Preceding unsigned comment added by (talk)

No.. this does discuss data dependencies. You don't care about dependencies unless the dependency might cause problems on naive implimentations of data-paths - thus thats what this page discusses. Fresheneesz 01:00, 15 February 2007 (UTC)


Why is Write after Write a problem in any way? A better example is needed for this at least, because no compiler in their right mind would execute a write instruction if there were no read dependencies attached to the data that was written. Fresheneesz 01:00, 15 February 2007 (UTC)

I guess the data may be read later. If the order of these instructions was switched, the earlier value would be available, instead of the latter. So write-write-read sounds appropriate to me, but I am very unfamiliar with the topic and just speculating.
Yes this is the reason why. Later instructions need to get the latter value. (talk) 13:57, 20 December 2008 (UTC)
"because no compiler in their right mind would execute a write instruction if there were no read dependencies attached"
Data dependencies are not only relevant to compilers, but also the out-of-order execution units of a CPU; they cannot look ahead too far due to various constraints, so they do writes even if the values are never read (instruction-level parallelism) -- intgr 01:20, 15 February 2007 (UTC)


 (I (S1) ∩ O(S2)) ∪ (O(S1) ∩ I(S2)) ∪ (O(S1) ∩ O(S2)) ≠ Φ

What is Φ? How do I have to understand the unions and intersections? --Abdull (talk) 17:00, 30 May 2008 (UTC)

In normal set theory notation Φ or a circle or zero with a slash through it is called null and is used to denote the empty set. But I agree this and a lot of other wikipedia articles use mathematical notation instead of succinct prose, which is unnecessarily confusing for people without a mathematical background, and sometimes even people with a mathematical background. Mathematical notation is good, but only if it is clarifying instead of hiding bad prose or circuitous argument. This is a general problem in academic writing, not just wikipedia. In an encyclopedic or introductory context, all mathematical notation should be defined in article or by reference to another article. If defined by reference there should be no circular definitions. A circular definition is something which is not really defined but instead refers the definition to another article, which in turn directly or indirectly defines it by reference to the original article. (talk) 14:19, 20 December 2008 (UTC)

Bernstein Condition[edit]


 *  —Preceding unsigned comment added by (talk) 11:05, 23 December 2008 (UTC) 

Output dependency example is just optimized anti-dependency example[edit]

Only difference is that there is actually optimization:

b = 1
a = foo(b)
b = 3

in case of anti-dependency optimized to

b = 1
needed_for_parallelization = b
a = foo(needed_for_parallelization)
b = 3

in case of output-dependency optimized to

needed_for_parallelization = 1 ... a is not needed because it is changed soon anyway
a = foo(needed_for_parallelization)
b = 3

Should'n it be explicit or author ment it that way? (talk) 11:25, 5 February 2009 (UTC)

Are dependence and dependency synonyms?[edit]

See discussion at [[1]] —Preceding unsigned comment added by (talk) 17:27, 10 February 2010 (UTC)

Relational Database Model[edit]

It should be noted that Codd (1970) created the relational database model to overcome data dependency in hierarchical and network database models. The current article is too narrow. -- JakobVoss (talk) 06:12, 16 July 2010 (UTC)