Presentation is loading. Please wait.

Presentation is loading. Please wait.

University of Colorado at Boulder Core Research Lab ZDDs for Dynamic Trace Analysis Graham Price Manish Vachharajani John Giacomoni John Michalakes Sreyasi.

Similar presentations


Presentation on theme: "University of Colorado at Boulder Core Research Lab ZDDs for Dynamic Trace Analysis Graham Price Manish Vachharajani John Giacomoni John Michalakes Sreyasi."— Presentation transcript:

1 University of Colorado at Boulder Core Research Lab ZDDs for Dynamic Trace Analysis Graham Price Manish Vachharajani John Giacomoni John Michalakes Sreyasi Vinjamuri

2 University of Colorado at Boulder Core Research Lab University of Colorado at Boulder Core Research Lab Motivation Chip Multiprocessor (CMP) solutions are becoming more prevalent Dynamic program analysis can aid location of parallelism in sequential programs BDDs are useful But they take days to create!

3 University of Colorado at Boulder Core Research Lab University of Colorado at Boulder Core Research Lab DIN vs. Ready Time 1 2 3 413 5 7 9 10 6 8 1114 12

4 University of Colorado at Boulder Core Research Lab University of Colorado at Boulder Core Research Lab Video Details: Price, Giacomoni, and Vachharajani PACT 2008 http://www.youtube.com/watch?v=KdeRtDrPEY4

5 University of Colorado at Boulder Core Research Lab University of Colorado at Boulder Core Research Lab The BDD Data Structure False Arc Inverting False Arc True Arc F(X,Y,Z) = x’y + xy’ + z 1 X Y Z Y Z Z Z 1 1001 1 1 X Y Z Y 1

6 University of Colorado at Boulder Core Research Lab University of Colorado at Boulder Core Research Lab Trace BDD Construction I t = (X’ * Y’ * Z’ * W’) 1 X Y W Z I t = (X * Y * Z * W) = + 1 X Y W Z 1 X Y W Z Y W I trace = (X * Y * Z * W) + (X’ * Y’ * Z’ * W’) 0 I trace = 0 0 1 X Y W Z I trace = (X * Y * Z * W)

7 University of Colorado at Boulder Core Research Lab University of Colorado at Boulder Core Research Lab Trace BDD Construction I t = (X’ * Y’ * Z’ * W’) 1 X Y W Z I t = (X * Y * Z * W) = + 1 X Y W Z 1 X Y W Z Y W I trace = (X * Y * Z * W) + (X’ * Y’ * Z’ * W’)

8 University of Colorado at Boulder Core Research Lab University of Colorado at Boulder Core Research Lab Trace BDD Construction Cont.. Garbage Problem 1 X Y W Z 1 X Y W Z Y W 1 X Y W Z

9 University of Colorado at Boulder Core Research Lab University of Colorado at Boulder Core Research Lab ZDDs BDDs 1.Remove isomorpic graphs 2.Skip and remove nodes whose pointers point to the same child ZDDs 1.Remove isomorpic graphs 2.Remove “1” nodes whose pointers point to “0”

10 University of Colorado at Boulder Core Research Lab University of Colorado at Boulder Core Research Lab ZDD vs. BDD Size I t = (X’ * Y’ * Z’ * W’) I t = (X * Y * Z * W) + (X’ * Y * Z * W) ~ 20% Reduction

11 University of Colorado at Boulder Core Research Lab University of Colorado at Boulder Core Research Lab DD Creation Time DIN x RDY Tuples Over 9 times faster!

12 University of Colorado at Boulder Core Research Lab University of Colorado at Boulder Core Research Lab ZDD Construction I t = (X’ * Y’ * Z’ * W’) 1 X Y W Z I t = (X * Y * Z * W) = + 1 I trace = (X * Y * Z * W) + (X’ * Y’ * Z’ * W’) 0 I trace = 0 0 1 X Y W Z I trace = (X * Y * Z * W) 1 Z X Y W

13 University of Colorado at Boulder Core Research Lab University of Colorado at Boulder Core Research Lab Where BDDs Compress 1 X Y W Z 1 X Y W Z Y W 1 X Y W Z No Compression Compression = +

14 University of Colorado at Boulder Core Research Lab University of Colorado at Boulder Core Research Lab Where ZDDs Compress 1 X Y W Z Compression Little/No Compression = + 1 Z X Y W 1 Details: Price and Vachharajani, to appear CGO 2010

15 University of Colorado at Boulder Core Research Lab University of Colorado at Boulder Core Research Lab Questions?


Download ppt "University of Colorado at Boulder Core Research Lab ZDDs for Dynamic Trace Analysis Graham Price Manish Vachharajani John Giacomoni John Michalakes Sreyasi."

Similar presentations


Ads by Google