74

I currently have a laptop that is about two years old, and has 8 GB of RAM. I use my laptop for internet browsing, productivity applications, and programming, including data science within Spyder or RStudio. I'm running Windows 10.

I usually sit around 65% memory usage, or 5 GB roughly.

I recently purchased, but haven't yet received, a laptop which has 4 GB of standard RAM, and 16 GB of Intel Optane memory. The laptop was marketed as having 20 GB of memory, but after reading more about Optane memory, it seems that it serves more as a low-latency cache than as RAM.

For the purpose of running several memory-intensive programs simultaneously (e.g. browser with many tabs, data science IDEs) which average 5 GB of RAM usage, will decreasing RAM from 8 GB to 4 GB but adding 16 GB of Optane memory cause a performance slowdown?

Here's a snapshot of my current memory profile if it's helpful:

mem profile

Update: if you're curious, I was able to cancel the order without issue. The answers helped me realize that the new purchase would have most likely been slower than my current laptop.

  • What kind of harddrive do your laptops have, SSD? Optane does wonders for older drives, but a lot less for SSD systems. – Mast Jan 7 at 9:20
  • @Mast, The laptop has a HDD. – N4v Jan 10 at 14:42
103

Intel Optane "memory" is a misnomer. It is just a cache memory card that can turn a simple hard disk into a hybrid disk, by adding a RAM cache that can work at the speed of an SSD disk.

Optane memory isn’t a random-access computer memory, or RAM. Instead, it's meant to work as a cache memory bridge between RAM and storage, allowing for faster data transfer between the memory, storage, and processor. As such, it's magnitudes faster than a spinning hard drive and can work at the speed of a budget SSD. And like SSD, it doesn’t erase itself when powered off.

Conclusion: You did make a mistake by falling for a commercial hype. In addition, 4 GB of RAM is ridiculously low in our current state of hardware and software. I would advise canceling the order for this laptop, if you still can.

  • 7
    Good answer. +1. Additionally, I would like to suggest this article, which compares access speeds to human reference scale, from 1 clock cycle -> 1 second, RAM -> 4 minutes and Optane -> 7 hours. This really shows how much scale difference there is between for example L1 cache and disk access speeds... – agtoever Jan 1 at 18:33
  • 9
    It's not actually a misnomer, since there's a version that uses DDR4 interface and replaces actual RAM arstechnica.com/gadgets/2018/05/… – phuclv Jan 2 at 1:53
  • 5
    4 GiB of RAM isn't ridiculously low, but it's quite falling behind the average. – iBug Jan 2 at 4:46
  • 7
    @iBug It is. For a new device, which is what this question is about. Especially if, as in this case, the older laptop had twice as much RAM. – Kakturus Jan 2 at 8:16
  • 41
    Advertising that laptop as having 20GB of RAM isn't 'commercial hype', it's a blatant lie. – patstew Jan 2 at 19:39
29

The other answers cover the gist of the situation but I'd like to add some context.

For a long time, RAM has been often called 'memory' in laptops targeted at the layperson. This is usually helpful and hasn't caused issues, until recently. The same companies that started this practice are now lumping Optane cache and RAM under the same name 'memory' with the intention of tricking you into thinking that the laptop has more RAM than it actually has. Optane technology is still relatively new and unknown so this deception is very easy to fall for. Looking deeper into a product listing will usually reveal the truth.

Optane cache doesn't, and wasn't meant to, replace RAM. They both help speed up a computer, but operate differently and in different situations. Having Optane won't alleviate the heavy slowdown of only having 4GB of RAM when normal use requires at least 5GB.

You've fallen victim to intentionally deceptive marketing. I recommend purchasing a different laptop (with 8GB or more of RAM) to satisfy your use case. Perhaps one from a more upfront manufacturer.

8

Only 4 GB? I hate to break it to you, but to the full extent of my knowledge (which isn't much) Intel Optane is not like memory aka RAM; it's like an SSD that takes the applications you use most and puts them on a faster drive so they load faster.

So an Intel Optane drive might eliminate the need for an SSD (please feel free to correct me on this). Your manufacturer probably put an Optane drive in your laptop and marketed it as RAM because 20 GB of Intel Optane is cheaper than 20 GB of RAM*, but maybe you can manually change the RAM to 8 GB for about $80.

*24 GB of laptop RAM $182
24 GB of laptop RAM

4 GB of laptop RAM and 16 GB of Intel Optane memory $87
laptop RAM
Intel Optane memory

5

In this context (budget consumer gear), Optane is pretty clearly just referring to a small/fast NVMe-connected SSD using 3D XPoint memory (instead of NAND flash), giving it a very high write endurance. (So it won't wear out if used as swap space).

This is still going to suck for many workloads, because it still takes a page-fault and many microseconds to access, vs. ~70 nanoseconds for a DRAM access (cache miss); it's not directly memory-mapped on the CPUs memory bus. Also, out-of-order execution / HW prefetch / other memory-parallelism can keep ~10 cache misses in flight per physical core, but a page fault is serializing. No useful work can be happening (in this thread) while the OS is servicing a page fault, so there's no opportunity for OoO exec to hide any of that hard page fault latency. (But even 70ns is too long to fully hide anyway. Still, having multiple misses in flight to different lines goes a long way toward mitigating it for some workloads.)


Using a cripplingly-small amount of RAM and depending on a fast SSD for swap space / pagefile is not the only use-case for this kind of Optane. (And probably not even a good use-case). As https://www.tweaktown.com/articles/8119/intel-optane-memory-matters/index.html describes, it's main use-case is as a transparent cache for a magnetic hard drive. I think Intel provides Windows drivers to make this happen. You can buy SATA hard drives that have rotational magnetic storage with some flash built-in as a buffer / cache for frequently-accessed parts of the disk. Optane HW + drivers can do this for any disk.

Optane NVMe apparently has very good random read performance at low queue depth (wait for one read to finish before starting another, which unfortunately does happen when a program has to read one block before it can figure out what to do next, and software prefetching isn't helping). So it should be great at speeding up program start times, and bootup.

Not particularly amazing for large contiguous writes of big files; hopefully the driver software knows to bypass the Optane cache and go straight to the underlying magnetic disk for that. Intel's main Optane page links to https://www.intel.ca/content/www/ca/en/products/memory-storage/optane-memory/optane-16gb-m-2-80mm.html which shows their 16GB M.2 Optane has 900MB/s sequential read, but only 145MB/s sequential write. The 32GB version is faster, at 1350 MB/s read, 290 MB/s write. But again, those aren't what Optane is best at. It's sequential and random read IOPS are both 240k IOPS, with 7 µs read latency.


Intel has something called IMDT (Intel Memory Drive Technology) which might involve actually mapping the PCIe NVMe storage into memory address space, perhaps for direct access as RAM-like memory. (I'm not sure if this is correct.)

http://www.lmdb.tech/bench/optanessd/imdt.html has some benchmarks with an Optane DC P4800X SSD. (The high-end data-centre version, not consumer stuff. Much higher sustained write capability.)

I haven't looking into this, so I'm not sure if it's relevant at all for how Windows could take advantage of a consumer Optane SSD.


The Optane brand name is (somewhat confusingly) also used for a much more interesting exotic thing:

3D XPoint Non-volatile DIMMs, aka Apache Pass, aka "Optane DC Persistent Memory". https://www.anandtech.com/show/12828/intel-launches-optane-dimms-up-to-512gb-apache-pass-is-here.

Intel has their own mostly-marketing page for it here, with some links to tech details. The "DC" stands for Data-Centric, apparently.

This is non-volatile storage that plugs in to a DDR4 DIMM slot, and appears as actual physical memory. Apparently it's only fully supported by next-generation Xeons (not the current Skylake-X aka Skylake Scalable Processor series).

There are other kinds of NVDIMM, e.g. battery-backed regular DRAM (optionally with flash to dump the data to for long-term power off, so they only need a supercapacitor instead of a chemical battery). https://en.wikipedia.org/wiki/NVDIMM has some details.

https://www.electronicdesign.com/industrial-automation/why-are-nvdimms-suddenly-hot has some more general info on NVDIMMs (and JEDEC standardization of them, and how OS + applications can cooperate to let applications talk directly to a region of memory mapped NV storage, ensuring commit ordering and so on). The main point is that they actually blur the line between RAM and storage (in a computer-architecture sense, not in the strictly-marketing sense of the deceptive laptop ad you saw that claimed 4+16GB.)


The OS can let a process map this non-volatile physical memory into their own virtual address space so they can access storage directly with user-space loads and stores to memory addresses, without any system calls, letting the CPU hardware continue out-of-order execution while there are outstanding reads/writes. (There are software libraries to let developers take advantage of this, including the ability to flush() and make sure that data is actually written to persistent storage.

This mapping can even be write-back cacheable, so usage of the data benefits fully from L3/L2/L1d cache until it's time to write it back (if modified). For read-mostly data, this kind of Optane really could justifiably be called 4+16GB of RAM. (Of course, the current data-centre use-case for Optane NVDIMMs would use much larger DIMMs, like 512GB.)

(It's not like an mmaped file on a normal disk where you just map the OS's page-cache for the file, and the OS takes care of doing I/O in the background to sync dirty RAM pages with the storage device.)

Making sure some data has actually reached NV storage before others (to allow crash recovery like a filesystem or database journal) is essential. With system calls, this is where you'd use POSIX fsync or fdatasync. But since the application has the storage truly memory-mapped, this is where library function calls come in.

In x86 asm, we're accessing storage with normal loads/stores, but we care about when data is actually written back to the NVDIMM (where it's safe from power loss), not when it's visible to other cores or to cache-coherent DMA (as soon as it commits from the store buffer to L1d cache), so x86's normal memory-ordering rules don't completely take care of everything. We need special instructions to flush selected cache-lines from the CPU's cache. (For use by the NV storage libraries.)

The clflush asm instruction has existed for a while, but NV storage is a major reason why Intel added clflushopt in Skylake (although it has other use-cases, too), and is adding clwb in Ice Lake (write-back without eviction).

Dan Luu wrote an interesting article a while ago about the benefits of taking the OS out of the way for access to storage, detailing Intel's plans at that point for clflush / clwb and their memory-ordering semantics. It was written while Intel was still planning to require an instruction called pcommit (persistent commit) as part of this process, but Intel later decided to remove that instruction: Deprecating the PCOMMIT Instruction has some interesting info about why, and how things work under the hood.

(This got way off topic into x86 NV storage low level details. I should find somewhere else to post most of this section, but I think it )


There are also Optane DC SSDs, as a PCIe x4 card or 2.5". The 750GB version does up to 2500 MB/s sequential read, 2200 MB/s sequential write, and 550000 IOPS random read or write. Read latency is slightly worse than the M.2 NVMe, at 10 µs.

This is what you want if you for a database server or something (if you can't use NVDIMM), but it wouldn't make your 4GB laptop much faster (for most typical use cases) than the 16GB Optane they sell it with. Swap space thrashing often produces a lot of dependent reads as a page has to be paged in and accessed before the code that page-faulted can continue on to whatever it was going to do next. If memory is really tight, the OS doesn't have spare pages to aggressively prefetch into, so you'd expect low queue depths which the consumer Optane is optimized for. (Low latency.)

3

Others have covered many aspects of this very well and I think you already know that Intel Optane is in no way comparable to RAM.

In a Von Neumann architecture, "RAM" refers to the primary storage in a computer, whic is directly access by the processor. An Intel Optane drive belongs to the category of "secondary storage" because it is more like a disk rather than RAM.

Strictly speaking, in modern computers RAM is the only primary storage because it's the only thing that's connected directly to the processor. We classify Intel Optane disks because it's not connected directly to the processor, but an I/O bus (or the disk controller). This heavily limits the potential of an Optane drive and ultimately disqualifies it from being comparable to RAM.

If you have an Optane disk, better pick it up and sell it, the buy a real NVMe SSD which is usually faster. I'm running on an HP EX920 and all its I/O specs (sequential / 4K) are higher than the Optane drive.

  • Optane's main advantage is low-queue-depth random read IOPS. That's a very common workload for desktops when starting a program, for example. That's what Optane is for. tweaktown.com/articles/8119/intel-optane-memory-matters/… has a graph (but they don't show what SATA or NVMe SSDs they're comparing against.) Usually writes can be buffered, but programs often have to wait for reads. (And sometimes the next read doesn't happen until the first read finishes, e.g. loading new code that can't run until it's loaded, or simply lack of I/O parallelism in the software.) – Peter Cordes Jan 7 at 6:39
  • @PeterCordes My EX920 (1TB) can run for up to 16k IOPS for 4 KiB Q1T1 read and 40k IOPS for 4 KiB Q1T1 write, somewhat lower than half of results I've found online (40k read). But I'm still a firm advocate of real SSDs (970 EVO is my favorite, but I couldn't afford when I went for this EX920). – iBug Jan 7 at 7:02
2

I recently purchased, but haven't yet received, a laptop which has 4 GB of standard RAM, and 16 GB of Intel Optane memory. The laptop was marketed as having 20 GB of memory

If this is true, you should ask your money back, you have been scammed.

Optane is Intel's marketing word for a combination of a solid state drive with 3D XPoint memory (which is little more than twice as fast as NAND, but also much more expensive) and some more or less intrusive driver/tool combination that interfere with your operating system's normal mode of operation -- much like the very similar stuff that Samsung has been distributing for years with their Evo disks (comes as optional install via Samsung Magician).

It is by no means a replacement for RAM, not only because the memory itself is much slower, but also because when used for virtual memory, you have the interrupt latency and processing cost of page faults (which uses actual processor cycles). Also, data has to go over a bus which -- although pretty fast -- is still significantly slower with significantly higher latency compared to ordinary RAM, plus you share bandwidth with other transfers on the bus.

So... if you have a poor harddisk, Optane (or any SSD for that matter) may be a viable strategy for caching data. But as a drop-in replacement or extension for real RAM, no way.

protected by Ramhound Jan 6 at 4:59

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.