1 / 20

Associative Nets: A Graph-Based Parallel Computing Model

Associative Nets: A Graph-Based Parallel Computing Model. Alain Mérigot IEEE Transactions on Computer VOL 46, NO. 5, MAY 1997 報告人:李孝治. Abstract. Associative Net Model (ANM) a new model for parallel computing

verena
Download Presentation

Associative Nets: A Graph-Based Parallel Computing Model

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Associative Nets:A Graph-Based Parallel Computing Model Alain Mérigot IEEE Transactions on Computer VOL 46, NO. 5, MAY 1997 報告人:李孝治

  2. Abstract • Associative Net Model (ANM) • a new model for parallel computing • relies on basic primitives : associations(apply an associative operator over connected components of a sub-graph of the physicalinter-processor connection graph. • Aims at: • efficiently implemented in terms of hardware cost and processing time • algorithm complexity roughly equals to that of the expensive PRAM method

  3. a parallel computer • consists of a set of processors”processing elements (PE)” • is modeled by “physical interconnection graph” • FTM(Fixed Topology Machine) • simple, limited applications • PRAM(Parallel Random Access Machine) • fully interconnected PEs • concurrent access to the same memory location • expensive • Re-configurable Machines • asynchronous data propagation along the edges between PEs

  4. ANM • Like Re-configurable Machines: • relies on asynchronous data transfer, providing high speed basic communication primitives • Contrary to Re-configurable Machines: • mixes communications and computations: “associations” • applies operators on a set of interconnected PEs

  5. ANM operations are applied on “mgraph” or “connex set” • a set of connected components, that is, • a subset of a graphwhose nodes are connected together,directly or indirectly,by edges. • Dynamically defined in every PE

  6. P = number of processorsD = degree of a processor • the set of processors in the machine:P= { Pi: i  [0, P-1] } • the set of edges joining processors:E = {eij: 0  i  P-1 and 0  j  P-1}orE = {eik: 0  i  P-1 and 0  k  D-1} • physical interconnection graph:G = (P, E) • may be any physical graph • assume 2-D mesh, symmetric directed, constant degree

  7. Two Basic Objects - 1st • pvar (parallel variable) • represents an information distributed over the set of processors • = the value of the instance of x on processor Pi • the jth bit of

  8. Two Basic Objects - 2nd • mgraph g • represents the connex set of processors to communicate with • g = (P’,E’) where P’ = PandE’  E • g may be represented by the edges set E’ only • Ex: D-bit pvar • gi : incoming edges of processors Pi • gik: the kth incoming edge of processors Pi • Ex: g = {eik: 0  k  P-1 and 0  k  D-1}

  9. Ascendants of Pi in mgraph g (neighbors) • Ancestors of Pi in mgraph g • Strict Ancestors of Pi in mgraph g

  10. Basic Operations • inversion • g-1 = {eij: eji g} • -association(g,p) = {ai: 0  i  P-1, ai =  pj} • -association-step(g,p) = {ai: 0  i  P-1, ai =  pj} • Note:  may be OR, AND, max, min, addition (which are associative and cumulative)

  11. Implementation of Basic Primitives:

  12. Basic Primitive: Algorithm 1spanning-tree(mgraph g, pvar r): mgraph1 mgraph t  {};2 while r has been modified in any processors3 where not r and or-association-step(g,r)4 let l be a random link among those incoming from a neighbor where r is set5 t {l}; 6 r  true;7 end where8 end while9 return t;end

  13. Basic Primitive: Algorithm 1’spanning-tree-step(mgraph g, pvar r): mgraph1 mgraph t  {};2 where not r and or-association-step(g,r)3 let l be a random link among those incoming from a neighbor where r is set4 t {l}; 5 r  true;6 end where7 return t;end

  14. Basic Primitive: Algorithm 2max-association (mgraph g, pvar p): pvar1 pvar M;2 int i;3 for i  b-1 downto 0 do4 Mi or-association(g,pi); 5 where (Mi=1 and pi=0)6 p  0;7 end where8 end for9 return M;end

  15. Basic Primitive: Algorithm 3prefix-max-association (mgraph m, pvar p): pvar1 pvar M;2 int i;3 for i  b-1 downto 0 do4 Mi prefix-or-association(m, pi); 5 where Mi=16 m  lop-off-zeroes(m, pi);7 end where8 end for9 return M;end

  16. Basic Primitive: Algorithm 4plus-association (mgraph g, pvar p): pvar1 pvar root  true if (max-association(g,self-address()) = self-address());2 mgraph t  spanning-tree(g,root);3 pvar result  prefix-plus-association(t-1,p);4 result  or-association(g,result and root); 5 return result;end

  17. Basic Primitive: Algorithm 5selection(mgraph g, pvar x, integer k): pvar1 pvar result, count, discarded 0;2 pvar still-selected  true;3 for i  b-1 downto 0 do4 count  plus-association(t,still-selected and xi=0);5 where (count+discarded)  k6 where xi=07 still-selected  0;8 end where9 discarded  discarded+count;10 resulti1;11 elsewhere12 where xi=113 still-selected 0;14 end where15 resulti 0;16 end where17 end for18 return result;end

  18. Other Primitives: Algorithm 6minimum-spanning-tree (mgraph mg): mgraph • 略 • Other Primitives: Algorithm 7single-source-shortest-path (mgraph g,pvar root, pvar weights[D]): mgraph • 略

  19. Conclusion • a new parallel programming model: Association Net Model • basic operations: associations • efficiently realized by asynchronous computations • complex but efficient algorithms built by primitives • Future Works • a number of algorithms needed to be studied • real time computer vision • any graph-based applications

More Related