This post, suggests that some multi-core cloud instances only allocate additional CPU cores as they are needed (dynamically), which prevents NT8 from becoming aware of additional CPU cores because NT8 only checks for # of available cores once, when it is started. But in my test case, I opened Windows Task Manager before starting NT8 and visually confirmed that Windows Task Manager was seeing 4 available CPU cores before NT8 was started.
Addressing the same issue later in the same thread, in this post mrengleman makes some very good points and poses a very important question. The first important point he makes is this one:
Specific to the strategy analyzer optimizer, we have some notes collected on the link here below and we will be adding more information as we see fit. I will make a case for publishing those conditions here. Thanks for your feedback.
http://ninjatrader.com/support/helpG...ionPerformance
Thus, I find myself in a pickle - really wanting to use multiple CPU cores while running Strategy Analyzer Optimization, but unable to do so. If I go to NT tech support for help, they will likely say, "AWS is not setting the proper flags/variables in the Operating System to let NT8 know how many CPU cores are really available." But before I can go to AWS tech support to request that they set the proper flags/variables in the OS, I need to know exacltly which flags/variables in the OS need to be set. Otherwise, AWS will likely tell me it's NinjaTrader's problem, not theirs. So, I find myself reiterating mrengleman's request to NinjaTrader to please publish the specific conditions which need to be met for NT8 to be able to utilize all available CPU cores. Or, better yet, make NT8 smart enough that it doesn't require any special conditions to be set in order to utilize all available CPU cores. In my test example, if NT8 could detect the number of available CPU cores in the same way Windows Task Manager detects the number of available cores, then NT8 would be able to utilize all available CPU cores. Is there any reason why NT8 can't just duplicate whatever Windows Task Manager is doing to detect the number of available CPU cores?
Please feel free to reproduce the test example illustrated in the attached screenshot. All the parameters used in the optimization of the Sample MA crossover strategy are visible in the screenshot. I'm guessing NinjaTrader has an AWS account, but if not, I'd be happy to let them use my account to create a "t2.xlarge" instance of "Windows Server 2008 R2 Datacenter" so they can reproduce the problem I'm seeing.
Note, in my test case above, I did not change the NT process CPU Affinity or the NT process Priority; they were both left at their default settings.
Thanks in advance for whatever information anyone has on this issue.
Regards,
Conan
Note, I had to post this under a new thread, different from the one referenced above, because that thread is in the "NT8 Beta" section, which was closed to further posts when NT8 went out of Beta.
Comment