Hacker News new | ask | show | jobs
by geerlingguy 1694 days ago
I've been testing one for a couple weeks, and a quick rundown on it: it has a quad-core A53, same CPU/SoC core as the Pi 3, with 512 MB of RAM.

This means it can run 64-bit Pi OS, but it is memory-limited and even some of the benchmarks I ran needed extra swap space to complete. But for anything that does run in the 512 MB of LPDDR2 RAM, it is at least twice as fast as the Zero/Zero W, and sometimes 3-8x faster, depending on how things handle threading (4 cores is better than 1!).

My biggest concern is overheating—even at the base 1 GHz clock, it will start to throttle after a few minutes in a case with no airflow or heat sink. You can overclock to 1.2, 1.4, or even in some cases 1.5 GHz, but it starts throttling a lot more quickly unless you have really good cooling.

7 comments

Also adding on from another thread that got demoted from the front page: I tried usb boot on this board (since it has the same SoC as the Pi 3 B, which supports USB boot), but alas, that didn't seem to work.

The Pi Zero 2 W doesn't seem to do anything at all (no LED activity, no HDMI output) unless there's a microSD card inserted with a valid bootloader and DTB that supports it.

Definitely seems a bit disappointing that 5-6 years after the original Pi Zero there's still only 512MB of RAM. Regardless, I'm excited to see what new projects will become feasible with the extra CPU performance.

I just finished watching your YouTube video, so thanks for providing all of this insight. A new Pi Zero will certainly make small handheld emulators a lot more promising...

I don't feel like I needed more memory or the cpu boost in the pi zero 2. I'd rather they stayed at the old $5 price, decreased power consumption, and added some analog and realtime capabilities. I had thought that was the idea of the RP2440 chip used in the pi pico. It would be great if they added that chip to a pi zero board (maybe in the same SOC as the main processor) so they would have some analog inputs and a somewhat realtime coprocessor.

I've done some fairly fancy Python app development under Linux on a 300mhz embedded ARMv6 board with 64MB of ram, so for lots of things the Pi Zero is already overkill. But an actual OS (i.e. Linux) does make programming a lot easier than an MCU board with an RTOS. So how about a "Pi -1" (minus one) with 1/4 of the resources and power consumption of the Pi 0?

Power savings is complicated. A Pi board is going to have a minimum power usage with the CPU only being a portion. A lower clocked CPU on a Pi -1 might reduce peak power usage but might not get much savings at idle vs a comparably configured Zero. The Zero would also have the option of underclocking for peak power savings with the ability to spin back up to work faster to return to idle faster. Don't forget disabling board components can yield baseline power savings on Pis [0].

[0] https://mlagerberg.gitbooks.io/raspberry-pi/content/5.1-powe...

I think you'd need a SoC designed for phones instead of general computing to reduce power by that much.

Also, I'm curious what use-case do you have that would need an RTOS?

512mb probably means the power budget it's designed for doesn't get completely stomped.

If you need more memory just get the pi4 and a suitable power brick for it

According to the launch post, they also couldn't find a single-die 1 GB RAM module, so they couldn't physically install more unless they upped the complexity of the design significantly.
Do you have power consumption numbers? Compared to the Pi Zero W, hom much more does it consumes?
Yes; check my blog post [1] or latest YouTube video [2] for details, but the tldr is 0.4W (80 mA) idle minimum for Zero W, 0.6W (100 mA) idle minimum for Zero W 2.

Zero W goes up to 160 mA at load, while Zero W 2 gets up to 400-500 mA due to the three extra CPU cores.

[1] https://www.jeffgeerling.com/blog/2021/look-inside-raspberry...

[2] https://www.youtube.com/watch?v=lKS2ElWQizA

That's a big jump. Is there a way of getting Linux to disable a couple of cores?
`echo 0 > /sys/devices/system/cpu/cpu[0-n]/online` should do what you want.
Even as root, that gives `permission denied` on Pi OS on the Zero 2 W. I'm trying the kernel cmdline option too.

Edit: That works! See: https://www.jeffgeerling.com/blog/2021/disabling-cores-reduc...

Well… I said it should, not that it would. ;-)
On x86 there was an option, i think nr_cpus or something like that some time ago. There was also SMP_KERNEL kernel config option.
2W! Did you measure Gflops? I wish you could disable cores dynamically...
That's why they called it Pi Zero 2 W and not Pi Zero W 2, which is what it is.
> I wish you could disable cores dynamically...

Another comment says /sys/devices/system/cpu/cpu[0-n]/online doesn't work, but I think you can get pretty far by changing the CPU affinity at the cgroup or process levels (for userspace) and on /proc/irq/default_smp_affinity (for interrupts). There are likely some kernel threads that would still run on the other cores, but this is reasonably close.

In particular, looks like setting CPUAffinity= /etc/systemd/system.conf will set a default for all of userspace that you can override for particular things as desired.

Is undervolting an option?
As for the RAM limitation, zswap is a great way to get some more RAM at cost of some CPU cycles which on the new Pi won't be an issue.
I've been running some tests on my regular server, where it seems that zstd offers better compression ratios than the default lzo-rle. Ratios are currently at 3.7 vs 2.6 according to netdata; I've seen them as far apart as 4 vs 2. Mostly a matrix server with a big database.

zstd could be slightly slower, although according to some benchmarks, it decompresses faster.

zram*

zram is the compress-in-memory like you have in Windows and ChromeOS and zswap is the compress-on-disk in case you want to replace SD cards.

zswap does not compress-on-disk either (I wish it did). The difference is just an implementation detail into how both plug into the kernel but the goal is the same on both.
zram is a compressed ram-disk that acts like any other block device, so you can point `mkswap` and `swapon` at it.

zswap is a compressed (memory) cache that uses the frontswap API to evict least recently used pages to a swap device. Evicted pages are not compressed.

zram is more of a general purpose component; whereas zswap is a more specialized component.

https://www.kernel.org/doc/Documentation/blockdev/zram.txt https://www.kernel.org/doc/html/latest/vm/zswap.html

64bit is great news (if only because I can target it with the same binaries), but only 512MB of RAM and no EMMC is disappointing, regardless of power budget constraints.

I have been using 3As because of the reduced size (and the full sized HDMI port, which comes in handy), so I hope those get updated to a 4-grade chipset —- I feel that there is a gap between the Compute Module and the A that needs filling.

next we need a RPi4A with 2GB of ram, the full size HDMI, usb C and updated silicon
At some point we have to ask what the raspberry pi platform is for - they used to be low budget, low cost, low power general purpose computing in an extremely small formfactor.

It seems like there's still one product, but increasing divergent use cases for that product.

I'm not entirely sure what you're saying, but it sounds like you're arguing against their strategy of having multiple variants of the Raspberry Pi for sale at the same time?

There have been a lot of commenters in this post basically complaining that there are too many Raspberry Pis. From a practical standpoint, I don't get the complaint (I mean, how does that personally harm them in any way?).

The Raspberry Pi foundation's mission is to increase technical literacy worldwide by making and selling very low-cost yet reasonably high-performance computers. They also do quite a lot of education and outreach themselves.

What people here seem to be forgetting is that these things take money and instead of spending time fundraising (a huge cost and time sink for most non-profits), they decided to tap into the maker and computer geek communities, as well as industry. When people like you and me buy these boards to play with or build into our projects, we are subsidizing all of the foundations design, education, outreach, activities. Also when companies build products and internal solutions around the Pis. The whole reason they still sell the (mostly) original Raspberry Pi board is because there are systems, processes, or fleets still using them. They'll continue to use them until a design change is required. As long as its relatively easy for the foundation to squeeze out a new batch every so often (all of the hard work of designing them is already done), what does it hurt?

I don't think we need to ask that at all. They make little computers for people to tinker and do interesting (or even boring) things with. The "diverging use cases" are a feature, not a bug.
That might well be the sweet spot, yes.
Does it overclock/throttle automatically like Intel? E.g. if I put some good cooling, will it run on faster frequencies?
I could get it to run stable at 1.2 GHz in open air. 1.4 required good forced air cooling and still was a little unstable. Someone got it to run at 1.5 GHz but it was a bit unstable at that clock (overvolt of 8).

Inside a case, it quickly heats up under load!

In all cases, the CPU frequency starts stepping down when the temp hits 80C, and on the default clock it will go to 800 MHz until the temp is 79C. If it reaches 85C, it will throttle severely, all the way down to 400 or 600 MHz, I believe, until the temps get back down to 84C.

have you tested lz4? it's probably a little worse ratio, but it is ridiculously fast to decompress.
Is it 28nm or 40nm?
I believe it's 28mm like the Pi 3 B.