Performance modeling with compilers
Compile-time analysis can be a very powerful tool for optimizing code on any architecture. In combination with run-time performance analysis, the compiler became the most effective tuning tool.

by Max Alt, Intel Solution Services, Intel Corp.

With maturing compiler technologies, compile-time analysis can be a very powerful tool for optimizing code on any architecture. In combination with run-time performance analysis, the compiler became the most effective tuning tool. The methods described in this paper can be applied to any parallel architecture with multiple microprocessor execution units.

In the era of parallel and platform computing, we rely less on single execution unit performance, assuming that the compiler maximized each component. It now becomes more important to evaluate performance of the platform as a whole, distributing the processing requests and embracing techniques of compiler usage in maximizing single execution unit performance.

Knowing coding techniques, writing good code and having a good compiler takes care of two latter issues, however, once the code is running, a developer always raises questions. What computing capacity does the code implementation have? What hardware features would increase that capacity? And how would the code's runtime performance be impacted if the hardware were different?

There are compile-time optimization techniques, which allow a developer to estimate and improve performance without running the program (perhaps with slight guidance from runtime tools), there are also techniques which allow developers to estimate performance on similar architectures without using simulators. This paper discusses the philosophy behind key performance parameters of the Intel® Itanium® architecture and their functions which factor in the performance modeling formulas.

A slightly different angle on performance modeling and analysis of parallel architectures. The paper explores a compile-time based approach for predicting performance of compute intensive code blocks on Intel Itanium architecture. The author uses simulator runs to validate the correctness and feasibility of proposed techniques. Keeping that in mind, there is a possibility of using discrete simulator runs for refining and guiding the result interpretation from compile-time based performance modeling approximation approaches.

Subscribers who liked this article also read:
Consolidating the IT infrastructure: leveraging Oracle9i Real Application Clusters on Intel to build an 'Adaptive Architecture'
Intel Corp., Oracle Corp., and Cap Gemini Ernst & Young. Cap Gemi...
Grid Computing Looking Forward
by Enrique Castro-Leon and Joel Munter, Intel® Solution Services....
Deploying Oracle9i Real Application Clusters on Intel® architecture-based clusters
Information storage and retrieval lies at the heart of almost all core...

If you're interested in this topic, these articles may be helpful:

Fundamentals of Web site acceleration: performance starts at the Web server
Port80 Software Inc. What best practices can developers use in Web ...
Online Trial: Rational Performance Tester
Now you can try out Rational Performance Tester online without having ...
High-performance MySQL: optimization, backups, replication, load balancing & more
by Jeremy Zawodny and Derek J. Balling, O'Reilly Media Inc. As use...
Intel® VTune™ Performance Analyzer Version 7.2 for Windows
Streamline your code in just a few clicks, collect, analyze and displa...
Utilizing thread pools in performance-critical applications
by Blake Thompson, application engineer, Intel Corp. When using thr...

Related Jobs:

Sr. Software Engineer #RX1000023977 - CA - Sunnyvale - Yahoo! Inc.
Sr. Software Engineer - Yahoo! Media Monetization Eng. Job No. RX...
Software Engineer 1 #07-1017339 - CO - Colorado Springs - The Boeing Company
Software Engineer 1 Requisition Number: 07-1017339 Job Stat...
Sr. Software Engineer #5118-DGS - MA - Natick - The MathWorks
Sr. Software Engineer - Multicore/Parallel Applications Job...
.NET Developer w/ SQL #20179 - WA - Seattle - iGate Mastech
ยท Required Skills: SQL Server 2005, T-SQL, C#, ASP.NET, XML,...
Senior Presentation Layer Developer #1511 - TX - Austin - aQuantive, Inc.
Senior Presentation Layer Developer Job ID: 1511 Business Unit: A...
Senior Project Manager #6EEA42F9781DD9DF - CA - Oakland - Ask Jeeves,Inc.
Title Senior Project Manager City Oakland State CA Zip Code 9460...
Java Developer #23335 - NY - New York - Morgan Stanley
Java Developer Date Posted: 7/27/2007 Functional Area: Inform...
Technical Yahoo - Build Engineer #RX1000022388 - CA - Sunnyvale - Yahoo! Inc.
Technical Yahoo - Build Engineer Job No. RX1000022388 Location ...
Systems Administrator #1623 - TX - Houston - Affiliated Computer Services, Inc.
Affiliated Computer Services, Inc., ACS, is a global FORTUNE 500 compa...
Entry Level Technical Support Rep #B020926 - TX - Dallas - IBM Corporation
Job Details Candidate should work well in a team environment, be sel...