Login Page - Create Account

Support Board


Date/Time: Mon, 17 Jun 2024 00:44:08 +0000



[Locked] - CPU usage for multi-core processor

View Count: 15300

[2013-06-05 14:28:12]
joshtrader - Posts: 444
I have a quad core i5, and am considering an entire system upgrade. However, this is what my CPU looks like with SC running (attached file).

Basically, only one core is being used. I have about 15 charts open, and a 40ms update interval. When I reduce the number of charts to only the trading DOM, the responsiveness of the updates in the trade DOM goes up dramatically. In other words, there is some lag and this is a direct function of the number of charts open. So, my question is, with such a good potential for parallelization, why are 3 of the cores not being used? Is this the expectation, or is there something I can configure differently? I am using 982, the standard .net version.
Date Time Of Last Edit: 2013-06-05 14:32:36
image6-5-2013 10-28-43 AM.png / V - Attached On 2013-06-05 14:29:09 UTC - Size: 22.99 KB - 1278 views
[2013-06-05 17:27:26]
Sierra Chart Engineering - Posts: 104368
You could install multiple copies of Sierra Chart to distribute the processing load. More information about that can be found here:
http://www.sierrachart.com/index.php?l=doc/MultipleServices.html

This is going to be the best solution which is available now. So you will have one copy of Sierra Chart that acts like a master, and the others can be slaves receiving data from it.

As to the answer about why more cores are not being used during real-time chart updating, that is very very complex and hard to implement. And may not bring nearly the benefit you would expect, if anything at all.
Sierra Chart Support - Engineering Level

Your definitive source for support. Other responses are from users. Try to keep your questions brief and to the point. Be aware of support policy:
https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation

For the most reliable, advanced, and zero cost futures order routing, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
Date Time Of Last Edit: 2013-06-05 17:29:02
[2013-06-05 17:41:26]
M5amhan - Posts: 468
a few things i did that really improved sierra for me:

-- went to performance information and tools and clicked adjust visual effects then checked adjust for best performance (i rechecked a few things i like)
-- changed my theme to windows basic (do this after the first step)
-- then reduced all my intraday charts to only load a max of 5 days, some lower on the small time frames (2,5min)
-- cleaned my disk sierra is loaded to using disk cleanup

i only had a slight lag before when switching between symbols and scrolling through a maximized chart, now it is very smooth

p.s. that analogy is great lol
Date Time Of Last Edit: 2013-06-05 17:42:12
[2013-06-06 17:45:39]
joshtrader - Posts: 444
SC,

Based on what you know about your own program, and about IQFeed, would you estimate that it would be more efficient to:

A) Use two copies of SC, connecting both to IQFeed, with each pulling their data directly from the IQFeed client

or

B) Use two copies of SC, connecting only one to IQFeed, and then using Sierra's interprocess communication to open charts in the non-connected instance of SC?
Date Time Of Last Edit: 2013-06-06 17:45:51
[2013-06-06 22:44:37]
GPST10 - Posts: 139
You have too many processes running as well. Normal number would be 25-35 etc...
[2013-06-06 23:09:31]
Sierra Chart Engineering - Posts: 104368
While we have not tested this, the ultimate configuration with IQ Feed would be to run 3 copies. One copy that connects IQ Feed and is not used for charting and 2 other copies using data from the IQ Feed copy.
Sierra Chart Support - Engineering Level

Your definitive source for support. Other responses are from users. Try to keep your questions brief and to the point. Be aware of support policy:
https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation

For the most reliable, advanced, and zero cost futures order routing, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
[2013-06-07 02:33:43]
ganz - Posts: 1048
joshtrader

hi

I'm not a programmer but as I can see:SC is using all of CPUs consistently on Linux.

The kernel scheduler permanently changes the CPU usage from one to another by it's rules in basic mode.

Also all of CPUs have been used for peak loads. pls., see the attachment.

gd lck
imagesc-cpu.png / V - Attached On 2013-06-07 02:32:44 UTC - Size: 190.37 KB - 1180 views
[2013-06-07 04:35:49]
joshtrader - Posts: 444
Thanks for the replies; I will look to distribute the workload by using SC's suggestions for now.
[2013-11-23 13:30:59]
FFTrader - Posts: 180
Hi SC Support,

When you are referring to running multiple copies of SC. it is not the same as detaching a chart from the main window, right?

Generally, the newer processors are all multi-cores and with DDR4 memory coming in 2014(?), I really hope that the newer processor can be utilized by SC. As such, it seems that when we upgrade to a new computer, clock speed is more important than multiple threads / cores?

I have an Intel Core2 Quad Q6700 with 8 GB of DDR2 memory and planning to upgrade in 2014. After reading this thread, I am scratching my head as to what I should do:
1. Upgrade plus run multiple copies of SC;
2. Wait till a major failure of my hardware and continue but use multiple copies and hope I do not have to cross reference between my 15 charts;
3. Any ideas / suggestions from SC support on upgrading to more multiple cores - 6 to 8 cores - and DDR4 memory.???

For me, I just use one service - InteractiveBrokers ... and the other one I use is SC Historical (which probably does not count as a live data service). So not sure if I can take advantage of multiple copies of SC?

Update: Just installed a second copy of SC ...
Date Time Of Last Edit: 2013-11-23 14:37:32
[2013-11-24 05:31:46]
vegasfoster - Posts: 444
I'm not a programmer or anything, but maybe a solution would be to have background instances of SC open with new charts, as opposed to recoding SC for multi-threading. Basically take current functionality and just make it automatic and behind the scenes. You guys could probably crank that out in a few hours. :)
[2013-11-25 14:00:56]
Hendrixon - Posts: 130
ganz... that's amazing.
How do you run SC on linux?

From your experience how optimized is the kernel scheduler?
If you'll run the same single thread benchmark on windows and linux, will you get quadruple the performance on linux?
[2013-11-25 15:01:48]
ganz - Posts: 1048
Hendrixon

How do you run SC on linux?

https://www.bigmiketrading.com/sierra-chart/29064-sierrachart-ubuntu-wine.html

If you'll run the same single thread benchmark on windows and linux, will you get quadruple the performance on linux?

No. :)

I've got SC on Linux and WinSrv2008r2: the performance is pretty the same for my needs /6-10 charts/

From your experience how optimized is the kernel scheduler?
This is the huge area and I'm not a pro in it. So the answer is: it works just fine. :)
[2013-11-25 20:39:24]
SgtJ - Posts: 154
As GSP stated abv, 90 processes way too many for a trading pc imo. Running W7 pro here w/out being super strict, only 32 running processes.
[2013-11-25 20:42:57]
SgtJ - Posts: 154
Support, w/ regard to post #6, do you think it is most efficient for a user to always use a dedicated instance for data connectivity if they have more then 1 feed? So if 2 data feeds, run at least 4 sc instances?
[2013-11-25 21:14:13]
Sierra Chart Engineering - Posts: 104368

When you are referring to running multiple copies of SC. it is not the same as detaching a chart from the main window, right?

Running multiple copies of Sierra Chart is different than detaching a chart.
Sierra Chart Support - Engineering Level

Your definitive source for support. Other responses are from users. Try to keep your questions brief and to the point. Be aware of support policy:
https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation

For the most reliable, advanced, and zero cost futures order routing, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
[2013-11-26 23:09:24]
FFTrader - Posts: 180
Support,

I currently have two copies of SC loaded on the same data supplier with the data stored in the same directory same file name. One copy is to load data of multiple months of a handful of futures contracts. The other copy is the copy which has like 15 charts with a mix of Historical Charts (SC Historical) and Intraday Charts (data provider) on the same futures contract - there are multiple use of Study/Price Overlay to cross reference charts so splitting this set of 15 charts into two or more copies may require a complete redesign on my charts.

Additionally, I noticed in the Windows Resource Monitor, regardless of one or two copies of SC I am running, it somehow showed that the second core (of the Quad) is the busiest and always the first to max out. The other cores hardly max out ...

More general questions:
1. So given SC as it is now - version 1051 is what I have on an Intel Core2 Quad Q6700 processor (LGA 775 socket) and Windows 7 Pro pc - and given I want to upgrade my hardware, should I get more clock speed, more DRAM, or more computing cores in order to optimize SC on the latest CPU offerings from Intel, etc.? If the answer is all of the above, it can be too obvious and bottom-line is that I just want to not spend way too much and not get the benefits.
2. If I load SC and its data directory in a RAMDisk, is it advisable for the purpose of gaining some speed?

In other words, I intend to use SC with the latest hardware but not sure how to do it efficiently and buy unnecessary resource that I may not need.

[2013-11-27 07:36:43]
namlem - Posts: 94
FFTrader,

if I may share my point of view..
2. If I load SC and its data directory in a RAMDisk, is it advisable for the purpose of gaining some speed?
since I have heavy calculations in Spreadsheets, putting whole SC into a RAMDisk didn't help me. Loading of charts was a bit faster and this is it (cpu i7-2600K, 16gb dd3).
Overall, good performance gain I received by installing SC CLR version (non.NET version loads charts faster) on SDD drive and yes, buying faster CPU obviously would help me also. Actually, instead of buying new CPU every year :) I was thinking about use of distributed computing, but hit few obstacles on a way - first, an application must be programmed in a way to support cpu process distribution and 2nd - I didn't find an application for this task for WinOS (apple OS and linux have it). So, as you may know, Amazon suggests its cloud computing services, so I tried their windows cluster c3.8xlarge (with 32 virtual CPUs, 108 ECU, 60GB RAM) and you know - SC load time was even slower than on my PC... Having this in mind, as far as I understood, process can be shared efficiently if app developed in a way to support it and runs on linux. I think it's much easier to implement cuda support on linux for SC. Linux support is on a way, only one thing left :) In the mean time, I'm concentrated on spreadsheets' logic tuning. In my case, it was taking more than 3 hours to start SC each time(.net version). That's why, for example, I suggested SC team, to create a feature to load already calculated spreadsheets (afaik, it will be supported in non.CLR version). Overall, from my experience, best performance gain obtained by tuning application itself, in our case spreadsheet.
[2013-11-27 07:58:09]
ganz - Posts: 1048
namlem

since I have heavy calculations in Spreadsheets, putting whole SC into a RAMDisk didn't help me.

my humble suggestion is to use ACSIL for calculations

I think it's much easier to implement cuda support on linux for SC.

No, because of 1046 Chart Values Window
[2013-11-27 08:12:08]
Sierra Chart Engineering - Posts: 104368
, I suggested SC team, to create a feature to load already calculated spreadsheets (afaik, it will be supported in non.CLR version).

What we are going to do is add a command to disable calculations. This will make Chartbook loading faster if you previously disabled calculations. Saving calculations is already the way it is now.
Sierra Chart Support - Engineering Level

Your definitive source for support. Other responses are from users. Try to keep your questions brief and to the point. Be aware of support policy:
https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation

For the most reliable, advanced, and zero cost futures order routing, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
[2013-11-27 08:59:38]
namlem - Posts: 94
namlem

since I have heavy calculations in Spreadsheets, putting whole SC into a RAMDisk didn't help me.


my humble suggestion is to use ACSIL for calculations

I think it's much easier to implement cuda support on linux for SC.


No, because of 1046 Chart Values Window

Ah, my mistake, of course, cuda on linux is not an option, we discussed this. Thanks reminding me this ganz :) So we have, a very difficult implementation of process sharing on windows and no point to implement cuda support on linux :)

regarding ACSIL, yes it would be faster, but it can be used when system's logic completely finished. In my case I constantly play with new ideas on top of what I have and I know if start bother myself with coding I will be lost very quickly among thousands of code lines.
I reckon, most SC customers like SC because of its no-coding approach.

Saving calculations is already the way it is now.
and as I understand within a start those values will be shown on a chart, correct?


Date Time Of Last Edit: 2013-11-27 09:01:45
[2013-11-27 09:30:59]
ganz - Posts: 1048
namlem
I know if start bother myself with coding I will be lost very quickly among thousands of code lines.

ACSIL is not like a C#, just try to code a simple thing and you will see how fast, easy and flexible it is.
But you realy need to use something like this (lightweight IDE)

http://www.sierrachart.com/supportboard/showpost.php?p=232100&postcount=8
http://www.sierrachart.com/supportboard/showpost.php?p=234516&postcount=10

to save your time and get a new result by one click with a light speed.

Date Time Of Last Edit: 2013-11-27 09:31:13
[2013-11-27 10:04:00]
namlem - Posts: 94
ganz,
in fact I'm a software developer :) Actually, I tried ACSIL in the very beginning and ported some indicators and EAs from MT4 and eSignal platforms and, yes, I found it easy to use. I'm not so much scared to write ACSIL code as to waste time. I find it extremely efficient to use SC spreadsheet systems. Up to me it's so far the fastest way to try and change new ideas. Performance tuning is another point and as we know it always requires a victim. I think combination of some ACSIL code and spreadsheets will give best results..
[2013-11-27 11:14:50]
Hendrixon - Posts: 130
namlem,

Just a tip:
I'm not a programmer by profession, but I code a lot in ACSIL. my tool to test fast ideas is the Simple Alert study.
Its lite fast and cleaner than using spreadsheets for not VERY complex ideas.
Since its limited in character space, if I need more space I simply add another simple alert and start it with (for example) "=AND(ID1.SG1=TRUE,_________)".
Its only real limitation is that of where to set markers, but still, as a scratch pad for fast ideas its very nice and clean.

Cheers
[2013-11-27 13:48:42]
FFTrader - Posts: 180
Support, namlem, ganz, Hendrixon,

The last time I coded something serious was in 1986 - and I have yet to use the spreadsheet system. So far, I have been sticking to the studies and have one or two user defined and 3rd party studies.

So I guess the bottom-line is more clock speed if I am upgrading to a new CPU + motherboard, right?

And I guess faster DRAM can help too?

What about MORE DRAM?
[2013-11-27 14:15:05]
Hendrixon - Posts: 130
Use ram as much as your setup needs.
More ram doesn't equal more speed, but lack of ram means performance hit.
For the foreseeable future, under windows, core speed will help you more than number of cores since SC is not chart multithreaded.
If you're not afraid to build/use a complex inter-related setup of few SC instances, than multicore will be of help.

I use an i7 quad-core o/c to constant 4Ghz, no turbo/throttling stuff or power savings.
Also a modern fast SSD will do the job of ramdisk and even better, since it's secure and stable. I think it's a must.

To post a message in this thread, you need to log in with your Sierra Chart account:

Login

Login Page - Create Account