Prepare for CRA compliance as Interniche NicheStack TCP/IP will reach end of general support
We at Tuxera are dedicated to developing products that are secure and resilient against the threats of the connected world....
We are here to help
Have a question or need guidance? Whether you’re searching for resources or want to connect with an expert, we’ve got you covered. Use the search bar on the right to find what you need.
Having a dual-port architecture like Tuxera Fusion SMB offers flexibility of running in user or kernel space, easy porting, and performance gains. Here’s how.
Developing technologies that connect different platforms and ecosystems is one of the main reasons Tuxera exists. That’s why in addition to our file system suite, we invest in other technologies that enable reliable, high-performance data transfer and storage between devices. Tuxera Fusion SMB (formerly Fusion File Share by Tuxera) is one of our latest products and one of the best examples of this. What sets Tuxera Fusion SMB apart from the rest is that it can be built to run either in user or kernel space.
A user-space application is the most obvious and straightforward way of implementing an SMB server, but consumes considerable memory. The other alternative, running an SMB server in kernel space can be dangerous as any defect in software at that level can cause the whole system to crash.
When developing our SMB server, we decided to have the same code base (the core of the architecture) and use different abstraction layers. By doing this, we can build two versions of our software as required: one that runs in user space, and another one that runs in kernel space. With this dual-port architecture, we can also implement features of the SMB protocol in parallel for both spaces. It also makes porting easier to other OSes like QNX or BSD.
We tested* both ports of the server, in the user space and in the kernel space, in low and high-end devices**. Regardless of a faster CPU and larger memory, the kernel space version always has better performance while requiring less CPU usage in high-end devices.
*We ran read, write, and file-listing benchmarks on a Qualcomm IPQ4019 with a 1 Gbps network interface.
**Same tests as for low-end devices but on a 4x Intel Xeon E3-1225 with a 10 Gbps network interface.
By building an abstraction layer, we are able to create two different versions of the software (user space and kernel space), while providing a consistent interface. Other advantages of a well-designed abstraction layer include:
Our dual-port development and architecture revealed defects that appeared only in user space or kernel space, though they were generic. This means you can debug the software in user space, and any defects found will then be automatically fixed in kernel space.
Having a dual-port architecture like Tuxera Fusion SMB gives the flexibility to choose where you want it to run and makes it easy to port to other platforms. What’s more, Tuxera Fusion SMB provides larger performance boosts in kernel space where performance gains are best realized.
Tuxera Fusion SMB is available for immediate deployment on Linux and supports the most popular embedded platforms.
Contact sales@tuxera.com for more information.
Suggested content for: