Das kann man auch aus verschiedenen Richtungen sehen, wäre es nicht möglich das die Board erst für das Unternehmen produziert wurden welches dann aber pleite ging weil es sich nicht gerechnet hat? Das Board ansich ist leistungsstark genug um damit einige Sachen zu machen und perfekt für so diy Leute wie uns 🙂
AtomicPi - USB3
-
Nachdem mein passiver USB3-Hub jetzt eingetroffen ist, mal ein Kurztest.
Software
- Debian Buster LXDE (alles aktuell)
Kernel
atomicpi@atomicpi:~$ uname -a Linux atomicpi 4.19.16-dli #20190221T111002Z SMP Thu Feb 21 11:21:31 UTC 2019 x86_64 GNU/Linux
Hardware
- AtomicPi
- passiver USB3-Hub (Anker)
- externes 2,5Zoll Gehäuse
- SSD 750 EVO 120G
externes USB-Gehäuse 1
556:[ 4.952802] usb 2-1.4: New USB device found, idVendor=4971, idProduct=8017, bcdDevice=81.04 557:[ 4.952818] usb 2-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 558:[ 4.952830] usb 2-1.4: Product: USB to ATA/ATAPI Bridge 559:[ 4.952838] usb 2-1.4: Manufacturer: JMicron 560:[ 4.952847] usb 2-1.4: SerialNumber: 111122223333
externer USB-Adapter 2
556:[ 4.984267] usb 2-1.4: New USB device found, idVendor=152d, idProduct=0578, bcdDevice= 1.00 557:[ 4.984281] usb 2-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 558:[ 4.984292] usb 2-1.4: Product: USB to ATA/ATAPI Bridge 559:[ 4.984301] usb 2-1.4: Manufacturer: JMicron 560:[ 4.984309] usb 2-1.4: SerialNumber: 0123456789ABCDEF
Test Nr.1
atomicpi@atomicpi:~$ sudo dd if=/dev/zero of=sd.img bs=1M count=4096 conv=fdatasync 4096+0 Datensätze ein 4096+0 Datensätze aus 4294967296 bytes (4,3 GB, 4,0 GiB) copied, 34,7662 s, 124 MB/s
Test Nr.2
atomicpi@atomicpi:~$ sudo dd if=/dev/zero of=sd.img bs=1M count=4096 conv=fdatasync 4096+0 Datensätze ein 4096+0 Datensätze aus 4294967296 bytes (4,3 GB, 4,0 GiB) copied, 32,5677 s, 132 MB/s
Fazit
Zur Erinnerung, mit einem USB2.0 Hub erreichte ich 34,8 MB/s. Bootvorgang
Also, ca. 4 mal schneller als USB2.0. Meine Hardware ist nicht die Beste, theoretisch müsste da deutlich mehr gehen. 300 MB/s sollte die theoretische Nutz-Datenrate sein.
https://de.wikipedia.org/wiki/Universal_Serial_Bus -
Auf meiner aktuellen Debian Buster Installation erreiche ich jetzt 203 MB/s.
root@debian:/home/frank# dd if=/dev/zero of=sd.img bs=1M count=4096 conv=fdatasync 4096+0 Datensätze ein 4096+0 Datensätze aus 4294967296 bytes (4,3 GB, 4,0 GiB) copied, 21,1178 s, 203 MB/s
-
@FrankM sagte in AtomicPi - USB3:
Auf meiner aktuellen Debian Buster Installation erreiche ich jetzt 203 MB/s.
root@debian:/home/frank# dd if=/dev/zero of=sd.img bs=1M count=4096 conv=fdatasync 4096+0 Datensätze ein 4096+0 Datensätze aus 4294967296 bytes (4,3 GB, 4,0 GiB) copied, 21,1178 s, 203 MB/s
Wenn das mit einer EVO750 mit 120 GB gemacht wurde, dann ist der Test leider relativ aussagelos, weil diese Samsung SSDs TurboWrite spielen und der Durchsatz nach n GB massiv einbricht (meine 750er EVO krebst dann bei nur noch 60 MB/s rum, wenn ich nicht richtig erinnere).
Kannst Du mal mit 16 MB blocksize und nur 1 GB testen bitte? Also
dd if=/dev/zero of=sd.img bs=16M count=64 conv=fdatasync iozone -e -I -a -s 512M -r 16384k -i 0 -i 1
(das zweite ist besser, weil testet beide Richtungen). Spannend wäre noch Ausgabe von
/proc/interrupts
vor und nach dem Benchmark. -
@tkaiser Ich habe mittlerweile eine andere SSD dran. Und zwar eine SanDisk Ultra 3D mit 1TB. Kann das aber auch gerne nochmal mit der anderen irgendwann testen
/proc/interrupts
CPU0 CPU1 CPU2 CPU3 0: 31 0 0 0 IO-APIC 2-edge timer 4: 0 0 733 0 IO-APIC 4-edge ttyS0 8: 0 0 0 0 IO-APIC 8-fasteoi rtc0 9: 0 0 0 0 IO-APIC 9-fasteoi acpi, INT0002 32: 0 0 0 0 IO-APIC 32-fasteoi 808622C1:00 33: 0 0 0 0 IO-APIC 33-fasteoi 808622C1:01 34: 0 0 0 0 IO-APIC 34-fasteoi 808622C1:02 36: 0 0 0 0 IO-APIC 36-fasteoi 808622C1:04 37: 0 0 0 0 IO-APIC 37-fasteoi 808622C1:05 38: 0 2 0 0 IO-APIC 38-fasteoi 808622C1:06 42: 0 0 0 0 IO-APIC 42-fasteoi dw:dmac-1 43: 0 0 0 0 IO-APIC 43-fasteoi dw:dmac-1 45: 0 0 0 1714 IO-APIC 45-fasteoi mmc0 46: 52 0 0 0 IO-APIC 46-fasteoi mmc1 89: 0 0 0 0 IO-APIC 89-fasteoi 8086228E:01 115: 0 0 0 0 PCI-MSI 458752-edge PCIe PME 116: 0 0 0 0 chv-gpio 15 intel_soc_pmic_chtdc_ti 123: 0 0 5422 0 PCI-MSI 524288-edge eth0 124: 0 131861 0 0 PCI-MSI 327680-edge xhci_hcd 125: 0 0 1599 0 PCI-MSI 32768-edge i915 126: 0 0 0 0 hdmi_lpe_audio_irqchip -hdmi_lpe_audio_irq_handler hdmi-lpe-audio 127: 0 0 0 0 INT0002 Virtual GPIO 2 ACPI:Event NMI: 2 2 1 1 Non-maskable interrupts LOC: 9203 11734 8709 7890 Local timer interrupts SPU: 0 0 0 0 Spurious interrupts PMI: 2 2 1 1 Performance monitoring interrupts IWI: 1 0 48 0 IRQ work interrupts RTR: 0 0 0 0 APIC ICR read retries RES: 3952 2242 3312 4006 Rescheduling interrupts CAL: 2979 2131 6069 5414 Function call interrupts TLB: 222 128 120 99 TLB shootdowns TRM: 0 0 0 0 Thermal event interrupts THR: 0 0 0 0 Threshold APIC interrupts DFR: 0 0 0 0 Deferred Error APIC interrupts MCE: 0 0 0 0 Machine check exceptions MCP: 1 1 1 1 Machine check polls HYP: 0 0 0 0 Hypervisor callback interrupts HRE: 0 0 0 0 Hyper-V reenlightenment interrupts HVS: 0 0 0 0 Hyper-V stimer0 interrupts ERR: 0 MIS: 0 PIN: 0 0 0 0 Posted-interrupt notification event NPI: 0 0 0 0 Nested posted-interrupt event PIW: 0 0 0 0 Posted-interrupt wakeup event
iozone
root@debian:/home/frank# iozone -e -I -a -s 512M -r 16384k -i 0 -i 1 Iozone: Performance Test of File I/O Version $Revision: 3.429 $ Compiled for 64 bit mode. Build: linux-AMD64 Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins Al Slater, Scott Rhine, Mike Wisner, Ken Goss Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR, Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner, Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone, Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root, Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer, Vangel Bojaxhi, Ben England, Vikentsi Lapa. Run began: Sat May 11 14:33:01 2019 Include fsync in write timing O_DIRECT feature enabled Auto Mode File size set to 524288 kB Record Size 16384 kB Command line used: iozone -e -I -a -s 512M -r 16384k -i 0 -i 1 Output is in kBytes/sec Time Resolution = 0.000001 seconds. Processor cache size set to 1024 kBytes. Processor cache line size set to 32 bytes. File stride size set to 17 * record size. random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 524288 16384 426033 430676 373225 430983 iozone test complete.
/proc/interrupts
CPU0 CPU1 CPU2 CPU3 0: 31 0 0 0 IO-APIC 2-edge timer 4: 0 0 733 0 IO-APIC 4-edge ttyS0 8: 0 0 0 0 IO-APIC 8-fasteoi rtc0 9: 0 0 0 0 IO-APIC 9-fasteoi acpi, INT0002 32: 0 0 0 0 IO-APIC 32-fasteoi 808622C1:00 33: 0 0 0 0 IO-APIC 33-fasteoi 808622C1:01 34: 0 0 0 0 IO-APIC 34-fasteoi 808622C1:02 36: 0 0 0 0 IO-APIC 36-fasteoi 808622C1:04 37: 0 0 0 0 IO-APIC 37-fasteoi 808622C1:05 38: 0 2 0 0 IO-APIC 38-fasteoi 808622C1:06 42: 0 0 0 0 IO-APIC 42-fasteoi dw:dmac-1 43: 0 0 0 0 IO-APIC 43-fasteoi dw:dmac-1 45: 0 0 0 1714 IO-APIC 45-fasteoi mmc0 46: 52 0 0 0 IO-APIC 46-fasteoi mmc1 89: 0 0 0 0 IO-APIC 89-fasteoi 8086228E:01 115: 0 0 0 0 PCI-MSI 458752-edge PCIe PME 116: 0 0 0 0 chv-gpio 15 intel_soc_pmic_chtdc_ti 123: 0 0 5748 0 PCI-MSI 524288-edge eth0 124: 0 150512 0 0 PCI-MSI 327680-edge xhci_hcd 125: 0 0 3245 0 PCI-MSI 32768-edge i915 126: 0 0 0 0 hdmi_lpe_audio_irqchip -hdmi_lpe_audio_irq_handler hdmi-lpe-audio 127: 0 0 0 0 INT0002 Virtual GPIO 2 ACPI:Event NMI: 2 2 2 1 Non-maskable interrupts LOC: 11174 13389 13014 9952 Local timer interrupts SPU: 0 0 0 0 Spurious interrupts PMI: 2 2 2 1 Performance monitoring interrupts IWI: 1 0 294 0 IRQ work interrupts RTR: 0 0 0 0 APIC ICR read retries RES: 4304 2485 3460 4075 Rescheduling interrupts CAL: 3232 2375 10793 5748 Function call interrupts TLB: 236 136 147 131 TLB shootdowns TRM: 0 0 0 0 Thermal event interrupts THR: 0 0 0 0 Threshold APIC interrupts DFR: 0 0 0 0 Deferred Error APIC interrupts MCE: 0 0 0 0 Machine check exceptions MCP: 2 2 2 2 Machine check polls HYP: 0 0 0 0 Hypervisor callback interrupts HRE: 0 0 0 0 Hyper-V reenlightenment interrupts HVS: 0 0 0 0 Hyper-V stimer0 interrupts ERR: 0 MIS: 0 PIN: 0 0 0 0 Posted-interrupt notification event NPI: 0 0 0 0 Nested posted-interrupt event PIW: 0 0 0 0 Posted-interrupt wakeup event
Und hier der andere Test
frank@debian:~$ dd if=/dev/zero of=sd.img bs=16M count=64 conv=fdatasync 64+0 Datensätze ein 64+0 Datensätze aus 1073741824 bytes (1,1 GB, 1,0 GiB) copied, 3,98859 s, 269 MB/s
-
@FrankM sagte in AtomicPi - USB3:
kB reclen write rewrite read reread 524288 16384 426033 430676 373225 430983
Danke für den Test. Das sieht doch sogar sehr sehr gut aus mit Werten um die 430 MB/s. Bedeutet auch, dass alle andere Performancewerte für die Plattform, die ich bislang im Netz gefunden habe, Schrott waren (User, die mit lahmen SSDs getestet haben oder in einem Modus, wo sowas wie TurboWrite zugeschlagen hatte).
Auch die IRQ-Affinity ist mit dem OS, das Du einsetzt, schon ideal:
vorher 123: 0 0 5422 0 PCI-MSI 524288-edge eth0 124: 0 131861 0 0 PCI-MSI 327680-edge xhci_hcd nachher: 123: 0 0 5748 0 PCI-MSI 524288-edge eth0 124: 0 150512 0 0 PCI-MSI 327680-edge xhci_hcd
Ethernet und USB3 werden auf unterschiedlichen CPU-Cores verarbeitet statt wie bei ARM fast immer alle auf
cpu0
zu landen.Ich wollte eigentlich mein UP Board (x5-Z8300) einem Freund schenken, weil ich bei dem Ding aufgrund dessen doofen MicroUSB3-Anschluß nie irgendwelchen USB3-Storage vernünftig zum Laufen bekommen habe (bekanntes Problem) aber ich glaub, ich geb dem jetzt nochmal eine Chance.
-
Nur falls das noch von Interesse ist, ich nutze da drauf im Moment ein Debian Buster 10 und zwar nicht das Image vom Hersteller (was für ein lahmer Download), sondern den offiziellen RC1 Release von Debian.
Läuft astrein, auch mit dem Gnome Desktop. Obwohl ich in dem Bereich ziemlich verwöhnt bin und das auf den Boards eigentlich nicht mag, weil fast immer viel zu lahm.
So unbekannte Quelle ist nicht unbedingt das was ich mir hier im Haus installieren will