Re: 2.6, 3.0, and truly independent intepreters

2008-11-10 Thread Andy O'Meara
On Nov 6, 9:02 pm, sturlamolden <[EMAIL PROTECTED]> wrote: > On Nov 7, 12:22 am, Walter Overby <[EMAIL PROTECTED]> wrote: > > > I read Andy to stipulate that the pipe needs to transmit "hundreds of > > megs of data and/or thousands of data structure instances."  I doubt > > he'd be happy with memcp

Re: 2.6, 3.0, and truly independent intepreters

2008-11-10 Thread Andy O'Meara
On Nov 6, 8:25 am, sturlamolden <[EMAIL PROTECTED]> wrote: > On Nov 5, 8:44 pm, "Andy O'Meara" <[EMAIL PROTECTED]> wrote: > > > In a few earlier posts, I went into details what's meant there: > > >http://groups.google.com/group/comp.lang.python/browse_thread/thread/... > > All this says is: > > 1.

Re: 2.6, 3.0, and truly independent intepreters

2008-11-10 Thread Andy O'Meara
On Nov 5, 5:09 pm, Paul Boddie <[EMAIL PROTECTED]> wrote: > Anyway, to keep things constructive, I should ask (again) whether you > looked at tinypy [1] and whether that might possibly satisfy your > embedded requirements. Actually, I'm starting to get into the tinypy codebase and have been talk

Re: 2.6, 3.0, and truly independent intepreters

2008-11-07 Thread sturlamolden
On Nov 7, 11:46 am, Paul Boddie <[EMAIL PROTECTED]> wrote: > As far as I can tell, he wants to keep the data in one place and just > pass a pointer around between execution contexts. This would be the easiest solution if Python were designed to do this from the beginning. I have previously state

Re: 2.6, 3.0, and truly independent intepreters

2008-11-07 Thread Paul Boddie
On 7 Nov, 03:02, sturlamolden <[EMAIL PROTECTED]> wrote: > On Nov 7, 12:22 am, Walter Overby <[EMAIL PROTECTED]> wrote: > > > I read Andy to stipulate that the pipe needs to transmit "hundreds of > > megs of data and/or thousands of data structure instances."  I doubt > > he'd be happy with memcpy

Re: 2.6, 3.0, and truly independent intepreters

2008-11-06 Thread sturlamolden
On Nov 7, 12:22 am, Walter Overby <[EMAIL PROTECTED]> wrote: > I read Andy to stipulate that the pipe needs to transmit "hundreds of > megs of data and/or thousands of data structure instances."  I doubt > he'd be happy with memcpy either.  My instinct is that contention for > a lock could be the

Re: 2.6, 3.0, and truly independent intepreters

2008-11-06 Thread Walter Overby
On Nov 6, 2:03 pm, sturlamolden <[EMAIL PROTECTED]> wrote: > On Nov 6, 6:05 pm, Walter Overby <[EMAIL PROTECTED]> wrote: > > > I don't understand how this would help.  If these large data > > structures reside only in one remote process, then the overhead of > > proxying the data into another proce

Re: 2.6, 3.0, and truly independent intepreters

2008-11-06 Thread sturlamolden
On Nov 6, 6:05 pm, Walter Overby <[EMAIL PROTECTED]> wrote: > I don't understand how this would help. If these large data > structures reside only in one remote process, then the overhead of > proxying the data into another process for manipulation requires too > much IPC, or at least so Andy sti

Re: 2.6, 3.0, and truly independent intepreters

2008-11-06 Thread Walter Overby
Hi, I've been following this discussion, and although I'm not nearly the Python expert that others on this thread are, I think I understand Andy's point of view. His premises seem to include at least: 1. His Python code does not control the creation of the threads. That is done "at the app leve

Re: 2.6, 3.0, and truly independent intepreters

2008-11-06 Thread sturlamolden
On Nov 4, 6:51 pm, Paul Boddie <[EMAIL PROTECTED]> wrote: > The language features look a lot like what others have already been > offering for a while: keywords for parallelised constructs (clik_for) > which are employed by solutions for various languages (C# and various C > ++ libraries spring im

Re: 2.6, 3.0, and truly independent intepreters

2008-11-06 Thread sturlamolden
On Nov 5, 8:44 pm, "Andy O'Meara" <[EMAIL PROTECTED]> wrote: > In a few earlier posts, I went into details what's meant there: > > http://groups.google.com/group/comp.lang.python/browse_thread/thread/...http://groups.google.com/group/comp.lang.python/msg/edae2840ab432344http://groups.google.com/gr

Re: 2.6, 3.0, and truly independent intepreters

2008-11-05 Thread Paul Boddie
On 5 Nov, 20:44, "Andy O'Meara" <[EMAIL PROTECTED]> wrote: > On Nov 4, 10:59 am, sturlamolden <[EMAIL PROTECTED]> wrote: > > > For Christ sake, researchers > > write global climate models using MPI. And you think a toy problem > > like 'real-time video processing' is a show stopper for using multip

Re: 2.6, 3.0, and truly independent intepreters

2008-11-05 Thread Andy O'Meara
On Nov 4, 10:59 am, sturlamolden <[EMAIL PROTECTED]> wrote: > On Nov 4, 4:27 pm, "Andy O'Meara" <[EMAIL PROTECTED]> wrote: > > > People > > in the scientific and academic communities have to understand that the > > dynamics in commercial software are can be *very* different needs and > > have to sh

Re: 2.6, 3.0, and truly independent intepreters

2008-11-04 Thread Paul Boddie
On 4 Nov, 16:00, sturlamolden <[EMAIL PROTECTED]> wrote: > If you are serious about multicore programming, take a look at: > > http://www.cilk.com/ > > Now if we could make Python do something like that, people would > perhaps start to think about writing Python programs for more than one > process

Re: 2.6, 3.0, and truly independent intepreters

2008-11-04 Thread sturlamolden
On Nov 4, 4:27 pm, "Andy O'Meara" <[EMAIL PROTECTED]> wrote: > People > in the scientific and academic communities have to understand that the > dynamics in commercial software are can be *very* different needs and > have to show some open-mindedness there. You are beware that BDFL's employer is

Re: 2.6, 3.0, and truly independent intepreters

2008-11-04 Thread Andy O'Meara
On Nov 4, 9:38 am, sturlamolden <[EMAIL PROTECTED]> wrote: > First let me say that there are several solutions to the "multicore" > problem. Multiple independendent interpreters embedded in a process is > one possibility, but not the only.'' No one is disagrees there. However, motivation of thi

Re: 2.6, 3.0, and truly independent intepreters

2008-11-04 Thread sturlamolden
If you are serious about multicore programming, take a look at: http://www.cilk.com/ Now if we could make Python do something like that, people would perhaps start to think about writing Python programs for more than one processor. -- http://mail.python.org/mailman/listinfo/python-list

Re: 2.6, 3.0, and truly independent intepreters

2008-11-04 Thread sturlamolden
On Nov 3, 7:11 pm, "Andy O'Meara" <[EMAIL PROTECTED]> wrote: > My hope was that the increasing interest and value associated with > flexible, multi-core/"free-thread" support is at a point where there's > a critical mass of CPython developer interest (as indicated by various > serious projects spe

Re: 2.6, 3.0, and truly independent intepreters

2008-11-04 Thread lkcl
On Oct 30, 6:39 pm, Terry Reedy <[EMAIL PROTECTED]> wrote: > Their professor is Lars Bak, the lead architect of the Google > V8Javascriptengine. They spent some time working on V8 in the last couple > months. then they will be at home with pyv8 - which is a combination of the pyjamas python-to-j

Re: 2.6, 3.0, and truly independent intepreters

2008-11-03 Thread Andy O'Meara
On Oct 30, 11:09 pm, alex23 <[EMAIL PROTECTED]> wrote: > On Oct 31, 2:05 am, "Andy O'Meara" <[EMAIL PROTECTED]> wrote: > > > I don't follow you there. If you're referring to multiprocessing, our > > concerns are: > > > - Maturity (am I willing to tell my partners and employees that I'm > > betting

Re: 2.6, 3.0, and truly independent intepreters

2008-10-31 Thread greg
Patrick Stinson wrote: Speaking of the big picture, is this how it normally works when someone says "Here's some code and a problem and I'm willing to pay for a solution?" In an open-source volunteer context, time is generally more valuable than money. Most people can't just drop part of their

Re: 2.6, 3.0, and truly independent intepreters

2008-10-30 Thread alex23
On Oct 31, 2:05 am, "Andy O'Meara" <[EMAIL PROTECTED]> wrote: > I don't follow you there.  If you're referring to multiprocessing, our > concerns are: > > - Maturity (am I willing to tell my partners and employees that I'm > betting our future on a brand-new module that imposes significant > restri

Re: 2.6, 3.0, and truly independent intepreters

2008-10-30 Thread Rhamphoryncus
On Oct 30, 8:23 pm, "Patrick Stinson" <[EMAIL PROTECTED]> wrote: > Speaking of the big picture, is this how it normally works when > someone says "Here's some code and a problem and I'm willing to pay > for a solution?" I've never really walked that path with a project of > this complexity (I guess

Re: 2.6, 3.0, and truly independent intepreters

2008-10-30 Thread Patrick Stinson
Speaking of the big picture, is this how it normally works when someone says "Here's some code and a problem and I'm willing to pay for a solution?" I've never really walked that path with a project of this complexity (I guess it's the backwards-compatibility that makes it confusing), but is this p

Re: 2.6, 3.0, and truly independent intepreters

2008-10-30 Thread Glenn Linderman
On approximately 10/30/2008 6:26 AM, came the following characters from the keyboard of Jesse Noller: On Wed, Oct 29, 2008 at 8:05 PM, Glenn Linderman <[EMAIL PROTECTED]> wrote: On approximately 10/29/2008 3:45 PM, came the following characters from the keyboard of Patrick Stinson: If y

Re: 2.6, 3.0, and truly independent intepreters

2008-10-30 Thread Patrick Stinson
On Wed, Oct 29, 2008 at 4:05 PM, Glenn Linderman <[EMAIL PROTECTED]> wrote: > On approximately 10/29/2008 3:45 PM, came the following characters from the > keyboard of Patrick Stinson: >> >> If you are dealing with "lots" of data like in video or sound editing, >> you would just keep the data in sh

Re: 2.6, 3.0, and truly independent intepreters

2008-10-30 Thread Martin v. Löwis
>> Why do you think so? For C code that is carefully written, the GIL >> allows *very well* to write CPU bound scripts running on other threads. >> (please do get back to Jesse's original remark in case you have lost >> the thread :-) >> > > I don't follow you there. If you're referring to multip

Re: 2.6, 3.0, and truly independent intepreters

2008-10-30 Thread Terry Reedy
Andy O'Meara wrote: On Oct 28, 6:11 pm, "Martin v. Löwis" <[EMAIL PROTECTED]> wrote: You should really reconsider writing performance-critical code in Python. I don't follow you there... Performance-critical code in Python?? Martin meant what he said better later >> Again, if you do heavy

Re: 2.6, 3.0, and truly independent intepreters

2008-10-30 Thread Paul Boddie
On 30 Okt, 14:12, "Andy O'Meara" <[EMAIL PROTECTED]> wrote: > > 3) Start a new python implementation, let's call it "CPythonES" [...] > 4) Drop python, switch to Lua. Have you looked at tinypy? I'm not sure about the concurrency aspects of the implementation, but the developers are not completel

Re: 2.6, 3.0, and truly independent intepreters

2008-10-30 Thread Jesse Noller
On Thu, Oct 30, 2008 at 1:54 PM, Andy O'Meara <[EMAIL PROTECTED]> wrote: > On Oct 30, 1:00 pm, "Jesse Noller" <[EMAIL PROTECTED]> wrote: > >> >> Multiprocessing is written in C, so as for the "less agile" - I don't >> see how it's any less agile then what you've talked about. > > Sorry for not bein

Re: 2.6, 3.0, and truly independent intepreters

2008-10-30 Thread Andy O'Meara
On Oct 30, 1:00 pm, "Jesse Noller" <[EMAIL PROTECTED]> wrote: > > Multiprocessing is written in C, so as for the "less agile" - I don't > see how it's any less agile then what you've talked about. Sorry for not being more specific there, but by "less agile" I meant that an app's codebase is less

Re: 2.6, 3.0, and truly independent intepreters

2008-10-30 Thread VanL
Jesse Noller wrote: > Even luminaries such as Brian Goetz and many, many others have pointed > out that threading, as it exists today is fundamentally difficult to > get right. Ergo the "renaissance" (read: echo chamber) towards > Erlang-style concurrency. I think this is slightly missing what An

Re: 2.6, 3.0, and truly independent intepreters

2008-10-30 Thread Jesse Noller
On Thu, Oct 30, 2008 at 12:05 PM, Andy O'Meara <[EMAIL PROTECTED]> wrote: > On Oct 28, 6:11 pm, "Martin v. Löwis" <[EMAIL PROTECTED]> wrote: >> > Because then we're back into the GIL not permitting threads efficient >> > core use on CPU bound scripts running on other threads (when they >> > otherwi

Re: 2.6, 3.0, and truly independent intepreters

2008-10-30 Thread Andy O'Meara
On Oct 28, 6:11 pm, "Martin v. Löwis" <[EMAIL PROTECTED]> wrote: > > Because then we're back into the GIL not permitting threads efficient > > core use on CPU bound scripts running on other threads (when they > > otherwise could). > > Why do you think so? For C code that is carefully written, the G

Re: 2.6, 3.0, and truly independent intepreters

2008-10-30 Thread Jesse Noller
On Wed, Oct 29, 2008 at 8:05 PM, Glenn Linderman <[EMAIL PROTECTED]> wrote: > On approximately 10/29/2008 3:45 PM, came the following characters from the > keyboard of Patrick Stinson: >> >> If you are dealing with "lots" of data like in video or sound editing, >> you would just keep the data in sh

Re: 2.6, 3.0, and truly independent intepreters

2008-10-30 Thread Andy O'Meara
> Okay, here's the bottom line: > * This is not about the GIL.  This is about *completely* isolated > interpreters; most of the time when we want to remove the GIL we want > a single interpreter with lots of shared data. > * Your use case, although not common, is not extraordinarily rare > either

Re: 2.6, 3.0, and truly independent intepreters

2008-10-29 Thread Patrick Stinson
If you are dealing with "lots" of data like in video or sound editing, you would just keep the data in shared memory and send the reference over IPC to the worker process. Otherwise, if you marshal and send you are looking at a temporary doubling of the memory footprint of your app because the data

Re: 2.6, 3.0, and truly independent intepreters

2008-10-29 Thread Rhamphoryncus
On Oct 29, 7:20 am, Paul Boddie <[EMAIL PROTECTED]> wrote: > On 28 Okt, 21:03, Rhamphoryncus <[EMAIL PROTECTED]> wrote: > > > * get a short-term bodge that works, like hacking the 3rd party > > library to use your shared-memory allocator.  Should be far less work > > than hacking all of CPython. >

Re: 2.6, 3.0, and truly independent intepreters

2008-10-29 Thread Paul Boddie
On 28 Okt, 21:03, Rhamphoryncus <[EMAIL PROTECTED]> wrote: > * get a short-term bodge that works, like hacking the 3rd party > library to use your shared-memory allocator.  Should be far less work > than hacking all of CPython. Did anyone come up with a reason why shared memory couldn't be used fo

Re: 2.6, 3.0, and truly independent intepreters

2008-10-29 Thread Patrick Stinson
On Fri, Oct 24, 2008 at 12:51 PM, Andy O'Meara <[EMAIL PROTECTED]> wrote: > > Another great post, Glenn!! Very well laid-out and posed!! Thanks for > taking the time to lay all that out. > >> >> Questions for Andy: is the type of work you want to do in independent >> threads mostly pure Python? Or

Re: 2.6, 3.0, and truly independent intepreters

2008-10-29 Thread Patrick Stinson
Wow, man. Excellent post. You want a job? The gui could use PyA threads for sure, and the audio thread could use PyC threads. It would not be a problem to limit the audio thread to only reentrant libraries. This kind of thought is what I had in mind about finding a compromise, especially in the w

Re: 2.6, 3.0, and truly independent intepreters

2008-10-29 Thread Patrick Stinson
Close, I work currently for EastWest :) Well, I actually like almost everything else about CPython, considering my audio work the only major problem I've had is with the GIL. I like the purist community, and I like the code, since integrating it on both platforms has been relatively clean, and req

Re: 2.6, 3.0, and truly independent intepreters

2008-10-28 Thread Martin v. Löwis
> Because then we're back into the GIL not permitting threads efficient > core use on CPU bound scripts running on other threads (when they > otherwise could). Why do you think so? For C code that is carefully written, the GIL allows *very well* to write CPU bound scripts running on other threads.

Re: 2.6, 3.0, and truly independent intepreters

2008-10-28 Thread Rhamphoryncus
On Oct 28, 9:30 am, "Andy O'Meara" <[EMAIL PROTECTED]> wrote: > On Oct 25, 9:46 am, "M.-A. Lemburg" <[EMAIL PROTECTED]> wrote: > > > These discussion pop up every year or so and I think that most of them > > are not really all that necessary, since the GIL isn't all that bad. > > Thing is, if the t

Re: 2.6, 3.0, and truly independent intepreters

2008-10-28 Thread Andy O'Meara
On Oct 27, 10:55 pm, Glenn Linderman <[EMAIL PROTECTED]> wrote: > And I think we still are miscommunicating!  Or maybe communicating anyway! > > So when you said "object", I actually don't know whether you meant > Python object or something else.  I assumed Python object, which may not > have bee

Re: 2.6, 3.0, and truly independent intepreters

2008-10-28 Thread Andy O'Meara
On Oct 25, 9:46 am, "M.-A. Lemburg" <[EMAIL PROTECTED]> wrote: > These discussion pop up every year or so and I think that most of them > are not really all that necessary, since the GIL isn't all that bad. > Thing is, if the topic keeps coming up, then that may be an indicator that change is trul

Re: 2.6, 3.0, and truly independent intepreters

2008-10-28 Thread Greg Ewing
Glenn Linderman wrote: So your 50% number is just a scare tactic, it would seem, based on wild guesses. Was there really any benefit to the comment? All I was really trying to say is that it would be a mistake to assume that the overhead will be negligible, as that would be just as much a wil

Re: 2.6, 3.0, and truly independent intepreters

2008-10-28 Thread Andy O'Meara
On Oct 27, 4:05 am, "Martin v. Löwis" <[EMAIL PROTECTED]> wrote: > Andy O'Meara wrote: > > > Well, when you're talking about large, intricate data structures > > (which include opaque OS object refs that use process-associated > > allocators), even a shared memory region between the child process

Re: 2.6, 3.0, and truly independent intepreters

2008-10-28 Thread Andy O'Meara
On Oct 26, 10:11 pm, "James Mills" <[EMAIL PROTECTED]> wrote: > On Mon, Oct 27, 2008 at 12:03 PM, Andy O'Meara <[EMAIL PROTECTED]> wrote: > > I think we miscommunicated there--I'm actually agreeing with you.  I > > was trying to make the same point you were: that intricate and/or > > large structur

Re: 2.6, 3.0, and truly independent intepreters

2008-10-28 Thread Michael Sparks
Philip Semanchuk wrote: > On Oct 25, 2008, at 7:53 AM, Michael Sparks wrote: >> Glenn Linderman wrote: >>> In the module multiprocessing environment could you not use shared >>> memory, then, for the large shared data items? >> >> If the poshmodule had a bit of TLC, it would be extremely useful for

Re: 2.6, 3.0, and truly independent intepreters

2008-10-28 Thread Michael Sparks
Glenn Linderman wrote: > so a 3rd party library might be called to decompress the stream into a > set of independently allocated chunks, each containing one frame (each > possibly consisting of several allocations of memory for associated > metadata) that is independent of other frames We use a c

Re: 2.6, 3.0, and truly independent intepreters

2008-10-28 Thread Rhamphoryncus
On Oct 26, 6:57 pm, "Andy O'Meara" <[EMAIL PROTECTED]> wrote: > Grrr... I posted a ton of lengthy replies to you and other recent > posts here using Google and none of them made it, argh. Poof. There's > nothing that fires more up more than lost work,  so I'll have to > revert short and simple answ

Re: 2.6, 3.0, and truly independent intepreters

2008-10-27 Thread Martin v. Löwis
Andy O'Meara wrote: > On Oct 24, 9:52 pm, "Martin v. Löwis" <[EMAIL PROTECTED]> wrote: A c-level module, on the other hand, can sidestep/release the GIL at will, and go on it's merry way and process away. >>> ...Unless part of the C module execution involves the need do CPU- >>> bound wor

Re: 2.6, 3.0, and truly independent intepreters

2008-10-26 Thread James Mills
On Mon, Oct 27, 2008 at 12:03 PM, Andy O'Meara <[EMAIL PROTECTED]> wrote: > I think we miscommunicated there--I'm actually agreeing with you. I > was trying to make the same point you were: that intricate and/or > large structures are meant to be passed around by a top-level pointer, > not using a

Re: 2.6, 3.0, and truly independent intepreters

2008-10-26 Thread Andy O'Meara
> > And in the case of hundreds of megs of data > > ... and I would be surprised at someone that would embed hundreds of > megs of data into an object such that it had to be serialized... seems > like the proper design is to point at the data, or a subset of it, in a > big buffer.  Then data tran

Re: 2.6, 3.0, and truly independent intepreters

2008-10-26 Thread Andy O'Meara
On Oct 24, 9:52 pm, "Martin v. Löwis" <[EMAIL PROTECTED]> wrote: > >> A c-level module, on the other hand, can sidestep/release > >> the GIL at will, and go on it's merry way and process away. > > > ...Unless part of the C module execution involves the need do CPU- > > bound work on another thread

Re: 2.6, 3.0, and truly independent intepreters

2008-10-26 Thread Andy O'Meara
Grrr... I posted a ton of lengthy replies to you and other recent posts here using Google and none of them made it, argh. Poof. There's nothing that fires more up more than lost work, so I'll have to revert short and simple answers for the time being. Argh, damn. On Oct 25, 1:26 am, greg <[EMA

Re:: 2.6, 3.0, and truly independent intepreters

2008-10-26 Thread Hendrik van Rooyen
"Andy O'Meara" Wrote: >Um... So let's say you have a opaque object ref from the OS that >represents hundreds of megs of data (e.g. memory-resident video). How >do you get that back to the parent process without serialization and >IPC? What should really happen is just use the same address spac

Re: 2.6, 3.0, and truly independent intepreters

2008-10-26 Thread Martin v. Löwis
>>> As far as I can tell, it seems >>> CPython's current state can't CPU bound parallelization in the same >>> address space. >> That's not true. >> > > Um... So let's say you have a opaque object ref from the OS that > represents hundreds of megs of data (e.g. memory-resident video). How > do y

Re: 2.6, 3.0, and truly independent intepreters

2008-10-25 Thread greg
Glenn Linderman wrote: On approximately 10/25/2008 12:01 AM, came the following characters from the keyboard of Martin v. Löwis: If None remains global, then type(None) also remains global, and type(None),__bases__[0]. Then type(None).__bases__[0].__subclasses__() will yield "interesting" resu

Re: 2.6, 3.0, and truly independent intepreters

2008-10-25 Thread Rhamphoryncus
On Oct 25, 12:29 am, greg <[EMAIL PROTECTED]> wrote: > Rhamphoryncus wrote: > > A list > > is not shareable, so it can only be used within the monitor it's > > created within, but the list type object is shareable. > > Type objects contain dicts, which allow arbitrary values > to be stored in them.

Re: 2.6, 3.0, and truly independent intepreters

2008-10-25 Thread Andy O'Meara
> Andy O'Meara wrote: > > I would definitely agree if there was a context (i.e. environment) > > object passed around then perhaps we'd have the best of all worlds. > > Moreover, I think this is probably the *only* way that > totally independent interpreters could be realized. > > Converting the w

Re: 2.6, 3.0, and truly independent intepreters

2008-10-25 Thread Andy O'Meara
On Oct 24, 10:24 pm, Glenn Linderman <[EMAIL PROTECTED]> wrote: > > > And in the case of hundreds of megs of data > > ... and I would be surprised at someone that would embed hundreds of > megs of data into an object such that it had to be serialized... seems > like the proper design is to point at

Re: 2.6, 3.0, and truly independent intepreters

2008-10-25 Thread Andy O'Meara
On Oct 24, 9:40 pm, "Martin v. Löwis" <[EMAIL PROTECTED]> wrote: > > It seems to me that the very simplest move would be to remove global > > static data so the app could provide all thread-related data, which > > Andy suggests through references to the QuickTime API. This would > > suggest compili

Re: 2.6, 3.0, and truly independent intepreters

2008-10-25 Thread Andy O'Meara
On Oct 24, 9:52 pm, "Martin v. Löwis" <[EMAIL PROTECTED]> wrote: > >> A c-level module, on the other hand, can sidestep/release > >> the GIL at will, and go on it's merry way and process away. > > > ...Unless part of the C module execution involves the need do CPU- > > bound work on another thread

Re: 2.6, 3.0, and truly independent intepreters

2008-10-25 Thread Martin v. Löwis
>> There are a number of problems with that approach. The biggest one is >> that it is theoretical. > > Not theoretical. Used successfully in Perl. Perhaps it is indeed what Perl does, I know nothing about that. However, it *is* theoretical for Python. Please trust me that there are many many

Re: 2.6, 3.0, and truly independent intepreters

2008-10-25 Thread Philip Semanchuk
On Oct 25, 2008, at 7:53 AM, Michael Sparks wrote: Glenn Linderman wrote: In the module multiprocessing environment could you not use shared memory, then, for the large shared data items? If the poshmodule had a bit of TLC, it would be extremely useful for this, since it does (surprisingl

Re: 2.6, 3.0, and truly independent intepreters

2008-10-25 Thread Terry Reedy
Glenn Linderman wrote: On approximately 10/24/2008 8:39 PM, came the following characters from the keyboard of Terry Reedy: Glenn Linderman wrote: For example, Python presently has a rather stupid algorithm for string concatenation. Yes, CPython2.x, x<=5 did. Python the language has syntax

Re: 2.6, 3.0, and truly independent intepreters

2008-10-25 Thread M.-A. Lemburg
These discussion pop up every year or so and I think that most of them are not really all that necessary, since the GIL isn't all that bad. Some pointers into the past: * http://effbot.org/pyfaq/can-t-we-get-rid-of-the-global-interpreter-lock.htm Fredrik on the GIL * http://mail.python.org/

Re: 2.6, 3.0, and truly independent intepreters

2008-10-25 Thread Michael Sparks
Jesse Noller wrote: > http://www.kamaelia.org/Home Thanks for the mention :) I don't think it's a good fit for the original poster's question, but a solution to the original poster's question would be generally useful IMO, _especially_ on python implementations without a GIL (where threads are t

Re: 2.6, 3.0, and truly independent intepreters

2008-10-25 Thread Michael Sparks
Andy O'Meara wrote: > basically, it seems that we're talking about the > "embarrassingly parallel" scenario raised in that paper We build applications in Kamaelia and then discover afterwards that they're embarrassingly parallel and just work. (we have an introspector that can look inside running

Re: 2.6, 3.0, and truly independent intepreters

2008-10-25 Thread Michael Sparks
Glenn Linderman wrote: > In the module multiprocessing environment could you not use shared > memory, then, for the large shared data items? If the poshmodule had a bit of TLC, it would be extremely useful for this, since it does (surprisingly) still work with python 2.5, but does need a bit of T

Re: 2.6, 3.0, and truly independent intepreters

2008-10-25 Thread Michael Sparks
Andy O'Meara wrote: > Yeah, that's the idea--let the highest levels run and coordinate the > show. Yes, this works really well in python and it's lots of fun. We've found so far you need at minimum the following parts to a co-ordination little language: Pipeline Graphline Carousel

Re: 2.6, 3.0, and truly independent intepreters

2008-10-25 Thread Michael Sparks
Hi Andy, Andy wrote: > However, we require true thread/interpreter > independence so python 2 has been frustrating at time, to say the > least.  Please don't start with "but really, python supports multiple > interpreters" because I've been there many many times with people. > And, yes, I'm awar

Re: 2.6, 3.0, and truly independent intepreters

2008-10-25 Thread Martin v. Löwis
> If Py_None corresponds to None in Python syntax (sorry I'm not familiar > with Python internals yet; glad you are commenting, since you are), then > it is a fixed constant and could be left global, probably. If None remains global, then type(None) also remains global, and type(None),__bases__[0]

Re: 2.6, 3.0, and truly independent intepreters

2008-10-24 Thread greg
Rhamphoryncus wrote: A list is not shareable, so it can only be used within the monitor it's created within, but the list type object is shareable. Type objects contain dicts, which allow arbitrary values to be stored in them. What happens if one thread puts a private object in there? It become

Re: 2.6, 3.0, and truly independent intepreters

2008-10-24 Thread greg
Andy O'Meara wrote: In our case, we're doing image and video manipulation--stuff not good to be messaging from address space to address space. Have you considered using shared memory? Using mmap or equivalent, you can arrange for a block of memory to be shared between processes. Then you can

Re: 2.6, 3.0, and truly independent intepreters

2008-10-24 Thread greg
Glenn Linderman wrote: If Py_None corresponds to None in Python syntax ... then it is a fixed constant and could be left global, probably. No, it couldn't, because it's a reference-counted object like any other Python object, and therefore needs to be protected against simultaneous refcount ma

Re: 2.6, 3.0, and truly independent intepreters

2008-10-24 Thread greg
Andy O'Meara wrote: - each worker thread makes its own interpreter, pops scripts off a work queue, and manages exporting (and then importing) result data to other parts of the app. I hope you realize that starting up one of these interpreters is going to be fairly expensive. It will have to cr

Re: 2.6, 3.0, and truly independent intepreters

2008-10-24 Thread greg
Andy O'Meara wrote: I would definitely agree if there was a context (i.e. environment) object passed around then perhaps we'd have the best of all worlds. Moreover, I think this is probably the *only* way that totally independent interpreters could be realized. Converting the whole C API to u

Re: 2.6, 3.0, and truly independent intepreters

2008-10-24 Thread Terry Reedy
Glenn Linderman wrote: For example, Python presently has a rather stupid algorithm for string concatenation. Python the language has syntax and semantics. Python implementations have algorithms that fulfill the defined semantics. It allocates only the exactly necessary space for the conca

Re: 2.6, 3.0, and truly independent intepreters

2008-10-24 Thread Martin v. Löwis
> It seems to me that the very simplest move would be to remove global > static data so the app could provide all thread-related data, which > Andy suggests through references to the QuickTime API. This would > suggest compiling python without thread support so as to leave it up > to the applicatio

Re: 2.6, 3.0, and truly independent intepreters

2008-10-24 Thread Martin v. Löwis
>> A c-level module, on the other hand, can sidestep/release >> the GIL at will, and go on it's merry way and process away. > > ...Unless part of the C module execution involves the need do CPU- > bound work on another thread through a different python interpreter, > right? Wrong. > (even if th

Re: 2.6, 3.0, and truly independent intepreters

2008-10-24 Thread Adam Olsen
On Fri, Oct 24, 2008 at 5:38 PM, Glenn Linderman <[EMAIL PROTECTED]> wrote: > On approximately 10/24/2008 2:16 PM, came the following characters from the > keyboard of Rhamphoryncus: >> >> On Oct 24, 3:02 pm, Glenn Linderman <[EMAIL PROTECTED]> wrote: >> >>> >>> On approximately 10/23/2008 2:24 PM,

Re: 2.6, 3.0, and truly independent intepreters

2008-10-24 Thread Adam Olsen
On Fri, Oct 24, 2008 at 4:48 PM, Glenn Linderman <[EMAIL PROTECTED]> wrote: > On approximately 10/24/2008 2:15 PM, came the following characters from the > keyboard of Rhamphoryncus: >> >> On Oct 24, 2:59 pm, Glenn Linderman <[EMAIL PROTECTED]> wrote: >> >>> >>> On approximately 10/24/2008 1:09 PM,

Re: 2.6, 3.0, and truly independent intepreters

2008-10-24 Thread Andy O'Meara
> Are you familiar with the API at all? Multiprocessing was designed to > mimic threading in about every way possible, the only restriction on > shared data is that it must be serializable, but event then you can > override or customize the behavior. > > Also, inter process communication is done

Re: 2.6, 3.0, and truly independent intepreters

2008-10-24 Thread Rhamphoryncus
On Oct 24, 3:02 pm, Glenn Linderman <[EMAIL PROTECTED]> wrote: > On approximately 10/23/2008 2:24 PM, came the following characters from the > keyboard of Rhamphoryncus: >> >> On Oct 23, 11:30 am, Glenn Linderman <[EMAIL PROTECTED]> wrote: >> >>> >>> On approximately 10/23/2008 12:24 AM, came the f

Re: 2.6, 3.0, and truly independent intepreters

2008-10-24 Thread Rhamphoryncus
On Oct 24, 2:59 pm, Glenn Linderman <[EMAIL PROTECTED]> wrote: > On approximately 10/24/2008 1:09 PM, came the following characters from > the keyboard of Rhamphoryncus: > > PyE: objects are reclassified as shareable or non-shareable, many > > types are now only allowed to be shareable.  A module a

Re: 2.6, 3.0, and truly independent intepreters

2008-10-24 Thread Jesse Noller
On Fri, Oct 24, 2008 at 4:51 PM, Andy O'Meara <[EMAIL PROTECTED]> wrote: >> In the module multiprocessing environment could you not use shared >> memory, then, for the large shared data items? >> > > As I understand things, the multiprocessing puts stuff in a child > process (i.e. a separate addre

Re: 2.6, 3.0, and truly independent intepreters

2008-10-24 Thread Glenn Linderman
On approximately 10/24/2008 1:09 PM, came the following characters from the keyboard of Rhamphoryncus: On Oct 24, 1:02 pm, Glenn Linderman <[EMAIL PROTECTED]> wrote: On approximately 10/24/2008 8:42 AM, came the following characters from the keyboard of Andy O'Meara: Glenn, great post

Re: 2.6, 3.0, and truly independent intepreters

2008-10-24 Thread Andy O'Meara
Another great post, Glenn!! Very well laid-out and posed!! Thanks for taking the time to lay all that out. > > Questions for Andy: is the type of work you want to do in independent > threads mostly pure Python? Or with libraries that you can control to > some extent? Are those libraries reentran

Re: 2.6, 3.0, and truly independent intepreters

2008-10-24 Thread Rhamphoryncus
On Oct 24, 1:02 pm, Glenn Linderman <[EMAIL PROTECTED]> wrote: > On approximately 10/24/2008 8:42 AM, came the following characters from > the keyboard of Andy O'Meara: > > > Glenn, great post and points! > > Thanks. I need to admit here that while I've got a fair bit of > professional programming

Re: 2.6, 3.0, and truly independent intepreters

2008-10-24 Thread Jesse Noller
On Fri, Oct 24, 2008 at 3:17 PM, Andy O'Meara <[EMAIL PROTECTED]> wrote: > I'm a lousy writer sometimes, but I feel bad if you took the time to > describe threads vs processes. The only reason I raised IPC with my > "messaging isn't very attractive" comment was to respond to Glenn > Linderman's p

Re: 2.6, 3.0, and truly independent intepreters

2008-10-24 Thread Andy O'Meara
> > The Global Interpreter Lock is fundamentally designed to make the > interpreter easier to maintain and safer: Developers do not need to > worry about other code stepping on their namespace. This makes things > thread-safe, inasmuch as having multiple PThreads within the same > interpreter spa

Re: 2.6, 3.0, and truly independent intepreters

2008-10-24 Thread Jesse Noller
On Fri, Oct 24, 2008 at 12:30 PM, Jesse Noller <[EMAIL PROTECTED]> wrote: > On Fri, Oct 24, 2008 at 10:40 AM, Andy O'Meara <[EMAIL PROTECTED]> wrote: >>> > 2) Barriers to "free threading". As Jesse describes, this is simply >>> > just the GIL being in place, but of course it's there for a reason.

Re: 2.6, 3.0, and truly independent intepreters

2008-10-24 Thread Jesse Noller
On Fri, Oct 24, 2008 at 10:40 AM, Andy O'Meara <[EMAIL PROTECTED]> wrote: >> > 2) Barriers to "free threading". As Jesse describes, this is simply >> > just the GIL being in place, but of course it's there for a reason. >> > It's there because (1) doesn't hold and there was never any specs/ >> > g

Re: 2.6, 3.0, and truly independent intepreters

2008-10-24 Thread Terry Reedy
Stefan Behnel wrote: Terry Reedy wrote: Everything in DLLs is compiled C extensions. I see about 15 for Windows 3.0. Ah, weren't that wonderful times back in the days of Win3.0, when DLL-hell was inhabited by only 15 libraries? *sigh* ... although ... wait, didn't Win3.0 have more than that

Re: 2.6, 3.0, and truly independent intepreters

2008-10-24 Thread Patrick Stinson
As a side note to the performance question, we are executing python code in an audio thread that is used in all of the top-end music production environments. We have found the language to perform extremely well when executed at control-rate frequency, meaning we aren't doing DSP computations, just

Re: 2.6, 3.0, and truly independent intepreters

2008-10-24 Thread Patrick Stinson
We are in the same position as Andy here. I think that something that would help people like us produce something in code form is a collection of information outlining the problem and suggested solutions, appropriate parts of the CPython's current threading API, and pros and cons of the many vario

Re: 2.6, 3.0, and truly independent intepreters

2008-10-24 Thread Andy O'Meara
Glenn, great post and points! > > Andy seems to want an implementation of independent Python processes > implemented as threads within a single address space, that can be > coordinated by an outer application.  This actually corresponds to the > model promulgated in the paper as being most likely

  1   2   >