Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

NinjaTrader 8 Multi Threading

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    NinjaTrader 8 Multi Threading

    Setting up a server with NinjaTrader. Found that NinjaTrader lags with Continuum with high volatility. Need some Technical details on how NinjaTrader is ran underneath the hood.
    - Is NinjaTrader Multi-threaded? If so, how many threads?
    - NinjaTrader only uses the CPU correct?
    - How are the Strategies ran in conjunction with NinaTrader from a CPU utilization rate?
    - Any more information on how NT is used with windows based?

    Read the article from here, but the information lacks the details of how NinjaTrader is threaded. - https://ninjatrader.com/NinjaTrader-8-InstallationGuide

    #2
    If your server is lagging then we would want to do some in-depth analysis using your NinjaTrader diagnostic files to determine what may be the root cause. What you're describing sounds like performance issues due to market volatility which effectively means you're bottle-necking somewhere and the 'somewhere' may just be workspace complexity. Throwing more powerful hardware at the symptom may not be the correct solution.

    Here are direct answers to your questions:
    • NinjaTrader 8 is multi-threaded and can utilize all available threads. The actual distribution of work across threads will depend on exactly how you're using NinjaTrader.
    • NinjaTrader utilizes the CPU and GPU and all of your PC's hardware really (RAM, hard drive, etc.). Perhaps if you ask a more specific question I can provide a more specific answer
    • I don't quite understand what you're trying to determine. Can you be more specific about what you're trying to learn with this question?
    Patrick G.NinjaTrader Customer Service

    Comment


      #3
      Thanks for the quick reply. It was a few weeks ago and was on my windows 10 computer. I heard continuum uses websockets so that might be where the bottleneck is. So are you saying NT uses the GPU as well? And trying to understand the thread utilization of the program to determine the type of CPU to purchase.

      Comment


        #4
        Yes, NinjaTrader 8 leans heavily on the GPU for chart rendering.

        NinjaTrader 8 is multi-threaded and can, in theory, utilize all available cores of your processor. With that said, depending on how you're using NinjaTrader, you may be bottle-necking a thread. One core concept that is important to understand about NinjaTrader's multi-threaded design is that each instrument is assigned to a thread and all windows with that instrument will run on that same thread. This is done so that an instrument cannot become out of sync with itself.

        I go into further detail about multi-threading in the topic below:If you have any specific questions that aren't answered in the link above, please let me know and I'll be happy to clarify.

        Again, if you're experiencing issues during high volatility, there is a high probability that the best solution is not to obtain more powerful hardware but to optimize your workspaces. I have provided a link below to our Help Guide that goes over performance tips:To provide more specific advice for what you're experiencing, I would need your NinjaTrader diagnostic files and we would continue the conversation via email.
        Patrick G.NinjaTrader Customer Service

        Comment


          #5
          That is good to know about the GPU. I trade the CL and ES with 4 charts for each (with several indicators but not like the other guy by no means) . So in theory that alone would use 2 threads? 1 for CL and 1 for ES.

          I am looking at dedicated servers but I can't decided which would be the best performance for NT8. You saying chart rendering uses GPU makes me want to use the 2nd one. But seems like you know what you are talking about. If you had the option on running NT8 on a windows server 2016. What would you choose?

          Processor: Intel Xeon-E 2136 - 6 c / 12 t - 3.3 GHz / 4.5 GHz
          Memory: From 32GB
          Disk: SSD
          Public network: 1 Gbps

          or

          Processor: Intel i7-7700K OC - 4 c / 8 t - 4.7 GHz / 5 GHz
          Memory: 64GB
          Disk: SSD
          Public network: 500 Mbps
          Last edited by w0lverine; 11-14-2019, 08:47 AM.

          Comment


            #6
            You understand threading logic correctly.

            I don't see graphics specs included, but both of these servers are very powerful and exceed our recommended specs:

            https://ninjatrader.com/NinjaTrader-8-InstallationGuide

            Also, I'd like to elaborate that speed of internet connection comes in second by quite a wide margin to quality of connection. If your connection speed is blazing fast but often drops packets or is in general losing connection in any way (even very briefly), the speed cannot make up for that.
            Last edited by NinjaTrader_PatrickG; 11-14-2019, 08:58 AM.
            Patrick G.NinjaTrader Customer Service

            Comment


              #7
              Of course it exceeds the recommended specs. I am just trying to optimize (speed counts). These are hosted at a datacenter with 1ms connection time to the market. And with just looking at CL and ES, I am looking at a max of 2MB from those feeds. So internet download wouldn't be an issue. Would having a GPU be better you think?
              Last edited by w0lverine; 11-14-2019, 09:06 AM.

              Comment


                #8
                Patrick,

                you are mentioning the extensive GPU usage by NT. I plan to setup a mobile work station with an Intel Core i9-10900 CPU and the integrated Intel® UHD Graphics 630. I am monitoring approx 10 futures which should be well covered by 10 of the 20 threads. However, how would you assess the GPU? Are there any GPU parameters (base frequency, ram) I should pay battention to?

                Thanks!

                Comment


                  #9
                  If you're remotely trading on the server and feeling chart input lag, there's two additional components to think about.

                  1. Distance to your remote server. The server is 1ms latency to Chicago, but what about your latency in the RDP connection to the server? This will account for some of the lag feeling. You can either run a home server and have increased latency to the broker/exchange, or run a remote server with reduced broker/exchange latency but increased latency with RDP from home to server.

                  2. Intel vs. AMD cpu type. Many VPS providers are running on older Intel, which feel much slower in remote desktop connections than AMD cpu.

                  For example with the CPU that you have mentioned, look at their benchmark scores.
                  Intel Xeon-E 2136: Score 13,506 https://www.cpubenchmark.net/cpu.php....30GHz&id=3363
                  Intel i7-7700K: Score 9,725 https://www.cpubenchmark.net/cpu.php...0K+%40+4.20GHz

                  Now compare that with an AMD CPU
                  AMD Ryzen 3900x: Score 32,847 https://www.cpubenchmark.net/cpu.php...+3900X&id=3493

                  In most cases, just one AMD Ryzen core is stronger than multiple Intel Xeons cores.
                  Try a server with multiple AMD Ryzen CPUs, and you will immediately feel the difference.

                  Check out NinjaTrader ecosystem: https://ninjatraderecosystem.com/sea...biletrader-vps
                  We are a lost cost, high performance VPS provider, with servers in Chicago, NY, and Amsterdam (Europe).



                  Originally posted by w0lverine View Post
                  That is good to know about the GPU. I trade the CL and ES with 4 charts for each (with several indicators but not like the other guy by no means) . So in theory that alone would use 2 threads? 1 for CL and 1 for ES.

                  I am looking at dedicated servers but I can't decided which would be the best performance for NT8. You saying chart rendering uses GPU makes me want to use the 2nd one. But seems like you know what you are talking about. If you had the option on running NT8 on a windows server 2016. What would you choose?

                  Processor: Intel Xeon-E 2136 - 6 c / 12 t - 3.3 GHz / 4.5 GHz
                  Memory: From 32GB
                  Disk: SSD
                  Public network: 1 Gbps

                  or

                  Processor: Intel i7-7700K OC - 4 c / 8 t - 4.7 GHz / 5 GHz
                  Memory: 64GB
                  Disk: SSD
                  Public network: 500 Mbps
                  Vendor_NT_Mobile
                  NinjaTrader Ecosystem Vendor - Ninja Mobile Trader VPS

                  Comment


                    #10
                    We do not have any specific recommendations for specific PC hardware outside of the recommended PC specs in the link provided in post #6
                    Patrick G.NinjaTrader Customer Service

                    Comment

                    Latest Posts

                    Collapse

                    Topics Statistics Last Post
                    Started by Jeremytang, 07-14-2018, 06:45 PM
                    21 responses
                    439 views
                    0 likes
                    Last Post mav8rick  
                    Started by LeonK, Yesterday, 09:26 PM
                    1 response
                    8 views
                    0 likes
                    Last Post bltdavid  
                    Started by NicholasJoannette, Yesterday, 03:01 PM
                    2 responses
                    11 views
                    0 likes
                    Last Post NicholasJoannette  
                    Started by rach1994, Yesterday, 12:20 PM
                    1 response
                    35 views
                    0 likes
                    Last Post bltdavid  
                    Started by litamm89, Yesterday, 11:00 AM
                    5 responses
                    22 views
                    1 like
                    Last Post rafael_delima86  
                    Working...
                    X