Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PADRES

Avatar for Tiago Posse Tiago Posse
November 08, 2012

 PADRES

This a presentation of PADRES (Publish/subscribe Applied to Distributed REsource Scheduling), a publish/subscribe middleware directed towards workflow management and business process execution.
The presentation was made for "Middleware Technologies" couse, for my Master in Information Security course, FCUL.

Avatar for Tiago Posse

Tiago Posse

November 08, 2012
Tweet

More Decks by Tiago Posse

Other Decks in Technology

Transcript

  1. PADRES   Publish/subscribe  Applied  to  Distributed  REsource  Scheduling    

    G.  Li,  A.  Cheung,  Sh.  Hou,  S.  Hu,  V.  Muthusamy,     R.  Sherafat,  A.  Wun,  H.-­‐A.  Jacobsen,  S.  Manovski       Presenta(on  by  Tiago  Posse  
  2. What  is  PADRES   •  Distributed  P/S   •  Content-­‐based

      •  Directed  towards  workflow  management  and  business   process  execu(on    
  3. Why  PADRES   •  Numerous  publish/subscribe  technologies   •  LiBle

     aBen(on  to  workflow  management  and  business   process  execu(on   •  Requirements   •  Access  to  past  events   •  Content-­‐based  rou(ng   •  Express  the  complicated  dependencies  in  a  workflow  using  a  subscrip(on   language  
  4. PADRES   •  Set  of  interconnected  brokers   •  ORT

      •  Rete  engine   •  Main  features:   •  Access  to  historic  data   •  Composite  subscrip(ons  
  5. Advertisements   •  Adver(se  -­‐>  publish   •  Subscrip(on  Rou(ng

     Table   •  Flooding   •  Merging       B2   B1   B3   B4   P   1)  Adv  (x)   1)  Adv  (x)   1)  Adv  (x)   1)  Adv  (x)   SRT  of  B1   Adver&sement   Last  hop   Adv  (x)   P   SRT  of  B4   Adver&sement   Last  hop   Adv  (x)   B2  
  6. Subscriptions   •  Rou(ng  through  SRT   •  Publica(on  Rou(ng

     Table   •  Merging   B2   B1   B3   B4   P   1)  Adv  (x)   1)  Adv  (x)   1)  Adv  (x)   1)  Adv  (x)   S   2)  Sub  (x)   2)  Sub  (x)   2)  Sub  (x)   PRT  of  B3   Subscrip&on   Last  hop   Sub  (x)   S   PRT  of  B4   Subscrip&on   Last  hop  
  7. Publications   •  Rou(ng  through  PRT’s   B2   B1

      B3   B4   P   S   2)  Sub  (x)   2)  Sub  (x)   2)  Sub  (x)   3)  Pub  (x)   3)  Pub  (x)   3)  Pub  (x)   3)  Pub  (x)  
  8. Access  to  historic  data   •  Historic  databases   • 

    Re-­‐publish  old  publica(ons   •  Transparent  to  par(cipants     •  Addi(on  of  (me  predicate   •  Historic  subscrip(ons   •  Hybrid  subscrip(ons  
  9. Composite  subscriptions   •  Several  atomic  subscrip(ons   •  Logical

     and/or  temporal  connec(ons   •  Ordered  matching   •  Subscrip(on  spliZng   •  Distributed  composite  event  matching  
  10. Rete  engine   •  One  input  queue   •  Several

     output  queues   •  Rete  tree   •  Par(al  matching  state   •  4.5  ms  to  test  200.000  subscrip(ons   •  80x  faster  than  linear  algorithm   •  20x  faster  than  coun(ng  algorithm  
  11. Rete  network   •  Check  event  again  predicates   • 

    Put  into  queue  when  matched   •  Par(ally  matched  state   Root   Class!=stock   Class=stock   …   Price<20   Price>50   Queue  2   Queue  1   join   Queue  3   Sub  1   Sub  2   CS   Publica(on  1   <class,=,stock>   <price,=,60>   Matched,  so  goes  down   Check  for  matches   Put  into  queue  to  be   delivered  to  last  hop   Par(ally     matching   state   Publica(on  2   <class,=,stock>   <price,=,10>   CS  is  matched   Put  into  queue  
  12. PADRES   •  Advantages:   •  Access  to  old  publica(ons

      •  Powerful  subscrip(ons  with  distributed  event  matching     •  Suitable  for  large  scale  p/s:  Rete  engine   •  Problems:   •  Classes   •  Placement  and  content  of  historic  databases   •  Message  cycles  
  13. Message  cycles   •  Pub(x)  overlaps  with  both  Sub(x)  and

     Sub(y)   B2   B3   B1   Sub(y)   Sub(x)   Sub(x)   Sub(y)   Sub(x)   Pub  (x)   Subscrip&on   Last  hop   Sub  (x)   B3   Sub(y)   B6   Subscrip&on   Last  hop   Sub  (x)   B1   Subscrip&on   Last  hop   Sub  (x)   B5   Sub(y)   B2   SRT  of  B2   SRT  of  B3   SRT  of  B1   CYCLE!