Fred and
others
How to setup multiple
instances of IO/AB on Quad Core:
Since this might be
of interest to a few. I would post it here.
This is relatively
straight forward, the instructions below applies to XP and XP64. I dont use
Vista so I dont exactly know, but I expect it to be
similar
1. Create multiple
users accounts in XP, each user account will be used for each instance of IO.
You might decide to have a separate database for each user, but it is not
necessary. What is necessary is to setup IO on a different path for each user
to avoid overwriting the same files. I do that with the /IOpath switch as
an argument. For others who are interested in doing that refer to Fred's doc.
You can optionally open up task manager and set process affinity to a
particular core. I found that unnecessary.
2. loggin in. -
There are 2 methods of logging in. Via console or remote desktop connection.
For the first user, just login in as usual, bring up AB and start IO. Once
AB/IO is running. You have move onto the 2nd user. Since XP by default only
allows 1 active user at a time. We have to "log out". If you are at the
console. It is important that you log out using switch user. otherwise all
your jobs will be killed. If you are using remote desktop, you actually dont
log out but disconnect by clicking the "x" button at the top. Alternatively,
if you're using XP32, you can download a patch on the internet that allows
multiple log ins, which means no disconnection is necessary.
3. 2nd and subsequent
log in. Similar to the first.
4. Monitoring
multiple instances. if you have downloaded the patch and are able to run
multiple remote desktop connections. YOu can easily monitor the progress via
the connections that you have. Unfortunately,There is no patch for XP64,
So I am left with switching between users every now and then. But I usually
mount the IO directory as a network drive from another computer. so I'm able
to at least monitor two copies of IOstatus.
From:
amibroker@xxxxxxxxxps.com
[mailto:amibroker@yahoogroups.com] On Behalf Of Fred
Tonetti
Sent: Friday,
23 May 2008 11:36 PM
To:
amibroker@xxxxxxxxxps.com
Subject: RE: [amibroker] Re: Quad-core
test results
Paul,
Interesting
and no I can’t say that I have looked into
it.
I would
think the drawback to this approach would be that while this very well might
work as you say, in an intelligent optimization the work being done by each
IO / AB / (CPU / Core) combination cannot really be cooperative per
se. This is because unlike an exhaustive search there is no way to
logically split an intelligent optimization except on a generation by
generation basis which implies there would have to be communication and/or
control between each generation i.e. in order for it to be cooperative I
would think there would need to be a higher level piece of software
controlling what was happening with each IO / AB combination … or … there
would need to be an IOServer like program running for each CPU / Core beyond
the first one that gets treated like a sort of local server to the
client.
From:
amibroker@xxxxxxxxxps.com
[mailto:amibroker@xxxxxxxxxps.com] On Behalf Of Paul Ho
Sent: Friday, May 23, 2008 2:37
AM
To:
amibroker@xxxxxxxxxps.com
Subject: [amibroker] Re: Quad-core test
results
--- In amibroker@xxxxxxxxxps.com,
Fred Tonetti <ftonetti@xx.>
wrote:
>
> PS .
>
>
>
> I have
noticed basically the same thing on dual core and core 2 duo
type
> machines i.e. the same optimization on a single symbol can
be run
> simultaneously on both cores with no increase in run time
.
>
>
>
> This seems to apply as well to
optimizations on hundreds of
symbols ..
>
>
I think it
all boils down to L2 Cache size, certainly the more
symbols + the longer
the data series, the larger L2 cache size has to
be. Certainly I notice
a marked increase in run time with both cores
running when the machine
is loaded up with symbols and/or with long
data series vs few symbols
and truncated data series.
>
> While the tests that TJ
performed seemed to imply otherwise, the
implication
> of the
above would seem to be that it would be beneficial for AB to
do
the
> heavy lifting in terms of getting multiple cpu's/cores involved
in
an
> optimization when they exist so that results could be
combined in
one place.
>
>
I have been able to run
multiple instances of IO, one on each cores
for about 2 years. All I
need to do is to create a separate user
login per instance. I always
thought that it was possible for IO to
treat multiple users on a single
machine as multiple machines and use
TCP/IP services to communicate.
Have you looked into this possibility?
>
> If this were the
case then IO would also take advantage of this on
> individual
machines as well as on multiple machines simultaneously.
>
>
>
> _____
>
> From: amibroker@xxxxxxxxxps.com
[mailto:amibroker@xxxxxxxxxps.com]
On Behalf
> Of Steve Dugas
> Sent: Thursday, May 22, 2008
8:50 PM
> To: Yahoo - AmiBroker
> Subject: [amibroker] Quad-core
test results
>
>
>
> Hi All,
>
>
>
> I finished setting up the new quad-core machine and ran my
first
tests
> today, so am posting the promised test results. All
I can say is
Wow!
> Really nice improvements, even better than I
expected to see in my
highest
> hopes. I am happy as a pig in sh*t
!! 8 - )
>
>
>
> For background, the test was an
optimization run on a single
ticker, which
> is how I will be
running all my other tests ( ticker was QID, 468
EOD data
> bars
). All tests used the same code with different param settings,
all
> tests had about 46,000 opt steps.
>
>
>
> To put things in perspective and show why I am so happy, the
original code
> was about 2,400 lines. The first time I ran it, on
my old backup
computer
> which I was using as a dedicated
optimization machine, it took 7
1/2 hours
> to run. So then I
copied the code and created a shorter version,
removing
>
everything which wasn't absolutley necessary for the optimizer, and
that
> reduced the run time to 2 1/2 hours. Then I ran this short
version
on my
> faster primary machine and that took 1 1/4 hours,
which is about
what I was
> expecting to see on the new
machine.
>
>
>
> So today I started by running
just ran one instance on the quad-
core - that
> took only 30 mins
and Task Manager showed it was using just 25% of
the total
>
processing power! Well to make a long story short, I kept adding
one
> instance at a time, all instances ran in 30 mins and each
used up an
> additional 25% of the CPU power. In the end, I was easily
running 4
> simultaneous instances. This pretty much kept the CPU
tached at
100% but all
> instances ran fine, all finished in 30
mins and I didn't experience
any
> problems at all. I was even
saving the first ones to spreadsheets
while the
> final ones were
still finishing, wow everything just worked
flawlessly! So,
> the
quad-core can run 4 seperate opts simultaneously in 30 mins,
which
> averages out to 7 1/2 minutes per opt, which =
>
>
>
> 10X improvement over running the short code on
the fast machine...
>
> 20X improvement over running the short
code on the old dedicated
> optimization machine...
>
>
60X improvement over running the original code on the old
optimization
> machine... Awesome !!!
>
>
>
> To those who were wondering what is the best machine to get for
running AB,
> it looks to me like quad is the way to go. ( My
machine has an
Intel
> processor, which TJ mentioned should
probably work better than AMD
for this
> stuff )....
>
>
>
> Steve
>
>
>
>
>
_____
>
> I am using the free version of SPAMfighter for
private users.
> It has removed 459 spam emails to date.
>
Paying users do not have this message in their emails.
> Try
SPAMfighter <http://www.spamfighter.com/len>
for free now!
>
I am using the free version of SPAMfighter for
private users.
It has removed 459 spam emails to date.
Paying users do
not have this message in their emails.
Try SPAMfighter for free
now!