ASUS PX24

While browing around for component parts for my NAS server, I came across a HTPC computer. This ‘mini-PC’ is aiming straight for my heart. It is the ASUS PX24 and it is so obviously made to be a living room PC. It was recently released in June 2008 and it sports some pretty impressive specs.

Firstly, the video graphics that it uses is the ATI HD3450, which is a R600 based graphics chip. This is capable of DirectX 10 and OpenGL 3.0 graphics acceleration. It comes with HDMI and DVI/VGA outputs.

Secondly, the processor. It comes with an Intel Celeron 220, which only runs at 1.2GHz. However, it’s main saving grace is that it has a TDP of only 19W. So, while the processor is not super fast, it is definitely enough to playback video content. Coupled with the graphics acceleration, it should be able to handle HD content.

Thirdly, the audio chip is the Realtek ALC888, which has full surround sound processing capabilities. It has both a S/PDIF optical output to interface with A/V equipment and regular analogue connections. As a bonus, it actually has speakers built into the front of the unit.

As an added touch, it includes a ‘slot loaded’ DVD drive, remote control and ‘touch sensitive’ buttons. The networking capabilities include a Gigabit network port and B/G wireless networking. Furthermore, it only weighs 1.5kg!

This is a serious contender for a sexy and quiet HTPC machine. It is available at Low Yat Plaza for only RM1500 (£290).

PS: Supposedly, it is made to only emit 26dB of noise, which is clearly under the quiet definition of 30dB. Sweet!

Edit: This guy has a detailed review of the PX24 plus lots of nice pictures including the remote control and hardware details.

Virtual Jurisdiction

kik

A random thought occurred to me while I was taking my morning shower. The thought wandered towards criminal activities and how the disconnect between technology and law can be used to the advantage of the criminals.

While encryption is a powerful tool that can be used, as the little comic above shows, it is most easy to compel the criminal to surrender the password or keys to decrypt the information. However, there is another bit of technology that will come in useful: virtual machines.

As the name suggests, a VM is a software implementation of hardware. It fakes software into thinking that it is running on real hardware. Simply put, it allows a virtual computer to run inside a real computer.

To the end user, a VM can behave just like the real thing. In fact, an entire industry has sprouted up in selling ‘virtual servers’ for people who wish to have their own servers. It is a cost saving measure as several virtual servers can share an actual server.

Now, the thing is a virtual server is just like any other software. In fact, Xen advertises the fact that they have live migration capabilities – the ability to transfer a running virtual machine from one real machine to another, via the network.

This means that a criminal, should do all of their illicit work in a VM. Then, when they law comes knocking, they can just transmit the VM to a machine located elsewhere. If the machine is located in an unfriendly foreign country, this will frustrate any attempt to retrieve vital evidence from the VM.

However, the authorities can still compel the criminal to transfer the VM back into the host country. C’est tres interessant, n’est pas?

Home NAS

I would certainly like to see the Atom platform available in multiple form factors. One particularly interesting product that I would like to see it in is a network storage server. In fact, a recent article has mentioned that the Atom platform is excellent for running a NAS.

However, the present offerings from Intel – D945GCLF and D945GCLF2 – only have two SATA ports on the board. This means that we are only allowed to add two harddisks to the system. This is definitely insufficient for any half decent file-server with failure protection.

The most common way of protecting against any harddisk failure is by using RAID. However, all RAID configurations require at least three harddisks except for RAID0 (striping) and RAID1 (mirroring).

RAID0 actually makes multiple disks look like one large disk and it spreads the data over the number of disks (striping). So, in actual fact, this does not provide any protection against disk failure at all. RAID1 makes exact copies of the data on multiple disks. So, it definitely provides protection against disk failure but it wastes a lot of disk space because the available space is reduced by half.

RAID5 is a very common configuration, which spreads the data across multiple disks (striping) and creates a checksum of the data as well. So, it protects against disk failure but it is also far more efficient as it only requires slightly extra space for storing the checksum (N-1).

A file server does not typically require a lot of processing power because file transfer speeds are essentially limited by the mechanical speed of the harddisk. Furthermore, it would spend a lot of time being idle, as most file transfers do not require the active participation of the processor. So, a low power platform would be a god-send.

VIA realises this and has already released actual products based on their C7 low power processor. The 7800 has 8-SATA ports for holding up to 8 disks and comes in a tower and rack-mount physical form factor. It also comes with two gigabit network ports for high speed file transfers.

This product is truly useful as a file server. The only trouble is that VIA products are not always easy to get retail. For some reason, they seem to prefer to sell chips than boxes. In addition, their products are not always cheap due to their lower sales volume.

So, if Intel can get off their asses and make a Atom based mini-itx board that has at least four SATA ports, they would have made a very compelling NAS board and they would steal a lot of customers away from VIA.

But I’m sure that Intel won’t do it any time soon.

HTPC Delay

Here I was, thinking that I would be going out to purchase my HTPC real soon, and then I read about potential desktops based on NVIDIA’s ION platform coming out in Q2. I was commenting to a friend the other day, that Intel should really come out with some good Atom products (read: HTPC) but NVIDIA is likely to beat them to it.

The NVIDIA ION platform is basically a PC platform that couples the Intel Atom processor with an NVIDIA chipset and graphics. The Achilles heel of the Intel platforms has been their main chipset and graphics. Essentially, the D945 chipset with GMA 950 graphics that it comes bundled with, truly sucks.

Now, with the ION, NVIDIA decided to couple in a 9400M series graphics processor. This is one of their latest generation graphics processors and is capable of video acceleration and cool OpenGL eye-candy. Needless to say, it will blow Intel’s chipset away, which is the reason why they have had some problems introducing their platform.

Intel does not like the idea of sharing. Intel likes the idea of owning everything. Presently, the only way to buy an Atom processor is to buy the whole shebang – motherboard, processor, chipsets – from Intel. Intel does not want to sell them individually.

However, according to the rumour, computer vendors will be negotiating with Intel individually, to buy Atom processors only. The rumour claims that desktops systems built using the ION platform should sell for under $300 but a lot of it depends on how willing Intel is to sell Atom processors.

Personally, I think that NVIDIA should just skirt the whole problem by making their own x86 processors. They have bought all the necessary technical expertise. The only kink is that they will be likely sued by Intel for their trouble. Alternatively, they could just merge with VIA and save both companies from ruin.

Seriously, both Intel and AMD have got processors, graphics and chipsets. Hence, they will both control entire platforms. NVIDIA was once the 800 tonne monster dubbed Graphzilla. It would be a shame to see them begging for scraps off Intel/AMD.

Anyway, due to the graphics performance of this system, it is likely that the first machines sold will be media-centric machines (read: HTPC). It would be great to have a Atom 330 processor coupled with the 9400M graphics and 2Gb of RAM.


On another note, I am planning to run XBMC or a derivative for the system software. While MythTV is very versatile, XBMC seems to be better suited to HTPC functions. I tried XBMC on a virtual machine the other day and it looked thoroughly swank.

Now, I only hope that the first machines will come out soon, and that they will be HTPC centric machines. This means that they should have 5.1 audio and SPDIF audio outputs along with HDMI video and RGB video outputs as well as a suitable DVD drive, network connection and USB ports.

Maybe that’s how the vendors will work it out with Intel – use Intel’s platform for netbooks and nettops while using NVIDIA’s platform for a whole slew of HTPC and other unique products. Afterall, the prototype board could fit in the palm of your hand. Therefore, it can be used to build all kinds of new and interesting applications.

GCC SNAFU

Show is not over yetI study microprocessor architectures for fun. One of the steps necessary to studying microprocessors is to have the necessary compilers to compile software for the microprocessor. The nature of the code generated reveals quite a lot of underlying detail about a microprocessor.

In order to compile software for another processor architecture, what is needed is a ‘cross-compiler’. Such a thing will allow a computer running on an Intel/AMD machine to compile software for other non-Intel/non-AMD processors (like the ARM processor that runs software for your mobile phone).

So, I have wasted the last few days trying to compile a number of cross-compilers for several microprocessor architectures. For some reason, they fail to compile and the failure is often due to a ‘buffer overflow’ error.

*** buffer overflow detected ***: mb-ar terminated
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6(__fortify_fail+0x48)[0x40128558]
/lib/tls/i686/cmov/libc.so.6[0x40126680]
/lib/tls/i686/cmov/libc.so.6[0x40125d68]
/lib/tls/i686/cmov/libc.so.6(_IO_default_xsputn+0xc8)[0x4009ba18]
/lib/tls/i686/cmov/libc.so.6(_IO_padn+0xed)[0x4008ee0d]
/lib/tls/i686/cmov/libc.so.6(_IO_vfprintf+0x27cf)[0x4007015f]
/lib/tls/i686/cmov/libc.so.6(__vsprintf_chk+0xa7)[0x40125e17]
/lib/tls/i686/cmov/libc.so.6(__sprintf_chk+0x2d)[0x40125d5d]
mb-ar[0x8050f52]
mb-ar[0x804f10b]
mb-ar[0x8051c40]
mb-ar[0x8058fc8]
mb-ar[0x804ba65]
mb-ar[0x804c7a0]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe5)[0x40044685]
mb-ar[0x8049a61]

Turns out, that the problem is due to a new feature introduced in the GCC compiler used in Ubuntu 8.10. It checks things during compilation to prevent potential problems when running the software. The simplest fix was to down-grade the GCC compiler on the system, which did the trick.

The reason that it took me so long to spot this problem was because, compiling cross-compilers has always been a tricky issue. It is sensitive to the combination of tools and versions selected, as well as the target and host architectures. So, I didn’t realise that something was amiss until something that should have worked right out of the box, did not.

So, it wasn’t a problem on my end at all. I guess that I’ll have to try to compile the cross compilers again. I’m trying to compile cross-compilers for the MIPS and M68K architectures (in addition to the one above). If it all works, I’ll be terribly happy.

Inaccurate Computing

Seeing that this is the first time that I got a special request for a blog entry, I thought I’d write about it. My friend pointed me towards this new microprocessor design that claims to be faster, cheaper and more efficient than today’s computers at certain kinds of tasks. This is wonderful news.

But first, some background.

Since the dawn of computation, we have always had to trade off speed and accuracy. This is simply a limitation of the finite number of bits used in computation. With only a limited number of bits, values have to be rounded off at some point. Also, if the number is too big or small for the number of bits used to store it, the number is typically truncated.

As for these bits, their 0 or 1 state is represented by a specific voltage level on a transistor. In the past, with 5V devices, the levels were set at 0 (0-0.7V) and 1 (4.3-5.0V). But with the low 1V used in devices today, the margin for error is reduced drastically. Therefore, it becomes troublesome to make consistently accurate devices. Lots of microprocessors get binned when they fail to produce accurate results.

However, there has also been some research into using these ‘faulty’ devices for computation in applications where accuracy is not paramount. An example is a JPEG image that can contain 16 million colours. However, these images are typically displayed on monitors with only 256 thousand colours. So, some loss of accuracy is certainly acceptable.

Now, I tried to look up some original papers on this particular technology by this particular group of people. However, these papers did not reveal the technology specifics. The best that I can do is guess at the kind of work that they’re doing.

By reducing the voltage of the processor, the power will be reduced by a square factor (halving the voltage will quarter the power). However, the problem is that the noise margin becomes significant and the ability to discern a 0 from a 1 on a transistor deteriorates. These processors will still produce correct results, but not all the time, that’s all.

By increasing the switching frequency of the processor, the power consumption will increase linearly (doubling the frequency doubles the power). However, there is also a maximum speed at which a transistor can switch voltage levels. Therefore, by lowering the voltage, we can technically switch the transistors sooner, hence faster.

However, if a way is found to tolerate these inaccuracies, we would be able to run processors at a faster switching speed and lower voltage.

One way of doing this is through the use of redundancy. This particular article does not make clear of whether this is the method chosen. However, it maybe something similar. If we built three adders instead of one, and chose the correct result based on the majority vote of these adders, we would be able to tolerate the inaccuracies in each individual adder, while still getting meaningful results at the end.

Although using three address triples the size of the chip (which triples the power consumption and cost), this can be traded off. Power consumption is still a win as any reduction is a square factor while any increase is linear. Cost can be reduced by using an older and cheaper manufacturing process. The point is that these factors can be traded off.

So, that’s my read of the technology (my limited read of it anyway).

KLCC Kinokuniya

I had reason to be in KLCC today. Since I’ve not been there in almost 5 years, I decided to just have a look around. Surprisingly little has changed in Suria KLCC though. Almost every store that was once there, is still there and additions have been few.

I took the opportunity to visit the concept stores from Sony and LG. The 70″ LCD-TVs are certainly eye-catching. I would love to have one of those things in my living room. However, the price tag starts at RM70,000 (£13,000) and is a tad prohibitive for me. However, I’ve noticed that their 32″ LCD panel prices are pretty slick. The ones with 1080p resolution are priced modestly at around RM2,300 (£430). Not too shabby, I think.

After lunch, I visited Kinokuniya to browse through their books. Their prices are surprisingly cheaper than that of Borders or MPH. They’ve also got a much better selection of scifi books than the other two. I was also incredibly impressed by their customer service.

I approached the information counter to ask about a book: “Anathem” and the service personnel asked me: “Neal Stephenson?”. I’m surprised that she even knew which book I was talking about and the author. She told me that it was out of stock but she took down my phone number and said that they will contact me when they get the stock. Sweet! Their quoted price of RM70 was also cheaper than the prices elsewhere.

In the end, I ended up buying a book by Ian Banks. I’ve read a few of his non-scifi books and have been quite impressed. Since he is actually famous as a scifi writer, I thought that I’d give one of his books a try. If I like it, I would have another author for me to read on top of Gibson, Reynolds and Stephenson.

Plus, I ran into a former uni-mate while having lunch. How random is that?