NavigationUser loginSpam?See spam posts on this site? If so, please don't reply to the spam! Instead, just report the URL to the webmaster. |
Multicore ComputationWith current technology, single core computing power seems to be running up against some fundamental limits. The origin of those limits ultimately lies in the reality that structures can only get so small before the quantum world takes over from the classical world. Consider that the atomic spacing of silicon is roughly 0.2 nm. Even if the quantum world posed no challenge at all, that distance is a hard limit on the size of any structure. Recently, AMD and Intel have introduced dual-core processors. That development finally prompted me to upgrade my trusty 700 MHz PIII computer (orginally a PII 400 MHz running Slink) after 8 years of operation to a machine that is roughly 6 times faster. (Aside: It took me 2 months to get X running on a crummy SIS card as a complete newbie-- but that was before IntnsRed launched, or I discovered, DebianHelp.org. Hopefully things are a bit easier now :-).) AMD has purchased ATI and announced some interesting intentions. Since ATI's track record of supporting their graphics cards on linux is not so great, one has to dampen his or her optimism somewhat. On the other hand, AMD seems to be committed to making its Hypertransport technology an open standard, which is reason to be optimistic. Now Nvidia is entering the fray with its compute unified device architecture. An orders of magnitude increase in computing power is nothing to sneeze about. I was impressed by the availability of a C compiler with fft and blas numerical libraries. Unfortunately, I'm not too hopeful that Nvidia will release its software tools under the GPL. Just to acquire the development tools, you have to register as a company, and then Nvidia may take several weeks to decide if you are worthy. Give me a break. Where do you all think multicore computing is headed? Certainly, for numerical computation, the potential is tremendous. Many important problems boil down to the same algorithm being implemented in parallel with different parameters defined for each "thread". What about computing in general? How far can we go with increasing the number of threads at a given level of performance? What needs to be done to ensure that free software fully participates in this paradigm shift? |
A lot of code will need to be written
Los Alamos National Laboratory is building a new supercomputer based on IBM's cell processor (which is also in the PS3). The goal is petaflop computing with this new system, but the architecture is very different from your standard cluster where we're used to the Single Program Multiple Data model. It is very much a multi-core system, and from what I understand, code will have to be written to use this architecture to the fullest extent.
In short, THE FUTURE is in multi-core computing. I attended a seminar on scientific visualization, and it seems that this new cell processor may be part of the next computing revolution. Certainly scientific computing will benefit, but the benefits to graphics processing will also be phenomenal. This makes me excited, because two of my hobbies are photography, and video editing. Gamers will also be giddy over the ever increasing realism that will be capable with multi-core computing. In fact, gaming is what is the driver behind this latest paradigm shift.
In order for open source to take advantage, people will have to jump in and write code. Photoshop is supposedly already written to be multi-threaded for multi-core systems. What about the GIMP? What about the kernel itself? Anyways, I'm sure that the open source community will move plenty fast, and hopefully we'll see increased presence in the market. After all, Microsoft isn't bashful about charging up to $600 for a crappy Vista license. Sheesh... that should make a lot of people look for alternatives, especially to alternatives that can better handle the new technology. Considering that Linux is the standard operating system on most any large scale parallel cluster, I would think it could become a major player on these new multi-core architectures as well.
Will Debian participate?
Will Debian participate?
The PS3 is going to run Yellow Dog Linux, and IBM is producing the Cell SDK, but will it be released under a free license so that Debian can run on it? We might be entering a dangerous time for free software, where full access to a chips computing power is closed off, unless you have a non-free license for the firmware or SDK.
I just hope some of the players see the light. It seems to me that opening up the specs would guarantee the broadest possible market for your hardware. That also happens to be what is best for the advancement of science, and free computing in general. I would prefer that IBM/Nvidia/Intel/AMD/Sony/Microsoft do not succeed in maintaining a monopoly on USES of computing power.
chip security
Since the early 1980s (and maybe even earlier) many chips have had a number of security features in them. Most notably were the chips for embedded systems - without protective measures you could spend HUGE amounts of money developing a product only to have some ripoff firm steal your code and churn out the same product. The circuitry in some of the modern consumer CPUs is very much like that. On most systems this circuitry will not be employed, but if a manufacturer wants to they can activate the feature. The chief difference here is that these features are not really protecting costly code developed by the manufacturers but ensuring that the device can be used for very explicit purposes only. It is not IBM etc crippling the machines - it is the manufacturer - IBM are just selling a 'feature' which they think the manufacturers want. In the particular case of the PS3 - I'm not shucking out money for a device which might have a few games not available for a generic desktop PC. Sony can keep their machine. And Microsoft can keep its X-box.
As for multicore - yeah, that's here to stay. It's a pity Seymour Cray was killed in a crash - if he lived until today (admittedly he'd be 80 or something) he'd be going nuts about the computing power he can cram into a box. I was just thinking a few weeks ago that it is possible to take a huge number of Core 2 Duo processors and build a serious cluster inside a fairly small box (about the size of a desk anyway). The cost of silicon these days is so low that large research groups can seriously consider engineering a computer for their particular needs - in the past you just bought whatever was fastest and spent the rest of your money on the coders. Now you can actually build a tailored system (but I don't know of anyone actually doing it).
research groups
Research groups already engineer computers for themselves. In the astrophysics research (as example) calculating the gravitation-driven evolution of say large galaxy clusters is best done wiring chips to do just this one type of calculation.
Yet the chips used are not that complicated processors like Core 2 Duo, etc. As far as I know these are rather simple registers, logic circuits, etc, running at stunning clock speeds.