Announcement

Collapse
No announcement yet.

CPU test: 6.0 vs. 5.1

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

  • CPU test: 6.0 vs. 5.1

    Since the rollout of 6.0 to the public this fall, I have been reading with interest the comments and concerns(1) with respect to the significant step backwards in capability of 6.0 vs. 5.1. I’m sure that QCharts’ staff understands how users can become so very emotional about the product – for most of us, QCharts is the primary tool we use to either make a living or to supplement our livelihood. And, when one’s primary tool is broken, it’s easy to understand that a lot of emotion will get wrapped around it very quickly.

    I have been tempted to enter the fray of conversation, however, the engineer in me decided instead of continuing to report that it just doesn’t work properly, to gather empirical data in an attempt to focus efforts on what is actually going on. Many thanks to Larry Marchman for assistance in compiling these data.

    For most of us, we experience significant %CPU increases, which may, in fact, contribute to any of the following items:
    • Lock-ups
    • Significant (20 seconds to many minutes' ) delay in populating charts
    • Unresponsiveness
    • Symbols jumping from one Quote Sheet to another &/or replacing other symbols within a single Quote Sheet
    • Chart Time Interval &/or Symbol arbitrarily changing without user input
    • And other various bugs and functions not as yet implemented.

    I decided to run some tests to quantify the %CPU increases in 6.0 vs. 5.1 and also compare the %CPU between 5.1 on an IP4 server vs. an IP2 server(2). The tests were run 11/28-11/30/07 and all the data, complete analysis, overall test results, and sample workspace used can be viewed here


    A little background[list=1][*]Currently, 5.1 draws primarily from IP2 Continuum Servers. It is known that IP2 is dropping up to 70% of tick volume depending on the time of day. IP4 is feeding tick volumes equivalent to the eSignal servers. So if the same workspace is run concurrently on two instances of QCharts 5.1 (IP4 & IP2), one can approximate the increase in %CPU that should be required to run 6.0 given its higher tick volume.[*]Again running the same workspace, one can determine the amount of %CPU required to run 5.1-IP2 vs. 6.0 on the eSignal servers.[*]The difference in the %CPU between #’s 1 and 2, above, can be attributed to processing inefficiencies. [/list=1]





    [
    A concise summary of the results follows:[list=1][*]QC5.1 on IP4 vs. IP2 servers utilized an average of 3.58 times more %CPU. Stated another way, IP4’s full-tick volume required 258% more %CPU than the throttled (dropping up to 70%) volume of IP2.[*]QC6 v QC5-IP2 utilized an average of 8.11 times more %CPU. Stated another way, QC6.0 required 711% more %CPU.[*]Given this baseline, one can then approximate the increased amount of CPU required due to processing inefficiencies: 8.11 – 3.58 = 4.53 times more %CPU. Stated another way, over half of the increase in %CPU in 6.0 is due to processing inefficiencies. [/list=1]

    The increase in CPU usage is due to two factors: (1) The increased number of ticks in the eSignal feed; and (2) Processing inefficiencies. The extra load due to processing inefficiencies is significant, as great as or greater than the increase due to a greater number of ticks.

    Note: These numbers are the TaskInfo long term averages, LT%CPU. In the detailed reports, there is another set of numbers developed from summing the immediate sample values: %CPU. These numbers can be spikey for various reasons, and show even wider ratios.


    Conclusions - So, what does this mean to the average QC user?
    A user that has a 5.1 workspace that typically uses little %CPU on his/her specific box may very well be good to go with 6.0 as is, even with the increased %CPU hit s/he will experience.

    If the user’s workspace typically uses 12.3 % CPU(3) or more for QC5.1-IP2, that same workspace would typically require 100% CPU just for the QCharts program in QC6.0 (not accounting for other programs running on said computer).

    It's up to the individual user to determine the impact of a given workspace on their specific box and choose a course of action. Whether or not they are good to go as is or whether cutting the data demands of the workspace to compensate for the increased %CPU will suffice. Or, whether to buy a more powerful box at this time to run their existing workspace if unwilling to (a) cut their existing workspace and/or (b) wait on processing efficiency improvements.

    Again...The increase in CPU usage is due to two factors: (1) The increased number of ticks in the eSignal feed; and (2) Processing inefficiencies. Here's hoping the processing inefficiencies is the number one priority with the development folks.


    Carol

    Footnotes:
    (1) From all but one user with seemingly magical computers in an alternate universe.

    (2) The IP2 feed from Comstock is a relatively small capacity pipe, and typically sends throttled (planned dropped ticks) data. The throttling can be up to 70% during market open and going into the close; lesser so midday. The IP4 feed from Comstock is a higher capacity pipe, and contains the same set of ticks as the eSignal feed, for all practical purposes. SantaClara 10 and 11 are on the IP4 feed, but can’t really be used for daytrading purposes due to frequent queuing.

    (3) The 12.3 number (100% divided by the 8.11 ratio) is the cumulative average of captures throughout the day. In actual experience, there is a wide range of %CPU differences between 6.0 and 5.1. This is a function of data trade rates and the amount of IP2 throttling at any moment in time. As one example here to reinforce that the 12.3% number is but an average, a user that normally experiences QCharts using 9% during higher volume periods with 5.1-IP2, and has 10% for all other programs running, can peg during these periods due to a QC6 vs QC5 ratio factor of 10X being probable. See the data and charts in the detailed reports for actual ranges experienced during the data collection process. See full report here
    Last edited by ckelly; 01-03-2008, 05:20 AM.

  • #2
    Carol,

    Could you possibly host the images on your rr.com webspace and change the links to the images to point to those? Or at least place the images there, since the links you currently are using require 'permission' to join an eSignal group?

    Thanx!

    Comment


    • #3
      Carbuff,
      You should be able to see the charts imbedded in the Post now. To be perfectly honest, I didn't really do anything except go to bed last night and now, this morning, magically, the charts appeared (so I edited out the "edit" comment and the url's). When I reviewed it last night, I only saw small boxes with a red X in the middle - so I edited the Post and added the url's to point to the file share page. Maybe someone out there can explain the mystery to all of us

      Additionally, I didn't know that pointing to a file share required the reader to join the eSignal Group in order to see the pic. Good info for future reference so thanks for letting me know.

      Carol

      Comment


      • #4
        Carol,

        Thanks for a very logical and helpful analysis. I am sitting here right now having waited 20 minutes for my regular QC 5 workspace to open in QC6. I am running a 2.4 GHz CPU w/ 512MB memory on a laptop w/ a 1680x1050 screen. The CPU has been pegged at 100% the entire time and QC 6 shows 56 MB of memory being used.

        I run 6 charts (some with unusual time intervals) and 322 symbols. QC 5 during RTH used 30-60% CPU, on average, with the same workspace.

        Does anyone know if the chart time interval settings in QC 6 have a significant effect on CPU utilization? I know that cutting back on the number of symbols cuts CPU usage.

        Also, can anyone confirm how "multi-threaded" QC 6 is in its current release. I need to build a new PC anyway, and if QC 6 is fully multi-threaded, I will probably go with a Quad Core Intel CPU.

        Comment


        • #5
          dcash,
          As you see from the conclusions of my 3-day test, any QC5.1 workspace that uses over 12.3%CPU will peg 100% in QC6.0. My experience with my "mac-daddy" 5.1 workspace is that it crashes QC6.0 and I don't even bother with it any more. I have trimmed my QC5.1 workspaace to a much smaller version & am currently (@ 11:25am) at 1 LT%CPU (via TaskInfo). Of course, the market is at lunch right now - but, you get the picture. Additionally, I do not trade with QC6 for all the reasons stated in my prior post. I continue to test it in hopes of resolving its current capability issues.

          As for chart intervals' impact on CPU - probably Mike or Larry Marchman would be better qualified to answer your question. I can share my experience, however. I also use non-standard time intervals and my testing shows that it really doesn't matter. Sometimes, the D/W/M charts will load/populate in a blink and I can wait 20 minutes for ANY intraday charts to fill (regardless of standard or non-standard time frame). Sometimes I can wait 60 minutes and still do not see them. Then, at other times, the intraday's will pop and the Daily will not paint. Go figure. I have tried testing, say a 239-minute chart vs. a 240-min chart - either will paint minutes before the other. So, at best, results are totally inconsistent.

          In a prior post, Mike stated the intraday's would be painted from an equal division of 1, 2, 3, 4, 5, or 6-min charts. Well, 239 is not equally divided by any of those except 1, while 240 can be equally divided by 6, 5, 4, 3, 2, and 1. And, again, sometimes the 239-min will paint and the 240-min will not. Go figure.

          As to multi-threaded, my understanding is that yes, you will have better results running QCharts on that type machine. Also, I would install as much DDR2 SDRAM as the machine will hold/recognize/you can afford. Bill Bledsoe is the expert here and can give much better advice than I can (he taught me everything I know.) See Bill's help site here

          Hope this helps and let's look to the other experts to better advise you.

          Good luck,
          Carol

          Comment


          • #6
            Does anyone know if the chart time interval settings in QC 6 have a significant effect on CPU utilization? I know that cutting back on the number of symbols cuts CPU usage. ~Dan
            Hey Dan,

            Once the chart is initialized, once all the historical data bars have been downloaded that's required to paint the chart, then servicing the chart with moment to moment new ticks should be the same regardless of the interval. Of course, initializing charts is a different matter, and the larger the interval, the greater the download required to paint the chart, or a longer wait for the server to package the bars. See Prefs>Multi-Minute bars for tweak options.

            Also, can anyone confirm how "multi-threaded" QC 6 is in its current release. I need to build a new PC anyway, and if QC 6 is fully multi-threaded, I will probably go with a Quad Core Intel CPU. ~Dan
            Carol,

            You have a dual core, if I recall correctly. Could you confirm fer sure that QCharts is spreading itself across processors? If your big wksp runs the %CPU for the QCharts process/task up above 50%, then that means the threads are spread over the two processors. One processor fully maxed is 50% of your total %CPU capacity. So if a program doesn't support multi-processors, the most %CPU that program could incur would be 50% of the total %CPU capacity of your box. Load mac-daddy. What do you see with yer handy dandy TaskInfo. Does QCharts task show >50%, indicating thread spread? but, but <grin> I don't have a dual, and this is a "methinks" that is what you will see. Thanks.

            Any one else with a Dual wanna test thread spead over multiple processors?

            LAM

            Comment


            • #7
              Dan & Larry,

              Yes, I have a dual core machine. The specs are as follows:


              I had to dig deep in to the archives to pull out my MacDaddy workspace. It's been so long, the e-mini's were way out of date - so, note that the e-mini's were not causing a pull on the CPU. Additionally, the workspace contains 15 charts and several quote sheets. (For clarity, 7 charts are locked on 7 different stocks being tracked, 8 charts of varying time frames are used for the current stock being traded.) The QC6 Sym count is 256.

              I was away from my desk and did not begin this test until about 3:50pm - but decided running it into the close would be benificial.

              To answer your question - yes, the CPU is over 50% - indicating thread spread.

              Interestingly enough, I also discovered something kind of bizarre after the close as I was ready to post.

              In this image, follow the compound .gif's from bottom (1) to top (3).



              At (1) - both versions of QCharts have been running the MacDaddy workspace about 8 minutes - long enough to be stabilized and past the initial surge of CPU while loading the workspace. The LT%CPU & %CPU are what I typically see for an huge workspace on 5.1 - 6.0 is usually higher than seen here, but it is somewhat of a quite day. Again, this is the same workspace (current symbol is AAPL) - note the significant higher CPU draw for 6.0.

              At (2) - one minute later, note that 6.0 went to "white out." The entire workspace went white. Again, not an unusual event, in my experience, with 6.0. You'll see that 5.1 has increased its CPU pull as well, however, the charts are still painting fine. Note also the significant increase in 6.0's Total KB usage.

              At (3) - perhaps the most interesting to me. The market is closed but note that 6.0 is still making a significant pull on CPU. There are NO All Session charts in the workspace. The e-mini's charts expired long ago so are also not pulling. I wonder what is causing 6.0 to ramp up 34 minutes after the close?

              Carol
              Last edited by ckelly; 01-03-2008, 04:26 PM.

              Comment


              • #8
                Here's a sample of the 240-chart not painting yet the 239-min chart populated in about 5 seconds.

                Carol
                Attached Files

                Comment


                • #9
                  To answer your question - yes, the CPU is over 50% - indicating thread spread.

                  Interestingly enough, I also discovered something kind of bizarre after the close as I was ready to post. ~Carol
                  CK,

                  Thanks for the verify on thread spread.

                  Regarding the sudden memory spike, yep, I've seen that.
                  Regarding el Bizarro, yeah, I've seen it just kinda take off when it shouldn't.
                  Ya might wanna point Mr. C to the post in an offlist email/PM.

                  LAM

                  Comment

                  Working...
                  X