|
Architecture of a 3D Software Stack for Peak PentiumŪ III Processor Performance (continued)
Amdahl's Law
Amdahl's Law governs how much kernel-level speedup translates into application-level performance. Simply stated (using a 3D pipeline as an example), Amdahl's Law states that the amount of application-level speedup that optimizing transformation and lighting produces is limited to the percentage of time the software spends in this optimized code. The example in Figure 2 shows an application of Amdahl's Law to 3D. Here we apply the PentiumŪ III Internet Streaming SIMD Extension instructions to transformation and lighting within a 3D application stack. We show a 2x kernel-level speedup and spend 50% of our time in these 3D geometry routines.
Figure 2: Amdahl's Law for predicting application-level performance applied to sample Xform and lighting optimizations Based on Figure 2, if the performance of transform and lighting (3D library layer in Figure 1) increases 2x, yet only 50% of the total time is spent in this code, this translates to an overall application speedup of 1.33x. While a 1.33x performance increase is impressive, it is not quite the 2x we saw at the kernel level. It is clear, that in addition to porting transform and lighting routines to Internet Streaming SIMD Extensions, it may also pay off significantly to optimize other portions of the application stack to achieve peak Pentium III processor performance. Many of the optimization techniques described in the following sections of this paper are designed to help defeat the performance-limiting affects of Amdahl's Law by increasing the time spent in the "enhanced" code segments. |