A good "second board" for learning
Paw Prints: Writings of the maddog
It is not often that I point to a specific product, slap my forehead and make a snap buying decision. It is even less common for me to pay for something I know I will not get for a couple of months, but last night a friend of mine, Lucas Teske wrote to me and pointed me towards the Adapteva board.
I had looked at this board when they had their kickstarter going, but as Lucas and I discussed it, and particularly in light of my work with both Linaro (on performance improvements) and Project Caua (on economic computing), I started to get more interested, then excited. By the end of the night I had purchased one of the Zynq 7000 units (there is a unit based on the Zynq-7010 and one on the Zynq-7020), complete with GPIO pins.
When you first read the description of the whole board you see the "dual-core ARM-9 architecture" then you see the "16 or 64 cores" and the low power utilization, and you think "cool".
But the (typically) top line in the description is deceiving (in a good way):
which includes NOT ONLY the “dual core ARM A9 CPU”, but also (in the configurations on the Adapteva board) a Field Programmable Gate Array (FPGA) and some Digital Signal Processing (DSP) “slices”. Then when you tie these together with the 16 or 64 core array, you start to see the computing power of this board that draws less than five watts. Then you tie it to the set of GPIO pins that could match up with an Arduino, and the world of interesting programming starts to come alive.
It is not just the computing power, however, but the learning potential that interests me. At a time when some universities are backing away from teaching assembly language or computer architecture, these types of machines are coming out at a price that any school could afford one, even if they are still out of the range of some students in developing nations.
The open source nature of this board and the development tools is also great.
With this board you can practice programming multi-threaded applications, applications that could utilize an FPGA, DSP applications, and a raft of other applications that given a “standard” CPU would be slower than molasses on a cold day. You could look at the tradeoffs of decomposing your application for running on a passively parallel system (later being able to “upgrade” to a 64-core system as they are available) or stay with a single-threaded application.
For those of you who are looking at buying a Raspberry Pi (or the Arduino or the BeagleBoneBlack, or any of the other fine “development” boards) please do not let this persuade you from that first step. This board may still be a little expensive for the things those other boards were designed to handle. Certainly there is a HUGE amount that a beginning programmer can learn from any of those boards using Free Software.
But just as I recently said that “shell” is good as a first language and assembly would be good as a third language, as a second board this is very interesting.
I will not be getting one of these until October, but when I do get it I will be incorporating it into my performance talks and work.
Carpe Diem!comments powered by Disqus
Mozilla’s script blocker add-on could be putting malware sites on the whitelist.
The Internet community officially banishes the notoriously unsafe Secure Sockets Layer protocol.
Popular desktop environment continues the Gnome 2 legacy – with new support for the Gnome 3 toolkit.
The Obama White House has issued a memorandum telling all US government agencies they must use HTTPS for all websites and web communication.
New program will dial up security for the Firefox browser.
Red Hat's community distro embraces the cloud.
New partnership will bring more and better CS training to US schools
Criminals offer online help over Tor network
Sophisticated malware is still present on Joomla and WordPress sites around the world.
Future versions of Ubuntu's code service will support the popular Git version control system used with Linux and other open source projects.