Channels ▼


The Future of Computing


Commercial applications of VLIW concept in the U.S. were less successful: Multiflow Computer went down in 1990 and Intel's EPIC/Itanium adventure of late 90s and today proved to be far from successful. The reason for VLIW failure on general purpose computers is the lack of compilers, cross-compilers and automatic code optimization techniques. Intel is still heavily involved in honing EPIC compilers for Itanium (with Babayan's current team and Intel's Israeli's office heavily involved). Yet the state of current technology is such that current VLIW/EPIC compilers are not yet good enough for general purposes and therefore theoretically possible performance gains are almost never achieved (VLIW processors can execute as many as 32 instructions in parallel if a compiler can find and schedule that many). More recent attempt by Transmeta was also unsuccessful and for the same reason, although it's new Efficieon CPU looks more promising than flopped Crusoe. Still, with Itanium disappointment tarnishing commercial VLIW prospects perhaps permanently we are unlikely to see more general-purpose VLIW computers, but instead are likely to seem them in niche markets employed for solving a very limited set of special-purpose tasks.

Quite another alternative to VLIW that is already sprouting profusely is multi-core CPUs. Both Intel and AMD have been shipping dual-core chips for quite some time now with quad-core chips promised in 2007. Sun is already shipping 8-core UltraSparc T1 chips, while Rapport Inc. and IBM have already announced development of Kilocore technology that allows combining as many as 1,024 8-bit processors with a PowerPC core on a single low-cost chip. Thus extrapolating current trends we are likely to see further profusion of multi-core CPUs from all leading manufacturers, especially for server markets. Chances are that as number of on-chip cores grow the cores itself would become more simple and less-deeply pipelined (kind of like UltraSparc T1 is doing already). We are also likely to see some dedicated co-processor-like cores suitable for performing SIMD/multimedia instructions while other cores might be deprived of such capacity in favor of improved energy efficiency and increased overall number of cores.

Perhaps the most noteworthy point is that we are unlikely to see dramatic single-threaded code performance improvements unless a way of frequency increases is found that does not result in the market increase in power consumption (for example, new manufacturing technology in the vein of IBM's recent report of experimental SiGe chips running at 350 GHz at room temperature and at 500 GHz when chilled by liquid helium).

And the truth is that there is no compelling need for further raw CPU speed increases for the following key reasons:

  • Computers are already much more powerful than most common tasks require.
  • Code efficiency is at all time low and potentially hide at least a order of magnitude performance boost if we just optimize the code.
  • Memory and I/O bottlenecks are most common causes of slow-down.

What is amazing is that for a long time we have been using only a handful of CPU models under the aegis of general purpose computing. Furthermore we thought that a better CPU makes a better computer, which is no longer so. What seems to be more important now is overall system design rather than just CPU design, and we are likely to see more system and CPU specialization (and models) targeting different application areas.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.