Network Switch Shared Memory for Database Overhead Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network switches face high database overhead and resource consumption due to frequent updates of performance data, making it impractical to continually update switch performance data in the database.
Innovation Solution
Implementing a shared memory between the producer and consumer of switch performance data, where updates are made directly to the shared memory instead of the database, reducing reliance on the database for storing and processing switch performance data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If switch performance data is continually updated in the database, then the performance data is kept current and available for analysis, but the database overhead and resource consumption increase significantly
Solution Approach 1:
The system segments the data storage function into two parts: a shared memory for frequent performance data updates and a database for less frequent historical storage. This segmentation allows performance data to be updated in the shared memory without burdening the database, resolving the contradiction between data availability and resource consumption.
Solution Approach 2:
A shared memory acts as an intermediary between the performance data producer and consumer. The producer writes to shared memory which then provides data to the consumer, eliminating the need for direct database updates for every performance metric change. This intermediary layer maintains data availability while reducing database overhead.
2Measurement precision
If database updates are performed frequently to maintain current performance data, then the data remains accurate and up-to-date, but the processing overhead and notification overhead increase
Solution Approach 1:
The system separates the frequent update operations from the database by using a shared memory for real-time performance data. The database only performs occasional updates or stores aggregated data, significantly reducing processing overhead while maintaining data accuracy through the shared memory's continuous updates.
Solution Approach 2:
The system creates a copy of the performance data storage mechanism by introducing a shared memory that mirrors the database's role for frequent updates. This copy handles the high-frequency write operations, allowing the database to focus on more complex queries and historical storage without being overwhelmed by continuous update notifications.
3Productivity
If performance data is stored in a shared memory instead of database, then resource consumption is reduced and updates are more efficient, but the complexity of data access and management increases
Solution Approach 1:
The shared memory is designed to serve multiple functions: storing performance data, providing data to consumers, and acting as a buffer between producer and consumer. This multi-functionality simplifies the overall architecture by consolidating data access operations in one location rather than requiring separate mechanisms for different data access patterns.
Solution Approach 2:
The shared memory system is designed to be self-managing with built-in synchronization mechanisms that automatically handle concurrent access from multiple producers and consumers. This self-service capability reduces the need for complex external management logic, maintaining productivity benefits while controlling complexity.
Data Source
AI summary
A network switch may include a database, a network analysis data producer having a first application program interface, a network analysis data consumer having a second application program interface and a shared memory accessible by the first application program interface and the second application program interface. The network analysis data producer is to store network analysis data on a region of the shared memory and store an index to the region in the database for retrieval by the network analysis data consumer.

