Talk:Data dependency

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

Output Dep.[edit]

Isn't something wrong with the output dep. ? 1st example is the same as anti-dep's. And meaning differs from other sources. — Preceding unsigned comment added by 178.83.159.212 (talk) 20:28, 26 May 2020 (UTC)[reply]

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 124.254.97.18 (talk) 13:52, 20 December 2008 (UTC)[reply]

Off-topic?[edit]

This page is of topic as it discusses data hazards instead of data depencies. — Preceding unsigned comment added by 152.14.55.32 (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)[reply]

WAW[edit]

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)[reply]

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. 124.254.97.18 (talk) 13:57, 20 December 2008 (UTC)[reply]
"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)[reply]

Φ?[edit]

 (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)[reply]

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. 124.254.97.18 (talk) 14:19, 20 December 2008 (UTC)[reply]

Bernstein Condition[edit]

Source:

 * http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4038882
 * http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=4038882&isnumber=4038871  —Preceding unsigned comment added by 137.250.38.92 (talk) 11:05, 23 December 2008 (UTC)[reply] 

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? 84.16.123.194 (talk) 11:25, 5 February 2009 (UTC)[reply]

Are dependence and dependency synonyms?[edit]

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

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)[reply]

Any source on the definition of Data dependency?[edit]

The definition of Data dependency seems incorrect, consider the following set of instructions:

ADD R5, R0, R1  ; R5 ← R0 + R1

MUL R6, R2, R5  ; R6 ← R2 * R5

SUB R5, R3, R6  ; R5 ← R3 - R6

DIV R6, R5, R4  ; R6 ← R5/R4

STORE R6, X  ; X ← R6


Here ADD produces data in R5, which is then read by DIV. According to the definition given in the article, there should be a flow data dependency between ADD and DIV. However, there is NO transfer of data between ADD and DIV because SUB writes to R5 after ADD. Data dependencies really only exist when there is a real transfer of data.

Regarding types of data dependencies[edit]

I feel the following hierarchy wrt types needs to be clarified: data dependencies: 1)flow/true 2)name a)anti b)o/p 3)control As the article currently stands, it is not clear that anti and o/p fall under name. The reader sees this at first glance: types: 1)data a)true/flow b)anti c)op 2)name 3)control — Preceding unsigned comment added by 27.4.30.56 (talk) 18:00, 9 March 2022 (UTC)[reply]