PARALLEL RECURSIVE STATE COMPRESSION FOR FREE ALFONS LAARMAN JOINT WORK WITH: MICHAEL WEBER JACO VAN DE POL 12/7/2011 SPIN 2011.

Slides:



Advertisements
Similar presentations
Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
Advertisements

Implementation and Verification of a Cache Coherence protocol using Spin Steven Farago.
Hierarchical Cellular Tree: An Efficient Indexing Scheme for Content-Based Retrieval on Multimedia Databases Serkan Kiranyaz and Moncef Gabbouj.
Incremental Maintenance of XML Structural Indexes Ke Yi 1, Hao He 1, Ioana Stanoi 2 and Jun Yang 1 1 Department of Computer Science, Duke University 2.
Supporting top-k join queries in relational databases Ihab F. Ilyas, Walid G. Aref, Ahmed K. Elmagarmid Presented by Rebecca M. Atchley Thursday, April.
CS252: Systems Programming Ninghui Li Program Interview Questions.
Maged M. Michael, “Hazard Pointers: Safe Memory Reclamation for Lock- Free Objects” Presentation Robert T. Bauer.
Sorting Comparison-based algorithm review –You should know most of the algorithms –We will concentrate on their analyses –Special emphasis: Heapsort Lower.
IP Routing Lookups Scalable High Speed IP Routing Lookups.
Scalable Synchronous Queues By William N. Scherer III, Doug Lea, and Michael L. Scott Presented by Ran Isenberg.
CS 267: Automated Verification Lecture 10: Nested Depth First Search, Counter- Example Generation Revisited, Bit-State Hashing, On-The-Fly Model Checking.
Presented by Vigneshwar Raghuram
Concurrent Data Structures in Architectures with Limited Shared Memory Support Ivan Walulya Yiannis Nikolakopoulos Marina Papatriantafilou Philippas Tsigas.
Section 8.8 Heapsort.  Merge sort time is O(n log n) but still requires, temporarily, n extra storage locations  Heapsort does not require any additional.
Progress Guarantee for Parallel Programs via Bounded Lock-Freedom Erez Petrank – Technion Madanlal Musuvathi- Microsoft Bjarne Steensgaard - Microsoft.
Submitted by: Omer & Ofer Kiselov Supevised by: Dmitri Perelman Networked Software Systems Lab Department of Electrical Engineering, Technion.
Shared Counters and Parallelism Companion slides for The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit.
Lower and Upper Bounds on Obtaining History Independence Niv Buchbinder and Erez Petrank Technion, Israel.
Chapter 4 Linked Lists Anshuman Razdan Div of Computing Studies
Introducing Hashing Chapter 21 Copyright ©2012 by Pearson Education, Inc. All rights reserved.
Copyright © 2010, Oracle and/or its affiliates. All rights reserved. Who’s Afraid of a Big Bad Lock Nir Shavit Sun Labs at Oracle Joint work with Danny.
Optimizing RAM-latency Dominated Applications
Detection and Resolution of Anomalies in Firewall Policy Rules
HOW TO SOLVE IT? Algorithms. An Algorithm An algorithm is any well-defined (computational) procedure that takes some value, or set of values, as input.
Identifying Reversible Functions From an ROBDD Adam MacDonald.
Database Management 9. course. Execution of queries.
Efficient Minimal Perfect Hash Language Models David Guthrie, Mark Hepple, Wei Liu University of Sheffield.
Data structures and algorithms in the collection framework 1 Part 2.
Merge Sort. What Is Sorting? To arrange a collection of items in some specified order. Numerical order Lexicographical order Input: sequence of numbers.
Trevor Brown – University of Toronto B-slack trees: Space efficient B-trees.
Querying Large Databases Rukmini Kaushik. Purpose Research for efficient algorithms and software architectures of query engines.
Improving Content Addressable Storage For Databases Conference on Reliable Awesome Projects (no acronyms please) Advanced Operating Systems (CS736) Brandon.
Chapter 11 Heap. Overview ● The heap is a special type of binary tree. ● It may be used either as a priority queue or as a tool for sorting.
1 Joe Meehean.  Problem arrange comparable items in list into sorted order  Most sorting algorithms involve comparing item values  We assume items.
November 15, 2007 A Java Implementation of a Lock- Free Concurrent Priority Queue Bart Verzijlenberg.
1 CSE 326: Data Structures: Hash Tables Lecture 12: Monday, Feb 3, 2003.
Can’t provide fast insertion/removal and fast lookup at the same time Vectors, Linked Lists, Stack, Queues, Deques 4 Data Structures - CSCI 102 Copyright.
Fast BVH Construction on GPUs (Eurographics 2009) Park, Soonchan KAIST (Korea Advanced Institute of Science and Technology)
Big Data Analytics Carlos Ordonez. Big Data Analytics research Input? BIG DATA (large data sets, large files, many documents, many tables, fast growing)
Parallel & Distributed Systems and Algorithms for Inference of Large Phylogenetic Trees with Maximum Likelihood Alexandros Stamatakis LRR TU München Contact:
Memory-Efficient Algorithms for the Verification of Temporal Properties C. Courcoubetis Inst. Of Comp. Sci. FORTH, Crete, Greece M. Verdi IBM Almaden P.
CSS446 Spring 2014 Nan Wang.  To understand the implementation of linked lists and array lists  To analyze the efficiency of fundamental operations.
Department of Computer Science MapReduce for the Cell B. E. Architecture Marc de Kruijf University of Wisconsin−Madison Advised by Professor Sankaralingam.
Space-Efficient Online Computation of Quantile Summaries SIGMOD 01 Michael Greenwald & Sanjeev Khanna Presented by ellery.
Hashtables. An Abstract data type that supports the following operations: –Insert –Find –Remove Search trees can be used for the same operations but require.
CSE373: Data Structures & Algorithms Lecture 6: Priority Queues Kevin Quinn Fall 2015.
/ PSWLAB S PIN Search Optimization from “THE SPIN MODEL CHECKER” by G. Holzmann Presented by Hong,Shin 23 th Nov SPIN Search.
Database Management Systems, R. Ramakrishnan 1 Algorithms for clustering large datasets in arbitrary metric spaces.
1 Distributed BDD-based Model Checking Orna Grumberg Technion, Israel Joint work with Tamir Heyman, Nili Ifergan, and Assaf Schuster CAV00, FMCAD00, CAV01,
DATA STRUCTURES (CS212D) Overview & Review Instructor Information 2  Instructor Information:  Dr. Radwa El Shawi  Room: 
MULTI-CORE LTSMIN: MARRYING MODULARITY AND SCALABILITY ALFONS LAARMAN JOINT WORK WITH: MICHAEL WEBER JACO VAN DE POL 11/4/201 Nfm 2011.
Week 13 - Wednesday.  What did we talk about last time?  NP-completeness.
Chapter 9 Recursion © 2006 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.
Symbolic Model Checking of Software Nishant Sinha with Edmund Clarke, Flavio Lerda, Michael Theobald Carnegie Mellon University.
CSE373: Data Structures & Algorithms Priority Queues
CSC317 Selection problem q p r Randomized‐Select(A,p,r,i)
Hybrid BDD and All-SAT Method for Model Checking
COMP 53 – Week Eleven Hashtables.
CSCI 104 Log Structured Merge Trees
Hashing Exercises.
A Lock-Free Algorithm for Concurrent Bags
Fast Computation of Symmetries in Boolean Functions Alan Mishchenko
Degree-aware Hybrid Graph Traversal on FPGA-HMC Platform
CS179G, Project In Computer Science
Parallel Analytic Systems
Yiannis Nikolakopoulos
Database Design and Programming
Getting to the root of concurrent binary search tree performance
Author: Xianghui Hu, Xinan Tang, Bei Hua Lecturer: Bo Xu
Wide BVH traversal with a short stack
Presentation transcript:

PARALLEL RECURSIVE STATE COMPRESSION FOR FREE ALFONS LAARMAN JOINT WORK WITH: MICHAEL WEBER JACO VAN DE POL 12/7/2011 SPIN 2011

Motivation Previous work Problem Description Background Tree Compression Contribution Concurrent Tree Compression An Incremental Algorithm Analysis of Compression Ratios Experiments Conclusion / Future Work 12/7/2011Parallel Recursive State Compression for Free 1 OVERVIEW

(Enumerative) reachability as a basis for many verification problems S: open set (stack or queue) DB: closed set 12/7/2011Parallel Recursive State Compression for Free 2 MOTIVATION PREVIOUS WORK

S4:S4: 12/7/ PREVIOUS WORK MOTIVATION Parallel Recursive State Compression for Free DB Worker 1 Worker 2 Worker 3 Worker 4 request Lockless hash table Synchronous Random Polling post() S1:S1: S3:S3: S2:S2: [FMCAD 2010]

12/7/ PROPERTIES OF THE LOCKLESS HASH TABLE MOTIVATION Parallel Recursive State Compression for Free Monotonically growing (no remove() operation) find_or_put(vector) : boolean Without resizing Avoid scalability problem Stable indices: find_or_put(vector) : (index, boolean) Fixed-sized integer vectors (limitation of LTSmin)

12/7/ MEMORY BECOMES THE PROBLEM (AGAIN) MOTIVATION Parallel Recursive State Compression for Free The hash set has to store up to 10^9 state vectors of length up to 1 kbyte With 16 cores: 1GB/sec ofnew state vectors In asynchronous systems, transitions are typically local: States are very similar Solution: Compress the DB Cf. COLLAPSE in SPIN Exploit locality with incremental algorithms

Motivation Previous work Problem Description Background Tree Compression Contribution Concurrent Tree Compression An Incremental Algorithm Analysis of Compression Ratios Experiments Conclusion / Future Work 12/7/2011Parallel Recursive State Compression for Free 6 OVERVIEW

12/7/ MEMORY-EFFICIENT STORAGE BACKGROUND Parallel Recursive State Compression for Free

12/7/ TREE COMPRESSION BACKGROUND Parallel Recursive State Compression for Free Store a table of vectors as a fixed-shaped tree of tables with tuples

12/7/ TREE COMPRESSION BACKGROUND Parallel Recursive State Compression for Free

12/7/ TREE COMPRESSION ALGORITHM BACKGROUND Parallel Recursive State Compression for Free returns (index, bool) Used before in distributed model checking – Blom et al.

12/7/2011Parallel Recursive State Compression for Free 11 CONFLICTING REQUIREMENTS PROBLEM DESCRIPTION Goal: scalable concurrent tree database Unknown table sizes  requires resizing  breaks stable indices

Motivation Previous work Problem Description Background Tree Compression Contribution Concurrent Tree Compression An Incremental Algorithm Analysis of Compression Ratios Experiments Conclusion / Future Work 12/7/2011Parallel Recursive State Compression for Free 12 OVERVIEW

12/7/2011Parallel Recursive State Compression for Free 13 INTRODUCE MAXIMAL SHARING CONCURRENT TREE COMPRESSION Idea: Merge all hash tables into a single non-resizing hash table. This maintains an injection T k : Nat k  Nat T 2 (4,1) = 1 T 6 (3,5,5,4,1,3) = 7 T 3 (4,1,3) = 4

12/7/2011Parallel Recursive State Compression for Free 14 INTRODUCE MAXIMAL SHARING CONCURRENT TREE COMPRESSION Idea: Merge all hash tables into a single non-resizing hash table. Problem: T 6 (….) = T 2 (3,5)

12/7/2011Parallel Recursive State Compression for Free 15 INTRODUCE MAXIMAL SHARING CONCURRENT TREE COMPRESSION Solution: add an isRoot tag to nodes For correct boolean result

12/7/ THE ALGORITHM CONCURRENT TREE COMPRESSION Parallel Recursive State Compression for Free

12/7/2011Parallel Recursive State Compression for Free 17 INCREMENTAL TREE INSERTION CONCURRENT TREE COMPRESSION Hash tablevs Tree 1 (random) memory access of k integers (k-1) (random) accesses of two integers Next problem:

12/7/ INCREMENTAL TREE INSERTION CONCURRENT TREE COMPRESSION Parallel Recursive State Compression for Free Exploits locality (log 2 (k) accesses in many cases) post( ) =

Motivation Previous work Problem Description Background Tree Compression Contribution Concurrent Tree Compression An Incremental Algorithm Analysis of Compression Ratios Experiments Conclusion / Future Work 12/7/2011Parallel Recursive State Compression for Free 19 OVERVIEW

20 WORST AND BEST CASE INPUTS ANALYSIS OF COMPRESSION RATIOS Parallel Recursive State Compression for Free Inputs Tuples in tree nodesRatio Worst case: Best case: k n

12/7/ MEMORY USAGE EXPERIMENTS Parallel Recursive State Compression for Free [BEEM database]

12/7/ MEMORY USAGE EXPERIMENTS Parallel Recursive State Compression for Free Always compression with tree In most cases, compression is close to optimal (see median) Always higher ratios than COLLAPSE

12/7/ RUNTIMES COMPARED TO HASH TABLE EXPERIMENTS Parallel Recursive State Compression for Free Performance close to HT Due to incremental algorithm

12/7/ SCALABILITY EXPERIMENTS (AGGREGATE SPEEDUPS) EXPERIMENTS Parallel Recursive State Compression for Free

With paying careful attention to data layout, we designed a parallel on- the-fly compression method, that features: Impressive compression ratios Good performance/scalability For the full BEEM benchmark database 12/7/2011Parallel Recursive State Compression for Free 25 CONCLUSION

12/7/2011Parallel Recursive State Compression for Free 26 FUTURE WORK  Support dynamic-sized vectors  Overcome hardware limitations (2 billion vectors due to CAS)  use compact hash table (Cleary)  Static reordering of vector slots to improve compression ratios  Also Multi-Core LTL Model Checking (ATVA 2011 / PDMC 14:00) Implemented in LTSmin (open source):

12/7/2011Parallel Recursive State Compression for Free 27 AN INTUITION ANALYSIS OF COMPRESSION RATIOS