Subject: | POE::Kernel::SMP |
[5:42:54] <sky> I like it
[5:42:56] <sky> but it is hard
[5:43:01] <cwest> how hard?
[5:43:12] <sky> well, you need to designate what thread a certain
session lives in
[5:43:13] <cwest> It would make POE work like SMP I guess.
[5:43:22] <sky> and you want multiple sessions on each thread
[5:43:32] <cwest> And you want to delegate based on load.
[5:44:00] <sky> migrating a session accross thread boundaries is very hard
[5:44:13] <sky> and the speed hit is, how often do you check the global
event queue
[5:44:52] <cwest> hrm... and what about posting to events on another
thread?
[5:45:04] <sky> that is ofcourse possible
[5:45:19] <sky> you would need a threadlocal event queue and a global
eventqueue
[5:45:41] <sky> events to the same thread go on the threadlocal event queue
[5:45:47] <sky> never needs to lock, no speed hit nothing
[5:46:09] <cwest> we should write this down...
[5:46:14] <sky> events to the global thread queue is a bit harder,
since you then need to lock it, and put it there
[5:46:37] <cwest> Could it plugin to POE's current Kernel stuff, or
would it be radical changes?
[5:46:50] <sky> and then somehow notify the other threads about it
[5:47:01] <sky> I dunno, I patched it once to do threads
[5:47:04] <sky> or twice even
[5:47:06] <sky> :)
[5:47:11] <sky> but i haven't kept up
[5:47:22] <sky> now that queues are split up I think it might be better
[5:47:29] <cwest> There is a possibility that this could make POE hella
fast, isn't there.
[5:47:41] <sky> on SMP hardware yes
[5:47:48] <sky> since it could use multiple cpus
[5:47:58] <sky> it would make it much more responsive with large
blocking tasks
[5:48:34] <cwest> so we're talking about POE code truely realizing why
two cpus are better than one, the same way the OS does.
[5:48:36] <cwest> Excellent.
[5:48:47] <sky> yes
[5:49:00] <cwest> This should be done.
[5:49:11] <cwest> POE::Kernel::SMP or something.
[5:49:28] <sky> :)
[5:49:49] <sky> the nice thing is that code would theoreticly support
both non threaded and threaded stuff without redesign
[5:50:14] <cwest> yeah
[5:50:26] <sky> since you shouldn't really care where your new sessions go
--
Casey West