First of all I would like to thank to developer of twisted for making such a
great platform for network applications,, I just love it...
But for theory point of view I want to clear some of my doubts.
1) What is the underlying technology?
As, I believe that twisted is a TCP server which which uses select() based
call to handle multiple requests. Is it true or there is something else
which I am not aware of.
2) So, if twisted is single process based network application framework
(without threads and forks),, I believe it cannot take advantage of multiple
processor residing on one machine. For e.g. if OS schedule twisted process
on one processor,, that's it,, it can only run on same processor not taking
advantage of multiple processor. I am kind of confused in this question. Can
anyone shed some light on this?
3) So, suppose I have one twisted reactor based process running,, I can use
defferToThread as one of the way to kind of using multiple processing?
4) So, one of the technique to achieve parallelism is by running multiple
twisted reactor on different processor and using some scheduler which takes
the web request and forwards that request to different twisted reactor
instance on different processor.
This is close to Load balancing as we can also use the upper architecture
and configure the scheduler to schedule requests to different computers.
Many of the questions might sound weird,, and please feel free to write any
comment.
Thanks
Arun