6.5.9 · D1 · HinglishAdvanced & Emerging Architectures

FoundationsDataflow architectures

1,814 words8 min read↑ Read in English

6.5.9 · D1 · Hardware › Advanced & Emerging Architectures › Dataflow architectures

Yeh page kuch bhi assume nahi karta. Parent note Dataflow architectures padhne se pehle, aapko usmein use hone wale har squiggle ko padhna aana chahiye. Neeche, har symbol ko milega: plain words → picture → topic ko yeh kyun chahiye. Yeh is tarah order kiye gaye hain ki har ek upar wale pe lean kare.


1. Ek "node" aur ek "operation"

Socho ek akele worker ko ek desk pe. Desk pe do slots hain jinka label hai "input", aur ek out-tray jiska label hai "output". Worker ko exactly ek hi trick aati hai, maano (add).

Topic ko yeh kyun chahiye: parent kehta hai "Program = graph, list nahi." Graph inhi boxes se bana hota hai. Graph hone se pehle aapko yeh jaanna zaroori hai ki ek box kya hota hai — ek single operation jo apne inputs ka wait kar rahi hai.


2. Ek "edge" aur ek "arrow" ()

Topic ko yeh kyun chahiye: mnemonic D.A.T.A. literally kehta hai "Arrows are dependencies". Dataflow parallelism dhundh sakta hai kyunki missing arrows ka matlab hai koi dependency nahi — dekho §7.


3. Ek "token" — woh cheez jo arrow pe travel karti hai

Topic ko yeh kyun chahiye: parent ki firing rule "tokens present on all input edges" ke baare mein baat karti hai. Jab tak aap tokens ko slots mein baithe hue picture nahi karte, firing samajh nahi aayegi.


4. "Fire" aur firing rule

Ise zor se padhna: "Ek node fires if and only if har ek input slot mein ek token hai." Toh ek missing token = bilkul fire nahi, bas. Aur tokens ka poora set = woh turant fire karta hai, kisi ki permission ke bina.

Topic ko yeh kyun chahiye: yeh poore architecture ka dil hai. Von Neumann architecture mein ek program counter decide karta hai kab chalana hai. Yahan, kuch decide nahi karta — data ki maujoodgi hi decision hai.


5. Variables aur expression

Chaliye parent ke key expression ko dheere se left se right padhte hain:

  • Brackets un cheezon ko group karte hain jo pehle solve ki jaani chahiye.
  • ek node ka kaam hai (ek add).
  • doosre node ka kaam hai (ek subtract).
  • dono results leta hai aur multiply karta hai.
  • final answer ko naam deta hai.

Topic ko yeh kyun chahiye: parent is expression se graph derive karta hai. Agar aap dekh sako ki brackets nested boxes kaise bante hain, toh graph khud khich jaata hai.


6. Subscripts aur intermediate tokens

Parent ke trace mein, aur woh tokens hain jo do lower nodes emit karte hain multiply fire hone se pehle.

Topic ko yeh kyun chahiye: derivations mein beech wali values ke liye names chahiye. ke bina hum nahi keh sakte "multiply aur ka wait karta hai".


7. Independence = "koi connecting edge nahi" (jahan parallelism chhupti hai)

Isliye parent kehta hai parallelism "free" hai: aap iske liye maangte nahi. Yeh arrows ki abscence hai. Yeh idea Instruction-Level Parallelism ki natural ceiling hai, aur yahi woh hai jo Out-of-Order Execution ek ordinary CPU ke andar chupke se rebuild karne ki koshish karta hai.


8. Tag aur notation

padhna: "jo bhi yeh node karta hai" ka placeholder hai — agar yeh add node hai, toh .

Topic ko yeh kyun chahiye: ek loop mein, ek hi box ki kaafi saari copies ek saath active rehti hain. Tag rok deta hai ki iteration-3 ka number galti se iteration-7 ke number ke saath pair na ho jaaye. Yeh wahi cheez hai jo Loop-Level Parallelism ko sasta banati hai, aur yahi trick Tomasulo-style Out-of-Order Execution ke andar hai.


9. Graph ek DAG hai (koi cycles nahi)

Topic ko yeh kyun chahiye: "acyclic" guarantee karta hai ki computation actually khatam hoti hai — data aage badhta rehta hai aur apni hi tail ka peecha nahi karta. Yeh is page ki har cheez ke neeche ka mathematical skeleton hai.


Prerequisite map

Operation node one job

Edge arrow direction of data

Token packet carrying a value

Firing rule fire when inputs ready

Independence no connecting edge

Tag which run am I

DAG directed no cycles

Dataflow architecture


Equipment checklist

Dataflow graph mein ek node kya hota hai?
Ek box jo ek operation (add, subtract, multiply) represent karta hai jisme input slots aur ek output hota hai.
Do nodes ke beech arrow ka asal matlab kya hai?
Ek data dependency — target node tab tak nahi chal sakta jab tak source node apna output produce na kar de.
Token kya hota hai, aur yeh wire signal se alag kaise hai?
Ek one-time packet jo ek value carry karta hai; yeh ek baar produce hota hai aur ek baar consume hota hai, unlike ek wire jiska voltage bas bana rehta hai.
use karke firing rule batao.
Ek node fire karta hai if and only if uske har ek input slot mein ek token ho.
a=x+y aur b=p+q ek saath kyun chal sakte hain?
Unhe connect karne wala koi edge nahi hai — woh independent hain, toh dono firing rules alag alag satisfy hote hain.
aur mein subscripts ka kya matlab hai?
Yeh sirf do alag intermediate results ke liye naam-tags hain; powers ya multiplication nahi hain.
mein tag kya record karta hai?
Kis run / loop-iteration ki woh value hai, taaki alag iterations ke tokens galti se pair na ho jaayein.
Dataflow graph acyclic (ek DAG) kyun hona chahiye?
Taaki data hamesha answer ki taraf aage flow kare aur computation finish hone ki guarantee ho.