[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [amibroker] Multi CPU anytime soon?



PureBytes Links

Trading Reference Links

Hello,

Support for multi-CPU / multi-core is already available in many areas mainly related to database handling,
for example:

- selected real time plugins use multi-threaded processing of data (IQFeed plugin, IB plugin)
- Indicator Maintenance wizard is multi threaded
- some internal operations regardling list view are done in separate thread
- automatic trading interface (IBController) runs in separate thread
- AmiQuote is fully multi-threading program (it can run as much as 21 threads at the same time)

As far as optimization is considered, it is not multi-threaded right now. It is not a matter of
"making it MT" but the matter of actually getting speed advantage. You need to understand
that things that run on multiple cores are not necesarily faster. Actually they can be slower
due to cache misses/invalidations/memory access conflicts/context switching etc. 
There are functions (like Foreign) in the AFL that inherently lead to data access conflicts when run on more than one CPU/core.

I have done *many* benchmarks of various real-world scenarios and my findings are that you need
to be very careful on what you actually put into multi-threading code because you may end up
having actually slower result. This is especially the case for tight hand coded loops that AFL uses
to process arrays. They execute 2 to 3 times faster on single core than when same loop is divided
into multiple cores. You will start getting 10% advantage only when you proceess arrays larger than 100000 bars.
This is rare and not really worth effort as it simply bogs down your computer and you can hardly move your mouse.

So different approaches are tested on real-world data and real-world code and I actually measure the time
of execution, and will only release any MT addition *IF* speed advantage is at least 40% under regular use.

Please note that such tests and benchmarking is pretty time consuming and I am not giving you any dates.
We will see - the work continues.

Best regards,
Tomasz Janeczko
amibroker.com
----- Original Message ----- 
From: "joelamibroker" <joelamibroker@xxxxxxxxxxxx>
To: <amibroker@xxxxxxxxxxxxxxx>
Sent: Thursday, August 23, 2007 4:22 PM
Subject: [amibroker] Multi CPU anytime soon?


> Hi,
> 
> Support for multiple CPUs has been discussed for over a year now.
> 
> Is there any chance that we will be seeing this feature for optimisations?
> 
> Joel
> 
> 
> 
> 
> Please note that this group is for discussion between users only.
> 
> To get support from AmiBroker please send an e-mail directly to 
> SUPPORT {at} amibroker.com
> 
> For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
> http://www.amibroker.com/devlog/
> 
> For other support material please check also:
> http://www.amibroker.com/support.html
> 
> Yahoo! Groups Links
> 
> 
> 
> 
>


Please note that this group is for discussion between users only.

To get support from AmiBroker please send an e-mail directly to 
SUPPORT {at} amibroker.com

For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/

For other support material please check also:
http://www.amibroker.com/support.html
 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/amibroker/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/amibroker/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:amibroker-digest@xxxxxxxxxxxxxxx 
    mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx

<*> To unsubscribe from this group, send an email to:
    amibroker-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/