Nerdasm | The Climax of Geeky Excitement

CAT | Computer Hardware

Carnegie Mellon University and Intel’s lab in Pittsburgh have been teaming up over the last few years to work on Programmable Matter (known more commonly as Claytronics). The idea here is to create a technology that can shift it’s physical form and density to produce a mass of very small computers that can form a variety of shapes as directed by the user. The example I keep running across as I look further into these is a smartphone that goes down to it’s smallest possible size for storage (either in the ear or a pocket). Then once the user wants to make a call it reforms itself to become a more common sized and usable phone. Then if the user wants to use the internet or e-mail the device could reform once again to become a netbook. Another idea that I saw in a video that is less technologically complicated is a recliner that becomes a chaise lounge when desired.

Right now development looks to be at a stage where the team has cylinders around 2 inches in diameter and looks like 3 – 4 inches in length. They are controlled through a wire not wirelessly as would be desired, but the hardware they do have is still an interesting display of concept. These devices are patched full of magnets needed to keep the units together and the associated circuitry to take commands from the team’s input device. The team has several papers and video’s on there website that shows rather impressive development in the hardware aspect of this technology.

Being the software geek that I am the part of this that I see as really cool is that the software guys on the team have developed proprietary languages to control the movement of the catoms (claytronic atoms, witty ha?). The team has displayed the ability to make drastic transformations in shape with jut a few pages of code. Meld is the language that they have created to control the large scale movement of a network of catoms. According to the team page a user can do in one page of Meld what would take 20 to 30 pages of C++ by allowing the user to concentrate on the global level change in the network and not have to hand code the commands for each individual catom. LDP (Locally Distributed Predicates) is another language that they developed this one aimed more at pattern matching and other more specific things giving the programmer more control over what the catom’s do or look like once they reach the shape that they have been instructed. The couch example probably could be done solely with Meld while the smartphone one would certainly require LDP to make sure that the brains of the device stayed together.

This really has some neat possibilities. I highly recommend the videos on the Carnegie Mellon website (especially the one on their homepage) because they show some very awesome possibilities. The development timeline the I keep finding is to have a marketable product in three to five years, I think that’s a rather optimistic timeline but I will be watching the developments for sure.

Links:

Carnegie Mellon’s website dedicated to Claytronics

Very cool Claytronics concept video

, , , , Hide

This one doesn’t relate to the every day user but still is pretty cool. SolarNetOne utilizes solar-power, long distance wireless networking, and Ubuntu to literally make a wireless hotspot anywhere the sun shines. Their kit comes with solar panels, batteries, a server and all necessary routing paraphernalia, and workstations withinput devices and monitors, literally everything you need. Here’s a handy diagram out of Martin Streicher’s article SolarNetOne: Solar-powered networking for anyone (linked below), dotted lines are the flow of electricity, solid lines are internet signal:

SonalNetOne server diagram

As you can see this is a very scalable system, listed capacity is 50 workstations pulling a mere 12.5 watts each while in use (8 of those watts are in the monitor).The cost for the kit is listed at $15k, but there’s no mention of how many workstations are provided for the price. Another nice thing about this system is the use of off the shelf parts in the server system so if something should happen it is easily and cheaply replaceable.

So who is this aimed for you might ask. I certainly don’t need a personal solar powered hotspot. This one might surprise you, developing nations. Streicher’s article lists 77% of the world as not having access to the internet and names weak or non-existent power grids as one of the main reasons why this might be the case. Also lets face it, in North America, Western Europe, and several places in Asia fiber optics and wireless internet signal are common, but this is not the case in the rest of the world. In places like that even if you could get consistent power to your computer you aren’t going the have the physical ability to connect to the rest of the world. One last and very important thing that Streicher points out is that in Africa for instance if there’s a civil war or a natural disaster, times when internet access could actually save lives by directing rescue efforts to those in need, would be the time that any access to power or internet would be most likely to be cut.

Because of all these reasons and more Scott Johnson (founder and lead engineer of SolarNetOne) decided to put together a kit that could circumvent all of these potential problems and still provide the user with high up-time, easy to maintain, internet access. In fact cleaning of the solar panels and battery maintenance are the only physical maintenance listed as necessary to maintain these systems. Part of the ease of maintenance came with the selection of the Ubuntu operating system (version 8.04 for those who care). The included Aptitude software management software makes it easy for on-site administrators to keep the system updated, preventing costly maintenance visits. Also Linux’s built is security and lack of virus danger makes for very effective equipment even if the workstation users aren’t experienced in all the ways that malware distributors try and get their software onto user’s computers.

All of these great decisions have lead to very high satisfaction in the companies first (and at time of writing only) 5 installs. Including the first one at Katsina State University in Nigeria were the biggest problem was apparently shipping the power hardware through Germany. SolarNetOne is apparently already in talks with 10 more possible deployment sites in both non-profit and for-profit situations.

Links for more info

Martin Streicher’s article: http://www.ibm.com/developerworks/linux/library/l-solarnetone/?ca=dgr-lnxw03SolarNetOnedth-l&S_TACT=105AGX59&S_CMP=grlnxw03

SolarNetOne’s website: http://gnuveau.net/cgi-bin/wiki.cgi

, , , , , , , , Hide

ATI, owned by AMD, has come out with a fantastic SDK that allows developers to port floating point operations and basic number computation to the highly suited Radeon GPU. These GPUs operate in a very parallel nature, the acronym they use is SIMD (single instruction, multiple data items). The point being that if you need to do a single operation to a large array (say matrix multiplication on two matrices of size 12 x 10 and 9 x 15 for instance) why do that on your logic based single, dual, quad, or if your really on the bleeding edge octo core CPU system, when you can do the same thing on you GPU that will do it with tens, hundreds, or on the real high end stuff thousands of parallel threads. The performance gains become pretty obvious to see when you compare a single digit number of threads to the tremendous power of GPU arithmetic computation.

The basis of the SDK falls on Brook+, an extension of the C programing language developed by Stanford University to give easier access to CPU GPU level operations. What AMD is distributing is basically a compiler for a language made specifically to boil relatively complex arithmetic operations down into simple instructions (referred to as kernels) that can be executed in parallel on the GPU. This then utilizes the “compute abstraction layer” (CAL) which is basically hiding all of the GPU specific instructions, so that the developer only has to learn C/C++ and the additions brought by Brook+, and not ATI’s proprietary instruction language as well (something they probably don’t want to release anyway).

To anyone that has spent much time looking into Microsoft’s .NET development environment this all starts to sound pretty familiar, a complex base that is simplified to increase usability and portability across development environments, but the one thing that I haven’t talked about yet that .NET and ATI Stream depend upon is intermediate language, the last layer of programming that AMD is giving developers access to with their SDK. This is also the realm that will be occupied solely by the masochistic type of people that have to try and get two more megaflops out out their GPU when you’re already talking about gigaflops, but since AMD had to develop this language to make everything work to begin with I guess it doesn’t hurt for them to release it to the public.

So I’ve thrown out some jargon and tried at least to make it sound like I know what the hell I’m talking about, but what does this really mean to the average user? Well that depends on how often you do a large amount of similar arithmetic calculations. If you don’t think you do any then you’re probably wrong. A plug in exists today to make Adobe Premier CS4 significantly faster because encoding video requires a ton of arithmetic operations. In fact pretty much all of the CS 4 creative suite could benefit from Stream processing. Also converting video for play on mobile devices is good use that I see in the near future. Accounting software, especially the type used for corporate taxes, could see an advantage if you’re talking about a lot of tax files. I could go on, but really the only limit to the realm of usefulness of this technology is the developers willingness to utilize the SDK. Hopefully this will go along with multi threading and become a very standard thing for programs that can see a performance boost out of it.

Linky goodness:

AMD/ATI Stream Computing FAQ’s: http://forums.amd.com/devforum/messageview.cfm?catid=328&threadid=95060&enterthread=y

AMD authored whitepaper: http://ati.amd.com/technology/streamcomputing/firestream-sdk-whitepaper.pdf

Stream Computing Overview: http://developer.amd.com/gpu_assets/Stream_Computing_Overview.pdf

More information on Brook+ that you could ever want: http://graphics.stanford.edu/papers/brookgpu/brookgpu.pdf

, , , , , , , , , Hide

« Previous Entries

Next Page »

Find it!

Theme Design by devolux.org

The thoughts and ideas expressed here are mine and mine alone, if you'd like to share them please cite me