▁and ▁to ▁C ▁providing ▁the ▁transparent ▁data flow ▁semantics ▁for ▁conventional ▁programming . ▁ ▁As ▁it ▁can ▁be ▁seen , ▁B M DF M ▁is ▁built ▁as ▁a ▁hy brid ▁of ▁several ▁architect ural ▁principles : ▁ ▁M I MD ▁( Multi ple ▁Inst ruction ▁Stream s , ▁Multiple ▁Data ▁Stream s ), ▁which ▁is ▁sust ained ▁by ▁comm od ity ▁S MP . ▁ ▁Imp licit ▁parallel ▁execution ▁is ▁ens ured ▁by ▁data flow ▁em ulation . ▁ ▁Von - Ne umann ▁computational ▁principle ▁is ▁good ▁to ▁implement ▁the ▁Front - end ▁Control ▁Virtual ▁Machine . ▁ ▁The ▁next ▁Figure ▁presents ▁more ▁detailed ▁view ▁on ▁the ▁B M DF M ▁architecture : ▁ ▁An ▁application ▁program ▁( input ▁sequ ential ▁program ) ▁is ▁processed ▁in ▁three ▁stages : ▁pre lim inary ▁code ▁re organ ization ▁( code ▁re organ izer ), ▁static ▁sched uling ▁of ▁the ▁statements ▁( static ▁sch eduler ) ▁and ▁compiling / loading ▁( compiler , ▁loader ). ▁The ▁output ▁after ▁the ▁static ▁sched uling ▁stages ▁is ▁a ▁multiple ▁clusters ▁flow ▁that ▁fe eds ▁the ▁mult ith read ed ▁engine ▁via ▁the ▁interface ▁designed ▁in ▁a ▁way ▁to ▁avoid ▁bott l ene cks . ▁The ▁multiple ▁clusters ▁flow ▁can ▁be ▁thought ▁of ▁as ▁a ▁compiled ▁input ▁program ▁split ▁into ▁mar sh aled ▁clusters , ▁in ▁which ▁all ▁addresses ▁are ▁resolved ▁and ▁extended ▁with ▁context ▁information . ▁S pl itting ▁into ▁mar sh aled ▁clusters ▁allows ▁loading ▁them ▁mult ith read edly . ▁Context ▁information ▁lets ▁iterations ▁be ▁processed ▁in