![]() |
Frontline Systems, Inc. |
||||||||||||||||||
|
|||||||||||||||||||
|
Risk Solver Engine implements Interactive Simulation using Frontline’s PSI TechnologyÔ. You create an ordinary ‘what-if’ spreadsheet model, with cells and formulas to compute the results you need -- for just one scenario. Risk Solver Engine does the rest -- and it computes Monte Carlo trials up to 100 times faster than using Excel alone. PSI Technology is fast enough to make Interactive Simulation practical for realistic simulation models. Vectorized EvaluationSo, how does PSI Technology work, and how can it be so much faster than Excel alone for simulation? To answer this, we must look at how Excel itself computes values for your formulas. Microsoft Excel is an interpreter for spreadsheet formulas. When you enter a formula such as =A1+A2*(A3-4) in cell B1, Excel first scans and parses the formula, storing the results in a coded internal form. It also maintains storage for A1, A2, A3 and thousands of other cells. When you change a number and recalculate, Excel refers to the coded internal form, looks up the values of A1, A2 and A3 and fetches the constant 4, performs the arithmetic, and saves the result in storage reserved for B1. Only a small part of the time is spent on the actual arithmetic -- most of the time goes into processing the encoded formula, and looking up and saving cell values. PSI stands for Polymorphic Spreadsheet Interpreter. PSI Technology is also an interpreter for spreadsheet formulas, that accepts the same formula syntax and built-in functions as Microsoft Excel. But where Excel evaluates formulas only for one datatype – single numbers, PSI Technology can evaluate formulas for many different datatypes. (The word “polymorphic” comes from object-oriented programming, where it has essentially the same meaning.) One of the special PSI Technology datatypes is Monte Carlo trials, where each number is replaced by a vector of 1,000 or more trial values. The heart of PSI Technology’s speed comes from the fact that it processes the encoded formula once, fetches 1,000 data values at once, and performs the arithmetic for all 1,000 values at once. Hence, the “overhead” of the interpreter is incurred once rather than 1,000 times; most of the time is spent doing the actual arithmetic. PSI Technology is so fast because it is specialized for simulation (and optimization). |
|||||||