Question on MC using multi cores

Questions about MultiCharts and user contributed studies.
Tresor
Posts: 1104
Joined: 29 Mar 2008
Has thanked: 12 times
Been thanked: 53 times

Question on MC using multi cores

Postby Tresor » 02 Feb 2009

Hi TSS,

It is a known issue that MC, during optimization, uses all available CPUs and all cores within these CPUs.

Now, how does it look like during normal operations (receiving data, ploting bars and studies)? Does MC also usues all available CPUs and all their cores during these normal operations or the number of CPUs and cores is in this case limited?

Regards

User avatar
TJ
Posts: 7740
Joined: 29 Aug 2006
Location: Global Citizen
Has thanked: 1033 times
Been thanked: 2221 times

Postby TJ » 02 Feb 2009

I am using a Quad-Core, and I can tell you YES... MC uses all 4 cores.

MC assigns each chart to a core. All the indicators in that chart are handled by this core.
i.e. if you only have one chart, quad core is not much use.
if on one chart you have 20 indicators, and 3 charts with volume only, then you will see an imbalance of CPU load.

Tresor
Posts: 1104
Joined: 29 Mar 2008
Has thanked: 12 times
Been thanked: 53 times

Postby Tresor » 03 Feb 2009

I am using a Quad-Core, and I can tell you YES... MC uses all 4 cores.

MC assigns each chart to a core. All the indicators in that chart are handled by this core.
i.e. if you only have one chart, quad core is not much use.
if on one chart you have 20 indicators, and 3 charts with volume only, then you will see an imbalance of CPU load.
Thanks TJ,

Okay, so it is clear that MC uses all available cores within one CPU for normal charting and charting related issues (receiving data, backfilling, plotting bars and studies). If I am going to have 1 quad processor in my computer, MC will use all four cores of this CPU. If I am going to have a six-core processor, MC will be using all 6 cores.

Now, the question is: If I am going to have 2 quad processors in my computer, will MC use all cores on both processors ? Let's say there will be 8 charts in MC - will all 8 cores be loaded (2 processors) or just 4 cores (1 processor)?

In other words, is there any sense to buy a 2 processor machine? Will MC be using 4 cores or 8 cores for charting?

Anyone who has a two CPU machine, could you check it please?

Regards

User avatar
TJ
Posts: 7740
Joined: 29 Aug 2006
Location: Global Citizen
Has thanked: 1033 times
Been thanked: 2221 times

Postby TJ » 03 Feb 2009

Now, the question is: If I am going to have 2 quad processors in my computer, will MC use all cores on both processors ? Let's say there will be 8 charts in MC - will all 8 cores be loaded (2 processors) ...
Regards
yes, all CPU, all cores.

Marina has stated this in another thread.

Tresor
Posts: 1104
Joined: 29 Mar 2008
Has thanked: 12 times
Been thanked: 53 times

Postby Tresor » 03 Feb 2009

Thanks TJ,

Were any studies conducted to show how CPU infrastructure should expand with the expansion of number of charts one has in his / her MC.

Let's say, one has a quad CPU (like you do, TJ); what is the max # of charts your CPU can handle effectively, without lagging at one time and not get overheated?

Thanks

User avatar
TJ
Posts: 7740
Joined: 29 Aug 2006
Location: Global Citizen
Has thanked: 1033 times
Been thanked: 2221 times

Postby TJ » 03 Feb 2009

Thanks TJ,
Were any studies conducted to show how CPU infrastructure should expand with the expansion of number of charts one has in his / her MC.
Let's say, one has a quad CPU (like you do, TJ); what is the max # of charts your CPU can handle effectively, without lagging at one time and not get overheated?
Thanks
Just open your Task Manager. (right click on Task Bar)
YOu can see your CPU usage there.

if the CPU usage hits 100%... your work goes into a queue (thus the lag)

you can change to a more powerful CPU,
(or more CPU if the software is designed to utilize them.)

CPU can do as much work as it is designed. With proper cooling , it should NOT get overheated.

Tresor
Posts: 1104
Joined: 29 Mar 2008
Has thanked: 12 times
Been thanked: 53 times

Postby Tresor » 03 Feb 2009

Thanks TJ,

Would you mind telling me what is your quad core CPU usage at how many symbols been connected to your QM and how many charts? I just need rough numbers to estimate the CPU power consumption in my future trading computer and then decide on what CPU would be optimal for my trading purposes.

Regards

brodnicki steven
Posts: 407
Joined: 01 Jan 2008
Been thanked: 3 times

Postby brodnicki steven » 03 Feb 2009

I used to run a single core 3,0gig (with hyperthreading) and the cpu usage was about 25% at times, now on a quad core it's down to less than 8%. I run about 15 pages of charts, with about 4 charts/page and probably 6 indicators/chart. the quad core really helps, especially the .45nm CPU, they run very cool too.
Another VERY important part is a fast video card, that's what draws the charts, so the faster the better.
Get plenty of ram too 2gb min.

User avatar
TJ
Posts: 7740
Joined: 29 Aug 2006
Location: Global Citizen
Has thanked: 1033 times
Been thanked: 2221 times

Postby TJ » 03 Feb 2009

... Another VERY important part is a fast video card, that's what draws the charts, so the faster the better.
I am not sure if that would help.

most of the graphics card are game cards (e.g. Nvidia x8xx series)

Unless the software is specifically written to take advantage of the graphics (eg. OpenGL, DX10),
most of the graphics are CPU bound and handled only by the CPU.
Last edited by TJ on 03 Feb 2009, edited 1 time in total.

Tresor
Posts: 1104
Joined: 29 Mar 2008
Has thanked: 12 times
Been thanked: 53 times

Postby Tresor » 03 Feb 2009

I used to run a single core 3,0gig (with hyperthreading) and the cpu usage was about 25% at times, now on a quad core it's down to less than 8%. I run about 15 pages of charts, with about 4 charts/page and probably 6 indicators/chart. the quad core really helps, especially the .45nm CPU, they run very cool too.
Another VERY important part is a fast video card, that's what draws the charts, so the faster the better.
Get plenty of ram too 2gb min.
Hi Steven,

I was thinking of the multimonitor set-up that I enclose in the attached screenshot. 4 monitors (each 2560 x 1600 resolution), 9 charts per monitor (only price action and volume on each chart) + DOM for each symbol.

In this case would each monitor have to be a separate workspace or all 4 monitors could be just one worspace?

Regards
Attachments
4 monitor setup.jpg
(83.43 KiB) Downloaded 9931 times

Tresor
Posts: 1104
Joined: 29 Mar 2008
Has thanked: 12 times
Been thanked: 53 times

Postby Tresor » 03 Feb 2009

Get plenty of ram too 2gb min.
I will get 4 gb, I tested MC once for optimizing on a machine with 8 gb, I posted results here:
http://forum.tssupport.com/viewtopic.ph ... ver+tresor

Max RAM that MC can use under heavy optimizing is 2.52 gb so going above 4 gb wouldn't make much sense unless MC can use more RAM during charting (which I do not know).

Regards
Attachments
Dell 8 core optimization.jpg
(47.37 KiB) Downloaded 9923 times

User avatar
Marina Pashkova
Posts: 2758
Joined: 27 Jul 2007

Postby Marina Pashkova » 03 Feb 2009

Hi guys,

Just wanted to clarify a couple of things.

Not all processes can take advantage of multiple cores. At the moment, calculations of indicators on different charts and optimization are distributed between different cores/processors.

Optimization will use all the available cores. If you have a dual core processor, two cores will be used to optimize your strategy. If you have 16 cores, all of them will be used. Of course, the dependence between the number of cores and the gain in speed is not linear (due to the necessary synchronization between different cores). For example, using 16 cores will yield x11 gain in speed.

Tresor
Posts: 1104
Joined: 29 Mar 2008
Has thanked: 12 times
Been thanked: 53 times

Postby Tresor » 03 Feb 2009

Not all processes can take advantage of multiple cores. At the moment, calculations of indicators on different charts and optimization are distributed between different cores/processors.
Given the above and assuming I want to only use MC for charting (price action and volume - no other indicators):
(i) I need only 1 processor (additional processors wouldn't be used in the charting process in my case)
(ii) the processor must be a strong one if it has to manage 100+ symbols on multimonitor set up.

Am I correct?

Tresor
Posts: 1104
Joined: 29 Mar 2008
Has thanked: 12 times
Been thanked: 53 times

Postby Tresor » 03 Feb 2009

Unless the software is specifically written to take advantage of the graphics (eg. OpenGL, DX10), most of the graphics are CPU bound and handled only by the CPU.
TJ,

Assuming that graphics in MC are CPU bound (as opposed to GPU bound); does it mean that whether I select high end quality or low end quality graphics cards (supporting the desired resolution), such a selection would make no difference in quality / speed of the charts on my monitors?

User avatar
TJ
Posts: 7740
Joined: 29 Aug 2006
Location: Global Citizen
Has thanked: 1033 times
Been thanked: 2221 times

Postby TJ » 03 Feb 2009

TJ,

Assuming that graphics in MC are CPU bound (as opposed to GPU bound); does it mean that whether I select high end quality or low end quality graphics cards (supporting the desired resolution), such a selection would make no difference in quality / speed of the charts on my monitors?
that's my understanding.

User avatar
geizer
Posts: 375
Joined: 16 Jun 2008
Has thanked: 40 times
Been thanked: 38 times

Postby geizer » 04 Feb 2009

Is this the right place to post about using GPU in general computing?
OpenCL (Open Computing Language), makes it possible for developers to efficiently tap the vast gigaflops of computing power currently locked up in the graphics processing unit (GPU). With GPUs approaching processing speeds of a trillion operations per second, they’re capable of considerably more than just drawing pictures. OpenCL takes that power and redirects it for general-purpose computing.
source: http://www.apple.com/macosx/snowleopard/
Apple is prepared to make it available in a new OS in the 1st quarter '09.
The Macs use Intel CPUs with NVidia graphics. There is no reason to believe this wouldn't become available on Windows PCs (if not already).

These projects already take an advantage of the technology:
http://www.nvidia.com/object/cuda_home. ... er=Finance
An improvement in speed: 11..100 times in the Financial Applications!

Multicharts can achieve optimization speeds orders of magnitude of what it is now if GPU processing used. The hardware is on our desks already.
-
Pavel
Last edited by geizer on 04 Feb 2009, edited 1 time in total.

User avatar
TJ
Posts: 7740
Joined: 29 Aug 2006
Location: Global Citizen
Has thanked: 1033 times
Been thanked: 2221 times

Postby TJ » 04 Feb 2009

...Multicharts can achieve optimization speeds orders of magnitude of what it is now if GPU processing used. The hardware is on our desks already.
-
Pavel
The charts in a trading software (e.g. MultiCharts) uses 2D graphics.

2D graphics requires very little processing power.

Games use 3D graphics, which demand a lot of processing power.

The rain drop illustration is a 3D graphics.
Those continuous shades of colors, shadows, etc., are algorithmic rendering done by the GPU in real time.

I don't think our trading software are there yet. ;-)

User avatar
geizer
Posts: 375
Joined: 16 Jun 2008
Has thanked: 40 times
Been thanked: 38 times

Postby geizer » 04 Feb 2009

I meant using GPU for general computing.

The technology today makes it possible to use these gaming cards to help the main CPU to do the job. Nvidia now has video cards with 128 independent cores on a single chip. All this Multi-core power is idling most of the time in our computers. From what I understood it's now possible to do make CPU+GPU to work together. A cheap $100 Graphics Card has 32 cores, not as powerful, but....

The 2nd link has some info with real life tests showing performance 10, 50 , 100 times more in general math calculations including algorithmic trading...
So in theory it is possible to significantly speed up the strategy optimization providing the software readily available to a developer.


I shouldn't have included that link in the first place, as it is really makes it more confusing. I will remove it from the original post.

Tresor
Posts: 1104
Joined: 29 Mar 2008
Has thanked: 12 times
Been thanked: 53 times

Postby Tresor » 05 Feb 2009

I meant using GPU for general computing.
NVIDIA introduced CUDA technology (a link posted by geizer) and ATI introduced STREAM technology (http://ati.amd.com/technology/streamcom ... index.html. )

Just one example: MATLAB uses NVIDIA's CUDA. It speeded up its computations by 2 - 16 times. MATLAB can do optimization. Now imagine you have two Quadro graphics cards (like I intend to do) - just turn off your monitors, and Portfolio Backtester can speed up optimization by 20 / 50 / 100 times. My buddy uses CUDA for his computations. One Quadro card performs at the speed of 4 - 5 Xeons :)

I personally hope the use of GPUs for speedy parallel computing can turn into a high end disruptive innovation soon (it should - the record speeding up of computational tasks with this innovation was 470x). The unused power of GPUs is just a waste of resources. I tried to get TSS's attention to this issue a year ago and sent them an e-mail on this.

Watch this video (the guy makes promise his charting and backtesting software will use GPUs for speeding up computations): http://www.tickzoom.org/wiki/SpeedTest

Regards
Last edited by Tresor on 05 Feb 2009, edited 3 times in total.

Tresor
Posts: 1104
Joined: 29 Mar 2008
Has thanked: 12 times
Been thanked: 53 times

Postby Tresor » 05 Feb 2009

We should get TSSupport to give us a recommendation.
Marina,

Can you give us your recommendation?

Regards

Tresor
Posts: 1104
Joined: 29 Mar 2008
Has thanked: 12 times
Been thanked: 53 times

Postby Tresor » 05 Feb 2009

Quote from Marina http://forum.tssupport.com/viewtopic.ph ... ight=vista
Dear jek,

Multiple cores are used to calculate indicators in parallel.

With multiple screens when large areas of the screen have to be updated those cores won't be used.

To see how MultiCharst distributes the workload between several cores, you can run a simple test: create several smaller screens and apply lots of indicators to each.
If the above truly reflects the present state of MC, then:

1. I should get 1 highly overclocked CPU with only one core, if I want to have a 4 multi-monitor setup, or

2. I could go for a quad processor and in order not to waste the CPU's resources, I should open 4 instances of MC as per attached screenshot.

Guys, your thoughts?
Attachments
4 instances of MC.jpg
(288.49 KiB) Downloaded 9916 times

User avatar
TJ
Posts: 7740
Joined: 29 Aug 2006
Location: Global Citizen
Has thanked: 1033 times
Been thanked: 2221 times

Postby TJ » 05 Feb 2009

house keeping is done by one core.

User avatar
Marina Pashkova
Posts: 2758
Joined: 27 Jul 2007

Postby Marina Pashkova » 05 Feb 2009

Hi guys,

Before giving you any recommendations, we need to know what exactly it is that you are doing.

For example, according to our recent tests, drawings will affect MC's performance - because almost all of the visible objects in the chart pane are redrawn all the time and because these operations are assigned to a single core. We have already implemented a number of changes to make the drawing behavior more efficient. We will work on this issue further to find out if these operations can be distributed between different cores. However, this problem is specific to processing charts with drawings.

Have you experienced any serious lags on your charts? If you have, under what conditions did it happen?

Tresor
Posts: 1104
Joined: 29 Mar 2008
Has thanked: 12 times
Been thanked: 53 times

Postby Tresor » 05 Feb 2009

Multicharts can achieve optimization speeds orders of magnitude of what it is now if GPU processing used. The hardware is on our desks already.
-
Pavel
Hi geizer,

Look how these guys (Russian programmers) managed to create software that uses GPUs to crack passwords 50x faster than traditional password recovery methods that only use the computer’s main CPU.

http://elcomsoft.com/eprb.html#gpu

8800 gt is 4 x faster than Q6600.

Pretty amazing, isn't it?

Regards

Tresor
Posts: 1104
Joined: 29 Mar 2008
Has thanked: 12 times
Been thanked: 53 times

Postby Tresor » 05 Feb 2009

Hi guys,

Before giving you any recommendations, we need to know what exactly it is that you are doing.
Marina,

In a short time from now I will be buying my professional trading rig that will consist of:
(i) 4 monitors (2560 x 1600 resolution each), and
(ii) a desktop (workstation).

I want to spend my money wisely, i.e. to buy a desktop that will have enough capacity to perform what I want with regard to MC. Let's assume that after I spent $3 thousand for my desktop it turnes out that I bought a slightly to slow CPU or not enough RAM to support what I want to do with MC. 3$ thousand would be wasted.

I thought the best place to ask questions about computers and MC is this forum, because there are many experts on computers here and there are people who created MC. Nobody will answer my questions about MC better than the makers of MC. Other users of this forum may benefit from this thread in the future, as well.

I will be asking simple questions; one question per one message to arrive at conclusions that will help me to select optimal machine for me.

THE INTRODUCTION:

TJ claims that MC uses all available cores within one CPU for normal charting and MC uses all available cores within all available CPUs for charting.

However you claimed once that:
Multiple cores are used to calculate indicators in parallel.

With multiple screens when large areas of the screen have to be updated those cores won't be used.
THE QUESTION:

Who is right: you or TJ?

Based on the answer I will buy the right CPU / CPUs

Regards

P.S. With the kind advice by Tums given to me in one of the later posts ''normal charting'' in this post means a chart with no indicator on it / charts with no indicators on them.

Given the above ''P.S." Please ignore the above question and please answer the one below.

THE REVISED QUESTION READS:

If I have only one workspace in my MC open, and there are 4 charts (with no indicators on them) on this workspace, then (i) will my quad core CPU use only one core to calculate and draw all 4 charts or (ii) will this CPU usage be split between 4 cores (each core for a separate chart calculation and drawing)?

Q1 screenshot shows this case (4 charts in 1 only opened workspace in MC).
Attachments
Q1.jpg
(196.91 KiB) Downloaded 9912 times
Last edited by Tresor on 05 Feb 2009, edited 3 times in total.

User avatar
TJ
Posts: 7740
Joined: 29 Aug 2006
Location: Global Citizen
Has thanked: 1033 times
Been thanked: 2221 times

Postby TJ » 05 Feb 2009

TJ claims that MC uses all available cores within one CPU for normal charting and MC uses all available cores within all available CPUs for charting.
I don't know what you are talking about.

However you claimed once that:
Multiple cores are used to calculate indicators in parallel.

With multiple screens when large areas of the screen have to be updated those cores won't be used.
THE QUESTION:

Who is right: you or TJ?

Regards
Marina is always right.

Tresor
Posts: 1104
Joined: 29 Mar 2008
Has thanked: 12 times
Been thanked: 53 times

Postby Tresor » 05 Feb 2009

I don't know what you are talking about.
About this:
I am using a Quad-Core, and I can tell you YES... MC uses all 4 cores.
and this
yes, all CPU, all cores.
Regards

User avatar
TJ
Posts: 7740
Joined: 29 Aug 2006
Location: Global Citizen
Has thanked: 1033 times
Been thanked: 2221 times

Postby TJ » 05 Feb 2009

you specifically say "Normal charting".

I didn't say anything of such.
What are you referring to that is normal?
what is the other thing that you refer to as charting, but "not normal"?



what is the conflict between what i said and what marina said???

Tresor
Posts: 1104
Joined: 29 Mar 2008
Has thanked: 12 times
Been thanked: 53 times

Postby Tresor » 05 Feb 2009

you specifically say "Normal charting".

I didn't say anything of such.
What are you referring to that is normal?
what is the other thing that you refer to as charting, but not "normal"?



what is the conflict between what i said and what marina said???
Hi TJ,

Normal charting = ploting bars (just price action).

I asked, you confirmed with ''I am using a Quad-Core, and I can tell you YES... MC uses all 4 cores. '' and with ''yes, all CPU, all cores''.

The conflict is with ''cores won't be used''. The ''cores'' are explained in the thread in which Marina posted here message once. This message was posted some time ago, so it maybe the case that the in the current MC ''those cores'' will work. I just want to clarify.

Let's give Marina a chance to answer.

Regards

User avatar
geizer
Posts: 375
Joined: 16 Jun 2008
Has thanked: 40 times
Been thanked: 38 times

GPU in general computing

Postby geizer » 05 Feb 2009

Tresor,
I am glad you responded.
Look how these guys (Russian programmers) managed to create software that uses GPUs to crack passwords 50x faster than traditional password recovery methods that only use the computer’s main CPU.

http://elcomsoft.com/eprb.html#gpu

8800 gt is 4 x faster than Q6600.
This is a great example of GPU computational power.
I am dying to see GPU in general computing. In Multicharts in particular.
This is breathtaking.

Marina,
Hi guys,
Before giving you any recommendations, we need to know what exactly it is that you are doing.
This topic is reminiscent of "The swan, a cancer and a pike" by Krylov. Everybody is going their own way. Tresor and me are trying to bring your attention to a technology that is going to change the rules of the game. We talking about accessing the tremendous power locked in the gaming graphics cards for strategy testing and optimization.

x55 faster Financial Analysis:
http://www.physorg.com/news132845817.html

x100 times Financial Analysis:
http://www.nvidia.com/object/cuda_home. ... er=Finance

Finally, Apple is bringing this technology to every desk with their new OS in just weeks!

Try to Google these keywords: GPGPU, OpenCL, Khronos, CUDA, "AMD Stream"
The adoption of this technology is going very rapidly at this exact moment. Why not take advantage before competitors?
-
Pavel
Last edited by geizer on 22 Feb 2009, edited 2 times in total.

User avatar
TJ
Posts: 7740
Joined: 29 Aug 2006
Location: Global Citizen
Has thanked: 1033 times
Been thanked: 2221 times

Postby TJ » 05 Feb 2009

you specifically say "Normal charting".

I didn't say anything of such.
What are you referring to that is normal?
what is the other thing that you refer to as charting, but not "normal"?



what is the conflict between what i said and what marina said???
Hi TJ,

Normal charting = ploting bars (just price action).

I asked, you confirmed with ''I am using a Quad-Core, and I can tell you YES... MC uses all 4 cores. '' and with ''yes, all CPU, all cores''.

The conflict is with ''cores won't be used''. The ''cores'' are explained in the thread in which Marina posted here message once. This message was posted some time ago, so it maybe the case that the in the current MC ''those cores'' will work. I just want to clarify.

Let's give Marina a chance to answer.

Regards
I think you have misunderstood the difference between calculating indicators/studies, and drawing the actual image on the screen.

drawing image on the screen is a house keeping process, therefore only one core is used.

User avatar
geizer
Posts: 375
Joined: 16 Jun 2008
Has thanked: 40 times
Been thanked: 38 times

Postby geizer » 05 Feb 2009

In continuation of the GPU for general computing:

The attached screenshot is a great visual illustration of CPU vs GPU computation power.

Picture taken from this document which is a good start for developers:
http://developer.download.nvidia.com/co ... de_1.1.pdf
--
Cheers,
Pavel
Attachments
GPU vs CPU.jpg
(118.12 KiB) Downloaded 10022 times

Tresor
Posts: 1104
Joined: 29 Mar 2008
Has thanked: 12 times
Been thanked: 53 times

Postby Tresor » 05 Feb 2009

I think you have misunderstood the difference between calculating indicators/studies, and drawing the actual image on the screen.

drawing image on the screen is a house keeping process, therefore only one core is used.
Hi TJ,

Please stay assured, I know the difference between drawing charts (something what I called ''normal charting'') and calculating studies applied to these charts.

The studies' calculation and other processes will be discussed in further questions. All I want to know now is how many cores are used to draw charts of price action. I apologise for confusion that I created with the unscientific term ''normal charting''. I should have been more precise.

Thank you for clarification.

User avatar
TJ
Posts: 7740
Joined: 29 Aug 2006
Location: Global Citizen
Has thanked: 1033 times
Been thanked: 2221 times

Postby TJ » 05 Feb 2009

I think you have misunderstood the difference between calculating indicators/studies, and drawing the actual image on the screen.

drawing image on the screen is a house keeping process, therefore only one core is used.
Hi TJ,

Please stay assured, I know the difference between drawing charts (something what I called ''normal charting'') and calculating studies applied to these charts.

The studies' calculation and other processes will be discussed in further questions. All I want to know now is how many cores are used to draw charts of price action. I apologise for confusion that I created with the unscientific term ''normal charting''. I should have been more precise.

Thank you for clarification.
the computer doesn't care what is normal to you.

a chart is a chart.
it can have 100 indicators on it,
or it can have price bars only.

it is a calculation to determine the coordinates and all attributes of those bars.

when all the calculations are done... the information is sent to house keeping and it
in turn draws the IMAGE on the screen.

note that in my post, I refer to drawing the image,
while you refer to as drawing the chart.

don't think of drawing the chart, because it confuses you.
think of it as calculating the coordinates of the bars in the chart.

whether the price bar has a paintbar or an indicator is irrelevant to the computer.
the computer doesn't know the difference, all it knows is, there is a chart, and it has to calculate the coordinates.

Tresor
Posts: 1104
Joined: 29 Mar 2008
Has thanked: 12 times
Been thanked: 53 times

Postby Tresor » 05 Feb 2009

All this sounds too scientific for my circuits. I will wait for Marina's answer.

Regards

User avatar
TJ
Posts: 7740
Joined: 29 Aug 2006
Location: Global Citizen
Has thanked: 1033 times
Been thanked: 2221 times

Postby TJ » 05 Feb 2009

whatever you say, don't call it a normal chart, price action price...

just call it a chart with no indicator on it.

Tresor
Posts: 1104
Joined: 29 Mar 2008
Has thanked: 12 times
Been thanked: 53 times

Postby Tresor » 05 Feb 2009

whatever you say, don't call it a normal chart, price action price...

just call it a chart with no indicator on it.
I will remeber to call it this way :D Thank you.

User avatar
geizer
Posts: 375
Joined: 16 Jun 2008
Has thanked: 40 times
Been thanked: 38 times

Postby geizer » 05 Feb 2009

Developers talk about writing a code to run on a GPU

http://www.youtube.com/watch?v=mHENZhQR ... annel_page

Cheers,

--
Pavel

User avatar
geizer
Posts: 375
Joined: 16 Jun 2008
Has thanked: 40 times
Been thanked: 38 times

Postby geizer » 05 Feb 2009

Tresor,
In a short time from now I will be buying my professional trading rig that will consist of:
(i) 4 monitors (2560 x 1600 resolution each), and
(ii) a desktop (workstation).
Get yourself a Mac pro:
* Two 2.8GHz Quad-Core Intel Xeon processors (8-core) with 12MB L2 cache per processor (3GHz and 3.2GHz available)
* 1600MHz, 64-bit dual independent frontside buses
* 2Gb of DDR2 EEC RAM (32Gb max)
* ATI Radeon HD 2600 XT with 256MB GDDR3 memory (two dual-link DVI)
* Two Gigabit LAN ports
* HDD included
* Fans run very cool and quiet so you can focus on your trading :)

$2,799 + free shipping if you are in US

You can:
* Run both Windows and MAC OS X
* Plug up to 4 NVIDIA Quadro FX 5600 with 1.5GB of GDDR3 memory at $2,999 each
* Plug up to 4 NVIDIA GeForce 8800 GT with 512MB of GDDR3 memory each
* Get an advantage of GPU computing when it becomes available.

This was the fastest PC on the market 3 months ago.
The ultimate trading machine - each trader's dream :):):):)

--
Pavel

Tresor
Posts: 1104
Joined: 29 Mar 2008
Has thanked: 12 times
Been thanked: 53 times

Postby Tresor » 06 Feb 2009

MAC PRO is already on my list. Indeed it is quiet - I saw it in action. However, I will make my choice once I understand all crucial intricacies of MC. It may turn out that I need only one CPU, or I need more powerful graphics card then pre-built ATI Radeon HD 2600 XT.

I want an optimal machine with a reasonable non-highly-excesive surplus of resources, and this is the only reason why I started this thread, and I hope I will be able to configure such a machine as a result of this thread.

Regards

Tresor
Posts: 1104
Joined: 29 Mar 2008
Has thanked: 12 times
Been thanked: 53 times

Postby Tresor » 06 Feb 2009

Marina,

If I have only one workspace in my MC open, and there are 4 charts (with no indicators on them - only price action) on this workspace, then (i) will my quad core CPU use only one core to calculate and draw all 4 charts or (ii) will this CPU usage be split between 4 cores (each core for a separate chart calculation and drawing)?

Q1 screenshot shows this case (4 charts embedded in one opened workspace in MC).
Attachments
Q1.jpg
(196.91 KiB) Downloaded 10016 times

User avatar
Marina Pashkova
Posts: 2758
Joined: 27 Jul 2007

Postby Marina Pashkova » 13 Feb 2009

Hi Tresor,

In this case only one CPU core will be used.

Tresor
Posts: 1104
Joined: 29 Mar 2008
Has thanked: 12 times
Been thanked: 53 times

Postby Tresor » 13 Feb 2009

Okay, Marina,

This is clear that MC uses one core for all charts within one workspace (just price candles, no indicators). Thank you for the answer.

I prepared another screenshot. In this screenshot there are four workspaces open within one instance of MC.

I want to find out, if MC will use 1 core for each workspace (muticore) or MC will will use 1 core for all workspaces

THE QUESTION:

Does MC use multiple cores when several workspaces are open within one instance of MC?

Regards
Attachments
4 workspaces 1 instance.jpg
(205.78 KiB) Downloaded 9999 times

Tresor
Posts: 1104
Joined: 29 Mar 2008
Has thanked: 12 times
Been thanked: 53 times

Postby Tresor » 18 Feb 2009

geizer,

This short movie might be of interest to you: http://fastra.ua.ac.be/en/index.html

I have had a number of talks with friends who are programmers over the last few days. One of them has actually completed his software that utilises Cuda and Stream (a non-financial application). According to him an incorporating of Cuda / Stream technology into a software is easy.

It is strange (because GPUs are normally appreciated for their performance in graphics), but brute force searching engines (like Portfolio Backtester) can greatly benefit from Cuda / Stream. A speeding up of x 100 over the present Portfolio Backtester performance should not be a problem (according to my buddy).

Maybe TSS can consider this for one of the future versions following MC Gold.

Regards

P.S. Marina, can you have a look at the previous post and anwser please?

User avatar
geizer
Posts: 375
Joined: 16 Jun 2008
Has thanked: 40 times
Been thanked: 38 times

Postby geizer » 18 Feb 2009

P.S. Marina, can you have a look at the previous post and anwser please?
Tresor,
I support you on this subject. +1 for GPU powered Multicharts.

P.S. even my laptop has CUDA enabled Graphics card... Geforce 9600M GT (Sigh...)

GPU for traders:
http://www.youtube.com/watch?v=Ap3eSC4p ... re=channel

GPU computations in AB...
http://www.mail-archive.com/search?q=CU ... groups.com

Does TS support see the demand yet?

Tresor
Posts: 1104
Joined: 29 Mar 2008
Has thanked: 12 times
Been thanked: 53 times

Postby Tresor » 19 Feb 2009

GPU computations in AB...
http://www.mail-archive.com/search?q=CU ... groups.com

Does TS support see the demand yet?
From what I understand, a member of AB community speeded up AB backtesting x200 times using CUDA on his old graphics card.

Pretty amazing :shock:

geizer, thx for posting

Tresor
Posts: 1104
Joined: 29 Mar 2008
Has thanked: 12 times
Been thanked: 53 times

Postby Tresor » 24 Feb 2009

Marina,

In this screenshot there are four workspaces open within one instance of MC.

I want to find out, if MC will use 1 core for each workspace (muticore) or MC will will use 1 core for all workspaces

THE QUESTION:

Does MC use multiple cores when several workspaces are open within one instance of MC?

Regards
Attachments
4 workspaces 1 instance.jpg
(205.78 KiB) Downloaded 10002 times

User avatar
Marina Pashkova
Posts: 2758
Joined: 27 Jul 2007

Postby Marina Pashkova » 24 Feb 2009

Hi Tresor,

In your setup, with no indicators applied, 1 core will be used for working with all those workspaces and charts.

Tresor
Posts: 1104
Joined: 29 Mar 2008
Has thanked: 12 times
Been thanked: 53 times

Postby Tresor » 24 Feb 2009

Thank you.

Tresor
Posts: 1104
Joined: 29 Mar 2008
Has thanked: 12 times
Been thanked: 53 times

Postby Tresor » 24 Feb 2009

Marina,

I have prepared another case. If I open 4 instances of MC (as per attached screenshot), then (i) will each MC instance be assigned to a separate core OR (ii) will 1 core be handling all 4 instances of MC and 3 other cores will be resting?

Regards
Attachments
4 instances of MC.jpg
(265.19 KiB) Downloaded 10032 times

Tresor
Posts: 1104
Joined: 29 Mar 2008
Has thanked: 12 times
Been thanked: 53 times

Postby Tresor » 04 Mar 2009

Marina,

I have prepared another case. If I open 4 instances of MC (as per attached screenshot), then (i) will each MC instance be assigned to a separate core OR (ii) will 1 core be handling all 4 instances of MC and 3 other cores will be resting?

Regards
Attachments
4 instances of MC.jpg
(265.19 KiB) Downloaded 10028 times

User avatar
Marina Pashkova
Posts: 2758
Joined: 27 Jul 2007

Postby Marina Pashkova » 04 Mar 2009

Hi Tresor,

If you run multiple instances of MultiCharts, there will be no situation when you have one core 100% loaded and hardly coping while other cores remain idle. In the situation you are describing, MultiCharts will be using other available cores as well.

Regards.

Tresor
Posts: 1104
Joined: 29 Mar 2008
Has thanked: 12 times
Been thanked: 53 times

Postby Tresor » 04 Mar 2009

Hi Tresor,

If you run multiple instances of MultiCharts, there will be no situation when you have one core 100% loaded and hardly coping while other cores remain idle. In the situation you are describing, MultiCharts will be using other available cores as well.

Regards.
Hi Marina,

I am glad with this answer, beacuse this means I can go multicore and there will be no need to overclock. Am I correct to assume that each instance of MC will use a separate core?

Regards

User avatar
Andrew Kirillov
Posts: 1589
Joined: 28 Jul 2005
Has thanked: 2 times
Been thanked: 31 times
Contact:

Postby Andrew Kirillov » 12 Mar 2009

It depends on overall system load.

Tresor
Posts: 1104
Joined: 29 Mar 2008
Has thanked: 12 times
Been thanked: 53 times

Postby Tresor » 12 Mar 2009

It depends on overall system load.
OK, for the purpose of building the trading rig I will assume that only 1 core will be used. I will go for one highly clocked CPU to mitigate a potential risk of bottleneck when plotting charts.

The trading rig that I have in mind will have either 6 or 12 monitors. I haven't decided yet. There is one more issue I would like to get TSS recommendation on. Namely, the graphics cards.


One member of the forum suggested:
Another VERY important part is a fast video card, that's what draws the charts, so the faster the better.

while the other member wrote:
Unless the software is specifically written to take advantage of the graphics (eg. OpenGL, DX10),
most of the graphics are CPU bound and handled only by the CPU.

I myself being no expert on computers wrote back:
Assuming that graphics in MC are CPU bound (as opposed to GPU bound); does it mean that whether I select high end quality or low end quality graphics cards (supporting the desired resolution), such a selection would make no difference in quality / speed of the charts on my monitors
My previous understanding of MC was:
1. CPU calculates bars
2. GPU plots the bars based on the computations made by CPU, i.e. graphics is handled by GPUs

But now I am not sure the above is true.

I would like TSS to clarify if in MC:
- CPU handles graphics (no need to go for fast graphics cards), or
- GPU handles graphics (high performance graphics card might do better than low performance ones).


Regards

miltonc4
Posts: 150
Joined: 14 Apr 2006
Has thanked: 1 time
Been thanked: 4 times

Postby miltonc4 » 12 Mar 2009

Hi Tresor and TS Support
I would also like to buy a new system but are confused as to making the best choice
Maybe TSSupport could make some suggestions as to best requirements to suit Multicharts.Personally,my aim is to get the best rig for multicharts,nothing else,but really I need some help in purchasing the right configeration also
Thanks
Milton

User avatar
Andrew Kirillov
Posts: 1589
Joined: 28 Jul 2005
Has thanked: 2 times
Been thanked: 31 times
Contact:

Postby Andrew Kirillov » 13 Mar 2009

CPU and GPU both do matter. We didn't make objective performance benchmarking, but I can say that if you have a cheap video card (integrated one) you will have worse performance.
We were optimizing MC performance and found that my video card (it is cheap intel motherboard integrated) was 5 times slower than average one.
We use Windows GDI to plot charts and OS decides what to use - video or CPU.
We made a synthetic tests how my video card plots some primitives and found that it did 5 times slower than a non-integrated video card.
Since my video card was slower my computer consumed more CPU to make the same work as other one with a better video card.

All these conclusions couldn’t be considered as accurate! It is just observations.

I would buy powerful quad-core or 8 core PC with an average GPU.

Tresor
Posts: 1104
Joined: 29 Mar 2008
Has thanked: 12 times
Been thanked: 53 times

Postby Tresor » 13 Mar 2009

Thanks Andrew for sharing these observations.

Regards

jek
Posts: 181
Joined: 24 Dec 2006
Has thanked: 1 time
Been thanked: 2 times

Postby jek » 14 Mar 2009

In your setup, with no indicators applied, 1 core will be used for working with all those workspaces and charts.
OK, so it is clear that only one core will be used to display the candles of 4 charts in one workspace.

Just to be complete, if you have one workspace with 4 charts and one indicator in each chart, will that use more than one core?

Does the presence of indicators utilize more cores?

Or is having multiple instances of MultiCharts the way to use more cores? (Of course different processes can use more cores, I'm just trying to see if one MultiCharts process with one workspace displaying multiple indicators can use multiple cores).

Tresor
Posts: 1104
Joined: 29 Mar 2008
Has thanked: 12 times
Been thanked: 53 times

Postby Tresor » 14 Mar 2009

Just to be complete, if you have one workspace with 4 charts and one indicator in each chart, will that use more than one core?
Yes, more than one core will be utilized in this case. MC uses mulitiple cores for studies (but not for price candles)

Does the presence of indicators utilize more cores?
Yes.

Or is having multiple instances of MultiCharts the way to use more cores?
I am still not sure about this. But Marina wrote:
If you run multiple instances of MultiCharts, there will be no situation when you have one core 100% loaded and hardly coping while other cores remain idle. In the situation you are describing, MultiCharts will be using other available cores as well.
Regards

User avatar
Andrew Kirillov
Posts: 1589
Joined: 28 Jul 2005
Has thanked: 2 times
Been thanked: 31 times
Contact:

Postby Andrew Kirillov » 14 Mar 2009

MultiCharts uses all cores to calculate studies on different charts, but it uses 1 core only to draw a chart area. Number of instances is not important.

jek
Posts: 181
Joined: 24 Dec 2006
Has thanked: 1 time
Been thanked: 2 times

Postby jek » 14 Mar 2009

MultiCharts uses all cores to calculate studies on different charts, but it uses 1 core only to draw a chart area. Number of instances is not important.
Good. This is reassuring. Thanks.

User avatar
Andrew Kirillov
Posts: 1589
Joined: 28 Jul 2005
Has thanked: 2 times
Been thanked: 31 times
Contact:

Postby Andrew Kirillov » 18 May 2009

CUDA will not help MultiCharts, because it uses different approach for computing. CUDA is designed to handle specific tasks. Don't expect to get such incredible performance improvement in MultiCharts with CUDA. Our short review of this technology demonstrates that it works great for massive computation of arrays. It is very powerful for cg and other similar tasks. We make additional research, but we are skeptical so far.

Fabrice Daniel
Posts: 71
Joined: 25 Aug 2007
Been thanked: 2 times

Postby Fabrice Daniel » 26 May 2009

Calculation on TimeSeries is one the best application for Vector Computing - and CUDA use a Vector Computing Model.

Have a look at this experiment by a user on a competitor software:

http://www.purebytes.com/archives/amibr ... 09359.html

Of course such implementation can't be purely generic because of classical parallel computing constraints.

E.g : translating a loop calculation into a Vector Calculation can only be done if no dependencies exist.

It's not an easy task but with some "constraints" or "programming rules" allowing a PL script to be "CUDA Compatible", why not ?

User avatar
Andrew Kirillov
Posts: 1589
Joined: 28 Jul 2005
Has thanked: 2 times
Been thanked: 31 times
Contact:

Postby Andrew Kirillov » 28 May 2009

Farbice,
You are right and we don't see how we can use CUDA, because we process data on bar to bar basis and it is not a array based. So the only way to go is to use our SDK, get quotes and do what you want to do. Of course It works for experienced programmers only.

Fabrice Daniel
Posts: 71
Joined: 25 Aug 2007
Been thanked: 2 times

Postby Fabrice Daniel » 31 May 2009

Hi Andrew,

Ok if you process on a bar to bar basis, it make sense. It will be difficult to use these stream processors.

User avatar
Andrew Kirillov
Posts: 1589
Joined: 28 Jul 2005
Has thanked: 2 times
Been thanked: 31 times
Contact:

Postby Andrew Kirillov » 03 Jun 2009

Anyway we are consulting with NVidia. Maybe they suggest us something we can't imagine ourselves.

User avatar
MAtricks
Posts: 789
Joined: 09 Apr 2012
Has thanked: 286 times
Been thanked: 288 times

Re: Question on MC using multi cores

Postby MAtricks » 03 Dec 2014

Sorry for digging up an old topic, but it is full of relevant knowledge :)

I recently had a chat with Henry about this and I'd like to make it public knowledge with a little more clarification.

I'd like a suggestion for LIVE TRADING with regards to hyper-threading being on or off. I don't care about optimizations or back-tests, just live trading and how hyper-threading affects MC positively or negatively.

Live trading usually consists of many charts with 1 strategy applied to each.

User avatar
TJ
Posts: 7740
Joined: 29 Aug 2006
Location: Global Citizen
Has thanked: 1033 times
Been thanked: 2221 times

Re: Question on MC using multi cores

Postby TJ » 03 Dec 2014


User avatar
MAtricks
Posts: 789
Joined: 09 Apr 2012
Has thanked: 286 times
Been thanked: 288 times

Re: Question on MC using multi cores

Postby MAtricks » 03 Dec 2014

TJ,

I'm sorry if my question wasn't clear, but I already know how to enable/disable Hyper-Threading("HT"). My question is asking the MC developers whether or not having HT on or off for live trading will increase performance, decrease performance, or have no effect on the live trading performance.

Depending on how MC is built, more cores with less power or less cores with more power might help or hinder live performance.

orion
Posts: 250
Joined: 01 Oct 2014
Has thanked: 65 times
Been thanked: 104 times

Re: Question on MC using multi cores

Postby orion » 03 Dec 2014

MAtricks, turning hyperthreading on can help or hurt depending on program characteristics and the best thing is to benchmark using your particular requirements. Having multiple threads running on a core can help since one thread may be able to run when another is sleeping on a disk or network operation. However, one thread can thrash another thread's cache data in which case hyperthreading can hurt rather than help.


Return to “MultiCharts”