Changes between Version 1 and Version 2 of PerformanceData
- Timestamp:
- Sep 4, 2012 2:48:59 PM (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
PerformanceData
v1 v2 1 Performance data 1 [[TOC]] 2 3 = Performance data = 2 4 3 5 We have gathered performance data of two types of ABAC scenario. 4 6 The first is the daisychaining of a large answer proof from a 5 7 similarly sized ruleset. The second is the searching of a proof 6 8 from a noisy ruleset. 7 9 8 == > daisychain <==10 == daisychain == 9 11 10 12 Many cascading Likes-rules and their matching principal credentials are 11 13 generated: 12 14 13 John0.likes <-John0 14 John1.likes <-John0 15 John2.likes <-John1 16 John3.likes <-John2 17 ... 18 JohnMax.likes <-JohnMax-1 15 {{{ 16 John0.likes <- John0 17 John1.likes <- John0 18 John2.likes <- John1 19 John3.likes <- John2 20 .. 21 JohnMAX.likes <- JohnMAX-1 22 }}} 19 23 20 Following graph shows the the time needed to load both attribute 21 credentials and principal certificates ((2*Max)+2) into the YAP prolog 24 25 Following graph shows the the time needed to load both attribute 26 credentials and principal certificates ((2*MAX)+2) into the YAP prolog 22 27 db. The Y axis is the total time in milliseconds. The X axis is the 23 28 number of credentials that are in the YAP backend db. … … 26 31 27 32 28 A valid query in the form of JohnMax.likes <-?-John0 is issued multiple 33 A valid query, 34 '''JohnMAX.likes<-?-John0''' 35 , is issued multiple 29 36 times. The first query's time is collected and then subsequent 10 queries 30 37 are collected and an average is taken. Next graph shows these lines. The 31 38 X axis is the query time in microseconds and the Y axis is number of 32 39 credentials in the YAP backend db. 40 33 41 34 42 XXX 35 43 36 An invalid query in the form of John0.likes <-?-JohnMaxis issued44 An invalid query in the form of '''John0.likes<-?-JohnMAX''' is issued 37 45 multiple times. The first query's time is collected and then subsequent 38 46 10 queries are collected and an average is taken. Next graph shows these … … 43 51 44 52 45 == > haystack <==53 == haystack == 46 54 47 55 The core credential setup is borrowed from the 48 56 Ralphs' fruitprice and shopper's eating preference RT2 example, 49 57 50 Mary.what2eat <- Ralphs.fruitprice(P:[.. 2.00]) 51 Bob.what2eat <- Ralphs.fruitprice(P:[1.00 .. 5.00]) 52 Ralphs.fruitprice(1.50) <- 'apple' 53 Ralphs.fruitprice(1.50) <- 'kiwi' 54 Ralphs.fruitprice(2.50) <- 'black rasberry' 55 Ralphs.fruitprice(0.50) <- 'navel orange' 58 {{{ 59 Mary.what2eat <- Ralphs.fruitprice(P:[..2.00]) 60 Bob.what2eat <- Ralphs.fruitprice(P:[1.00 .. 5.00]) 61 Ralphs.fruitprice(1.50) <- 'apple' 62 Ralphs.fruitprice(1.50) <- 'kiwi' 63 Ralphs.fruitprice(2.50) <- 'black rasberry' 64 Ralphs.fruitprice(0.50) <- 'navel orange' 65 }}} 56 66 57 67 Noises are introduced by adding the rules about bananas 58 68 and Johns. 59 69 60 Ralphs.fruitprice(1.00) <- 'banana1' 61 Ralphs.fruitprice(2.00) <- 'banana2' 62 .. 63 Ralphs.fruitprice(Max.00) <- bananaMax 70 {{{ 71 Ralphs.fruitprice(1.00) <- 'banana1' 72 Ralphs.fruitprice(2.00) <- 'banana2' 73 .. 74 Ralphs.fruitprice(MAX.00) <- 'bananaMAX' 75 }}} 64 76 65 John1.what2eat <- Ralphs.fruitprice(P:[1.00 .. 5.00]) 66 John2.what2eat <- Ralphs.fruitprice(P:[1.00 .. 5.00]) 67 .. 68 JohnMAX.what2eat <- Ralphs.fruitprice(P:[1.00 .. 5.00]) 77 and, 69 78 70 Following graph shows the the time needed to load both attribute 71 credentials and principal certificates ((3*Max)+9) into the YAP prolog 79 {{{ 80 John1.what2eat <- Ralphs.fruitprice(P:[1.00 .. 5.00]) 81 John2.what2eat <- Ralphs.fruitprice(P:[1.00 .. 5.00]) 82 .. 83 JohnMAX.what2eat <- Ralphs.fruitprice(P:[1.00 .. 5.00]) 84 }}} 85 86 Following graph shows the the time needed to load both attribute 87 credentials and principal certificates ((3*MAX)+9) into the YAP prolog 72 88 db. The Y axis is the total time in milliseconds. The X axis is the 73 89 number of credentials that are in the YAP backend db. … … 75 91 XXX 76 92 77 A valid query, Mary.what2eat<-?-'navel orange', is issued multiple93 A valid query, '''Mary.what2eat<-?-'navel orange'''', is issued multiple 78 94 times. The returning answer proof is, 79 Mary.what2eat <- pRalphs.fruitprice(P:[..2.000000]) 80 Ralphs.fruitprice(0.50) <- 'navel orange'. 95 {{{ 96 Mary.what2eat <- pRalphs.fruitprice(P:[..2.00]) 97 Ralphs.fruitprice(0.50) <- 'navel orange' 98 }}} 99 81 100 The first query's time is collected and the subsequent 20 queries 82 101 are collected and averaged. Next graph shows these lines. The X … … 84 103 microseconds and the Y axis is number of credentials in the YAP 85 104 backend db. 86 105 87 106 XXX 88 107 89 An invalid query in the form of Bob.what2eat<-?-'navel orange'108 An invalid query in the form of '''Bob.what2eat<-?-'navel orange'''' 90 109 is issued multiple times. The first query's time is collected and 91 110 then subsequent 20 queries are collected and averaged. Next graph 92 111 shows these lines. The X axis is the query time in microseconds 93 and the Y axis is number of credentials iin the YAP backend db.112 and the Y axis is number of credentials in the YAP backend db. 94 113 95 114 XXX