stevepedwards.com/DebianAdmin linux mint IT admin tips info

How Slow Can You Go? Old and New Tech Moore’s Law Comparison – Hard Drives

A simple, quick and dirty comparison of disk transfer speeds alone for a given system really shows the increase in performance/cost in the last 10-15 or so years, for newer tech over older, as you would expect.

You get a lot more for your money than you paid for in the past for sure, and we're told Moore's Law still applies...for a time yet anyway.

This simple test on your hard drives alone using DD really shows this – it's quite revealing and a good introduction for know nothing beginners like me into the world of Brendan Gregg's “System Performance” book - discovered since tripping over Flame Graphs recently.

I did two readings of the same amount of data (see the Bits to GB in 200 yrs Post for the reasons) for 2 different block sizes – each being disk IO and ext4 FS IO blocks – as each is default block sizes for each system – hard disk sectors (512k) and ext4 FS blocks (4096k).

I got each PC system's specs using:

lshw > lshw.txt

cat lshw.txt

cat /proc/cpuinfo

cat /proc/meminfo

My home network (not including the PiCams) comprises 3 x decade old towers and a newer 2014 laptop:

Dell Inspiron 531 Dual Core AMD 64, 2800MHz, 66MHz mem bus, 6GB ram, SATA

stevee@DELLMINT ~ $ sudo time dd if=/dev/sdb of=/dev/null bs=512k count=8k

8192+0 records in

8192+0 records out

4294967296 bytes (4.3 GB) copied, 3.18326 s, 1.3 GB/s

0.00user 3.17system 0:03.18elapsed 99%CPU (0avgtext+0avgdata 2396maxresident)k

stevee@DELLMINT ~ $ sudo time dd if=/dev/sdb of=/dev/null bs=4096k count=1k

1024+0 records in

1024+0 records out

4294967296 bytes (4.3 GB) copied, 4.52373 s, 949 MB/s

0.00user 4.51system 0:04.52elapsed 99%CPU (0avgtext+0avgdata 5972maxresident)k

HP Pavilion 4450e AMD Dual Core 64, 2300MHz, 66MHz mem bus, 4GB ram, SATA

stevee@hpmint ~ $ sudo time dd if=/dev/sda of=/dev/null bs=512k count=8k

8192+0 records in

8192+0 records out

4294967296 bytes (4.3 GB) copied, 52.6753 s, 81.5 MB/s

0.03user 13.13system 0:52.67elapsed 24%CPU (0avgtext+0avgdata 2472maxresident)k

stevee@hpmint ~ $ sudo time dd if=/dev/sda of=/dev/null bs=4096k count=1k

1024+0 records in

1024+0 records out

4294967296 bytes (4.3 GB) copied, 52.6704 s, 81.5 MB/s

0.00user 13.02system 0:52.68elapsed 24%CPU (0avgtext+0avgdata 5988maxresident)k

HP Pavilion Intel Celeron M 1 Core 32, 1729MHz, 66MHz mem bus, 1GB ram, SATA

stevee@minimint ~ $ sudo time dd if=/dev/sda of=/dev/null bs=512k count=8k

8192+0 records in

8192+0 records out

4294967296 bytes (4.3 GB) copied, 65.9324 s, 65.1 MB/s

0.02user 9.24system 1:05.94elapsed 14%CPU (0avgtext+0avgdata 2224maxresident)k

stevee@minimint ~ $ sudo time dd if=/dev/sda of=/dev/null bs=4096k count=1k

1024+0 records in

1024+0 records out

4294967296 bytes (4.3 GB) copied, 65.2729 s, 65.8 MB/s

0.01user 9.26system 1:05.29elapsed 14%CPU (0avgtext+0avgdata 5856maxresident)k

HP AMDA8 1GHz Quad Core laptop, 8GB of RAM

stevee@AMD ~ $ sudo time dd if=/dev/sda of=/dev/null bs=512k count=8k
8192+0 records in
8192+0 records out
4294967296 bytes (4.3 GB) copied, 1.90725 s, 2.3 GB/s
0.02user 1.85system 0:01.94elapsed 96%CPU (0avgtext+0avgdata 2480maxresident)k
56inputs+0outputs (1major+231minor)pagefaults 0swaps

stevee@AMD ~ $ sudo time dd if=/dev/sda of=/dev/null bs=4096k count=1k
1024+0 records in
1024+0 records out
4294967296 bytes (4.3 GB) copied, 4.31196 s, 996 MB/s
0.00user 4.26system 0:04.31elapsed 99%CPU (0avgtext+0avgdata 6112maxresident)k
0inputs+0outputs (0major+617minor)pagefaults 0swaps

Why did I do this and what does it tell?

It's a simple reference for a few things actually - if not precise, as a 2nd pass "warms" the CPU cache so runs a LOT quicker than the first in most systems as the program and data is in memory already. If 2nd passes or more are done for all PCs though, it is still an "average" indication of system differences.

The obvious one is the data transfer rate from the drives for the same amount of data (4.3 GB) for each case for each PC.

The interesting parts are the MASSIVE difference in the time it takes for these transfers and the CPU usage for the faster machines being at almost full CPU utilization to send that data because the SATA bus and hardrive combination can request it at a fast enough rate to push up the CPU workload.

That's interesting in itself with newer tech because it shows how much SATA drives/bus speeds have increased in recent years, compared to older tech, where they were the real bottleneck, as they hardly push the CPU of the old 32 bit Celeron, (yet slightly faster at 1729 MHz than the 1000 MHz laptop Quad, but only 1 core and 32 bit only of courseat all at only 14% utilization!

AMDA8Dell 64 bitHP Pav 64 bitHP Pav 32 bit
Cpu Utilization99%CPU99%CPU 24%CPU14%CPU
Time elapsed3.6 secs avg3.8 secs avg52.68 secs1:05 = 65 sec
Transfer rate

Tr Rate SSD Drive

Time elapsed

Cpu Utilization 

Intelmint

SCSI Transfer rate

1.4 GB/s avg

 

 

 

 111.33 s; 11%CPU

38.6 MB/s

1.1 GB/s avg

 

81.5 MB/s

186 MB/s/ 228 MB/s

 23.1328 s/ 18.8273 s 

45%CPU/ 51%CPU

65.4 MB/s avg

 

 

 

 

 

21/9/16 Added an SSD 120GB SATA drive to HP Pav - an improvement from 81 to 200MB/s...so yeah!

sudo time dd if=/dev/sdf1 of=/dev/null bs=512k count=8k
8192+0 records in
8192+0 records out
4294967296 bytes (4.3 GB) copied, 23.1328 s, 186 MB/s
0.05user 10.41system 0:23.15elapsed 45%CPU (0avgtext+0avgdata 2416maxresident)k
8388856inputs+0outputs (1major+232minor)pagefaults 0swaps

sudo time dd if=/dev/sdf1 of=/dev/null bs=4096k count=1k
1024+0 records in
1024+0 records out
4294967296 bytes (4.3 GB) copied, 18.8273 s, 228 MB/s
0.00user 9.72system 0:18.84elapsed 51%CPU (0avgtext+0avgdata 6064maxresident)k
8388856inputs+0outputs (1major+617minor)pagefaults 0swaps

The result I want to highlight here the most though, is the user wait time experience differences from the worst to best case – about 4 secs for the laptop and 65 secs for the 32 bit Celeron – a simple ratio shows the increase in overall processing ability for today's laptops in comparison:

65secs / 3.6 secs ~ 20 fold increase in user experience performance!

Given that Moore's Law states an approximate doubling of hardware performance per halving of size roughly every 2 years, the 20 fold performance increase over the last decade for the ages of the tech is about right! 20/10 years = 2.

According to this article – it's still a remarkably linear relationship 50 years on:

http://www.computerhistory.org/atchm/moores-law50-the-most-important-graph-in-human-history/

moorelaw.png

The final thing this shows is that I must have a really crappy old SATA drive or a crap motherboard SATA controller in the HP 64 dual core as it should be comparable to the Dell but is closer in performance to the Celeron for drive transfer rate! I'll have to check that out...(turned out it was no hardware driver for the vid card which massively loads the CPU (80% or so!) to compensate for the software only driver...)

I want to know how SCSI disks compare with this test also, as SCSI historically was probably the main disk types used on most linux servers in the past due to their speed, build quality, lifespan and robustness. I dug out some old Ultra320 36GB disks I have with a PCI SCSI card and discovered another function in Disks. As SCSI does not have SMART functions, Disks can use the graphical display for benchmarking SCSI disks:

scsi.png

An interesting graph! I assume it jumps the head to random sectors to measure the average seek, write and access times?

So how do they compare to modern drives? Slow!! The PCI controller and the SCSI card has to be considered here also.

sudo time dd if=/dev/sdc of=/dev/null bs=512k count=8k

8192+0 records in
8192+0 records out
4294967296 bytes (4.3 GB) copied, 110.921 s, 38.7 MB/s
0.01user 12.18system 1:50.93elapsed 10%CPU (0avgtext+0avgdata 2528maxresident)k
8388976inputs+0outputs (1major+234minor)pagefaults 0swaps

sudo time dd if=/dev/sdc of=/dev/null bs=4096k count=1k

sudo time dd if=/dev/sdc of=/dev/null bs=4096k count=1k
1024+0 records in
1024+0 records out
4294967296 bytes (4.3 GB) copied, 111.426 s, 38.5 MB/s
0.00user 12.41system 1:51.43elapsed 11%CPU (0avgtext+0avgdata 6152maxresident)k
8388192inputs+0outputs (1major+1130minor)pagefaults 0swaps

After a reformat to ext4? No difference...and they are noisy/whiny compared to today's SATA drives which are pretty silent.

sudo time dd if=/dev/sdc of=/dev/null bs=512k count=8k
8192+0 records in
8192+0 records out
4294967296 bytes (4.3 GB) copied, 111.33 s, 38.6 MB/s
0.03user 12.32system 1:51.34elapsed 11%CPU (0avgtext+0avgdata 2464maxresident)k
8388872inputs+0outputs (1major+232minor)pagefaults 0swaps

Comments are closed.

Post Navigation