Skip Menu |

This queue is for tickets about the POE CPAN distribution.

Report information
The Basics
Id: 2034
Status: rejected
Priority: 0/
Queue: POE

People
Owner: Nobody in particular
Requestors: CWEST [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Wishlist
Broken in: (no value)
Fixed in: (no value)



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
I'm rejecting this old "wishlist" ticket as part of a campaign to remove deadwood from this queue. It's been gathering dust in the queue for years, and nobody has tackled it. I don't think anybody will.