3.2 Benchmarks
3.2.1 Parsec Benchmark Suite
In this section, the properties of some PARSEC benchmarks are described those are used in our works for evaluation of our different proposed CMP based architectures.
The detailed descriptions regarding the benchmarks are presented in [6].
3.2.1.1 Blackscholes
This application models a financial analysis. It is basically an Intel’s recognition, mining and synthesis (RMS) benchmark that analytically calculates the prices for a portfolio of European options with the Black-Scholes Partial Differential Equation (PDE). Blackscholes needs to solve a diverse variety of PDE for the application
Chapter 3. Simulation Framework 69 in financial analysis. Its program is divided into a number of concurrent threads.
Each thread represents a unit of the portfolio.
3.2.1.2 Bodytrack
This benchmark tracks the 3D view of the human body by using multiple cameras.
An annealed practice filter tracks the 3D view by using an edge and foreground silhouette. In this benchmark, an input video that contains many frames is used to select as a reference frame. This reference frame at time stamp is used to compute its likelihood. This likelihood is a degree of the 3D body model alignment with its foreground and its edges in the respective images. The likelihood’s value is computed by using the two attributes of a particular image, named as the foreground map and the edge distance map. This benchmark also has a persistent thread pool, from which the main thread sends the task to the thread pool. This main thread has to wait for the remaining working threads for finishing their executions before proceeding further.
3.2.1.3 Facesim
Facesim is an Intel RMS application that was developed by Stanford University.
This is an animation based application which takes a human face along with a time sequence of muscle activations as inputs and computes a visually realistic animation of the modeled face. The underlying physics are simulated to get the visually realistic results. Basically, human faces are observed with more attention from the users than other details of a virtual world, so that a realistic presentation for animations can be prepared well.
3.2.1.4 Ferret
This process is used in content based similarity search of rich text data in large internet search engines. The rich text data includes audio, images, video, 3D
Chapter 3. Simulation Framework 70 shapes etc. Ferret toolkit [139], used for searching, has six modules, out of which first and last modules are serially executed while the rests are parallel. The first and last modules are used as input and output, respectively.
3.2.1.5 Fluidanimate
The inclusion of this application in PARSEC is for increasing importance of real time animation and physical simulations for computer games. This is also an Intel RMS application that is based on Smoothed Particle Hydrodynamics (SPH) method [140]. Fluidanimate uses five kernels for simulating an incompressible fluid for the interactive animations. This also generates an output by interpreting and discovering the surface of incompressible fluid.
3.2.1.6 Freqmine
Freqmine is used for the Frequent Itemset Mining (FIMI) [141] with an array based version of the Frequent Pattern-growth method. This is also an Intel RMS benchmark that was actually developed by Concordia University. FIMI is the basis of Association Rule Mining (ARM), a common data mining problem for areas like protein sequences, market data and log analysis etc. PARSEC includes this because of its increasing demand in data mining techniques. This has been parallelised with OpenMP and uses three parallel kernels.
3.2.1.7 Swaptions
PARSEC has included this benchmark due to increase the importance of Partial Differential equation (PDE) and the Monte Carlo simulation. This is used for pricing a portfolio of Swaptions by using the Heath-Jarrow-Morton (HJM) [142]
framework. This is also an Intel RMS workload like some earlier applications.
HJM model behaves as a non Markovian that prevents the solving of PDE for the computation of prices. Hence, this benchmark employs a Monte Carlo simulation.
Chapter 3. Simulation Framework 71 Basically, in Swaptions array, the program stores all the portfolio. Each of these array entry represents a derivative. Swaptions further divides the array into the number of blocks that is same with the number of threads that will be spawned and thus, each block is assigned to a particular thread. To compute a price Swaptions iterates through all of its blocks and earlier it calls the function HJM Swaption Blocking.
3.2.1.8 Vips
Vips includes fundamental image operations such as transformation and convo- lution. This application is based on the VASARI Image Processing System [143]
which is able to produce multi-threaded image processing pipelines transparently at runtime. This image transformation pipeline has 18 stages and is implemented in the VIPS operation im benchmark. All of these 18 stages of Vips are imple- mented in the following kernels:
• Crop- removes 100 pixels from all the edges.
• Shrink- shrinks the image by 10% by using the matrix transformation.
• Adjust white point and shadows- brightens the white point and tries to reduce the shadows for improving the visual quality of an image.
• Sharpen- enlarges the edges of an output image. This kernel also removes the blurring and can produce better overall appearance of an output image.
3.2.1.9 X264
X264 is a H.264/AVC (Advanced Video Coding) video encoder that includes new features in encoding such as increased sample bit depth precision, higher-resolution colour information, variable block-size motion compensation (VBSMC) or context- adaptive binary arithmetic coding (CABAC). This application allows the H.264 encoders for generating a higher output quality in addition to a lower bit-rate
Chapter 3. Simulation Framework 72 at the expense of a significantly increased encoding and decoding time. Motion compensation is used for removing the data redundancy. X264 is very flexible and is used for different requirements like video conferencing to HD movie distribution.
Moreover, H.264/AVC encoding is also required for the next-generation HD DVD or Blu-ray video players.