d \ n ", ▁b ); ▁ )) ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ ▁▁▁▁▁▁▁▁ ▁# ▁} ▁ ▁The ▁data flow ▁engine ▁of ▁B M DF M ▁will ▁keep ▁variables ▁" a " ▁and ▁" b " ▁under ▁unique ▁context s ▁for ▁each ▁iteration . ▁Actually , ▁these ▁are ▁different ▁copies ▁of ▁the ▁variables . ▁A ▁context ▁variable ▁exists ▁until ▁it ▁is ▁referenced ▁by ▁instruction ▁consum ers . ▁Later ▁non - refer enced ▁context s ▁will ▁be ▁garbage ▁collected ▁at ▁runtime . ▁Therefore , ▁the ▁data flow ▁engine ▁can ▁explo it ▁both ▁local ▁parallel ism ▁within ▁the ▁iteration ▁and ▁global ▁parallel ism ▁as ▁well ▁running ▁multiple ▁iterations ▁simultaneously . ▁ ▁Architecture ▁of ▁B M DF M ▁The ▁basic ▁concept ▁of ▁B M DF M ▁is ▁shown ▁in ▁the ▁next ▁Figure . ▁The ▁proposed ▁approach ▁re lies ▁on ▁underlying ▁comm od ity ▁S MP ▁hardware , ▁which ▁is ▁available ▁on ▁the ▁market . ▁Norm ally , ▁S MP ▁vend ors ▁provide ▁their ▁own ▁S MP ▁Oper ating ▁System ▁( OS ) ▁with ▁an ▁SV R 4 / POS IX ▁UN IX ▁interface ▁( Linux , ▁H P - U X , ▁Sun OS / S olar is , ▁Tru 6 4 OS F 1 , ▁I RI X , ▁A IX , ▁B SD , ▁Mac OS , ▁etc .). ▁On ▁top ▁of ▁an ▁S MP ▁OS , ▁the ▁mult ith read ed ▁data flow ▁runtime ▁engine ▁performs ▁a ▁software ▁em ulation ▁of ▁the ▁data flow ▁machine . ▁Such ▁a ▁virtual ▁machine ▁has ▁interfaces ▁to ▁the ▁virtual ▁machine ▁language