Associative Nets: A GraphBased Parallel Computing Model - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

Associative Nets: A GraphBased Parallel Computing Model

Description:

relies on basic primitives : associations (apply an associative operator over connected components of a sub-graph of the physical ... – PowerPoint PPT presentation

Number of Views:44
Avg rating:3.0/5.0
Slides: 21
Provided by: georg142
Category:

less

Transcript and Presenter's Notes

Title: Associative Nets: A GraphBased Parallel Computing Model


1
Associative NetsA 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 asso
    ciations
  • 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
(No Transcript)
7
  • 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-1or E 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

8
  • 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

9
  • Two Basic Objects - 2nd
  • mgraph g
  • represents the connex set of processors to
    communicate with
  • g (P,E) where P P and E ? 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

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

11
  • 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)

12
  • Implementation of Basic Primitives

13
  • 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 ?
    true7 end where8 end while9 return tend

14
  • Basic Primitive Algorithm 1spanning-tree-step(m
    graph 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 ?
    true6 end where7 return tend

15
  • Basic Primitive Algorithm 2max-association
    (mgraph g, pvar p) pvar1 pvar M 2 int i3
    for i ? b-1 downto 0 do4 Mi ?
    or-association(g,pi) 5 where (Mi1 and pi0)
    6 p ? 07 end where8 end for9 return
    Mend

16
  • Basic Primitive Algorithm 3prefix-max-associatio
    n (mgraph m, pvar p) pvar1 pvar M 2 int
    i3 for i ? b-1 downto 0 do4 Mi ?
    prefix-or-association(m, pi) 5 where Mi16
    m ? lop-off-zeroes(m, pi) 7 end where8
    end for9 return Mend

17
  • 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
    resultend

18
  • Basic Primitive Algorithm 5selection(mgraph g,
    pvar x, integer k) pvar1 pvar result, count,
    discarded ?0 2 pvar still-selected ? true3
    for i ? b-1 downto 0 do4 count ?
    plus-association(t,still-selected and
    xi0)5 where (countdiscarded) ? k6 where
    xi07 still-selected ? 08 end
    where9 discarded ? discardedcount10 result
    i ?111 elsewhere 12 where
    xi113 still-selected ?0 14 end
    where15 resulti ? 016 end where17 end
    for18 return resultend

19
  • Other Primitives Algorithm 6minimum-spanning-tre
    e (mgraph mg) mgraph
  • ?
  • Other Primitives Algorithm 7single-source-shorte
    st-path (mgraph g,pvar root, pvar weightsD)
    mgraph
  • ?

20
  • 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
Write a Comment
User Comments (0)
About PowerShow.com