I/O Efficient Directed Model Checking Shahid Jabbar and Stefan Edelkamp, Computer Science Department University of Dortmund, Germany.

Slides:



Advertisements
Similar presentations
Algorithm Engineering Parallele Suche Stefan Edelkamp.
Advertisements

Review: Search problem formulation
Problem solving with graph search
Part IV: Memory Management
Traveling Salesperson Problem
Solving Problem by Searching
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 36 Virtual Memory Read.
Accelerating External Search with Bitstate Hashing Stefan Edelkamp Shahid Jabbar Computer Science Department University of Dortmund, Dortmund, Germany.
CSCE 580 ANDREW SMITH JOHNNY FLOWERS IDA* and Memory-Bounded Search Algorithms.
Dynamic State-Space Partitioning in External-Memory Graph Search Rong Zhou † and Eric A. Hansen ‡ † Palo Alto Research Center ‡ Mississippi State University.
CSC 423 ARTIFICIAL INTELLIGENCE
Algorithm Strategies Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Query Evaluation. An SQL query and its RA equiv. Employees (sin INT, ename VARCHAR(20), rating INT, age REAL) Maintenances (sin INT, planeId INT, day.
CPSC 322, Lecture 9Slide 1 Search: Advanced Topics Computer Science cpsc322, Lecture 9 (Textbook Chpt 3.6) January, 23, 2009.
Chapter 11: File System Implementation
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering Blind State-Space Search Notes for Ch.11 of Bratko For CSCE 580 Sp03 Marco.
CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University1 Memory Management -3 CS 342 – Operating Systems Ibrahim Korpeoglu Bilkent.
Computer Organization Cs 147 Prof. Lee Azita Keshmiri.
Using Search in Problem Solving
Computer Organization and Architecture
External Memory Algorithms Kamesh Munagala. External Memory Model Aggrawal and Vitter, 1988.
E.G.M. PetrakisHashing1 Hashing on the Disk  Keys are stored in “disk pages” (“buckets”)  several records fit within one page  Retrieval:  find address.
Memory Management ◦ Operating Systems ◦ CS550. Paging and Segmentation  Non-contiguous memory allocation  Fragmentation is a serious problem with contiguous.
Virtual Memory Chantha Thoeun. Overview  Purpose:  Use the hard disk as an extension of RAM.  Increase the available address space of a process. 
Action Planning for Graph Transition Systems Stefan Edelkamp Shahid Jabbar Computer Science Department University of Dortmund, Dortmund, Germany Alberto.
Chapter 3 Memory Management: Virtual Memory
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 223 – Advanced Data Structures Graph Algorithms Shortest-Path.
Keyword Search on External Memory Data Graphs Bhavana Bharat Dalvi, Meghana Kshirsagar, S. Sudarshan PVLDB 2008 Reported by: Yiqi Lu.
Topics covered: Memory subsystem CSE243: Introduction to Computer Architecture and Hardware/Software Interface.
Distributed Verification of Multi-threaded C++ Programs Stefan Edelkamp joint work with Damian Sulewski and Shahid Jabbar.
1 Chapter 3.2 : Virtual Memory What is virtual memory? What is virtual memory? Virtual memory management schemes Virtual memory management schemes Paging.
Duality between Reading and Writing with Applications to Sorting Jeff Vitter Department of Computer Science Center for Geometric & Biological Computing.
An Optimal Cache-Oblivious Priority Queue and Its Applications in Graph Algorithms By Arge, Bender, Demaine, Holland-Minkley, Munro Presented by Adam Sheffer.
CS 149: Operating Systems March 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak
Real-Time Model Checking on Secondary Storage Stefan Edelkamp and Shahid Jabbar Chair for Programming Systems and Compiler Construction Computer Science.
External Program Model Checking Stefan Edelkamp, Shahid Jabar, Dino Midzic, Daniel Rikowski and Damian Sulewski Computer Science Department University.
Lecture 3: Uninformed Search
1 Memory Management. 2 Fixed Partitions Legend Free Space 0k 4k 16k 64k 128k Internal fragmentation (cannot be reallocated) Divide memory into n (possible.
Parallel External Directed Model Checking with Linear I/O Shahid Jabbar Stefan Edelkamp Computer Science Department University of Dortmund, Dortmund, Germany.
Computer Science CPSC 322 Lecture 6 Iterative Deepening and Search with Costs (Ch: 3.7.3, 3.5.3)
External A* Stefan Edelkamp, Shahid Jabbar (ich) University of Dortmund, Germany and Stefan Schrödl (DaimlerChrysler, CA)
External Memory Value Iteration Stefan Edelkamp, Shahid Jabbar Chair for Programming Systems, University of Dortmund, Germany Blai Bonet Departamento de.
CPSC 252 Hashing Page 1 Hashing We have already seen that we can search for a key item in an array using either linear or binary search. It would be better.
Chapter 15 A External Methods. © 2004 Pearson Addison-Wesley. All rights reserved 15 A-2 A Look At External Storage External storage –Exists beyond the.
CS 440 Database Management Systems Lecture 5: Query Processing 1.
Large Scale External Directed Liveness Checking Stefan Edelkamp Shahid Jabbar Computer Science Department University of Dortmund, Dortmund, Germany.
Artificial Intelligence Lecture No. 8 Dr. Asad Ali Safi ​ Assistant Professor, Department of Computer Science, COMSATS Institute of Information Technology.
1 Contents Memory types & memory hierarchy Virtual memory (VM) Page replacement algorithms in case of VM.
TIRGUL 10 Dijkstra’s algorithm Bellman-Ford Algorithm 1.
Memory management The main purpose of a computer system is to execute programs. These programs, together with the data they access, must be in main memory.
Memory Management memory hierarchy programs exhibit locality of reference - non-uniform reference patterns temporal locality - a program that references.
File-System Management
Lecture 3: Uninformed Search
Memory Hierarchy Ideal memory is fast, large, and inexpensive
Computer Organization
Memory Management.
Jonathan Walpole Computer Science Portland State University
Chapter 2 Memory and process management
Memory COMPUTER ARCHITECTURE
CS 540 Database Management Systems
CSE 373 Topological Sort Graph Traversals
CS 440 Database Management Systems
Abstraction Transformation & Heuristics
Uniformed Search (cont.) Computer Science cpsc322, Lecture 6
CSCI206 - Computer Organization & Programming
Memory Management Lectures notes from the text supplement by Siberschatz and Galvin Modified by B.Ramamurthy Chapter 8 11/24/2018.
Memory Management Lectures notes from the text supplement by Siberschatz and Galvin Modified by B.Ramamurthy Chapter 9 12/1/2018.
Searching for Solutions
Memory Management Lectures notes from the text supplement by Siberschatz and Galvin Modified by B.Ramamurthy Chapter 9 4/5/2019.
Virtual Memory 1 1.
Presentation transcript:

I/O Efficient Directed Model Checking Shahid Jabbar and Stefan Edelkamp, Computer Science Department University of Dortmund, Germany

Shahid Jabbar (Dortmund)I/O Efficient Directed MC2 Problem  In explicit-state model checking, most real-world models require enormous amount of memory.  How to cope with this state space explosion problem ?

Shahid Jabbar (Dortmund)I/O Efficient Directed MC3 Directed Model Checking (Edelkamp, Leue, Lluch-Lafuente, 2004)  A guided search in the state space.  Usually by some heuristic estimate.  Only promising states are explored.  Under-certain conditions proved to be complete.

Shahid Jabbar (Dortmund)I/O Efficient Directed MC4 A Closer look at different strategies Depth first Breadth first A* Best first

Shahid Jabbar (Dortmund)I/O Efficient Directed MC5 Advantages of Directed Model Checking  Partial exploration of the state space.  Shorter error trails Better for human comprehension  Problem: The inevitable demands of the model.. Space, space and space.

Shahid Jabbar (Dortmund)I/O Efficient Directed MC6 Possible Solution  Use Virtual Memory. Assume a bigger address space divided into pages. Saved on the hard disk but are moved back to the main memory whenever they are “called” – Page Faults. Pages are mapped to physical locations within the main memory and the desired content is returned from the main memory location.

Shahid Jabbar (Dortmund)I/O Efficient Directed MC7 Problem with the Virtual Memory 0x000…000 0xFFF…FFF Virtual Address Space Memory Page

Shahid Jabbar (Dortmund)I/O Efficient Directed MC8 External Memory Model (Aggarwal and Vitter) Input of size N and N >> M M B Disk If the input size is very large, running time depends on the I/Os rather than on the number of instructions.

Shahid Jabbar (Dortmund)I/O Efficient Directed MC9 External Memory Graph Algorithms  External breadth first search [Munagala and Ranade, 2001]: Generated states flushed to the disk for every BFS level. No hash table. Duplicates are removed by sorting the nodes according to the indices and doing an scan and compaction phase. Before expanding a layer t, the nodes in the layer t-1 and t-2 are subtracted from t. O(|V| + sort(|V| + |E|)) I/Os. where sort(N) = O(N / B log M/B N / B) I/Os  [Korf, 2003] presented the breadth first search version for implicit graphs.

Shahid Jabbar (Dortmund)I/O Efficient Directed MC10 A* Algorithm  A.k.a Goal-directed Dijkstra  A heuristic estimate is used to guide the search. E.g. Straight line distance from the current node to the goal in case of a graph with a geometric layout.  Reweighing: w’(u,v) = w(u,v) – h(u) + h(v)  Problems: A* needs to store all the states during exploration. A* generates large amount of duplicates that can be removed using an internal hash table – only if it can fit in the main memory. A* do not exhibit any locality of expansion. For large state spaces, standard virtual memory management can result in excessive page faults.

Shahid Jabbar (Dortmund)I/O Efficient Directed MC11 Take a closer look  Implicit, unweighted, undirected graphs  Consistent heuristic estimates. => ∆h ={-1,0,1} g h It’s a Bucket !!

Shahid Jabbar (Dortmund)I/O Efficient Directed MC12 Bucket  A Bucket is a set of states, residing on the disk, having the same (g, h) value, Where, g = number of transitions needed to transform the initial state to the states of the bucket, and h = Estimated distance of the bucket’s state to the goal  No state is inserted again in a bucket that is expanded.  If Active (being read or written), represented internally by a small buffer. File on disk Buffer in internal memory Insert stateFlush when full

Shahid Jabbar (Dortmund)I/O Efficient Directed MC13 External A* [Edelkamp, Jabbar, and Schroedl, 2004]  Buckets represent temporal locality – cache efficient order of expansion.  If we store the states in the same bucket together we can exploit the spatial locality.  Munagala and Ranade’s BFS and Korf’s delayed duplicate detection for implicit graphs. External A*

Shahid Jabbar (Dortmund)I/O Efficient Directed MC14 Complexity Analysis  Internal A* => Each edge is looked at most once.  Duplicates Removal: Sorting the green bucket having one state for every edge from the 3 black buckets. Scanning and compaction.  O(sort(|E|))  Subtraction: Removing states of orange buckets (duplicates free) from the green one.  O(scan(|V|) + scan(|E|))

Shahid Jabbar (Dortmund)I/O Efficient Directed MC15 I/O Performance of External A* Theorem: The complexity of External A* in an implicit unweighted and undirected graph with a consistent estimate is bounded by O(sort(|E|) + scan(|V|)) I/Os.

Shahid Jabbar (Dortmund)I/O Efficient Directed MC16 Directed Graphs in Model Checking  In undirected graphs, we are required to look at only two layers for duplicate detection.  But in model checking, we are mainly concerned with directed graphs.  Result by [Zhou & Hansen, 2004] Duplicate detection scope = Locality of the search  Locality = max{\delta(s,u)-\delta(s,v), 0} for all edges (u, v) \delta denotes the shortest path.  In directed graphs, scope corresponds to the largest cycle in the graph.  Largest cycle ≤ Sum of the largest cycles in individual processes.

Shahid Jabbar (Dortmund)I/O Efficient Directed MC17 From SPIN to HSF-SPIN to IO-HSF-SPIN  SPIN: A well-known model checker.  HSF-SPIN (Edelkamp, Leue, Lluch-Lafuente): Directed Model Checking Extension of SPIN.  IO-HSF-SPIN: External HSF-SPIN. Incorporates External A* in HSF-SPIN. Successfully implemented for deadlock detection. Active process heuristic is used to guide the search.

Shahid Jabbar (Dortmund)I/O Efficient Directed MC18 Experimental Results -1  Deadlock Detection in Dining Philosophers # Philoso- phers Solution Depth #stored sates # expanded states # transitions Space ,00319,503999, GB ,330,00344,2533,374, GB

Shahid Jabbar (Dortmund)I/O Efficient Directed MC19 Experimental Results -2  Deadlock Detection in Optical Telegraph # Sta- tions Solution Depth #stored sates# expanded states # transitionsSpace 53310,8744,94524, MB ,848115,631820, MB ,498103,667917, MB 9579,293,2032,534,51723,499, GB

Shahid Jabbar (Dortmund)I/O Efficient Directed MC20 Experimental Results -3  CORBA GIOP – 1 Server, N Clients # Clients Solution Depth #stored sates# expanded states # transitionsSpace 25848,00939,260126, MB ,789670,6792,416, GB 4757,343,3585,727,90922,809, GB

Shahid Jabbar (Dortmund)I/O Efficient Directed MC21 Experimental Results -4  CORBA GIOP – 2 Servers, N Clients # Clients Solution Depth #stored sates# expanded states # transitionsSpace ,561125,514466, GB 3762,705,7662,134,7248,705, GB 48126,340,41720,861,60988,030, GB

Shahid Jabbar (Dortmund)I/O Efficient Directed MC22 Pause and Resume  What if even your harddisk becomes full ?  Solution: Since the states are stored on the disk, the algorithm can be stopped at any time and resumed from the last working diagonal.

Shahid Jabbar (Dortmund)I/O Efficient Directed MC23 Summary  State space explosion problem can be circumvented by Directed Model Checking.  But even Directed Model Checking can fail for the state spaces that cannot fit into the main memory.  External A* helps in overcoming this problem.  Extended for directed graphs as appear in Model checking.  First external directed model checker IO-HSF-SPIN.  Problem having a state space size of 20.7 GB is successfully solved.