2

I currently have a back testing framework written in C# that is used to back test trading strategies. It takes few hours to run on a single computer. I would like to use High Performance technology to cut the run time to few minutes.

I tried exploring HPC on Azure, but felt too tedious to configure, and didn't find enough knowledge base on using C# code to get started with HPC.

Are there other distributed computing technologies I could explore that would work well with C#/.NET ?

user977606
  • 95
  • 2
  • 11

1 Answers1

0

A few questions that could point you to a solution:

Did you try multiple threads to compute?

Did you try run in Parallel (in case you have a loop)?

Did you try to split compute on multiple computers?

As you are using Azure, can you use multiple worker roles?

It's a little hard to answer your question, since we don't know what kind of compute your trying to do.

Thiago Custodio
  • 17,332
  • 6
  • 45
  • 90
  • Currently using TPL to parallelize the task(s) on one computer. But, I have more than million inputs that TPL too is slow. – user977606 Sep 08 '15 at 18:30
  • Also, distributed my compute across 3 computers. One is the controller, and two computers are nodes. They listen on a WCF port for inputs, and can take in multiple inputs. When done, then submit the result back to the controller to process, and accept more inputs. – user977606 Sep 08 '15 at 18:32
  • I need to explore worker roles. I haven't tried this. – user977606 Sep 08 '15 at 18:35
  • I basically have multiple different parameter combinations that need to be tried. The data comes from a centralized data cache. Each of the nodes have a WCF connection to the data repository. – user977606 Sep 08 '15 at 18:36
  • @user977606 and how do you pull data from data cache? – Thiago Custodio Sep 08 '15 at 18:53
  • WCF tcp endpoint. Have loaded 1-min bars (OHLC) data into cache. – user977606 Sep 09 '15 at 03:28