Software Developers Keep Moore’s Law Alive?

Increasing complexity of hardware innovation may put chip-savvy software developers in the driver’s seat.

Are software developers keeping Moore’s Law alive? That’s the theory one researcher put forth at a recent university research event in San Francisco.

Krste Asanovic UC Berkeley computer science professor sees opportunity for software developers

“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,” said Krste Asanovic, a computer science professor at University of California, Berkeley.

Krste Asanovic, a computer science professor at UC Berkeley, described how critical software has become to harnessing the power of increasingly powerful processors, especially in mobile devices.

“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, which ranks among the 10 largest software companies in the world, is continuing to invest in both hardware and software advances to deliver better performance and experiences.

Asanovic sees 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 in an interview at the recent University Collaboration Symposium in San Francisco. The event, hosted by Intel Labs, brought together government, academic and tech industry researchers.

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, its 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.

Opportunities for Software Developers Driven by Mobile, Cloud

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.”

He keeps his eye on changes ahead.

“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.

Software Developers Keep Moore’s Law Alive?

Increasing complexity of hardware innovation may put chip-savvy software developers in the driver’s seat.

Are software developers keeping Moore’s Law alive? That’s the theory one researcher put forth at a recent university research event in San Francisco.

Krste Asanovic UC Berkeley computer science professor sees opportunity for software developers

“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,” said Krste Asanovic, a computer science professor at University of California, Berkeley.

Krste Asanovic, a computer science professor at UC Berkeley, described how critical software has become to harnessing the power of increasingly powerful processors, especially in mobile devices.

“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, which ranks among the 10 largest software companies in the world, is continuing to invest in both hardware and software advances to deliver better performance and experiences.

Asanovic sees 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 in an interview at the recent University Collaboration Symposium in San Francisco. The event, hosted by Intel Labs, brought together government, academic and tech industry researchers.

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, its 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.

Opportunities for Software Developers Driven by Mobile, Cloud

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.”

He keeps his eye on changes ahead.

“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.