parallel processing - Vertical and Horizontal Parallelism -


recently working in parallel domain come know there 2 terms "vertical parallelism " , "horizontal parallelism". people says openmp ( shared memory parallelism ) vertical while mpi ( distributed memory parallelism ) horizontal parallelism. why these terms called ? not getting reason. terminology call them ?

the terms don't seem used, perhaps because time process or system using both without distinction. these concepts generic, covering more realm of mpi or openmp.

vertical parallelism faculty system employ several different devices @ same time. instance, programme may have thread doing heavy computation, while handling db queries, , third doing io. operating systems expose naturally faculty.

horizontal parallelism occurs when single device used or operation executed on several similar items of data. sort of parallelism happen instance when running several threads on same piece of code, different data.

in software world, interesting example map reduce algorithm, uses both:

  • horizontal parallelism occurs @ map stage, when data split , scattered accross several cpu processing,

  • vertical parallelism happens between map , reduce stage, data first divided in chunks, processed map threads, , accumulated reduce thread,

similarily, in hardware world, superscalar pipelined cpus use both variations, pipelining particular instance of vertical parallelisation (just map/reduce staging, several more steps).

the reason behind use of terminology comes same reasons used supply chains: values produced chaining different steps or levels of processing. final product can seen root of abstract tree of constructions (from bottom top) or dependency (from top bottom) , each node result of intermediate level or step. can see analogy between supply chains , computation here.


Comments

Popular posts from this blog

objective c - Change font of selected text in UITextView -

php - Accessing POST data in Facebook cavas app -

c# - Getting control value when switching a view as part of a multiview -