Topic: FSB and Processor Speed

Very basic question regarding FSB and processor speed, forgive my ignorance here.

All other things equal (assuming say 1 instance on 1 core with same RAM for this example) will a faster processing speed result in FSB running through it's calculations at a faster rate?

For example, with a 2.2 GHz processor as opposed to a 1.5 GHz processor (again all other things equal), will the calculations counter number in Strategy Generator actually increase at a faster rate?

Re: FSB and Processor Speed

Depending on the remaining hardware and the amount of things running at the time, a faster processor will do the calculations faster than a slower processor....

Some of the speed depends on the memory size and the quality of the parts of the board...... the question is difficult to answer because of the varying hardware configurations and processors.

My 'secret' goal is to push EA Studio until I can net 3000 pips per day....

Re: FSB and Processor Speed

The simple answer is yes. I am fortunate enough to have access to random unused processing power (virtualized) and I can confirm that when I run FSB on a faster CPU the counter goes much faster.

4 (edited by Sam M. 2012-10-28 03:53:16)

Re: FSB and Processor Speed

Resurrecting an old thread here-

Thanks to both for the help. Dusktrader, I recall a post of yours from another thread about assigning each instance of FSB to a different processor affinity.

This and blaiser's post got me thinking about which processor specs would be ideal for running FSB. Reading processor reviews online, I realized that I don't know enough about how FSB works with a processor to pinpoint an answer.

To define ideal, ideal in the sense that the processor runs the greatest number of FSB instances at the greatest possible speed, relative to other processors.

For example, would a given Intel with fewer cores but with it's "hyper threading" and better "general" performance (maybe clocked higher, etc.) be preferable to an AMD with more cores?

More generally for those who know FSB well, and maybe a better way to ask the question, how does FSB make use of a processor's capabilities? Likely a processor great for running Adobe Photoshop isn't going to have the same specs good for running a whole bunch of FSB instances at high speed.

This would be useful to know when considering an upgrade or alternative processor and probably save some time and money for those who like to have a bunch of FSB's (or MT4's, or FST's) going at any given time.

I realize there's plenty of possible spec combinations, but hope it might be possible to pinpoint a "ballpark" best set up. Any input greatly appreciated.

5 (edited by ab 2012-12-30 01:32:05)

Re: FSB and Processor Speed

Sam M. wrote:

All other things equal (assuming say 1 instance on 1 core with same RAM for this example) will a faster processing speed result in FSB running through it's calculations at a faster rate?

A faster CPU clock speed should provide faster calculations but it depends on a number of factors.  With an Intel setup you lose some performance when working with HT that you don't lose when running on an AMD chipset.

I find that my AMD setup (3.2Ghz 1090T) with 6 cores performs better than an Intel gear (3.4Ghz 2600K) with 4 cores due to the extra 2 cores that are available, eg:

  AMD 1090T @ 3.2Ghz x 6 cores = 19.2Ghz total CPU capacity.

  Intel 2600K @ 3.4Ghz x 4 cores = 13.6Ghz total GPU capacity.

Sam M. wrote:

For example, would a given Intel with fewer cores but with it's "hyper threading" and better "general" performance (maybe clocked higher, etc.) be preferable to an AMD with more cores?

When I run 8 threads on the 2600K I lose some performance (about 20%) due to how the Intel works, but in general I find that the Intel outperforms the AMD, with the extra threads making up for any lost performance.  The 20% overhead give me (roughly) the functional equivalent of an 8 core 2.72Ghz CPU, eg:

  AMD 1090T @ 3.2Ghz x 6 cores = 19.2Ghz total CPU capacity.

  Intel 2600K @ 2.72Ghz x 4 cores x 2 threads/core = 21.76Ghz total capacity.

There are a huge number of papers available on the Internet about dedicated core (AMD) -v- shared core (Intel) technologies, although for single threaded applications clock speed would be the most important factor.

There is also a large amount of documentation available discussing the performance benefits of the Intel chips for floating point work, so overall my choice would be an Intel architecture, but to be practical

Sam M. wrote:

This would be useful to know when considering an upgrade or alternative processor and probably save some time and money for those who like to have a bunch of FSB's (or MT4's, or FST's) going at any given time.

Perhaps when the next release of FSB is made available, we could work out a way to include a performance benchmark process in the application with an upload of the results with the 'anonymous usage stats' to allow for some meaningful performance measures to be put in place.

Re: FSB and Processor Speed

We'll think about performance optimization wit the release of FSB Pro. It will use .NET Framework 4.5 and the new task, async and await commands.

So far I tested with sending strategy calculation to other than GUI thread by
await Task.Run(() => Calculate(strategy));
but even this recommended by Microsoft procedure adds additional overhead and in reality the calculation becomes two times slower.

The first beta release of FSB Pro will use single thread calculations. After that we'll try to increase performance with parallel tasks.

If anyone is experienced in that matter and wants to help, please fell free to share your opinion.

7

Re: FSB and Processor Speed

I was thinking something simple such as the optimization of one of the demo strategies that takes a known time to complete on an 'average' machine, and then give this 'average' machine a numeric rating (say 1).

If a user of FSB ran the same optimization on their system and we captured the time from start to finish, comparing it to the 'average' machine, we should be able to provide a performance measurement value against the 'average' baseline (eg. a fast machine may give a result of 1.8, but a slower system may be 0.6).

Re: FSB and Processor Speed

Optimization cannot be correct since it randomly chooses which parameters to optimize.
We can make a simple task for testing performance.
It have to consists of two parts:
- indicator calculation: For example loading M1 data and initializing and calculation all bundled indicators.
- strategy calculation: developing a special PerformanceTest strategy and performing several calculations and copying the stats buffers.

9

Re: FSB and Processor Speed

Popov wrote:

Optimization cannot be correct since it randomly chooses which parameters to optimize.

I was assuming that we could modify the code in a way that FSB would know when it is doing a performance baseline so it would open a set strategy and optimize all params at a fixed +/- value.

Popov wrote:

We can make a simple task for testing performance...

Yes - anything that performs the exact same calculation on any computer that runs FSB would work.

My concern with loading M1 data is that an end user may modify the underlying data file and we may end up with skewed performance figures.  Perhaps using the internal fall back EURUSD data (that can't be modified by the end user) would work.

Re: FSB and Processor Speed

Now I think that we have to develop performance test now, so it will be useful for comparing current FSB and FSB pro.
I'll try to do this these days and to include such test in standard FSB distribution. In that way we can collect info how it performs on different machines.

The best will be if the performance test is a plugin, but it will be not possible now. FSB Pro will be able to load plugins later.

Re: FSB and Processor Speed

My concern with loading M1 data is that an end user may modify the underlying data file and we may end up with skewed performance figures.

FSB can generate predefined data set for the testing purposes. Performance test indicators and strategy can also be generated.

Re: FSB and Processor Speed

Hmm, predefined performance test may not work in the same way as Generator or Optimizer.
You are probably right that we have to make an option, so Generator or optimizer to know that make a test.

Re: FSB and Processor Speed

A benchmark may be developed with certain data set in conjuction of certain generator options/indicators. A pool of  indicators may be selected averaging different computational needs. With enough time and right options given to strategy generator, it may test all the indicators / options  so the benchmark can give an idea about how well system scales on single test. Also, multi instaced benchmark may be developed where the benchmark also measures the multi-instanced calculation performance and multi-instance scale, also the total number of operations the system can achive.

It may be very time consuming, so instead i suggest a community driven benchmark pool. With a defined data set, with a restricted amount of oppening / closing  position / logic options.

I made some restricted  Strategy Generator  settings with :

Opening Point of Position : Bar close / open , day opening, moving average
Closing Point of Position :  Bar closing, day closing, moving average, trailing stop, weekly closing
Opening Logic Condition : MACD, Moving average, RSI , Stochastics
Closing Logic Condition : MACD, Moving average, RSI , Stochastics

Do not change permanent SL / TP / Breake Even
Perform Initial opt.
Max number of Open/Close Logic option slots: 4
Working Time: 10 mins.

This is a radically restricted test, yet gives enough idea to compare my i5 vs. core2. From that kind of comparision, i found that i5 do %75 more calculations in the given time(both are set to same freq. etc.), for the single instance of program.

In my opinion, this kind of comunity driven benchmark system can maintain easily. A script can be made to set options automatically. So you will have more time for other kind of developments i guess.

I still strongly suggest to invest development resources to GPU. C++ AMP routines can be called from c#, and i guess it is relativly easy to adopt than OpenCL. If there is enough speed-up via GPU support, i believe it will bring the SFB to another level.

Re: FSB and Processor Speed

I think we have to take the maximum from utilizing cpu cores first. Unfortunately I'm not experienced in parallel programming. Once FSB beta is ready, we can discuss and improve the architecture of the computations algorithm.

15 (edited by Sam M. 2012-12-30 22:24:57)

Re: FSB and Processor Speed

ab, thanks for getting back to me on this and for all the great information. Will likely read further on dedicated vs. shared cores to improve the feel I have for the comparison.

I agree that a ratings system of some kind would be an excellent way to pinpoint which chip style/architecture is approximately ideal for FSB. Thanks Popov for already beginning to entertaining the idea.

In the long run I think it's an excellent bit of information to have for those looking to max out the utility of the software.

This is a radically restricted test, yet gives enough idea to compare my i5 vs. core2. From that kind of comparision, i found that i5 do %75 more calculations in the given time(both are set to same freq. etc.), for the single instance of program.
In my opinion, this kind of comunity driven benchmark system can maintain easily. A script can be made to set options automatically. So you will have more time for other kind of developments i guess.

I think this sounds like an interesting idea as well.

Also, in lieu of (or in wait for) a performance measurement included in the software, any anecdotal reports the community might have regarding compared performance between individual set-ups would be great for expanding the amount of information available.

Re: FSB and Processor Speed

Sisoft Sandra's .net Multimedia may give an idea about how the processors may perform at FSB (Sandra 2013). I'm not sure how much  SFB use/call transcendentals functions, but if not that much in the low level(i'm clueless the way Microsoft's IL  to x86 assemly translation for SFB , if it reorganize the low level code structure or not), then Sandra's .net Multimedia can give idea.

Although i'm not %100 sure if Sandra's  .net x1 Integer / x1 Float  performance test  will reflect at the same amount to SFB. If so, AMD's new Vishera processors looks like they can be good performer for SFB (fx-8350/20 , fx-6300).

17 (edited by Popov 2013-01-01 17:15:02)

Re: FSB and Processor Speed

Here is FSB_v2.74.0.0.exe with benchmark test.

Tools -> Additional -> Run Performance Test

It shows a score in points.
Base score is 100 points. This is the score for my development notebook.
The higher, the better smile


DELL Vostro1700 Notebook
CPU Intel(R) Core2 Duo CPU T9300 @ 2.50GHz 2 Cores
RAM 4.00 GB
Windows 7 Professional 64

Score: 98 points.

Re: FSB and Processor Speed

Benchmarking works ok, believable score achieved!

Happy New Year!

Re: FSB and Processor Speed

Dell Latitude E5430 Notebook
CPU i5 3210m 2 Core 4 thread  2.5 ghz base / 2.9ghz on turbo with 2 loaded cores
4 gb ram win32

Score : 168 Points.

Re: FSB and Processor Speed

kukreknecmi has a beast there big_smile

Pentium Dual-Core E5200 @ 2.50GHz
4 GB DDR3 (single channel)
Windows 7 64bit
Scored 89

Re: FSB and Processor Speed

I asked a friend with fx-8350 @ 4.3ghz / turbo off, he said score was 147.
With 4 instances, scores was :  91 91 88 86

With i5 3210m, with 1 instances i got 168, as written in previous post
With 4 instances, scores was : 93 92 93 91

He didint do the test setting the affinity, so i dont know if it will improve / effect performance. From what i have experienced, 2 core assigned to 1 instance of program is enough. With Win7 is unaware of AMD FX's module system, it may be scheduling threads in un-optimal way. So assigning an instance of SFB to the cores in a custom way may increase the performance a bit(assigning core0 and core2 to 1st instance of program, where core0 and core2 are on the same module ).

Yet i'm a bit dissappointed wih fx8350's performance tho.

I also disabled Core Parking on Win7, which increased multi-threading performance in some programs, off course no effect on SFB.

22

Re: FSB and Processor Speed

My tests on a few different systems today:

Dell Latitude E4310 Laptop
Intel Core i5 M520 @ 2.40Ghz (2C)
4GB RAM
Windows 7 Professional N x64
Benchmark: 116

Dell R620 Server
Dual Intel Xeon E5-2630 @ 2.30Ghz (12C/24T)
32GB RAM
Windows 2012 Datacenter
Benchmark: 143

Dell Studio XPS 7100
AMD Phenom II X1090T @ 3.20Ghz (6C)
16GB RAM
Windows 2008 R2 Server
Benchmark: 114

Clone (ASUS MB) System
Intel i7-3930K @ 3.20Ghz (6C/12T)
64GB RAM
Windows 2008 R2 Server
Benchmark: 110

Not a major difference in performance given the huge differences in hardware that I tested against, although looking to forward (eventually) being able to run a performance test on the same hardware with a multi-threaded version smile

Re: FSB and Processor Speed

Your Laptop's i5 and Xeon's scores seems reasonable. Yet x6's and 3930k scores seems weird. They should have been much higher especially 3930 should perform better than Xeon, It seems a bit inconsistent, dunno why.

I have tested on another system :

E4400 @ 2.96 Ghz / 370mhz FSB / 962mhz DDR2 @ CL5
2GB ram
Win 7 32bit
Score : 113 points.

Re: FSB and Processor Speed

Pentium G620  2.6ghz
2gb DDR3 ram @ 1066mhz @ CL9
Win 7 32bit
Score : 134 points.

Re: FSB and Processor Speed

Pentium G620  2.6ghz / 2core
2gb DDR3 ram @ 1066mhz @ CL9
Win 7 32bit
Score : 
Single-instance 134 points.
2 x instance : 118 + 117 points.

Core2 E4400 @ 2.96 Ghz / 370mhz FSB / 962mhz DDR2 @ CL5
2GB ram
Win 7 32bit
Score :
Single-instance 113 points.
2x instance : 100 + 91 points.



Dell Latitude E5430 Notebook
CPU i5 3210m 2 Core 4 thread  2.5 ghz base / 2.9ghz on turbo with 2 loaded cores
4 gb ram win32
Score :
Single-instance 168 Points
2x instance : 142+142 points
4x instance : 93+92+93+91 points

Sry for repost, added bench under multi-instances.