SPDK
DPDK
Try Instantaneous High-Speed Large Data Transfer with SPDK and DPDK Solutions
Boost performance of your network and data storage infrastructure with our SPDK/DPDK and VPP consulting services
We employ SPDK and DPDK technologies to create comprehensive solutions for data storage and other networking applications that require high-performance data processing – up to 10 times faster than the Linux kernel network stack.
With DPDK, we speed up network traffic processing, avoiding congestion and reducing latency. And using SPDK, we ensure extra-fast memory access and data storage. Explore how our partnerships have resulted in success stories!
Whom We Serve
Telecommunications service providers
Network equipment manufacturers
Finance and trading enterprises
Cloud service providers
Data centre operators
Cybersecurity companies
Businesses using high-traffic CDNs and networks
Companies providing IoT and IIoT systems
Enterprises creating automotive solutions
SPDK and DPDK Application Areas
High-performance computing (HPC) →
- Scientific applications involving fluid dynamics and weather forecasting
- High-speed data acquisition: particle accelerators and scientific instruments
- Artificial intelligence and machine learning
Data centres →
- Virtual machines (VMs), containers, and network appliances
- Traffic pattern optimisation
- Network traffic offloading
- Storage caching
- Data centre automation
Telecommunications →
- Routing, switching, and network management
- Edge devices, such as routers, firewalls, and IDS
- 5G core networks and network slicing
- Network functions virtualisation (NFV)
- Network security and data encryption
- Video delivery over IP (IPTV)
- Real-time network monitoring and analytics
Financial services →
- High-frequency trading
- Fraud detection and prevention in financial transactions
- Blockchain applications
VPP for Enhancing Network Processing
We employ vector packet processing (VPP), a technology that allows multiple packets or data items to be processed in parallel using a single instruction, thus achieving high packet processing performance.
VPP continuously improves with plugins, leveraging the essential features and drivers from the DPDK.
Use Cases of SPDK and DPDK Technologies
- Packet processing: IP routing, network address translation (NAT), deep packet inspection (DPI)
 - Software for satellite communications: separating TCP traffic and adding traffic speed limits to ensure equal user access to quality communications with Intel DPDK
 - Virtual machine migration: migrating VMs between servers without downtime
 - Network load balancing: distributing traffic across multiple servers to improve performance
 - Edge computing: expanding edge computing applications and enabling real-time processing and analysis of data close to the source
 - High-frequency trading: processing large volumes of data at high speeds for competitive advantage
Â
- Big data analytics: processing large datasets to extract insights
 - Video streaming software: receiving and storing 8K video streams from eight cameras simultaneously
 - Scientific computing: simulating complex phenomena in fields like physics, chemistry, and engineering
 - Fraud detection: identifying and preventing fraudulent transactions
 - Software-defined networking (SDN) acceleration: accelerating SDN controllers and data paths
 - Firewalling: blocking unauthorised traffic and protecting against cyberattacks
 - 5G core networks: accelerating 5G core networks
Â
Powering Your Solutions with NVIDIA Network Hardware
Our engineers utilise advanced network hardware to provide high-performance SPDK, DPDK, and data centre solutions. Below are the network interface cards (NICs) and data processing units (DPUs) we work with:
ConnectX-7
It supports 400Gb/s throughput with state-of-the-art offloading for security, storage, and NVMe over Fabrics (NVMe-oF). Perfect for high-demand data centres and cloud workloads.
ConnectX-6
This dual-port NIC delivers up to 200Gb/s speed with enhanced RDMA and NVMe-oF support, optimising data transfer for storage and high-performance computing (HPC) environments.
ConnectX-5
It offers up to 100Gb/s throughput with hardware acceleration for network virtualisation and storage protocols, making it well-suited for cloud, SDN, and SPDK applications.
BlueField DPU Controller
BlueField combines network, storage, and security acceleration into one platform. Offloading CPU tasks enhances performance for virtualisation and AI in data centres.
Explore Our Case Studies
TCP PEP and QoS Software Modules for the HTS Satellite Communication System
Â
We developed TCP PEP and QoS modules using DPDK for an HTS satellite communication system for a leading satellite telecom equipment supplier.
Â
System Software for High-Speed Network Data Storage
Our team is working on system software development for high-speed network storage, handling simultaneous 8K video streams from eight cameras.
A key system function involves decoding and synchronising two 8K video streams.
SPDK integration is a potential enhancement for this ongoing project.
- accessing fragmented frames, reassembling them in physical memory, and sending them for decoding while simultaneously saving to disk;
- utilising zero-copy bypasses the kernel, resulting in 2–3 times performance improvement over standard methods like Linux sockets.
Why Promwad
Network expertise
Leveraging 20 years of experience and in-depth knowledge of various network technologies, protocols, and device configurations, we provide end-to-end software design services for companies of any size.
Focus on security
We implement robust security protocols, including access control, encryption, multi-factor authentication, and other advanced measures, to safeguard your systems against network threats.
Flexibility
Our comprehensive experience allows us to join telecom software development projects as fast as possible. At Promwad, we offer various cooperation models to ensure flexible resource allocation.
Ready to elevate your network and storage performance with SPDK and DPDK technologies?
Drop us a line about your project. We will contact you today or the next business day. All submitted information will be kept confidential.
FAQ
What traffic processing operations do you deploy with SPDK and DPDK technologies?
Â
- Traffic policing with speed limits to distribute bandwidth equitably among multiple users
- Filtering by specified criteria such as MAC and IP addresses, VLAN tags
- Traffic capture for monitoring, analysing, and troubleshooting
- Inspection and pattern matching for verification and security purposes
- Encryption, decryption, and hashing for protection
- Load balancing with traffic distribution across multiple interfaces or paths
What is DPDK and how does it impact networking?
Â
DPDK is an open-source library and driver suite designed for Linux. It was initially developed for Intel platforms but now supports various hardware from multiple vendors.
- Efficient network handling: DPDK reduces overhead and latency, which is crucial for sectors like trading, finance, gaming, and large data centres. It enhances cybersecurity by enabling packet access and DDoS attack prevention.
 - Driver optimisation: DPDK drivers directly interface with the network interface controller (NIC), bypassing Linux kernel adapters and ensuring speed and simplicity through zero-copy operations.
 - Comprehensive API: The DPDK API offers extensive functionalities and auxiliary functions, streamlining complex tasks and operations.
Â
Data processing with DPDK
What are eBPF and XDP, and how do they differ from SPDK and DPDK?
Â
eBPF (extended Berkeley Packet Filter) and XDP (eXpress Data Path) are technologies utilised for high-performance packet processing within the Linux kernel.
eBPF enables the execution of sandboxed programs within the kernel, while XDP specialises in high-performance packet processing at the earliest stage of the Linux networking stack.Â
Conversely, SPDK and DPDK focus on enhancing data storage and packet processing at the user space level. While eBPF and XDP operate within the kernel, providing integration advantages, SPDK and DPDK operate in user space, emphasising performance optimisation and flexibility for data storage and packet processing applications.
XDP vs DPDK: What factors should I consider when choosing technologies for packet processing?
Â
- The application's performance requirements. XDP operates within the Linux kernel, offering high-performance packet processing at the earliest stage of the networking stack, potentially providing lower latency compared to DPDK's user space processing.
- The level of flexibility needed. DPDK offers extensive libraries and APIs for building custom networking applications in user space, while XDP specialises in efficient packet processing within the kernel.
- Integration requirements. XDP seamlessly integrates into the Linux kernel, while DPDK requires additional setup and configuration as it operates in user space.
What are the advantages of using DPDK vs eBPF, and vice versa?
Â
DPDK vs. eBPF is a choice that depends on specific project requirements and preferences. DPDK excels in high-performance packet processing by bypassing the Linux kernel networking stack and operating directly in user space, potentially offering lower latency and higher throughput than eBPF. DPDK also provides extensive libraries and APIs for building custom networking applications.
On the other hand, eBPF offers a flexible framework for running sandboxed programs within the kernel, not limited to packet processing. It provides seamless integration into the Linux kernel, making it ideal for tasks beyond networking, such as security, monitoring, and tracing.
Should I utilise eBPF/XDP or SPDK in my project?
Â
Choosing between eBPF/XDP and SPDK depends on the specific requirements of your project. If your project primarily involves packet processing within the Linux networking stack, especially at the earliest stage for performance optimisation, eBPF and XDP would be suitable choices. They offer seamless integration into the Linux kernel, providing flexibility for various networking tasks.
If your project focuses on storage performance optimisation at the user space level, SPDK would be more appropriate. SPDK offers libraries and tools designed to enhance storage performance, making it ideal for storage-related applications.