Channels ▼

Gastón Hillar

Dr. Dobb's Bloggers

Specifying Hardware Requirements in the Multicore Age

December 31, 2009

A decade ago, the hardware requirements for running a specific software or system were easier to specify. There were less microprocessor models and less multitasking. The massive adoption of multicore microprocessors and the micro-architecture changes that they brought call for a new model of hardware requirements specification.These are some of the hardware requirements of a very popular and powerful database engine:

Processor Processor type: Minimum: AMD Opteron, AMD Athlon 64, Intel Xeon with Intel EM64T support, Intel Pentium IV with EM64T support Processor speed: Minimum: 1.4 GHz Recommended: 2.0 GHz or faster

As you can see, it recommends a 2.0 GHz or faster microprocessor. Therefore, considering this recommendation, a brand new Intel Core i7 820QM, running at 1.73 GHz would not be enough to achieve a decent performance. The problem is that the recommended requirements are just talking about GHz without considering the advanced in the micro-architectures and the number of physical cores and logical cores (hardware threads).

An Intel Core i7 820QM offers great power to a mobile workstation capable of running even the most demanding software. It is a quad-core microprocessor, with Hyper-Threading, offering 8 hardware threads. Besides, it includes Enhanced Intel SpeedStep Technology and Intel Turbo Boost Technology. Therefore, the microprocessor is capable of reducing and increasing the speed for each core as needed. It can turbo boost to higher clock speeds, up to 3.06 GHz. However, even running at 1.73 GHz, this microprocessor is capable of running more instructions per clock than an old Pentium IV.

In this case, and in many other cases, hardware requirements specify the minimum and recommended microprocessors using clock speeds of very old micro-architectures. In fact, an Intel Core i7 820QM can run this database engine with an outstanding performance.

Most modern software is still specifying requirements using this inaccurate mechanism. A microprocessor with a 2.4 GHZ QPI (short for QuickPath Interconnect) offers more throughput than an old quad-core microprocessor with a 1,066 MHz FSB (short for Front Side Bus). I could go on explaining dozens of differences and improvements between old microprocessors and the new ones. Thus, it is very important to find a new way to specify hardware requirements for running a specific software or system with the necessary response times.

Some standardized benchmarks similar to the ones used in the requirements specification for embedded systems could be an interesting option. The benchmarks can establish the baselines and then the software and systems developers can specify the minimum requirements based on a specific score, instead of talking about old-fashioned GHz.

Windows Vista introduced the Windows Experience Index. The Game Explorer shows the minimum and recommended score to run a game. The user can compare the current system's score and compare it to the recommended one. The application that registers itself as a game can specify this information.

The Windows Experience Index is a good initiative. However, it should be improved to take into account new specific instruction sets and new multicore micro-architectures in order to be more accurate with software optimized to take full advantage of multicore, streaming instructions and vectorization. Therefore, the Windows Experience Index is not enough. Besides, you can only find it on certain Windows versions.

There is a great need to improve the hardware requirements specification and to find a simpler way to let the end-users understand their hardware capabilities and the software and systems that they can run taking advantage their modern multicore microprocessors. Furthermore, with new mechanisms, software and systems developers could simplify their deployment processes.

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.
 


Video