My model of the computing world is that RAM is everything and everything should be (in) RAM. Yet if you look at high-end laptops they generally can’t be configured with more than 16 GB of RAM. Perhaps this is a limitation in Intel’s mobile chipsets, but, even if so, that just means that the folks at Intel have decided that laptops should have only 16 GB (about $125 worth), which leaves us with the same question of “Why?”
Example high-spec laptop: http://www.apple.com/macbook-pro/specs-retina/ ($3000 with 1 TB of PCIe SSD and yet just 16 GB of RAM max.)
Is RAM power-hungry? I wouldn’t have thought so compared to the screen backlight and what used to be a standard mechanical hard drive.
What’s the performance difference between RAM and PCIe flash storage (“PCIe SSD”)? Doesn’t running virtual memory result in a substantial performance hit compared to telling the operating system not to build a paging file? (maybe it doesn’t matter now that everyone has decided to run a tower of virtual machines, each of which in turn has virtual memory!)
Since processors aren’t giving us substantially more scalar performance it seems that a main way to benefit from Moore’s Law would be to have additional RAM. But the market isn’t developing in that direction. Why not?
Looks like Lenovo ThinkPad W540 can support up to 32GB: http://shop.lenovo.com/us/en/laptops/thinkpad/w-series/w540/?menu-id=thinkpad_w
The problem isn’t really the CPU manufacturer. The high end chips are capable of supporting more. The problem is really memory density. 204-pin DDR3 memory does not come in sizes larger than 8GB and the manufacturers have decided to only provide 2 slots for memory. In the case of the rMBP, Apple ha soldered the memory to the main board.
Because 2 to 4 g is more than enough to fit the entire working set necessary for your everyday tasks into ram. I do heavy duty compile work on an 8 g box and it seldom manages to fruitfully use most of that.
If you are running Yosemite it will even compress seldom used chunks if ram before it goes to the trouble of writing to ssd.
Also Apple in its latest machines opts to spend system dollars on a much fatter pipe between processor and ssd compared to other laptops (PCI-E vs SATA)
1/ The chipsets are the first problem. Often they don’t support very much (16GB being the “normal” at the moment for high end chipsets – more address lines, more cost.
2/ To save money on production costs for the memory. if the price of the base laptop is too high, companies will lose sales. Besides, how often to people upgrade their ram after they purchase their computer?
The biggest performance boost I’ve found for computers in the last..what? 20 years? is ram, ram, ram and then more ram. Even 16GB of ram these days is not enough now.
If a laptop lasts for 5 to 7 years (and good ones do), then you need as much memory as you can get to keep it usable over that time.
As smartphones have outpaced PCs as the price-drivers of the technology manufacturing market, PC component costs have slowed their fall. I’d imagine when smartphones regularly have 32 GB of RAM, we’ll see laptops with the same.
Perceived lack of demand? Offering a very-high-RAM option (say, 64 GB) would require a major board redesign. The vendors aren’t going to do that if they think almost nobody would order one of those. Presumably, they have numbers for how many customers go for the 16GB option over 8 and extrapolate.
Regarding the other question, very very high end PCIe flash is about 10X slower than RAM (~100ns vs ~1µs). The best stuff you can buy at quantity is at about 10-20µs. Good SSDs are in the 50-100µs range.
This is indeed mysterious. I have a Lenovo Thinkpad W520 – from several years ago – that has 32Gb RAM, but it is an exception.
The “sweet spot” these days is probably lower RAM – after all, plenty of people use Chromebooks and other low-end devices where all their computing (except audio/video decode and 3D effects for games) is in the cloud. But you’d think there would still be sufficient demand for high-end laptops (among software developers, if no one else) that some laptops would have the capacity for, say, 64GB, even if they shipped with only 16GB.
I would like more RAM.
I think it is a form factor limitation. The largest commercially available stick of SODIMM ram (the short sticks found in laptops) is 8gb. Typically laptops have room for 2 slots on their little motherboards (remember the ram has to lie almost flat to fit inside the form factor) so you are capped at 16gb. There are a few rare desktop motherboards that have 8 DIMM slots (standing upright) for up to 64gb of ram, but 4 is more common. If they ever get 16gb or more of ram on a stick, laptops will have more memory – however much you can fit on 2 sticks.
Especially in this age of solid state “disks” where memory swapping is much faster than on a physical disk, there are few people who need a laptop with more than 16gb ram. It wouldn’t pay to design special motherboards with 4 memory slots just for that small market.
Any laptop with an SSD essentially keeps everything in RAM. It transforms a pokey old machine into a speed monster. Highly recommended.
BTW I agree that very high RAM (more than 16GB) is nice for certain applications. Personally I feel pinched with only 16GB of RAM when trying to run multiple VMs simultaneously on my laptop.
How long until we can’t buy a decent dev laptop at all? With production greatly outpaced by mobile devices (phone, tablet, etc.) and ‘regular’ users opting away from keyboards, what options will tech/power users have in a couple years. Lack of RAM may be a minor issue.
@Izzie – There are some 16GB SO-DIMM’s on the market. It looks like the memory controller may be the limitation.
I’d be curious to know what workflow is chewing up more than 16GB of RAM.
@Izzie L:
My W520 has four SO-DIMM slots …. two accessed under the machine, and two under the keyboard (you’ve got to remove the keyboard to install them). It’s actually a chip limitation – Intel builds them with various limits, e.g. a 32Gb limit for the chip in the W520, e.g., see here http://ark.intel.com/products/52237
@J. Peterson:
Some software development scenarios require using multiple VMs – simulating a cluster or distributed system, etc. Cross development targeting a different OS versions or different OSes. And … if you’re using Microsoft’s Visual Studio … or SQL Server … those are giant RAM sucks right there, for each instance. It’s nice to have a laptop that can run your scenarios so you can develop away from home, give demos easily, etc. 16Gb can be a little cramped … 32Gb is nice. SSD is not a substitute for these kinds of applications which really require RAM (though 32Gb + SSD makes for a machine that really flies).
@philg: “But the market isn’t developing in that direction. Why not?” IMO, the reason can be spotted at any Starbucks. (Well, any that isn’t in Kendall Square.) Look around at what people are doing on their laptops: Watching video clips, listening to music, reading/editing powerpoint slides or excel spreadsheets. Right there in every coffee shop in the land: Hours and hours and hours of video clips, music, and powerpoint/excel. The first two uses are why laptops are developing in the direction of desktop-equivalent GPU power, and the third … you could run those using a hamster with a 1Gb memory chip stuffed up its …
Apple put in compressed memory in their OS.
so that 16 G is actually something like 24GB.
once the RAM runs out OS usually use Virtual RAM.
Processor is the fastest in terms of speed.
RAM speed hasn’t increased until DDR4 (next year in laptop) and so
Processor has to Wait for RAM. so processor manufacturers have been
putting L2 cache and L3 caches to keep memory local to processor.
SSD is slower than RAM.
SSD can do 2 GB/s
DDR3 1866 memory bandwidth is around 59 GB/s
CPU can do 100 GFLOPS LAPACK (linear Algebra benchmark).
GPU can do 1000 GFLOPS.
this just to show scale not actual speed of laptops.
so you only need more RAM if your application is memory bound.
and/or you have so many applications loaded up that you are growing
the Virtual Memory of the OS.
yes, less RAM means more battery life that is why Apple laptops are better
then most PC manufacturers.
I believe the issue with why the chip set doesn’t support more than two memory sticks has to do with bus loading. The more devices on the memory bus the slower it runs (or, you need higher power drivers). I suspect that drove the decision to only support two DIMMS.
J.Peterson – that listing is misleading. It is for a 16gb KIT – a kit is a pair of memory sticks – it’s really 2 x 8gb:
Here is corsair’s listing for that part #:
http://www.corsair.com/en-us/corsair-memory-16gb-2-x-8gb-ddr3-sodimm-memory-cmso16gx3m2a1333c9
So far, the main plausible uses that people have given for needing more than 16gb are running multiple virtual machines at once, which most people don’t have a need to do, especially on a laptop. It seems like it is a real niche market, which Lenovo appears to be filling (or has in the past filled) with its 4 slot machines but otherwise it’s not a big enough market to require a lot of entrants.
Izzie: My desktop machine has 16 GB of RAM and I disabled paging so that it would run faster (Windows 7) and also not tie up space on the feeble little SSD system disk (this machine is about 3.5 years old so it has a 160 GB C: drive that somehow offers only about 136 GB of useful storage after the formatting and a 12 GB recovery partition). If I am running a bunch of Google Chrome browsers and Adobe Premiere for video editing (only 1080p material) the operating system will begin to alert me about low memory and start gunning down processes.
So I would say that anyone who wants to edit 4k video on a laptop could easily use up 64 GB of RAM. http://4khub.com/buzz/50/4k-camera-workflows-raw-video-proxy shows that a consumer Panasonic camera produces 4K video at a 45 GB/hour rate. The prosumer cameras, e.g., Canon 1D C, put out files that are 225 GB per hour.
Izzie: Running multiple VM’s is not the only need for 32 GB or more RAM. At work, our main development machine is W540’s (oldest is W520’s) and if you try to run Eclipse, WebSphere and DB2 / Oracle, you can easily hit 16 GB and cause OOM all over the place — not to mention bring the OS to staling halt due to IO caused by the OS swapping RAM to disk. This is from personal experience, as a developer: I will never work on a a machine with less than 16 GB of RAM and standard HD (if you never had experience with SSD, even with 8 GB of RAM, you are missing a lot).
I guess, aside from the trend where people don’t have PCs at all, there is a trend for people to have laptops as their only machine, so I can see a need for more heavy duty video editing ability, etc. (BTW, a shocking # of laptops have only the Intel graphics and no serious GPU – to my mind this is an even more glaring omission).
However, I am old school and have a big old desktop as my main machine for heavy duty stuff like video editing and something lightweight (in all senses) for a travel machine. Esp. now that you can keep stuff in the cloud, I think that this makes a lot of sense vs. using a single machine that tries to do everything.
OTOH, my daughter in her cramped MIT dorm (and from what I can tell, most students) has just a laptop (but one with NVidia graphics) that she uses for solidworks etc. and it was necessary to increase the amount of memory that it came with in order to make it usable. Because laptops rarely have free slots, that means discarding (or selling on ebay) all the memory that it came with, which is annoying.
George – what percentage of laptop purchasers are software developers? This is a niche application and you apparently have located niche machines that fill your need. Most people will never run Eclipse, WebSphere and DB2 all at the same time or even any one of them (except as clients) or even know what they are. While these may be commonplace uses in your industry, for most people they would be exotic. Even video editing is not that common. Aside from video games (which are more graphics intensive than memory intensive) the average user is mainly web browsing, sending emails, doing word processing and simple spreadsheets, etc. which explains why something like a Chromebook or a tablet is adequate for a large % people.
I am curious why you are using laptops instead of desktops?
Latency numbers every programmer should know
L1 cache reference ……………………. 0.5 ns
Branch mispredict ………………………. 5 ns
L2 cache reference ……………………… 7 ns
Mutex lock/unlock ……………………… 25 ns
Main memory reference …………………. 100 ns
Compress 1K bytes with Zippy …………. 3,000 ns = 3 µs
Send 2K bytes over 1 Gbps network ……. 20,000 ns = 20 µs
SSD random read …………………… 150,000 ns = 150 µs
Read 1 MB sequentially from memory ….. 250,000 ns = 250 µs
Round trip within same datacenter …… 500,000 ns = 0.5 ms
Read 1 MB sequentially from SSD* ….. 1,000,000 ns = 1 ms
Disk seek ……………………… 10,000,000 ns = 10 ms
Read 1 MB sequentially from disk …. 20,000,000 ns = 20 ms
Send packet CA->Netherlands->CA …. 150,000,000 ns = 150 ms
Izzie: You asked “I am curious why you are using laptops instead of desktops?”, the company that I work for, issues 1 physical machine per employee (you have to go through bureaucracy hell to justify a need for a second physical machine). You need another machine(s)? Checkout a VM image [1] and it is yours. Since an employee is allowed 1 physical machine, not having a laptop means you are very limited when it comes to mobility (meetings and presentation to name one).
[1] You can request the VM image to be of almost any configuration you want; no it is not running off your physical machine, you remote desktop / VNC to it.
What 4K requires is quite different from what is actually needed.
All the Video processing happens in GPU and
GPU is also used to do effects calculations.
and also depends on the Application being used to do 4K editing.
GPU has its own memory that has to keeping gong back and forth
between CPU.
Plus you are not loading a full movie to edit. you are
doing splicing of different shots.
Obviously you need Thunderbolt with RAID if you are actually serious
about these things.
I don’t know why you would disable VirtualMemory of the OS that is mind boggling.
Oh you do strange thing over and over any way so it is par for the course.
Ram.bound: Why did I disable VM on my desktop? As noted above I think that it was due to the small size of the SSD and the fact that with 16 GB we didn’t think programmers could put enough bloat onto the machine that it would ever run out of 16 GB. That was true for about 3.5 years. In the last year or so the combination of Google Chrome and every web site being larded up with Javascript means that maybe it is time to rethink this decision.
I guess one solution might be to move the 12 GB “HP_RECOVERY” partition from the C: drive onto a magnetic hard drive. That would enable me to configure a 12 GB SSD swap file. Has anyone actually tried this on an HP box that was factory installed?
I am pretty sure that this computer can hold three hard drives. Right now it contains a 160 GB SSD and a 2 TB magnetic drive. Maybe the answer is to get a 1 TB SSD from Newegg and have that be the third drive and also the location of the paging file? Or bring the RAM up to 24 GB (I think that might be the motherboard max)? Or both? Seems like a bad time to buy a new Windows machine given that Windows 10 will soon be here and will fix all of our problems.
I checked my Gmail and discover that this machine is actually 4.5 years old. HP Pavilion Elite HPE-490t. From the factory it could have only two hard drives and a max of 24 GB of RAM. It also has a slot for a “pocket media drive” that can somehow be plugged in. For $80 I can get two 4 GB DIMMs (there are 6 slots and the original order shows that only 4 are occupied).
But probably it will be time for a new computer if I am going to run two 4K monitors from this, one in front of a treadmill and one in front of a chair (see https://philip.greenspun.com/blog/2015/01/03/standing-and-treadmill-desk-ideas-and-experience/ ).
Who knows of a good graphics card that can drive two 4K monitors? I am not a gamer. This is just for desktop browsing, photo editing, video editing.
160 gb SSD is big enough to fit the windows directory plus maybe a few commonly used programs. If the SSD is the boot disk (usually c:) windows will automatically put the paging file (pagefile.sys) on that drive and it is pretty good at picking an appropriate size.
You definitely don’t want your recovery partition on an SSD. SSD’s do not fail gracefully – they just go dead and all the partitions will go with your main partition. If you have recovery on the SSD move it to another disk and increase the size of your main partition on the SSD. Usually the recovery has all the bloatware etc. plus it is whatever version of the OS that was current when you bought the machine without the Service Packs so it is of dubious value. If you don’t want to spend hours loading 999 Windows Update packages, you should be backing up an image of your drive (esp. an SSD which can disappear in a “flash”) and recover from that. The only real use for recovery partitions is if you want to sell/donate the machine.
pocket media drive is just an external 2.5″ hard drive with special plugs in the back so it slips right in without any cables. I don’t think they even make them anymore – it was HP only.
I wouldn’t invest a lot of money in a machine that is verging on obsolete but you could reconfigure the hardware that you already have and maybe throw in a couple more sticks of RAM for not very much.
philg: “So I would say that anyone who wants to edit 4k video on a laptop could easily use up 64 GB of RAM. http://4khub.com/buzz/50/4k-camera-workflows-raw-video-proxy shows that a consumer Panasonic camera produces 4K video at a 45 GB/hour rate. The prosumer cameras, e.g., Canon 1D C, put out files that are 225 GB per hour.”
There are other reasons beside the amount of ram that make this not such a good idea.
The laptop CPU is slow. The laptop GPU is slow. The laptop memory is slow (sometimes).
Faster stuff uses much more power and produces much more heat (big problems for battery powered laptops).
Laptops are a compromise.
Dave: I’m sure that if the goal is to spend a year or two filming and then six months editing to produce a Hollywood movie it would make sense to buy one or more desktop computers for the editing task. On the other hand, sometimes people travel with a camera or mobile phone and want to edit a video to send back to friends and family. I don’t think this is an uncommon task as I have done it myself…
philg: “Who knows of a good graphics card that can drive two 4K monitors? I am not a gamer. This is just for desktop browsing, photo editing, video editing.”
I suspect you don’t plan on using the two monitors at the same time (displaying different stuff). If so, you are basically only driving one monitor, which should be easier to satisfy.
Dave: I do plan on using both monitors at the same time, actually, showing different windows. I just want to swap the content when I switch from a treadmill to a chair or standing.
What about the high end Alienware Laptops? Whenever I want to give myself stickershock, I go over there and price out a high end laptop with all the bells and whistles.
Hmmm.. I just checked their site. A year or two ago, they had laptops with better specs than what they are offering now. Raid hard drives, more memory, larger sizes. I guess they were not selling enough of them.
Wow, even their business high end laptops no longer offer models with more than 16GB of ram.
The Lenovo W540 series “portable workstation” will take up to 32GB of ram. I cannot tell if it can drive 4K video though and it has a thunderbolt port for expansion.
It seems to me that the high end laptop market has gone backwards for the major manufacturers.
You just need to look beyond “consumer” machines
HP Zbook can get up to 32GB for example:
http://www8.hp.com/sg/en/products/laptops/product-detail.html?oid=6978814#!tab=specs
This can’t be the only one
Follow-up: I spent $67 at Amazon on 8 GB of RAM and added two more DIMMs to my ancient desktop (so all six DIMM slots are populated). Now it has 24 GB of RAM, still with no paging file, and runs beautifully. Microsoft and Google cannot add memory leaks to their software faster than I can add RAM!