2009/8/19 Robert Bradshaw <rober...@math.washington.edu>:
> On Wed, 19 Aug 2009, William Stein wrote:
>
>>
>> 2009/8/19 Robert Bradshaw <rober...@math.washington.edu>:
>>>
>>> On Wed, 19 Aug 2009, William Stein wrote:
>>>
>>>>
>>>> On Wed, Aug 19, 2009 at 1:19 AM, Robert
>>>> Bradshaw<rober...@math.washington.edu> wrote:
>>>>> Multithreading will have to be introduced at one
>>>>> level or another to scale the notebook to more than a single
>>>>> processor anyways.
>>>>>
>>>>> - Robert
>>>>
>>>> Huh?  Why?   I don't see any need for multithreading to solve the
>>>> above problem, or rather I don't understand what problem you're
>>>> talking about.    The notebook already scales to more than  a single
>>>> processor.
>>>
>>> I am talking about the case where there are enough users that the notebook
>>> process itself becomes the bottleneck. It all depends on how lightweight
>>> the shuffling data between the underlying processes and the browser is,
>>> and how many concurrent users one wants to support for a single notebook.
>>> In the asynchronous model there is only one thread handling all of the
>>> connections. (Also, anything long-running, e.g. taring up all a users
>>> worksheets for download, needs to spawn a separate thread/process.)
>>>
>>> Of course if the whole setup is running on a single machine, it may be
>>> that the computational processes are always the bottleneck.
>>
>> Thanks for the clarification, which makes sense. There are other
>> approaches. If one had tens of thousands of simultaneous users,
>> instead of having multiple threads one could assign users to a
>> separate process (that could handle up to n users max) when they first
>> connect.   That could scale better than SMP threads, since it is
>> easier to distribute the load across servers.   Maybe this is just
>> orthogonal though.
>
> Yep. If the worksheet data was backed by a (synchronzed) database then
> this would work well.

Yes, this is one of the advantages of using a database (or a shared
filesystem like apache does!) to store the worksheet data.

>> For fun, I just looked at Activity Monitor on OS X, and sorted the
>> tasks I'm running by number of threads.  The top is Firefox and the
>> bottom is python.
>
> Not surprising. Also, I forgot about the GIL, which truely limits the
> performance benifits of threading in Python. If anything ever kills
> Python, I bet it'll be the GIL (but I'm hopeful that it'll get removed
> before it causes an untimely death...)

Maybe you can remove it :-)

William

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to