Category: Tech Memoirs

Memoirs of Tech experiences

Monte Carlo! – a (Simulation) Memory

Monte Carlo! – a (Simulation) Memory

I know what you’re thinking. Monte Carlo! An opulent casino. Men in tuxedos, women in evening gowns, placing their bets and then watching the roulette wheel spin. How glamorous! How exotic!

But no.

It’s more like this: a bunch of computer geeks in high-walled gray cubicles, watching the command line for run-time errors and output. Their Monte Carlo simulation is a computer program with a series of calculations that take input from a random number generator, the computer equivalent of spinning a roulette wheel, or rolling the dice.

Oh, by the way, the geeks in my example are not trying to pick the winning numbers for the Mega Millions lottery. They’re calculating the price of a Wall Street Security called a complex derivative.[1]

In this story the complex derivatives of interest were called Mortgage Backed Securities, or MBS, for short. More on that in a moment.

It was 1993. I was the Sun Microsystems Systems Engineer (SE) for EJV Partners, a financial data and software company formed by a consortium of Wall Street investment banks. EJV sold a trader’s workstation to Fixed Income broker dealers. [2]

EJV was very important to Sun, because every time they sold their software, they sold our SparcStation, Sun’s latest desktop computer. EJV also sold a fair number of our servers. It was a sweet deal for Sun at the time.

As luck would have it, the sweet deal threatened to go pear-shaped at one point, because some of EJV’s customers complained that the MBS pricing was too slow, and they were losing out on trades.

One EJV customer complaining was all EJV customers complaining. They all traded with each other, and most spoke to each other on a daily basis via dedicated phone lines, and so news of this dissatisfaction spread like wild fire. We heard comments like, “Hell, I can do it faster on my Bloomberg terminal!”[3]

This was not a good thing.

EJV’s chief financial engineer and their head of technology approached Sun to ask for our help in addressing the issue. Like yesterday.

I was tasked to bring together a team to brainstorm the problem, and to find a solution that could speed up the calculations. I was joined in the effort by Scott Oaks, and David Plotkin, from Sun Professional services, and EJV’s top coders.[4]

I knew nothing about financial engineering at the time, but I knew my computer craft, and how to lead a technical discussion. We brainstormed, and here’s what we learned: by its nature, certain parts of the Monte Carlo simulation for MBS pricing may be done at the same time. In parallel.

Ah. Parallel processing! We can do that! Sun was just about to come to market with their first multi-processor servers – the SPARCServer, models 1000, and 2000. As I recall, the model 1000 had 4 processors, the model 2000 had 8.

We worked feverishly with EJV’s engineers to write code to fan out the Monte Carlo calculations across the processors, and then to collect the results for form the final answer.[5]

We had to go to Sun’s engineering facility in Mountain View, CA to test the code, because the product had not yet launched. One long flight and two all-nighters later, we had our results. And they were astounding.

Each additional processor provided a multiplier for the performance. For example – the second processor provided two times the speed, adding a third tripled the speed, and so on.

The results were so good that Sun product marketing decided to showcase them in the SparcServer 1000/2000 product announcement. Scott, David, and I received a 1993 Sun Tour De Force award, for our work to solve EJVs problem with this new technology.

Sun continued to be a hot computer vendor on Wall street, and so we enjoyed our 15 minutes of fame, and then moved on.

I fondly remember this event – a rare, perfect storm of opportunity – born of a customer problem, new technology, smart techies, and desperation.


[1] Complex derivatives (a term used in US and European regulatory reporting) are  a category of securities that are not exchange traded. There is typically not enough trading volume to quote their price via “mark to market” based on recent transactions.

Net-net: You don’t see these securities scroll by on the CNBC ticker. Because of their custom or bespoke nature, their complexity and degree of risk, their price is determined via “Mark to model.” Sort of like a weather forecast.

[2] EJV was also a Sun ISV and direct reseller.

[3] EJV was touted as a direct competitor to the omnipresent and versatile Bloomberg terminal.

[4] EJV’s elite coders were former employees of Cray Computers, the leading super computer company of the time. We fondly called them the “ Crayons.”

[5] As I recall, threading was not yet a feature of the ‘C’ programming language, and so we had to use separate processes and named pipes for the parallel processing.