SlideShare a Scribd company logo
1 of 21
Download to read offline
<Insert Picture Here>
RDBMS-based Coverage Collection and Analysis
James Roberts
Coverage-driven Flow
sim
sim coverage
sim coverage
coverage
merge
merge
merge
Vault
Grading
Analysis
Coverage-driven Flow
sim
sim coverage
sim coverage
coverage
merge
merge
merge
Oracle
Grading
Analysis
Baseline: File-based flow
sim
sim coverage
log
sim coverage
log
coverage
log
merge
merge
merge
...
- Each sim writes out a log of its hit coverage
- Each log is diff-and-merged with the vault
Vault file
FLock
bottleneck
- BAD:
- The vault can easily exceed 200,000 coverage objects and 300 Megabytes
- Diff-and-merge can exceed 10 minutes just for a single sim
- Only one sim can hold the file lock on the vault at one time
- These can be thousands of sims in parallel
- The vault is rewritten in its entirety after every merge
- that means non-stop disk activity!
Coverage using a database
sim
sim SQL
sim SQL
SQL
...
- Instead of a flat file, the vault is an Oracle database
- Instead of coverage logs, they are SQL queries to the database
Oracle
- GOOD:
- Each sim no longer requires a file lock on the entire vault
- Merges can be parallel
- Oracle database server is already very familiar with this kind of
multiple-parallel-transaction situation
- Only subset of coverage actually touched by sim is diff-and-merged
- A rich set of SQL commands is available to do diag & coverage analysis
on the vault
- 3X speedup over file-based flow (and it's parallel)
A relational database table
Vault
CId Name Block
l2_hit_after_miss
ack_stg_2
clk_off
bit1_carry_bit0
...
(lock)Hits
0->1
0
1000
1
200,000
Row-levellocking
SERDES
L2
PADIO
ALU
2
1
3
4
Bottleneck: Oracle database flow
sim
sim
sim
...
+ Oracle database server is multithreaded, and recognizes when coverage
objects are unrelated and can be merged in parallel
- The fundamental problem remains, though: thousands of simulations
contending for access to a single disk
+ We address this later by moving the merge to RAM
Oracle
SQL
SQL
SQL
Oracle database flow
220,000 objects accessed per second,
yet the entire database only has 170,000 objects
Database activity
- Database server is bumping against a wall at around
1600 statements/second
The Line Grows Longer
- As the database server cannot keep up with requests,
the line of simulations grows longer and longer
- Workaround: throttle your simulations to acceptable levels
The line has grown 100 deep!
+ We’re achieving a parallelism of 20. (this is good)
Memory-resident database
- Store main coverage database 100% in the RAM
- Multithreaded RAM database server
- Each simulation is a client
...
Disk
Thread 1
Thread 2
Thread N'
...
Client 1
RAMdatabase
Thread 0
dirty
dirty
locks
Client 2
Client 3
Client N
Memory-resident database
- simulations connect to server via TCP sockets, RPC
- coverage data transmitted directly to server
- no disk involved
...
Disk
Thread 1
Thread 2
Thread N'
...
Client 1
RAMdatabase
Thread 0
dirty
dirty
locks
Client 2
Client 3
Client N
Memory-resident database
- Locking in RAM database to prevent contention across threads
- Dirty bits to flag updates
- Updating dirty (but unlocked) objects perfectly legal
...
Disk
Thread 1
Thread 2
Thread N'
...
Client 1
RAMdatabase
Thread 0
dirty
dirty
locks
Client 2
Client 3
Client N
Memory-resident database
- Dedicated thread to flush updates to disk
- Clears dirty bits
+ Disk never gets overloaded
...
Disk
Thread 1
Thread 2
Thread N'
...
Client 1
RAMdatabase
Thread 0
dirty
dirty
locks
Client 2
Client 3
Client N
Memory-resident database
- Disk flush is completely decoupled from merge
...
Disk
Thread 1
Thread 2
Thread N'
...
Client 1
RAMdatabase
Thread 0
dirty
dirty
locks
Client 2
Client 3
Client N
+ Client access time reduced from 30 minutes
to 2 seconds!!! (900X speedup)
Disk activity w/ Memory-resident DB
- Disk traffic reduced from 1600 statements/second to
18 statements/second
- 88X reduction in disk load!!!
Before: Non-Memory-Resident DB
- Compare with old results:
1600 statements/second vs. 18 statements/second
Disk I/O – 90% coverage population
Day 1 Day 2 Day 3 Day 4 Day 5
0
500
1000
1500
2000
2500
3000
3500
4000
4500
- RAM cache filters out all the read accesses
- at >90% coverage population, most database traffic is read-only
- 15030 disk writes over 5 days: or 1 disk I/O every 165 seconds
+ Disk use is infinitesimal at >90% coverage
Conclusions
Merge no longer the bottleneck in coverage flow
Unlimited simulations, where previously we had
to throttle it
88X disk I/O reduction worst-case
Virtually zero I/O at >90% coverage
30-minute latency reduced to 2 seconds
> 4-week uptimes for RAM server process
Results have been positive to the point that
people sometimes question our data
<Insert Picture Here>
Metrics

More Related Content

What's hot

Deployment Strategies
Deployment StrategiesDeployment Strategies
Deployment StrategiesMongoDB
 
Redis persistence in practice
Redis persistence in practiceRedis persistence in practice
Redis persistence in practiceEugene Fidelin
 
Samba power point presentation
Samba power point presentationSamba power point presentation
Samba power point presentationMd Maksudur Rahman
 
SSDs, IMDGs and All the Rest - Jax London
SSDs, IMDGs and All the Rest - Jax LondonSSDs, IMDGs and All the Rest - Jax London
SSDs, IMDGs and All the Rest - Jax LondonUri Cohen
 
How to randomly access data in close-to-RAM speeds but a lower cost with SSD’...
How to randomly access data in close-to-RAM speeds but a lower cost with SSD’...How to randomly access data in close-to-RAM speeds but a lower cost with SSD’...
How to randomly access data in close-to-RAM speeds but a lower cost with SSD’...JAXLondon2014
 
Introduction to redis - version 2
Introduction to redis - version 2Introduction to redis - version 2
Introduction to redis - version 2Dvir Volk
 
Deployment Strategy
Deployment StrategyDeployment Strategy
Deployment StrategyMongoDB
 
how_to_move_your_website_without_chaos-ralf_schwoebel.ppt
how_to_move_your_website_without_chaos-ralf_schwoebel.ppthow_to_move_your_website_without_chaos-ralf_schwoebel.ppt
how_to_move_your_website_without_chaos-ralf_schwoebel.pptzachbrowne
 
FreeNAS backup solution
FreeNAS backup solutionFreeNAS backup solution
FreeNAS backup solutiona3
 
Samba server installation and File sharing
Samba server installation and File sharingSamba server installation and File sharing
Samba server installation and File sharingEagle Eyes
 
San presentation nov 2012 central pa
San presentation nov 2012 central paSan presentation nov 2012 central pa
San presentation nov 2012 central paJoseph D'Antoni
 
Presentation on samba server & apache server
Presentation on samba server & apache serverPresentation on samba server & apache server
Presentation on samba server & apache serverManoz Kumar
 
Exchang Server 2013 chapter 2
Exchang Server 2013 chapter 2Exchang Server 2013 chapter 2
Exchang Server 2013 chapter 2Osama Mohammed
 
Improve your storage with bcachefs
Improve your storage with bcachefsImprove your storage with bcachefs
Improve your storage with bcachefsMarian Marinov
 

What's hot (20)

Deployment Strategies
Deployment StrategiesDeployment Strategies
Deployment Strategies
 
3 technical-dns-workshop-day2
3 technical-dns-workshop-day23 technical-dns-workshop-day2
3 technical-dns-workshop-day2
 
Redis persistence in practice
Redis persistence in practiceRedis persistence in practice
Redis persistence in practice
 
Samba power point presentation
Samba power point presentationSamba power point presentation
Samba power point presentation
 
SSDs, IMDGs and All the Rest - Jax London
SSDs, IMDGs and All the Rest - Jax LondonSSDs, IMDGs and All the Rest - Jax London
SSDs, IMDGs and All the Rest - Jax London
 
How to randomly access data in close-to-RAM speeds but a lower cost with SSD’...
How to randomly access data in close-to-RAM speeds but a lower cost with SSD’...How to randomly access data in close-to-RAM speeds but a lower cost with SSD’...
How to randomly access data in close-to-RAM speeds but a lower cost with SSD’...
 
Introduction to redis - version 2
Introduction to redis - version 2Introduction to redis - version 2
Introduction to redis - version 2
 
Samba
SambaSamba
Samba
 
Deployment Strategy
Deployment StrategyDeployment Strategy
Deployment Strategy
 
how_to_move_your_website_without_chaos-ralf_schwoebel.ppt
how_to_move_your_website_without_chaos-ralf_schwoebel.ppthow_to_move_your_website_without_chaos-ralf_schwoebel.ppt
how_to_move_your_website_without_chaos-ralf_schwoebel.ppt
 
FreeNAS backup solution
FreeNAS backup solutionFreeNAS backup solution
FreeNAS backup solution
 
Samba
SambaSamba
Samba
 
Samba server
Samba serverSamba server
Samba server
 
Ubuntu vps setup
Ubuntu vps setupUbuntu vps setup
Ubuntu vps setup
 
Samba server installation and File sharing
Samba server installation and File sharingSamba server installation and File sharing
Samba server installation and File sharing
 
San presentation nov 2012 central pa
San presentation nov 2012 central paSan presentation nov 2012 central pa
San presentation nov 2012 central pa
 
Presentation on samba server & apache server
Presentation on samba server & apache serverPresentation on samba server & apache server
Presentation on samba server & apache server
 
Exchang Server 2013 chapter 2
Exchang Server 2013 chapter 2Exchang Server 2013 chapter 2
Exchang Server 2013 chapter 2
 
Rhel4
Rhel4Rhel4
Rhel4
 
Improve your storage with bcachefs
Improve your storage with bcachefsImprove your storage with bcachefs
Improve your storage with bcachefs
 

Viewers also liked

Validation Missteps Making Us Full Time Firefighters
Validation Missteps Making Us Full Time Firefighters Validation Missteps Making Us Full Time Firefighters
Validation Missteps Making Us Full Time Firefighters DVClub
 
Architecture for Massively Parallel HDL Simulations
Architecture for Massively Parallel HDL Simulations Architecture for Massively Parallel HDL Simulations
Architecture for Massively Parallel HDL Simulations DVClub
 
Free Electronic Lab: Community Leader in Opensource EDA Development
Free Electronic Lab: Community Leader in Opensource EDA Development Free Electronic Lab: Community Leader in Opensource EDA Development
Free Electronic Lab: Community Leader in Opensource EDA Development DVClub
 
Emulation on Your Desktop
Emulation on Your Desktop Emulation on Your Desktop
Emulation on Your Desktop DVClub
 
The Validation Attitude
The Validation AttitudeThe Validation Attitude
The Validation AttitudeDVClub
 
HW-SW Co-Verification: A Constrained Random Approach
HW-SW Co-Verification: A Constrained Random ApproachHW-SW Co-Verification: A Constrained Random Approach
HW-SW Co-Verification: A Constrained Random ApproachDVClub
 
Verilator: Fast, Free, But for Me?
Verilator: Fast, Free, But for Me? Verilator: Fast, Free, But for Me?
Verilator: Fast, Free, But for Me? DVClub
 
Mainline Functional Verification of IBM's POWER7 Processor Core
Mainline Functional Verification of IBM's POWER7 Processor CoreMainline Functional Verification of IBM's POWER7 Processor Core
Mainline Functional Verification of IBM's POWER7 Processor CoreDVClub
 
Verification Bug Metrics: A Different Approach
Verification Bug Metrics: A Different ApproachVerification Bug Metrics: A Different Approach
Verification Bug Metrics: A Different ApproachDVClub
 
Processor Verification Using Open Source Tools and the GCC Regression Test Suite
Processor Verification Using Open Source Tools and the GCC Regression Test SuiteProcessor Verification Using Open Source Tools and the GCC Regression Test Suite
Processor Verification Using Open Source Tools and the GCC Regression Test SuiteDVClub
 
Approaches for Power Management Verification of SOC
Approaches for Power Management Verification of SOC Approaches for Power Management Verification of SOC
Approaches for Power Management Verification of SOC DVClub
 

Viewers also liked (12)

Validation Missteps Making Us Full Time Firefighters
Validation Missteps Making Us Full Time Firefighters Validation Missteps Making Us Full Time Firefighters
Validation Missteps Making Us Full Time Firefighters
 
Architecture for Massively Parallel HDL Simulations
Architecture for Massively Parallel HDL Simulations Architecture for Massively Parallel HDL Simulations
Architecture for Massively Parallel HDL Simulations
 
Free Electronic Lab: Community Leader in Opensource EDA Development
Free Electronic Lab: Community Leader in Opensource EDA Development Free Electronic Lab: Community Leader in Opensource EDA Development
Free Electronic Lab: Community Leader in Opensource EDA Development
 
Emulation on Your Desktop
Emulation on Your Desktop Emulation on Your Desktop
Emulation on Your Desktop
 
The Validation Attitude
The Validation AttitudeThe Validation Attitude
The Validation Attitude
 
HW-SW Co-Verification: A Constrained Random Approach
HW-SW Co-Verification: A Constrained Random ApproachHW-SW Co-Verification: A Constrained Random Approach
HW-SW Co-Verification: A Constrained Random Approach
 
Verilator: Fast, Free, But for Me?
Verilator: Fast, Free, But for Me? Verilator: Fast, Free, But for Me?
Verilator: Fast, Free, But for Me?
 
Mainline Functional Verification of IBM's POWER7 Processor Core
Mainline Functional Verification of IBM's POWER7 Processor CoreMainline Functional Verification of IBM's POWER7 Processor Core
Mainline Functional Verification of IBM's POWER7 Processor Core
 
Verification Bug Metrics: A Different Approach
Verification Bug Metrics: A Different ApproachVerification Bug Metrics: A Different Approach
Verification Bug Metrics: A Different Approach
 
Processor Verification Using Open Source Tools and the GCC Regression Test Suite
Processor Verification Using Open Source Tools and the GCC Regression Test SuiteProcessor Verification Using Open Source Tools and the GCC Regression Test Suite
Processor Verification Using Open Source Tools and the GCC Regression Test Suite
 
Approaches for Power Management Verification of SOC
Approaches for Power Management Verification of SOC Approaches for Power Management Verification of SOC
Approaches for Power Management Verification of SOC
 
Coverage and Introduction to UVM
Coverage and Introduction to UVMCoverage and Introduction to UVM
Coverage and Introduction to UVM
 

Similar to RDBMS-based Coverage Collection and Analysis

Designs, Lessons and Advice from Building Large Distributed Systems
Designs, Lessons and Advice from Building Large Distributed SystemsDesigns, Lessons and Advice from Building Large Distributed Systems
Designs, Lessons and Advice from Building Large Distributed SystemsDaehyeok Kim
 
2015 deploying flash in the data center
2015 deploying flash in the data center2015 deploying flash in the data center
2015 deploying flash in the data centerHoward Marks
 
2015 deploying flash in the data center
2015 deploying flash in the data center2015 deploying flash in the data center
2015 deploying flash in the data centerHoward Marks
 
Deploying ssd in the data center 2014
Deploying ssd in the data center 2014Deploying ssd in the data center 2014
Deploying ssd in the data center 2014Howard Marks
 
Windows Server 2012 R2 Software-Defined Storage
Windows Server 2012 R2 Software-Defined StorageWindows Server 2012 R2 Software-Defined Storage
Windows Server 2012 R2 Software-Defined StorageAidan Finn
 
Flink Forward Berlin 2017: Robert Metzger - Keep it going - How to reliably a...
Flink Forward Berlin 2017: Robert Metzger - Keep it going - How to reliably a...Flink Forward Berlin 2017: Robert Metzger - Keep it going - How to reliably a...
Flink Forward Berlin 2017: Robert Metzger - Keep it going - How to reliably a...Flink Forward
 
Memory-Based Cloud Architectures
Memory-Based Cloud ArchitecturesMemory-Based Cloud Architectures
Memory-Based Cloud Architectures小新 制造
 
Linux and H/W optimizations for MySQL
Linux and H/W optimizations for MySQLLinux and H/W optimizations for MySQL
Linux and H/W optimizations for MySQLYoshinori Matsunobu
 
Storage and performance- Batch processing, Whiptail
Storage and performance- Batch processing, WhiptailStorage and performance- Batch processing, Whiptail
Storage and performance- Batch processing, WhiptailInternet World
 
In-Memory Data Grids - Ampool (1)
In-Memory Data Grids - Ampool (1)In-Memory Data Grids - Ampool (1)
In-Memory Data Grids - Ampool (1)Chinmay Kulkarni
 
Amazon Aurora: Amazon’s New Relational Database Engine
Amazon Aurora: Amazon’s New Relational Database EngineAmazon Aurora: Amazon’s New Relational Database Engine
Amazon Aurora: Amazon’s New Relational Database EngineDanilo Poccia
 
505 kobal exadata
505 kobal exadata505 kobal exadata
505 kobal exadataKam Chan
 
Zing Database – Distributed Key-Value Database
Zing Database – Distributed Key-Value DatabaseZing Database – Distributed Key-Value Database
Zing Database – Distributed Key-Value Databasezingopen
 
Zing Database
Zing Database Zing Database
Zing Database Long Dao
 
Ibm flash tms presentation 2013 04
Ibm flash tms  presentation 2013 04Ibm flash tms  presentation 2013 04
Ibm flash tms presentation 2013 04Patrick Bouillaud
 
Amazon Aurora Let's Talk About Performance
Amazon Aurora Let's Talk About PerformanceAmazon Aurora Let's Talk About Performance
Amazon Aurora Let's Talk About PerformanceDanilo Poccia
 
Exadata and OLTP
Exadata and OLTPExadata and OLTP
Exadata and OLTPEnkitec
 

Similar to RDBMS-based Coverage Collection and Analysis (20)

Designs, Lessons and Advice from Building Large Distributed Systems
Designs, Lessons and Advice from Building Large Distributed SystemsDesigns, Lessons and Advice from Building Large Distributed Systems
Designs, Lessons and Advice from Building Large Distributed Systems
 
2015 deploying flash in the data center
2015 deploying flash in the data center2015 deploying flash in the data center
2015 deploying flash in the data center
 
2015 deploying flash in the data center
2015 deploying flash in the data center2015 deploying flash in the data center
2015 deploying flash in the data center
 
The Smug Mug Tale
The Smug Mug TaleThe Smug Mug Tale
The Smug Mug Tale
 
Deploying ssd in the data center 2014
Deploying ssd in the data center 2014Deploying ssd in the data center 2014
Deploying ssd in the data center 2014
 
Windows Server 2012 R2 Software-Defined Storage
Windows Server 2012 R2 Software-Defined StorageWindows Server 2012 R2 Software-Defined Storage
Windows Server 2012 R2 Software-Defined Storage
 
Flink Forward Berlin 2017: Robert Metzger - Keep it going - How to reliably a...
Flink Forward Berlin 2017: Robert Metzger - Keep it going - How to reliably a...Flink Forward Berlin 2017: Robert Metzger - Keep it going - How to reliably a...
Flink Forward Berlin 2017: Robert Metzger - Keep it going - How to reliably a...
 
Memory-Based Cloud Architectures
Memory-Based Cloud ArchitecturesMemory-Based Cloud Architectures
Memory-Based Cloud Architectures
 
Linux and H/W optimizations for MySQL
Linux and H/W optimizations for MySQLLinux and H/W optimizations for MySQL
Linux and H/W optimizations for MySQL
 
Storage and performance- Batch processing, Whiptail
Storage and performance- Batch processing, WhiptailStorage and performance- Batch processing, Whiptail
Storage and performance- Batch processing, Whiptail
 
4 use cases for C* to Scylla
4 use cases for C*  to Scylla4 use cases for C*  to Scylla
4 use cases for C* to Scylla
 
In-Memory Data Grids - Ampool (1)
In-Memory Data Grids - Ampool (1)In-Memory Data Grids - Ampool (1)
In-Memory Data Grids - Ampool (1)
 
Amazon Aurora: Amazon’s New Relational Database Engine
Amazon Aurora: Amazon’s New Relational Database EngineAmazon Aurora: Amazon’s New Relational Database Engine
Amazon Aurora: Amazon’s New Relational Database Engine
 
505 kobal exadata
505 kobal exadata505 kobal exadata
505 kobal exadata
 
MySQL highav Availability
MySQL highav AvailabilityMySQL highav Availability
MySQL highav Availability
 
Zing Database – Distributed Key-Value Database
Zing Database – Distributed Key-Value DatabaseZing Database – Distributed Key-Value Database
Zing Database – Distributed Key-Value Database
 
Zing Database
Zing Database Zing Database
Zing Database
 
Ibm flash tms presentation 2013 04
Ibm flash tms  presentation 2013 04Ibm flash tms  presentation 2013 04
Ibm flash tms presentation 2013 04
 
Amazon Aurora Let's Talk About Performance
Amazon Aurora Let's Talk About PerformanceAmazon Aurora Let's Talk About Performance
Amazon Aurora Let's Talk About Performance
 
Exadata and OLTP
Exadata and OLTPExadata and OLTP
Exadata and OLTP
 

More from DVClub

IP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the EnterpriseIP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the EnterpriseDVClub
 
Cisco Base Environment Overview
Cisco Base Environment OverviewCisco Base Environment Overview
Cisco Base Environment OverviewDVClub
 
Intel Xeon Pre-Silicon Validation: Introduction and Challenges
Intel Xeon Pre-Silicon Validation: Introduction and ChallengesIntel Xeon Pre-Silicon Validation: Introduction and Challenges
Intel Xeon Pre-Silicon Validation: Introduction and ChallengesDVClub
 
Verification of Graphics ASICs (Part II)
Verification of Graphics ASICs (Part II)Verification of Graphics ASICs (Part II)
Verification of Graphics ASICs (Part II)DVClub
 
Verification of Graphics ASICs (Part I)
Verification of Graphics ASICs (Part I)Verification of Graphics ASICs (Part I)
Verification of Graphics ASICs (Part I)DVClub
 
Stop Writing Assertions! Efficient Verification Methodology
Stop Writing Assertions! Efficient Verification MethodologyStop Writing Assertions! Efficient Verification Methodology
Stop Writing Assertions! Efficient Verification MethodologyDVClub
 
Validating Next Generation CPUs
Validating Next Generation CPUsValidating Next Generation CPUs
Validating Next Generation CPUsDVClub
 
Verification Automation Using IPXACT
Verification Automation Using IPXACTVerification Automation Using IPXACT
Verification Automation Using IPXACTDVClub
 
Validation and Design in a Small Team Environment
Validation and Design in a Small Team EnvironmentValidation and Design in a Small Team Environment
Validation and Design in a Small Team EnvironmentDVClub
 
Trends in Mixed Signal Validation
Trends in Mixed Signal ValidationTrends in Mixed Signal Validation
Trends in Mixed Signal ValidationDVClub
 
Verification In A Global Design Community
Verification In A Global Design CommunityVerification In A Global Design Community
Verification In A Global Design CommunityDVClub
 
Design Verification Using SystemC
Design Verification Using SystemCDesign Verification Using SystemC
Design Verification Using SystemCDVClub
 
Verification Strategy for PCI-Express
Verification Strategy for PCI-ExpressVerification Strategy for PCI-Express
Verification Strategy for PCI-ExpressDVClub
 
SystemVerilog Assertions (SVA) in the Design/Verification Process
SystemVerilog Assertions (SVA) in the Design/Verification ProcessSystemVerilog Assertions (SVA) in the Design/Verification Process
SystemVerilog Assertions (SVA) in the Design/Verification ProcessDVClub
 
Efficiency Through Methodology
Efficiency Through MethodologyEfficiency Through Methodology
Efficiency Through MethodologyDVClub
 
Pre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si ValidationPre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si ValidationDVClub
 
OpenSPARC T1 Processor
OpenSPARC T1 ProcessorOpenSPARC T1 Processor
OpenSPARC T1 ProcessorDVClub
 
Intel Atom Processor Pre-Silicon Verification Experience
Intel Atom Processor Pre-Silicon Verification ExperienceIntel Atom Processor Pre-Silicon Verification Experience
Intel Atom Processor Pre-Silicon Verification ExperienceDVClub
 
Using Assertions in AMS Verification
Using Assertions in AMS VerificationUsing Assertions in AMS Verification
Using Assertions in AMS VerificationDVClub
 
Low-Power Design and Verification
Low-Power Design and VerificationLow-Power Design and Verification
Low-Power Design and VerificationDVClub
 

More from DVClub (20)

IP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the EnterpriseIP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the Enterprise
 
Cisco Base Environment Overview
Cisco Base Environment OverviewCisco Base Environment Overview
Cisco Base Environment Overview
 
Intel Xeon Pre-Silicon Validation: Introduction and Challenges
Intel Xeon Pre-Silicon Validation: Introduction and ChallengesIntel Xeon Pre-Silicon Validation: Introduction and Challenges
Intel Xeon Pre-Silicon Validation: Introduction and Challenges
 
Verification of Graphics ASICs (Part II)
Verification of Graphics ASICs (Part II)Verification of Graphics ASICs (Part II)
Verification of Graphics ASICs (Part II)
 
Verification of Graphics ASICs (Part I)
Verification of Graphics ASICs (Part I)Verification of Graphics ASICs (Part I)
Verification of Graphics ASICs (Part I)
 
Stop Writing Assertions! Efficient Verification Methodology
Stop Writing Assertions! Efficient Verification MethodologyStop Writing Assertions! Efficient Verification Methodology
Stop Writing Assertions! Efficient Verification Methodology
 
Validating Next Generation CPUs
Validating Next Generation CPUsValidating Next Generation CPUs
Validating Next Generation CPUs
 
Verification Automation Using IPXACT
Verification Automation Using IPXACTVerification Automation Using IPXACT
Verification Automation Using IPXACT
 
Validation and Design in a Small Team Environment
Validation and Design in a Small Team EnvironmentValidation and Design in a Small Team Environment
Validation and Design in a Small Team Environment
 
Trends in Mixed Signal Validation
Trends in Mixed Signal ValidationTrends in Mixed Signal Validation
Trends in Mixed Signal Validation
 
Verification In A Global Design Community
Verification In A Global Design CommunityVerification In A Global Design Community
Verification In A Global Design Community
 
Design Verification Using SystemC
Design Verification Using SystemCDesign Verification Using SystemC
Design Verification Using SystemC
 
Verification Strategy for PCI-Express
Verification Strategy for PCI-ExpressVerification Strategy for PCI-Express
Verification Strategy for PCI-Express
 
SystemVerilog Assertions (SVA) in the Design/Verification Process
SystemVerilog Assertions (SVA) in the Design/Verification ProcessSystemVerilog Assertions (SVA) in the Design/Verification Process
SystemVerilog Assertions (SVA) in the Design/Verification Process
 
Efficiency Through Methodology
Efficiency Through MethodologyEfficiency Through Methodology
Efficiency Through Methodology
 
Pre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si ValidationPre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si Validation
 
OpenSPARC T1 Processor
OpenSPARC T1 ProcessorOpenSPARC T1 Processor
OpenSPARC T1 Processor
 
Intel Atom Processor Pre-Silicon Verification Experience
Intel Atom Processor Pre-Silicon Verification ExperienceIntel Atom Processor Pre-Silicon Verification Experience
Intel Atom Processor Pre-Silicon Verification Experience
 
Using Assertions in AMS Verification
Using Assertions in AMS VerificationUsing Assertions in AMS Verification
Using Assertions in AMS Verification
 
Low-Power Design and Verification
Low-Power Design and VerificationLow-Power Design and Verification
Low-Power Design and Verification
 

Recently uploaded

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 

Recently uploaded (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 

RDBMS-based Coverage Collection and Analysis

  • 1.
  • 2. <Insert Picture Here> RDBMS-based Coverage Collection and Analysis James Roberts
  • 3. Coverage-driven Flow sim sim coverage sim coverage coverage merge merge merge Vault Grading Analysis
  • 4. Coverage-driven Flow sim sim coverage sim coverage coverage merge merge merge Oracle Grading Analysis
  • 5. Baseline: File-based flow sim sim coverage log sim coverage log coverage log merge merge merge ... - Each sim writes out a log of its hit coverage - Each log is diff-and-merged with the vault Vault file FLock bottleneck - BAD: - The vault can easily exceed 200,000 coverage objects and 300 Megabytes - Diff-and-merge can exceed 10 minutes just for a single sim - Only one sim can hold the file lock on the vault at one time - These can be thousands of sims in parallel - The vault is rewritten in its entirety after every merge - that means non-stop disk activity!
  • 6. Coverage using a database sim sim SQL sim SQL SQL ... - Instead of a flat file, the vault is an Oracle database - Instead of coverage logs, they are SQL queries to the database Oracle - GOOD: - Each sim no longer requires a file lock on the entire vault - Merges can be parallel - Oracle database server is already very familiar with this kind of multiple-parallel-transaction situation - Only subset of coverage actually touched by sim is diff-and-merged - A rich set of SQL commands is available to do diag & coverage analysis on the vault - 3X speedup over file-based flow (and it's parallel)
  • 7. A relational database table Vault CId Name Block l2_hit_after_miss ack_stg_2 clk_off bit1_carry_bit0 ... (lock)Hits 0->1 0 1000 1 200,000 Row-levellocking SERDES L2 PADIO ALU 2 1 3 4
  • 8. Bottleneck: Oracle database flow sim sim sim ... + Oracle database server is multithreaded, and recognizes when coverage objects are unrelated and can be merged in parallel - The fundamental problem remains, though: thousands of simulations contending for access to a single disk + We address this later by moving the merge to RAM Oracle SQL SQL SQL
  • 9. Oracle database flow 220,000 objects accessed per second, yet the entire database only has 170,000 objects
  • 10. Database activity - Database server is bumping against a wall at around 1600 statements/second
  • 11. The Line Grows Longer - As the database server cannot keep up with requests, the line of simulations grows longer and longer - Workaround: throttle your simulations to acceptable levels The line has grown 100 deep! + We’re achieving a parallelism of 20. (this is good)
  • 12. Memory-resident database - Store main coverage database 100% in the RAM - Multithreaded RAM database server - Each simulation is a client ... Disk Thread 1 Thread 2 Thread N' ... Client 1 RAMdatabase Thread 0 dirty dirty locks Client 2 Client 3 Client N
  • 13. Memory-resident database - simulations connect to server via TCP sockets, RPC - coverage data transmitted directly to server - no disk involved ... Disk Thread 1 Thread 2 Thread N' ... Client 1 RAMdatabase Thread 0 dirty dirty locks Client 2 Client 3 Client N
  • 14. Memory-resident database - Locking in RAM database to prevent contention across threads - Dirty bits to flag updates - Updating dirty (but unlocked) objects perfectly legal ... Disk Thread 1 Thread 2 Thread N' ... Client 1 RAMdatabase Thread 0 dirty dirty locks Client 2 Client 3 Client N
  • 15. Memory-resident database - Dedicated thread to flush updates to disk - Clears dirty bits + Disk never gets overloaded ... Disk Thread 1 Thread 2 Thread N' ... Client 1 RAMdatabase Thread 0 dirty dirty locks Client 2 Client 3 Client N
  • 16. Memory-resident database - Disk flush is completely decoupled from merge ... Disk Thread 1 Thread 2 Thread N' ... Client 1 RAMdatabase Thread 0 dirty dirty locks Client 2 Client 3 Client N + Client access time reduced from 30 minutes to 2 seconds!!! (900X speedup)
  • 17. Disk activity w/ Memory-resident DB - Disk traffic reduced from 1600 statements/second to 18 statements/second - 88X reduction in disk load!!!
  • 18. Before: Non-Memory-Resident DB - Compare with old results: 1600 statements/second vs. 18 statements/second
  • 19. Disk I/O – 90% coverage population Day 1 Day 2 Day 3 Day 4 Day 5 0 500 1000 1500 2000 2500 3000 3500 4000 4500 - RAM cache filters out all the read accesses - at >90% coverage population, most database traffic is read-only - 15030 disk writes over 5 days: or 1 disk I/O every 165 seconds + Disk use is infinitesimal at >90% coverage
  • 20. Conclusions Merge no longer the bottleneck in coverage flow Unlimited simulations, where previously we had to throttle it 88X disk I/O reduction worst-case Virtually zero I/O at >90% coverage 30-minute latency reduced to 2 seconds > 4-week uptimes for RAM server process Results have been positive to the point that people sometimes question our data