by Jim Dempsey
Welcome to the Quick Threads blog. Today we will look at using the QuickThread threading toolkit to write a two-stage input pipeline to boost the performance of the input side of your applications. QuickThread is available from QuickThread Programming, LLC http://www.quickthreadprogramming.com.
As an example program, we will use the Black-Scholes benchmark included in the PARSEC benchmark suite from Princeton University http://parsec.cs.princeton.edu/. This program uses the Black-Scholes analytical method for calculating European Options and is often used for measuring the floating point computational efficiency for compilers and processor architectures. The typical use of this benchmark program is:
a) Read-in option data consisting of 10,000,000 options in ASCII text format and convert into internal data structures. Input first reads and converts from text lines to an Array Of Structures then converts the Array Of Structures into a Structure Of Arrays.
b) Repeat 100 times: for each option, pass option data through the Black-Scholes function computing strike price and saving it in an output array.
c) Convert the 10,000,000 price information results back to text and write to output file.
For the typical benchmark, only the run time for step b) is reported. Step b) is called the Region Of Interest (ROI) for those familiar to the PARSEC benchmark programs. When your interest is in measuring the computational performance of a compiler or processor architecture, this benchmark provides a reasonable measure of the floating point performance.



1 response so far ↓
1 Two-Stage Input Parallel Pipeline: Part 2 // Jan 29, 2010 at 7:01 am
[...] Jim Dempsey In the previous post we looked at using the QuickThread toolkit to write a two-stage input pipeline to boost the [...]