Out of memory; Processing uses only one CPU core
Author: BigReturns
Creation Date: 7/29/2009 9:32 AM
profile picture

BigReturns

#1
Hey guys.... (Cone..)

Great job on the optimization tools. That saves me so much time, its unreal.

I am running strategies on large datasets and have seen a couple of things that may or may not be an issue:

- Run out of memory. Wealthlab sucks up a huge about of memory 3+ gig when running on large data sets. Wealthlab just runs physical memory out until it WL crashes.

- Processing only uses one CPU. I am using a multi-core processor and noticed that Wealthlab is only using 1 core while the other 3 are idle. As a result, we aren't getting much processing capacity from our systems. Any CPU upgrades will only provide minor performance gain as the trend is not fast CPU but just more cores.

I am using Vista 32 Business, will 64bit Windows 7 resolve some of this? I am more than willing to go out and spend $3,000 on a new system but not if I only get 5% improvement in speed.

Also, do you guys have any updates on updating the position risk management function that can be adjusted based on other factors such as stock trade volume?


Much thanks!
-Derek
profile picture

Eugene

#2
Re: memory problems, please take a look at the FAQ:

Out of memory problems.
Is Wealth-Lab 5.1-5.3 able to use 3 Gb of RAM?

Re: better multi-core utilization -- although it's been reported to the developers, from their answer I was under impression it's not an easy task and is not a short-term priority. However, the fact that 3 of the cores look idle does not mean that CPU resources are utilized inefficiently, it's rather the workload is not really high. For instance, simultaneous optimizing in two workspaces will load multiple CPU cores

Re: Win 7 x64 -- yes for Developer users and no for WLP users (explained in one of the FAQs above; in short: WLP is currently stuck with 32-bit unmanaged FidelityServer.exe sending the whole process into the WOW64 subsystem)

Re: risk management -- 5.5 (Autumn) will have the SetShareSize function, but the full-fledged support (aka PosSizers) has to wait until a later build
profile picture

BigReturns

#3
Thanks Eugene!
profile picture

BigReturns

#4

Continuation on out of memory discussion

I've been running out of memory quiet frequently which my system crashes. As a result, I would like to make the following ideas for helping customer with this issue:

First, I assume WL loads all history data into memory for performance reasons....

QUOTE:

1 - Have the system predict how much memory may be consumed. Should be able to estimate this by introspecting at the Range, Scale, the number and size of DataSeries objects used, and other factors that affect memory usage.
2 - If it exceeds memory allocation, offer to process it in a slower by loading, processing, release for symbol instead of loading everything into memory. Should still be able to display the symbol data and transaction, but just load and process the symbol data at time of selection.


Sorry for so many suggestions but there are all my pain points right now.

-Derek






profile picture

Eugene

#5
Yes, WL5 loads all history data into memory to be available in Performance Visualizers and later (in 5.6), for PosSizers (aka $imuScripts). This is by design and can't be changed. Please see "Out of memory problems" above for performance tips.
profile picture

gbullr

#6
Related.

So running a data intensive backtest and have the same issue as stated above. 16 cores available only 1 being used.

Any way to have multiple cores used so as to reduce time because I am at 10 minutes per backtest but would obviously be much faster if the other cores could be used.


Thank you.

profile picture

Eugene

#7