Tuesday, November 16, 2004
The robotics race heats up - 'Manhattan' projects to combine existing robot technology into new forms
One of the frustrating things about robotics has been that it is 'bits and pieces.' A graduate student at MIT creates an interesting part of a robotic sensor, perception, motor or cognitive system, and receives press and PhD. Then the isolated achievement gathers dust.
The solution is to integrate various software components into a system - throw everything together, and see if its works over a threshold. Apparently the EU has decided to do just that. In an article in ElectroncsWeekly.com, Jeremy Wyatt at U Birmingham said:
"...The plan is to take the various AI systems that have so far been realised in some form or other ('natural language' systems that process human voice inputs and can use bits of our grammar and machine vision) and create a robot that combines those cognitive abilities..."
he went on to say:
"...The reason it's ambitious is because we have lots of different representations for little bits of the problem. For example we know how to parse sentences, and we know how to recognise objects from visual inputs," explained Wyatt. "The representations for doing the two tasks are very different..."
The exciting thing is that putting all the little pieces together might get somewhere. There are literally thousands of fascinating robotic programs that might be integrated into a common system. Solving the integration problem in itself will be a major advance for robotics.
If the EU project shows signs of success, it's a cinch that other similar projects will start worldwide. See what they're up to at http://www.cas.kth.se/cosy.html
One of the frustrating things about robotics has been that it is 'bits and pieces.' A graduate student at MIT creates an interesting part of a robotic sensor, perception, motor or cognitive system, and receives press and PhD. Then the isolated achievement gathers dust.
The solution is to integrate various software components into a system - throw everything together, and see if its works over a threshold. Apparently the EU has decided to do just that. In an article in ElectroncsWeekly.com, Jeremy Wyatt at U Birmingham said:
"...The plan is to take the various AI systems that have so far been realised in some form or other ('natural language' systems that process human voice inputs and can use bits of our grammar and machine vision) and create a robot that combines those cognitive abilities..."
he went on to say:
"...The reason it's ambitious is because we have lots of different representations for little bits of the problem. For example we know how to parse sentences, and we know how to recognise objects from visual inputs," explained Wyatt. "The representations for doing the two tasks are very different..."
The exciting thing is that putting all the little pieces together might get somewhere. There are literally thousands of fascinating robotic programs that might be integrated into a common system. Solving the integration problem in itself will be a major advance for robotics.
If the EU project shows signs of success, it's a cinch that other similar projects will start worldwide. See what they're up to at http://www.cas.kth.se/cosy.html
Intel announces it has hit a speed wall (no 5GHz Pentiums, ever) - bad for PCs, good for robotics. A new "Moore's Law" for robotic sensors?
While many people knew it was coming, it still was a tad shocking to see the announcement by Intel that the 3.8GHz Pentium was the fastest Pentium that Intel will make. Ever. No 5 GHz Pentiums or even 4Ghz Pentiums. In a larger sense, Moore's "Law" - an observation that computers have been doubling in performance since the 1960s every 1.5 years - is shelved.
According to Intel in an article in PC World, the only change that will be made in the Pentium from now on is a larger on-board memory cache, which will speed things up a few percent. But no doublings in speed - not in 2005, 2006, or even 2007.
Good quote:
"...Intel originally designed the Pentium 4 processor to run at faster and faster clock speeds and for years planned its marketing campaigns around those increases in clock speed. However, this year the company realized that the engineering resources required to eke out additional speed gains could be put to better use. The most recent Pentium 4 processors consume a great deal of power and can produce excessive heat within a PC, requiring additional testing and validation before they can be released..."
The classic techno-fantasy of "ever increasing change" marching without respite is being proven wrong. Like every other technology, we are witnessing a leveling off of PC performance. PCs are following the pattern of motorcars. In the early 20th century, every year brought a "Moore's Law" speed increase in auto races. But by the 1930s, a consumer could buy a car as fast as one today. Changes have occured since the 1930s in the realm of safety and reliability - the the basic driving experience hasn't changed much in a long time...
But what of innovation? They always "find something" to make computers faster, don't they? In this case, apparently not. Intel - and other groups like AMD and Sun, are all furiously working on "multicore" processors - a single chip with multiple CPUs and and advanced threading architecture built in, rather than tacked on. The first of the dual-core cpus will debut in 2005, with more to come in 2006 oand 2007.
But wait, doesn't this rekindle Moore's "Law"? Won't multicore continue to advance PC performance? Not so fast.
First, the initial multicores will run much slower than 3.8 GHz. A few years (2009?) will bring them to this speed, after which "the wall" may loom again.
Second, and far more important, multicore technology does not benefit most PC operations. Dual-processor systems are quite useful on workstations - one processor is assigned the OS, and the other the current applications. However, it is far more difficult to utilize the 4, 8, 16, even 32-core processors envisioned over the next few years. Many PC programs simply won't be able to take advantage of multicores, since their processing can't be parrallel-ized. Consider a Photosh0p filter working on a large image file. The values of a pixel at 100,100 depend to some extent on pixels at 150,150. While pixels at the opposite ends of a screen can be easily processed by separate cores, those close together will require cross-talk among cores, mostly obliterating the increased parallel processing advantage. The more cross-dependency in the task, the less the task can be split among independently operating multicores.
This is something that has been known in the supercomputer realm for years. Supercomputers using thousands of processors are valuable for problems that can be split into compartments, like the weather or server programs. However, if you cross-compiled a videogame or an animation program to these systems, they wouldn't be all that "super." It will take a long time to convert programs like current hot computer games to work efficiently on multicore. Even then, the advance will not be linear - doubling performance will require more than 2x cores and 2x power requirements. As problems are broken down into sub-tasks, it will be harder and harder to split the these tasks further - once again, spelling "plateau" for PC performance.
What are the consequences? In all probability, multicore will spread slowly among home computers than anyone expects. PCs will "top out" somewhat faster than their current configuration, and there will be little incentive to make them go faster. Even "gamer" computers, which crave polygon processing to the max for realistic action, will be affected. Multicores won't solve the problems of portable computing - namely battery lives of a few minutes plus limited "wireless" access.
On the other hand, the shift to multicore, while difficult for the PC world will be a huge boon for robotics. Unlike PCs, robots naturally split up lots of processing tasks - feature detection from sensors, individual behaviors in 'subsumption' architecture, and distributed motor control. A robot is less a classic Artificial Intelligence program than a noisy community of programs - perfect for multiple threads.
In fact, doubling the number of core will in effect the amount of sensory/motor processing possible for a robot. If robots that jump depend on fine-grained sensory and motor processing, multicore may be just the thing that breaks robotics out of its long "just around the corner" sleep and makes robotics the hottest tech thing.
The company to watch in the coming multcore race is Sun. After several years of being eclipsed as low-cost workstations zapped their RISC server market, Sun stands a chance of regaining a lead. Already, Sun is talking about 32-core microprocessors with threading designed in from the ground up - not added on via software of hardware kludges. If Sun discovers robotics, they might develop a line of low-cost, low-power multicores ideal for managing large amount of robotic sensor and motor activity.
This will allow in turn what I feel is the "Moore's Law" for robotics - the number of sensors. Double the number of sensors, and the robot's perception of the environment becomes more fine-grained. I think it is likely that increasingly fine-grained perception, coupled with reactive, behavior-based action upon sensor data is the key to robotics. The best evidence comes from biology. For example, humans have about double the surface area of cortex devoted to visual processing compared to chimps. It is possible that much of our greater intelligence comes simply from our more fine-grained perception of reality.
So, one can predict a future where tech mags (probably not the current crop) crow regularly about the robotics Moore's Law - how the new, 1024 core processor manages 60,000 tactile sensors - double the year before, with a better robot the result. It's something to look forward to, even if we're still using 4GHz PCs in that distant day...
While many people knew it was coming, it still was a tad shocking to see the announcement by Intel that the 3.8GHz Pentium was the fastest Pentium that Intel will make. Ever. No 5 GHz Pentiums or even 4Ghz Pentiums. In a larger sense, Moore's "Law" - an observation that computers have been doubling in performance since the 1960s every 1.5 years - is shelved.
According to Intel in an article in PC World, the only change that will be made in the Pentium from now on is a larger on-board memory cache, which will speed things up a few percent. But no doublings in speed - not in 2005, 2006, or even 2007.
Good quote:
"...Intel originally designed the Pentium 4 processor to run at faster and faster clock speeds and for years planned its marketing campaigns around those increases in clock speed. However, this year the company realized that the engineering resources required to eke out additional speed gains could be put to better use. The most recent Pentium 4 processors consume a great deal of power and can produce excessive heat within a PC, requiring additional testing and validation before they can be released..."
The classic techno-fantasy of "ever increasing change" marching without respite is being proven wrong. Like every other technology, we are witnessing a leveling off of PC performance. PCs are following the pattern of motorcars. In the early 20th century, every year brought a "Moore's Law" speed increase in auto races. But by the 1930s, a consumer could buy a car as fast as one today. Changes have occured since the 1930s in the realm of safety and reliability - the the basic driving experience hasn't changed much in a long time...
But what of innovation? They always "find something" to make computers faster, don't they? In this case, apparently not. Intel - and other groups like AMD and Sun, are all furiously working on "multicore" processors - a single chip with multiple CPUs and and advanced threading architecture built in, rather than tacked on. The first of the dual-core cpus will debut in 2005, with more to come in 2006 oand 2007.
But wait, doesn't this rekindle Moore's "Law"? Won't multicore continue to advance PC performance? Not so fast.
First, the initial multicores will run much slower than 3.8 GHz. A few years (2009?) will bring them to this speed, after which "the wall" may loom again.
Second, and far more important, multicore technology does not benefit most PC operations. Dual-processor systems are quite useful on workstations - one processor is assigned the OS, and the other the current applications. However, it is far more difficult to utilize the 4, 8, 16, even 32-core processors envisioned over the next few years. Many PC programs simply won't be able to take advantage of multicores, since their processing can't be parrallel-ized. Consider a Photosh0p filter working on a large image file. The values of a pixel at 100,100 depend to some extent on pixels at 150,150. While pixels at the opposite ends of a screen can be easily processed by separate cores, those close together will require cross-talk among cores, mostly obliterating the increased parallel processing advantage. The more cross-dependency in the task, the less the task can be split among independently operating multicores.
This is something that has been known in the supercomputer realm for years. Supercomputers using thousands of processors are valuable for problems that can be split into compartments, like the weather or server programs. However, if you cross-compiled a videogame or an animation program to these systems, they wouldn't be all that "super." It will take a long time to convert programs like current hot computer games to work efficiently on multicore. Even then, the advance will not be linear - doubling performance will require more than 2x cores and 2x power requirements. As problems are broken down into sub-tasks, it will be harder and harder to split the these tasks further - once again, spelling "plateau" for PC performance.
What are the consequences? In all probability, multicore will spread slowly among home computers than anyone expects. PCs will "top out" somewhat faster than their current configuration, and there will be little incentive to make them go faster. Even "gamer" computers, which crave polygon processing to the max for realistic action, will be affected. Multicores won't solve the problems of portable computing - namely battery lives of a few minutes plus limited "wireless" access.
On the other hand, the shift to multicore, while difficult for the PC world will be a huge boon for robotics. Unlike PCs, robots naturally split up lots of processing tasks - feature detection from sensors, individual behaviors in 'subsumption' architecture, and distributed motor control. A robot is less a classic Artificial Intelligence program than a noisy community of programs - perfect for multiple threads.
In fact, doubling the number of core will in effect the amount of sensory/motor processing possible for a robot. If robots that jump depend on fine-grained sensory and motor processing, multicore may be just the thing that breaks robotics out of its long "just around the corner" sleep and makes robotics the hottest tech thing.
The company to watch in the coming multcore race is Sun. After several years of being eclipsed as low-cost workstations zapped their RISC server market, Sun stands a chance of regaining a lead. Already, Sun is talking about 32-core microprocessors with threading designed in from the ground up - not added on via software of hardware kludges. If Sun discovers robotics, they might develop a line of low-cost, low-power multicores ideal for managing large amount of robotic sensor and motor activity.
This will allow in turn what I feel is the "Moore's Law" for robotics - the number of sensors. Double the number of sensors, and the robot's perception of the environment becomes more fine-grained. I think it is likely that increasingly fine-grained perception, coupled with reactive, behavior-based action upon sensor data is the key to robotics. The best evidence comes from biology. For example, humans have about double the surface area of cortex devoted to visual processing compared to chimps. It is possible that much of our greater intelligence comes simply from our more fine-grained perception of reality.
So, one can predict a future where tech mags (probably not the current crop) crow regularly about the robotics Moore's Law - how the new, 1024 core processor manages 60,000 tactile sensors - double the year before, with a better robot the result. It's something to look forward to, even if we're still using 4GHz PCs in that distant day...