Will Software Developers Be Able To Keep Moore's Law Alive?
I disagree with this article from Intel Free Press, here is my argument: Hardware Is King, Software Is A Spoilt Brat Grown Fat Suckling On The Teats Of Chip Industry Innovation.
Krste Asanovic, a computer science professor at University of California, Berkeley (above) believes chip-savvy software developers can keep Moore's Law alive.
Krste Asanovic, a computer science professor at UC Berkeley, says that software is becoming ever more critical to unlocking the power in mobile processors.
“Over time, increasingly, hardware and software get more complicated,” Asanovic said. “The basic transistors are not improving as much as they used to and so we’re actually relying on software developers to pick up the slack by coming up with more efficient code.”
Though Intel has acknowledged that maintaining the pace of Moore’s Law has become more difficult over time, the company might disagree that the rate of transistor improvement has slowed. Intel recognizes the importance of software and has been making significant investments in this are, making it one of the top ten largest software companies.
Asanovic notes that nearly every new phone, tablet and laptop is powered by multi-core or multiple processors, so to get the best performance, programmers have to design application instructions to run in parallel if they want to harness the most out of a device’s compute engine.
“These days programmers have to be aware of what’s inside these new machines and target them to get better efficiency,” said Asanovic.
Software developers face the daunting challenge of coding for increasingly complex chips that have what Asanovic calls “specialized engines” designed for specific functions. One example of that complexity is graphics, a dedicated function that is taking up more real estate on microprocessors.
While chip design innovation for phones often lags behind desktop computers, it's becoming essential for smartphone software developers to tap into graphics accelerators hardwired into chips in order to optimize bleeding-edge applications.
“Developers have to worry about rewriting their applications in some way to target these different specialized engines,” he said. “The only way to get increased performance for new applications is for developers to be aware of new features in these chips. They have to be aware of what’s inside to make their code more efficient.”
Asanovic expects to see a greater variety of these specialized engines in future chips, making it difficult for programmers. He thinks this complexity can be simplified so programmers can more easily take advantage of efficiency and performance gains.
“We are coming up with new programming frameworks for these very heterogeneous, specialized future chips that we expect to show up,” he said, referring to his multi-year ASPIRE research project.
The research project shifts away from the notion that computer performance gains come from transistor improvements. Instead, it’s aiming at a new era where hardware and software need to be co-tuned in order to achieve the highest possible performance and energy efficiency.
ASPIRE — Algorithms and Specializers for Provably Optimal Implementations with Resiliency and Efficiency — presumes that over time, companies will produce chips that have different types and an increasing number of accelerators.
“With ASPIRE we’re trying to come up with a programming framework that automatically ports the (application) code and tunes it to these new accelerators rather than having to get a programmer involved in that process,” he said.
The new era that Asanovic predicts coincides with bright employment prospects for software developers, which has driven intense interest in the computer science discipline.
“In the mobile space it’s about all of these new exciting smartphone apps,” he said. “These computers are going out with people and interacting with the environment, so I think there are a lot of apps to be developed for this.”
The capabilities of these big cloud systems where massive amounts of computing are available is allowing startup companies to scale up their business by using cloud computing services.
“If people come up with a great new idea that needs a lot of computing, it’s actually feasible for young developers to band together and do a startup to exploit that,” said Asanovic.
“The industry as a whole is selling billions of cell phones each year,” he said. “Increasingly those are smartphones, but we’re going to hit saturation in that market because there are only seven billion people on the planet. Pretty soon it’s going to hit the limit.”
“What’s the next computing platform that won’t just have one per person, but ten or a hundred per person?” asked Asanovic. “Where are those going to be, in the environment or on the body?”
That will be the next thing after smartphones.