This document contains only my personal opinions and calls of judgement, and where any comment is made as to the quality of anybody's work, the comment is an opinion, in my judgement.
[file this blog page at: digg del.icio.us Technorati]
So I have got some time ago a 9 cell battery for my laptop and started using it more carefully than the previous 6 cell one to avoid it losing capacity faster than its natural rate. How it been so far? I bought it in mid-December 2008, that is exactly 6 months ago, and at after 2 months I started doing occasional logging of its maximum capacity and the dates and numbers are:
090226: Last full capacity : 7800 mAh 090228: Last full capacity : 7800 mAh 090304: Last full capacity : 7800 mAh 090311: Last full capacity : 7800 mAh 090322: Last full capacity : 7502 mAh, 96.18% of design capacity 090324: Last full capacity : 7502 mAh, 96.18% of design capacity 090326: Last full capacity : 7502 mAh, 96.18% of design capacity 090331: Last full capacity : 7502 mAh, 96.18% of design capacity 090407: Last full capacity : 7502 mAh, 96.18% of design capacity 090409: Last full capacity : 7502 mAh, 96.18% of design capacity 090415: Last full capacity : 7502 mAh, 96.18% of design capacity 090416: Last full capacity : 7502 mAh, 96.18% of design capacity 090417: Last full capacity : 7502 mAh, 96.18% of design capacity 090418: Last full capacity : 7502 mAh, 96.18% of design capacity 090419: Last full capacity : 7502 mAh, 96.18% of design capacity 090421: Last full capacity : 7502 mAh, 96.18% of design capacity 090423: Last full capacity : 7502 mAh, 96.18% of design capacity 090428: Last full capacity : 7502 mAh, 96.18% of design capacity 090507: Last full capacity : 7502 mAh, 96.18% of design capacity 090512: Last full capacity : 7502 mAh, 96.18% of design capacity 090521: Last full capacity : 7502 mAh, 96.18% of design capacity 090527: Last full capacity : 7502 mAh, 96.18% of design capacity 090604: Last full capacity : 7300 mAh, 93.59% of design capacity 090611: Last full capacity : 7300 mAh, 93.59% of design capacity 090615: Last full capacity : 7300 mAh, 93.59% of design capacity 090617: Last full capacity : 7300 mAh, 93.59% of design capacity 090618: Last full capacity : 7300 mAh, 93.59% of design capacity 090619: Last full capacity : 7300 mAh, 93.59% of design capacity
It looks like it is losing around 3% every two months, or 7% in 6 months. That is quite reasonable, and a whole lot better than the capacity decay rate with my previous usage pattern.
However I have had several instances where my laptop switched off when after plugging it into mains I removed the battery to prevent it from being recharged and to keep it cooler. Overall this has not been an issue, even if it seems fairly random (I suspect some firmware bug, as in those case the light that says power is coming from the battery remains on even if it is removed and there is mains power).
My standard computer and network deployment template is that of a local internet composed of relatively small (a few dozen nodes and users) and simple LANs that have local servers and connect to one or more backbone ntworks with global communication servers. The goal is to minimize dependencies via location and replication of servers.
The crucial assumptions are that interruptions in gloobal services (e.g. email forwarding) are motre tolerable than those in local services (e.g. mail sending and mailbox storage) and that usage patterns and thus servers and networks are partitionanble. Another assumption is that when some problem happens it is easier to analyze and resolve in the context of a small simple LAN than a complex global one, and similarly for maintenance.
The question then is how often and practical is to partition large users communities into smaller simpler ones, and the answer is that for many important case it is quite easy.
The typical examples that occur to me are communities of office users, of programmers, of science researchers. In all these cases there are two important aspects:
The latter point is very important: for many categories of users interaction via a shared repository is simply not necessary. This is largely because critical shared repositories are rarely needed. For example, user home directories can well be partitioned on several servers, as in many cases users exchange files via other means than copying from one home directry to another, and even if that is desired, each client can mount multiple file servers.
I have already remarked that currently just about the only
sensible way to backup a disk drive is
to another disk drive
both because of cost and speed. As to the latter the
1TB drives that I recently bought
allow me to do quite fast disk-image backups, for example (on
the outer tracks) using a
dd pipe (with both
dd instance with flag
'/dev/sdb3' to '/dev/sdd3': 13868+1 records in 13868+1 records out 14542295040 bytes (15 GB) copied, 131.4 seconds, 111 MB/s 13868+1 records in 13868+1 records out 14542295040 bytes (15 GB) copied, 131.402 seconds, 111 MB/s
That feels like a nice improvement on the 250GB drives I bought a couple of years ago.
In the past few weeks I have done a massive upgrade to my main desktop PC, which has taken a lot of time mostly because it has involved a reorganization of my disk filesystems, to resize and move them around. Also the PSU had to be replaced. Also, one of the drives turned out to have developed some defective blocks, so that required some restoration from backups. I also decided to install on it CentOS 5 instead of Fedora (I was still on version 8). Overall I probably spent 5-6 days on it, most of that copying filesystem around and testing disk drives.
The current configuration has:
This case is small and very cheap. A bit cramped, but fairly convenient, and has excellent airflow with a front and back 120mm fans, which are very quiet spinning at 1000RPM. Also both fixing cards and hard disks does not require screws.
The major defect is that the cool front cover blocks the fron fan intake and raises disk temperatures by around 15C. I don't mind taking off the front cover, but it is such a stupid idea.
This motherboard is based on the AMD 790GX chipset and it has a built in HD3300 GPU, and some cool features such as FireWire, HDMI, DVI, eSATA sockets. Most importantly it also supports the EDAC feature of the memory controller in recent AMD CPUs.
The price if fairly low considering that the built-in GPU is not too bad (can run Doom3 engine based games fairly well), is quite quiet (no need of graphics card cooling if one is happy with the built-in GPU), and it has a lot of ports. It also supports two PCIe x8 slots, which can be useful not just for dual graphics cards, but also for having two 4x or 8x cards, such as network or storage cards.
It is somewhat disappointing that none of the onboard sensors are supported by the Linux sensors package, which means that one is blind to environmental conditions.
I think that the sound chip is also not supported by current ALSA versions, and there is not yet a Linux driver for the network chip, but that does not matter to me as I use a CMI9738 based sound card and an Intel e1000 based network card anyhow.
This CPU has impressed reviewers, and has a fairly competive pricing. The 3rd level cache is 6MiB, which is quite generous, and the same quantity as for the 4-CPU variant. A 3 CPU chip seems to me a good deal as very few applications can use 2 CPUs, never mind 4. 3 CPUs allows one to run the applications that are optimized for 2 CPUs plus a foreground task.
Since this CPU is built with a recent 45nm process and is carefully designed it seems to consume not much current and to run faily cool, and the AMD provided heatsink and fank seem fairly quiet and effective. It has some nice details, for example each CPU can run at several frequencies between 800MHz and the top 2800Mhz, which of course allows for significant power saving during interactive use.
It is a bit disappointing that the Linxu kernel does not seem to support yet the EDAC for this K10 generation chip.
Overall my impression is quite positive, both in terms of absolute performance and in terms of the price paid for it. The most impressive features are how quiet the system is, thanks to the large slow moving case fans, the low power consumption of the CPU, and the absence of a graphics card and its whiny fan.
One of the most impressive numbers is the memory bandwidth,
which is implicit in the figure reported by
hdparm for page cach IO. While my laptop and
previous desktop can read from the page cache at slightly less
than 1GiB/s, the Phenom X3 and the 790GX chipset allow reading
at 7.5GiB/s. Note that reading from the Linux page cache is
significantly smaller than the raw memory bandwidth.
The memory bandwidth improvement is sensational (and vry welcome as UNIX style operating systems like Linux can be fairly memory bandwidth bound), and the absolute value is very impressive too, as I see slightly less at 6.9GiB/s on a server class Dell PowereEdge 2950 system with 3GHz < Xeon 5160 CPUs, and 12GiB/s on a more recent system from SuperMicro with 2.5GHz Xeon 5420 CPUs.
The hard drive I had put in my laptop has developed 4 areas with many bad blocks (probably because of my rough usage) so I decided to replace it (even if overall the percentage of bad blocks is minuscule). My nice Toshiba U300 came originally with a 160GB drive from Fujitsu (not a Toshiba drive, as the laptop is actually manufactured by Compal like the HP Omnibooks). I wanted to upgrade that so I bought a very nice Toshiba 250MB external USB product (as it was cheaper than the bare drive, which happens quite often recently), hoping that since it was designed to be portable and powered off a USB cable it would be particularly robust and with low power consumption, and it has been pretty good.
This time however I wanted to chance something faster, so I looked at flash drives, finding a fairly good deal, where a Corsair (relabeled from Samsung) 64GB flash drive would cost around £120, but I decided to buy another 250GB disc drive as a temporary solution for around £50-60 until then price of larger flash drive would come down. I had then some regret as I found later that a similar 128GB flash drive would cost around £170. Both drives seem to be able to do 90MB/s reading and 70MB/s doing streaming bulk transfers.
But then 250GB hard disc drive, a Seagate Momentus 7200.3 arrived, the one I had chosen as I wanted to try a 7200RPM 2.5" drive and it seemed to draw relatively low power.
It turned out to be amazingly fast too, at around 90MB/s reading and 80MB/s writing (directly on the block device) the outer tracks. These transfer rates are as good or better than equivalent 3.5" drives, and with power consumption of 5W during startup and 2-2.5W during operation.
For comparison, some simple transfer rate tests across my 2 desktop PCs and my laptop. The first test is my laptop, which has a C2D CPU at 1.5GHz with DDR2-667 memory, and the Momentus 7200.3 2.5" 7200RPM SATA II drive mentioned above:
# hdparm -tT /dev/sda /dev/sda: Timing cached reads: 1714 MB in 2.00 seconds = 857.41 MB/sec Timing buffered disk reads: 256 MB in 3.00 seconds = 85.27 MB/sec
Then there is an Athlon 64 2GHz with 64 bit DDR-400 memory, and a Seagate ST3250823A 3.5" 7200RPM 250GB ATA drive:
# hdparm -tT /dev/hda /dev/hda: Timing cached reads: 1996 MB in 2.00 seconds = 997.37 MB/sec Timing buffered disk reads: 200 MB in 3.02 seconds = 66.13 MB/sec
Then the most recent, a Phenom X3 2.8Ghz with DDR2-800 memory, with a 3.5" 1TB Hitachi GST 7200RPM SATA II HDT721010SLA360:
# hdparm -tT /dev/sdd /dev/sdd: Timing cached reads: 15000 MB in 1.99 seconds = 7519.65 MB/sec Timing buffered disk reads: 330 MB in 3.00 seconds = 109.96 MB/secand a 3.5" 500GB Western Digital 7200RPM SATA II WD5000AAKS:
# hdparm -tT /dev/sda /dev/sda: Timing cached reads: 14952 MB in 2.00 seconds = 7494.02 MB/sec Timing buffered disk reads: 284 MB in 3.02 seconds = 94.16 MB/sec
Also using Bonnie 1.4 for comparison with recent tests with it on the same or similar drives:
.... Using O_DIRECT for block based I/O Writing with putc()... done: 29027 kB/s 75.7 %CPU Rewriting... done: 25084 kB/s 1.7 %CPU Writing intelligently... done: 84726 kB/s 2.0 %CPU Reading with getc()... done: 12125 kB/s 53.0 %CPU Reading intelligently... done: 84643 kB/s 1.5 %CPU Seek numbers calculated on first volume only Seeker 1...Seeker 2...Seeker 3...start 'em...done...done...done... ---Sequential Output (nosync)--- ---Sequential Input-- --Rnd Seek- -Per Char- -DIOBlock- -DRewrite- -Per Char- -DIOBlock- --04k (03)- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU tree.t 4* 400 29027 75.7 84726 2.0 25084 1.7 12125 53.0 84643 1.5 178.2 0.7
The 2.5" drive is nearly as fast (at sequential transfers) as the 1TB 3.5" drive, and has a random seek rate slightly higher than the 3.5" 500GB drive.
Looking at these numbers and the detailed specs it has much the same transfer rate and seek rate, lower capacity, much lower startup and operating currents, much higher shock resistance, much lower noise than recent 3.5" drives. So I am farily happy about it, even if I would have preferred to buy the version with anti-shock locking built-in.
However I shall buy a flash drive to replace it when the 250GB ones will drop in price to £250 or less. Sure, a lot more expensive, but the resistance to shock is rather important (this is the second laptop drive that I had to replace because of rough handling).