K. Skadron, M. Humphrey, B. Huang, E. Hilton, J. Luo, and P. Allaire.
In Proc. of the 3rd Workshop on Media and Stream Processors, Dec. 2001, held in conjunction with the 34th Annual ACM/IEEE International Symposium on Microarchitecture, Austin, TX.
This paper describes the use of Intel Pentium-III SSE instructions for high-order control computations in a high-spin-rate flywheel. This application is representative of many control environments that require both high performance and real-time guarantees. We find that the SSE instructions are able to provide a dramatic increase in performance but that they are difficult to use unless the programmer is provided with a simple API. Unfortunately, the resulting abstraction means that some of the potential gains are lost to function-call overhead, and use of the API still requires substantial interaction between the controls engineer and the experienced SSE programmer. The use of SSE entails a tension between performance and ease of use that is not easily resolved.