Confirmed Intel Optane working with ZFS and 2.4.0



  • Hi,

    Not that it's surprising at all, but I have confirmed that a 16GB Intel Optane Module works as a standard NVMe block device in 2.4.0. This isn't particularly interesting but it allowed me to reclaim a much larger SSD. :) Boot might be a little faster, but it's likely placebo.



  • L2ARC won't help boot much until OpenZFS+FreeBSD gets Persistent L2ARC.



  • I read up on L2ARC and it seems interesting! In this case, I'm using the optane module as the only disk in my ZFS stripe. In fact, it's the only drive in the system. I know that these initial optane modules were intended for HDD caching, but they also work as a standard block device as long as you can boot from NVMe, which I've found only works with 2.4.0 anyway.



  • Does intel Optain helps Pfsense?



  • As an SSD, it helps pfSense the same way any SSD would. As a caching layer, it could help if you're acting as an HTTP cache, but HTTP caching is not nearly as useful is it once was. For the most part, a firewall does almost no IO except at start up.



  • Wouldn't it allow the router to boot faster if used as a hard drive since I believe m.2 is much faster then ssd.  I heard m.2 has its speed regardless of how much data is being accessed.  SSD speed scales with amount of data being accessed.



  • m.2 is just protocol/interface that SSDs can use. My wife has a Samsung Pro m.2 SSD and my 950 Evo boots and loads games faster than computer.

    m.2 is much better than SATA in nearly every way for performance, like bandwidth, latency, and concurrency. The last two allows m.2 to feel fast under load. This does not magically happen, the SSD controller needs to take advantage of m.2 to get full benefit.



  • @Harvy66:

    m.2 is just protocol/interface that SSDs can use. My wife has a Samsung Pro m.2 SSD and my 950 Evo boots and loads games faster than computer.

    m.2 is much better than SATA in nearly every way for performance, like bandwidth, latency, and concurrency. The last two allows m.2 to feel fast under load. This does not magically happen, the SSD controller needs to take advantage of m.2 to get full benefit.

    Are you saying Pfsense doesn't have the controller programmed in to allow it to do that?



  • It's not just a driver or controller issue, it's a system init issue. You don't get concurrency for free. Ever part of the system must be designed to take advantage.



  • @Harvy66:

    It's not just a driver or controller issue, it's a system init issue. You don't get concurrency for free. Ever part of the system must be designed to take advantage.

    Is Pfsense designed to take advantage of m.2 on every part of its software?



  • FreeBSD has been enhancing concurrency in the IO stack, but this is ongoing and won't be completed in one go. The init system is still under discussion. Concurrently loading the init system is not easy because it requires a method to define a dependency graph. Software needs a way to define their dependencies and identify each other.

    pfSense mostly only cares about network IO. Being a firewall, boot time is the least of its worries as it should be running 24/7.



  • The boot sequence can't be made take advantage of parallel execution easily because there is very strict order in which certain things have to be initialized in because the boot sequence must accommodate many different boot methods and configurations. You might be able to run one or two part in parallel here and there but overall the sequence can not be altered.