Login
Username:

Password:

Remember me



Lost Password?

Register now!
Main Menu
Who's Online
2 user(s) are online (2 user(s) are browsing Forum)

Members: 1
Guests: 1

ntromans, more...

Browsing this Thread:   1 Anonymous Users





Questions abt AROS SMP

Joined:
6/10 23:16
From UK
Group:
Member
Posts: 2
Offline
I tested latest AROS SMP Nightly on a Pentium IV 3.2 Ghz Hyper Threading PC and on the default Vesa boot Option the boot Process halts.. I tested the slow ata Option and had a successfull boot.. then I tested the 1280x1024 VESA Screen Resolution and AROS SMP managed also to boot into Wanderer successfully!

Sad the Soundcard (SB Live!) and Network Drivers (RTL 8169) still don't seem to work!

Posted on: 6/10 23:36
Transfer the post to other applications Transfer


Re: Questions abt AROS SMP

Joined:
2004/3/29 9:54
From Scotland "The Cold"
Group:
Member
Posts: 2212
Offline
So, whats your question exactly?

Posted on: 6/11 9:33
_________________
Click to see original Image in a new window
Transfer the post to other applications Transfer


Re: Questions abt AROS SMP

Joined:
2007/8/21 11:21
Group:
Member
Posts: 176
Offline
Since there is a question missing: I have one!

Is there any "best practice" on how to make good use of this new feature?
E.g. assigning tasks to a certain CPU or best way of IPC? (I guess what we call inter-process on AROS would be considered inter-thread on other systems?)

Posted on: 6/11 11:53
Transfer the post to other applications Transfer


Re: Questions abt AROS SMP

Joined:
2004/3/29 9:54
From Scotland "The Cold"
Group:
Member
Posts: 2212
Offline
Quote:

cybergorf wrote:
Since there is a question missing: I have one!

Is there any "best practice" on how to make good use of this new feature?


Im not sure what your mean exactly - but for now it should be only used to offload work to support "threads" running in a separate task, and messaging results/data between them.

Its still incomplete (and will be for some time, due to my circumstances, unless someone else wants to contribute), so for the time being, its not particularly safe to access anything other than data your application shares between the threads.

Quote:

E.g. assigning tasks to a certain CPU or best way of IPC? (I guess what we call inter-process on AROS would be considered inter-thread on other systems?)


Tasks are assigned to whichever CPU's/core's they have a suitable affinity mask for, so a task which has all the bits in the mask set to 1 will get scheduled on any CPU/core available, otherwise it will only run on the CPUs/cores it has requested.

IPC is handled by messaging/signalling the other tasks running on other CPUS/cores.

There are 2 examples/demos under Developer/Debug/Tests/smp that show this in use, using slightly different strategies to achieve it.

Posted on: 6/11 11:59
_________________
Click to see original Image in a new window
Transfer the post to other applications Transfer


Re: Questions abt AROS SMP

Joined:
2007/8/21 11:21
Group:
Member
Posts: 176
Offline
Quote:

IPC is handled by messaging/signalling the other tasks running on other CPUS/cores.


Execs messaging and signaling is based on a single core concept ... so I see some complications here ... so basically Exec need to lock all tasks/cores if you send a message?

Quote:

There are 2 examples/demos under Developer/Debug/Tests/smp that show this in use, using slightly different strategies to achieve it.


Thanks! I will have a look at these.

Posted on: 6/11 12:18
Transfer the post to other applications Transfer


Re: Questions abt AROS SMP

Joined:
2004/3/29 9:54
From Scotland "The Cold"
Group:
Member
Posts: 2212
Offline
Quote:

cybergorf wrote:
Quote:

IPC is handled by messaging/signalling the other tasks running on other CPUS/cores.


Execs messaging and signaling is based on a single core concept ... so I see some complications here ... so basically Exec need to lock all tasks/cores if you send a message?


On smp capable systems (not necessarily enabled) the message port has an embedded lock structure, that is used by exec to arbitrate access to the port. Only access to the "port" is locked, not all tasks/cores ;)

On normal (non smp) builds of e.g. i386 (which is smp capable) these fields are present but unused, its only on an actual smp build they are utilised.

It does mean if you use an embedded port structure, it _must_ be cleared before use (or the locking mechanism may think a lock is already held on the port).

Quote:

Quote:

There are 2 examples/demos under Developer/Debug/Tests/smp that show this in use, using slightly different strategies to achieve it.


Thanks! I will have a look at these.

Posted on: 6/11 12:42
_________________
Click to see original Image in a new window
Transfer the post to other applications Transfer


Re: Questions abt AROS SMP

Joined:
2007/8/21 11:21
Group:
Member
Posts: 176
Offline
That sounds smart!

(but if tasks are not locked two or more tasks could try a port exactly at the same time, couldn't they?)

Posted on: 6/11 12:54
Transfer the post to other applications Transfer


Re: Questions abt AROS SMP

Joined:
2004/3/29 9:54
From Scotland "The Cold"
Group:
Member
Posts: 2212
Offline
Quote:

cybergorf wrote:
That sounds smart!

(but if tasks are not locked two or more tasks could try a port exactly at the same time, couldn't they?)


Of course, that's why the _port_ has locking - only one will get to use it at a time ;)

And to clarify - it is irrelevant to anything but platforms where "smp" is possible. For now this is only the x86 branches, but also ARM will work the same way eventually.

Posted on: 6/11 12:55
_________________
Click to see original Image in a new window
Transfer the post to other applications Transfer


Re: Questions abt AROS SMP

Joined:
2007/8/21 11:21
Group:
Member
Posts: 176
Offline
all right! Thank you Kalamatee for explaining!
(It is alway hard for me to get my head around all that concurrent stuff...)

Posted on: 6/11 13:09
Transfer the post to other applications Transfer






You can view topic.
You cannot start a new topic.
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.

[Advanced Search]


Search
Top Posters
1 paolone
paolone
4426
2 magorium
magorium
4095
3 nikolaos
nikolaos
4009
4 phoenixkonsole
phoenixkonsole
3920
5 deadwood
deadwood
2917
6 ncafferkey
ncafferkey
2793
7 mazze
mazze
2221
8 Kalamatee
Kalamatee
2212
9 clusteruk
clusteruk
2112
10 damocles
damocles
1789
© 2004-2018 AROS Exec