N1? or N2?

Moderators: mdrjr, odroid

Re: N1? or N2?

Unread postby tkaiser » Wed Aug 08, 2018 9:31 pm

2ndSeb wrote:How do the NanoPC-T4 and the RockPro64 people do that? Is DDR vs LPDDR the big difference?


How/why do you expect people here being able to answer this question?

If you look at the flood of new RK3399 designs above viewtopic.php?f=149&t=31277&start=100#p230663 they all rely on LPDDR3 or LPDDR4 while the older ones (Firefly or https://www.theobroma-systems.com/rk3399-q7/overview ) use DDR3. What has happened? Maybe Rockchip provided in the past only a reference design with DDR3, then switched to a more recent one using LPDDR? And maybe Hardkernel simply started too early? Who knows? Who will tell?

You know that these boards all follow pretty closely SoC vendor's reference designs?

According to the Libre Computer guy redesigning a PCB takes 3 months at least and even then Hardkernel would've only 'yet another RK3399 thingy' and not as in the past a platform they own. All that's needed to make one board work with the OS images from another board using the same SoC is exchanging bootloader stuff (most of the times some BLOB doing DRAM initialization and controlling cpufreq/DVFS scaling, with some SoC families other than those HK uses there exist open source solutions) and DT (device-tree).

My NanoPC-T4 runs with 'Firefly kernel' and some DT adjustments (see above). No board vendor support needed at all. Once the SoC is supported by SoC vendor and there's a community around the SoC board makers can not use their own quality of software and support to differentiate their products from competitors any more.

If this vendor community here would generate some great OS images for an RK3399 based ODROID they would be 'ported' to any other RK3399 device within days if not hours.

And then customers are not able to compare prices. They do not get that HK need to have higher prices due to some extra margins their distribution channels need, they do not get that shipping costs, customs and VAT are part of the price they eventually pay but will instead simply compare list prices in online shops. How could an N1 at +100 bucks compete with a RockPro64 with same amount but faster DRAM and same config ($80 + $10 for the ASM1061 SATA card)? Same with NanoPC T4, they currently offer the 4GB version for 110 bucks with a great Wi-Fi chip and the same 16 GB eMMC on board HK sells separately as orange module.
tkaiser
 
Posts: 370
Joined: Mon Nov 09, 2015 12:30 am
languages_spoken: english
ODROIDs: C1+, C2, XU4, HC1

Re: N1? or N2?

Unread postby tkaiser » Wed Aug 08, 2018 9:42 pm

meveric wrote:It has a 512GB SSD connected via SATA and it's so damn fast compared to the C2.
The SSD is so awesome when it comes to linking binaries or packaging :D


Well, with RK3399 utilizing all 4 PCIe lanes to access a fast NVMe SSD you would've even more fun. See last two lines in the table here: https://forum.armbian.com/topic/1925-so ... ment=51350

Both times RK3399 with DDR3, but slow PCIe attached SATA with RK's 4.4 kernel vs. mainline kernel with SSD access from this century (that's at least NVMe and not anachronistic AHCI/SATA designed for spinning rust decades ago)
tkaiser
 
Posts: 370
Joined: Mon Nov 09, 2015 12:30 am
languages_spoken: english
ODROIDs: C1+, C2, XU4, HC1

Re: N1? or N2?

Unread postby meveric » Wed Aug 08, 2018 11:21 pm

Probably, but dealing with the extremely slow C2 and it's USB2 BUS for a spinning HDD, compared to the N1 with SATA + SSD is already a big difference (probably about 10 times faster).
Aside from that, at some point the limiting factor is no longer the I/O but more likely the CPU/RAM.

These benchmarks are just that "benchmarks" they do not represent real-world use-cases and I/O speed is not everything that limits a systems performance ;)
Donate to support my work on the ODROID GameStation Turbo Image for U2/U3 XU3/XU4 X2 X C1 as well as many other releases.
Check out the Games and Emulators section to find some of my work or check the files in my repository to find the software i build for ODROIDs.
If you want to add my repository to your image read my HOWTO integrate my repo into your image.
User avatar
meveric
 
Posts: 8987
Joined: Mon Feb 25, 2013 2:41 pm
languages_spoken: german, english
ODROIDs: X2, U2, U3, XU-Lite, XU3, XU3-Lite, C1, XU4, C2, C1+, XU4Q, HC1

Re: N1? or N2?

Unread postby tkaiser » Thu Aug 09, 2018 12:33 am

meveric wrote:Probably, but dealing with the extremely slow C2 and it's USB2 BUS for a spinning HDD, compared to the N1 with SATA + SSD is already a big difference (probably about 10 times faster).


Sure, HDD suck at random IO. All of them: https://en.wikipedia.org/wiki/IOPS#Mech ... ard_drives

I doubt that an average 2.5" HDD in an external USB enclosure shows more than 150 4K random IOPS. Using the same interface (still USB2) and just replacing spinning rust with an SSD will already improve random IO performance by magnitudes. See the RPi 2 numbers for 'USB2 without UAS', see Pine64 numbers for USB2 with UAS. No idea whether UAS is available with mainline kernel on ODROID-C2 but anyway: just by replacing an HDD with an SSD even behind an USB2 bus this will improve stuff like linking by magnitudes (25 times faster):

Code: Select all
                      Random IO in IOPS     Sequential IO in MB/sec
                        4K read/write           1M read/write
RPi 2                     2525/2667                30 /  30
Pine64 (USB2/UAS)         2836/2913                42 /  41
...
ASM1061 performance       9820/16230              330 / 330
RK3399-Q7 (NVMe)         11640/36900             1070 / 1150


Sequential performance differences aren't important here, it's all about random IO. When you look at these numbers and compare an USB2 attached SSD with PCIe-SATA as on the N1 then there's not that much improvement compared to switching from spinning rust to an SSD while keeping USB2.

And true: benchmarks never tell the whole story. The further improved numbers when comparing ASM1061 with a SATA SSD with a great NVMe SSD masquerade that here something more important happens at several layers:

* AHCI used by SATA is an ancient protocol from the past made for spinning rust. It's highly inefficient to deal with fast flash storage since everything is serialized
* SATA is crippled compared to other protocols like SAS or NVMe (unidirectional while the better protocols can write and read at the same time. This makes a huge difference with such workloads on fast flash storage where exactly this happens: writes and reads on the same storage media at the same time, something my benchmark numbers don't tell. But better benchmark tools like fio with appropriate test profiles would do)
* NVMe deals much more intelligent with CPU ressources (less CPU utilization at same performance level) and also solves the problem of IRQ affinity since IRQ handling lands on the same CPU core where the app process needing I/O resides

Your use case would clearly benefit from using a really fast NVMe attached SSD. But compared to your old C2 setup simply replacing the HDD with an SSD would also already have improved things a lot. To use HDDs these days for anything other than 'cold storage' now that SSDs are that inexpensive is IMO insane :)
tkaiser
 
Posts: 370
Joined: Mon Nov 09, 2015 12:30 am
languages_spoken: english
ODROIDs: C1+, C2, XU4, HC1

Re: N1? or N2?

Unread postby vindicator » Thu Aug 09, 2018 4:18 am

@2ndSeb... GET OUT OF MY HEAD! :lol: (same)
vindicator
 
Posts: 137
Joined: Wed Feb 27, 2013 4:00 pm
languages_spoken: english
ODROIDs: U2, XU4

Re: N1? or N2?

Unread postby back2future » Thu Aug 09, 2018 10:07 am

@2ndSeb
You should never read any news about deca-core SoC's. :? :shock:

@tkaiser
While it's really interesting getting into these details 'bout hardware and design differences, there's probably more community interest with real world usages. Others like to compare kernel compile times. How about having a hardware benchmark kernel (module) compile routine, that is more comprehensive and comparable and could connect SoC vendor communities and OS related developers?
'bout Odroid: Service here is paid through hardware prices. That's ok with me.
naturally beYOnd spectrum
back2future
 
Posts: 76
Joined: Sun Jul 23, 2017 3:19 pm
languages_spoken: english

Re: N1? or N2?

Unread postby tkaiser » Thu Aug 09, 2018 2:31 pm

back2future wrote:While it's really interesting getting into these details 'bout hardware and design differences, there's probably more community interest with real world usages.


LOL!

As long as average users don't get the difference between sequential and random IO nothing will change (since users are constantly mislead, look at the wrong numbers and then wonder why their setup is too slow since 'specs match'). Board makers could educate but why? Their users don't care anyway and are happy looking at MB/s while for the majority of use cases they should look for high IOPS instead. Results as expected: confusion.

A nice approach to estimate 'server performance' is using the 7-zip benchmark score (I do this in my day job too for a decade with big iron running Linux, Solaris, macOS and Windows -- these numbers are usable). https://github.com/ThomasKaiser/sbc-bench

And since you mentioned 'kernel compile times'. That's Willy Tarreau's (Linux kernel maintainer) approach: http://wiki.ant-computing.com/Choosing_ ... build_farm (he's also the one who discovered Amlogic's firmware cheating on us with ODROID-C2 years ago).
tkaiser
 
Posts: 370
Joined: Mon Nov 09, 2015 12:30 am
languages_spoken: english
ODROIDs: C1+, C2, XU4, HC1

Re: N1? or N2?

Unread postby 2ndSeb » Fri Aug 10, 2018 2:05 am

tkaiser wrote: How/why do you expect people here being able to answer this question?

Never know who's roaming these paths... Also it didn't exactly stop you from contributing your two cents :D
2ndSeb
 
Posts: 5
Joined: Thu Apr 12, 2018 12:31 am
languages_spoken: english, german
ODROIDs: Odroid C2

Re: N1? or N2?

Unread postby back2future » Sat Aug 11, 2018 8:41 am

tkaiser wrote:
back2future wrote:While it's really interesting getting into these details 'bout hardware and design differences, there's probably more community interest with real world usages.


LOL!

As long as average users don't get the difference between sequential and random IO nothing will change (since users are constantly mislead, look at the wrong numbers and then wonder why their setup is too slow since 'specs match'). Board makers could educate but why? Their users don't care anyway and are happy looking at MB/s while for the majority of use cases they should look for high IOPS instead. Results as expected: confusion.

A nice approach to estimate 'server performance' is using the 7-zip benchmark score (I do this in my day job too for a decade with big iron running Linux, Solaris, macOS and Windows -- these numbers are usable). https://github.com/ThomasKaiser/sbc-bench

And since you mentioned 'kernel compile times'. That's Willy Tarreau's (Linux kernel maintainer) approach: http://wiki.ant-computing.com/Choosing_ ... build_farm (he's also the one who discovered Amlogic's firmware cheating on us with ODROID-C2 years ago).


That's good progress. Thx for the links.
While reading someone's question for odroid 'bout real time kernel for a pretty ordinary xu4, thought 'bout my problems with latencies from time to time. Takes some seconds until the whole system (bionic upgraded, X11 and Qt5 like described in exynos5422 section, still "odroid 4.14.43-138 #1 SMP PREEMPT") reacts again. Compiled a 4.14.x kernel with latencytop¹ enabled, but that did not boot. Needs debugging, but not worth the effort just for sometimes every hour not having to wait for some seconds :oops: First time experienced, thought it's a system freeze :shock:
Probably it's a file system problem, if ram is on high usage, combined with low budget usb 3.0 flash and some bandwith peak going on for swap file content being updated. Probably some random varying file size I/O.
But 'til now did not find a simple tool for verifying if that's a main reason.
So if there would be a kernel module, modprobe'ing/insmod'ing on a system that's "online" for checking such things, not depending on special cpu (because we're here for rk3399 or Next) or suitable os version, that would be somekind of cool?
Thanks for reading @all

[wanted to proof myself wrong and created swap files on same system, but different fs partitions and low available ram (web browser): just for fun and interested one's
list order was bench chronology

f2fs (2nd partition),
time dd if=/dev/zero of=./swap500M count=51200 bs=10k, real 0m7.688s (524288000 bytes) 5x (0m5.603s to 0m11.316s)
time dd if=/dev/zero of=./swap500M count=500 bs=1M, real 0m9.300s (524288000 bytes) 5x (0m4.782s to 0m15.041s, recovery time >15-30s improves results?)
time dd if=/dev/zero of=./swap500M count=50 bs=10M, real 0m5.078s (524288000 bytes) 3x

/dev/shm, (most fun, 24.8 MB/s to 419 MB/s )
time dd if=/dev/zero of=/dev/shm/swap500M count=51200 bs=10k, real 0m6.878s (524288000 bytes)
time dd if=/dev/zero of=/dev/shm/swap500M count=500 bs=1M, real 0m6.358s (524288000 bytes)
time dd if=/dev/zero of=/dev/shm/swap500M count=50 bs=10M, real 0m1.443s (524288000 bytes) (0m1.257s to 0m21.190s, but 3x(out of 5x) below 1.5s)

ext4 (3rd partition),
time dd if=/dev/zero of=./swap500M count=51200 bs=10k, real >0m4.878s(1st) (524288000 bytes) 5x (0m4.878s/0m9.014ss to 0m39.607s/1m9.731s)
sync, web broser closed, ~1600MB free ram,
time dd if=/dev/zero of=./swap500M count=500 bs=1M, real >0m6.255s (524288000 bytes) 5x (0m6.255s to 0m44.779s/1m24.868s)
time dd if=/dev/zero of=./swap500M count=50 bs=10M, real >0m5.013s (524288000 bytes) 5x (1m45.250s/~60s delay/0m4.855s/~10 delay/0m13.299s/~60s delay/0m5.013s/~10s delay/0m5.071s) , no case heat issues on usb 3.0 flash)
swapoff /dev/zram0 && swapon /dev/zram0 -p 3 ]

[ offtopic: 1) (4.14) kernel features talk viewtopic.php?f=146&t=31191 ]

DRAM market increase 2016 to 2017: almost double volume
https://www.nextbigfuture.com/2018/08/d ... -year.html
naturally beYOnd spectrum
back2future
 
Posts: 76
Joined: Sun Jul 23, 2017 3:19 pm
languages_spoken: english

Previous

Return to General Chat

Who is online

Users browsing this forum: No registered users and 2 guests