| Pages: [1] :: one page |
|
|
| Author |
Topic |

Dr Slaughter
Minmatar Rabies Inc.
 |
Posted - 2008.08.22 23:50:00 -
[1]
You know what it's like, up late, nothing to do, re-reading the Stackless mailing list and noticed this comment:
Quote: We ignore the thread safe problems which exist with both solutions. But it isn't really a problem as we run all our Python logic in the main thread and Python is never used to deal with the other threads.
So, is it happening? Will it let you take advantage of multiple cores but keep the performance of Stackless?
~~~~~~~ BTW, for those interested the 'custom' method being talked about is with regards how CCP deal with scheduled tasks (they don't interrupt them, they get them to yield in a friendly way)
Quote: Instead of interrupting the permanently scheduled tasklets, we use custom yielding methods (BeNice, Sleep or on a channel waiting for an event) and never schedule to divert all the scheduled tasklets so that it is natural for all tasklets that have been scheduled to run once and then the scheduler will be empty.
At which point the watchdog exits cleanly, cooperative scheduling is maintained and the embedding C++ code can do whatever it needs.
From what K tells me (I don't work on this section of code myself) it is common that the scheduler is empty so we use a very large timeout for the watchdog in orderto detect badly programmed tasklets which are infinite looping or something similar. Links of interest: The slideshow: http://www.stackless.com/Members/rmtew/code/PyCon2006-StacklessEvePresentation.zip/download
Basic C++ framework with alternate yielding method BeNice: http://svn.python.org/view/stackless/sandbox/examples/embedding/watchdog-cpp/ Basic C framework with alternate yielding method BeNice: http://svn.python.org/view/stackless/sandbox/examples/embedding/watchdog-c/
~~~~ There is no parody in this thread. Honest. |

Dr Slaughter
Minmatar Rabies Inc.
 |
Posted - 2008.08.23 08:42:00 -
[2]
Forgot to also ask...
When a player moves from one place (grid) to another in the systems controlled by the same SOL service, how is the state data passed between the tasks?
I assumed something like:
Each Grid = individual task & micro-thread in the SOL service that deals with grids Passing player state between tasks = getting pickled?
and when leaving the SOL service for another one (i.e. moving data from one interpreter processes to another) does that also use pickling or something else? ~~~~ There is no parody in this thread. Honest. |
|

CCP Lingorm
C C P

 |
Posted - 2008.08.26 10:31:00 -
[3]
Currently Grids are not separated into there own 'processing' unit. A Sol nod handles ALL task in a Solar system that it manages. Sol nodes can also manage other tasks like Market, Gang details, Chat/Voice Channels) but currently all inspace activities for a solar system are handled by the node it is assigned to. Some Sol's handle 1 Solar System, most handle multiple.
CCP Lingorm CCP Quality Assurance QA Engineering Team Leader
Originally by: Lord Fitz Eve is to WoW as Wow is to an 8 player game of Unreal Tournament.
|
|

Dr Slaughter
Minmatar Rabies Inc.
 |
Posted - 2008.08.26 11:56:00 -
[4]
Originally by: CCP Lingorm Currently Grids are not separated into there own 'processing' unit. A Sol nod handles ALL task in a Solar system that it manages. Sol nodes can also manage other tasks like Market, Gang details, Chat/Voice Channels) but currently all inspace activities for a solar system are handled by the node it is assigned to. Some Sol's handle 1 Solar System, most handle multiple.
Thank you. Do you run sol nodes on different CPU cores (as separate processes) to maximize the capacity you have on each blade?
~~~~ There is no parody in this thread. Honest. |
|

CCP Lingorm
C C P

 |
Posted - 2008.08.26 13:15:00 -
[5]
Yes.
Each Core gets it's own Sol Process.
CCP Lingorm CCP Quality Assurance QA Engineering Team Leader
Originally by: Lord Fitz Eve is to WoW as Wow is to an 8 player game of Unreal Tournament.
|
|

Tonto Auri
Vhero' Multipurpose Corp
 |
Posted - 2008.08.27 01:10:00 -
[6]
Originally by: CCP Lingorm Currently Grids are not separated into there own 'processing' unit. A Sol nod handles ALL task in a Solar system that it manages. Sol nodes can also manage other tasks like Market, Gang details, Chat/Voice Channels) but currently all inspace activities for a solar system are handled by the node it is assigned to. Some Sol's handle 1 Solar System, most handle multiple.
O.O Now I see why nodes crashing. Have you ever considered separating chat and market from space game calculations? -- Thanks CCP for cu |

Dr Slaughter
Minmatar Rabies Inc.
 |
Posted - 2008.08.27 09:23:00 -
[7]
Originally by: Tonto Auri
O.O Now I see why nodes crashing. Have you ever considered separating chat and market from space game calculations?
Yes they have. Some of the services can be placed on elsewhere (market, chat and I think station services).
They're trying to move away from a fairly monolithic model and also integrate features like infiniband along the way. ~~~~ There is no parody in this thread. Honest. |
|

CCP Lingorm
C C P

 |
Posted - 2008.08.27 09:38:00 -
[8]
Market and Chat are separated. Most other Station services are not. But as mentioned above, we are currently working on changing this as part of our Infiniband work.
CCP Lingorm CCP Quality Assurance QA Engineering Team Leader
Originally by: Lord Fitz Eve is to WoW as Wow is to an 8 player game of Unreal Tournament.
|
|

Dr Slaughter
Minmatar Rabies Inc.
 |
Posted - 2008.08.27 10:53:00 -
[9]
Originally by: CCP Lingorm Market and Chat are separated. Most other Station services are not. But as mentioned above, we are currently working on changing this as part of our Infiniband work.
How about map statistics? Is that handled by SOL or is it run from the proxy to the db directly? ~~~~ There is no parody in this thread. Honest. |

Elisa Day
Shade.
 |
Posted - 2008.08.31 20:50:00 -
[10]
Originally by: CCP Lingorm Market and Chat are separated. Most other Station services are not. But as mentioned above, we are currently working on changing this as part of our Infiniband work.
So why does chat and market both often have over a minutes lag in jita on sundays?
|
|

Dr Slaughter
Minmatar Rabies Inc.
 |
Posted - 2008.08.31 21:21:00 -
[11]
Originally by: Elisa Day
Originally by: CCP Lingorm Market and Chat are separated. Most other Station services are not. But as mentioned above, we are currently working on changing this as part of our Infiniband work.
So why does chat and market both often have over a minutes lag in jita on sundays?
because although they may be running on their own CPU cores they're still maxed out? Although, he didn't actually say they're separated to such an extent that they're on their own core. Hmmm.. I bet they're still on the same node, the node is only running the Jita solar system, and Market and Chat are actually sharing that core with the in-space task too.
My guess..  ~~~~ There is no parody in this thread. Honest. |
|

CCP Lingorm
C C P

 |
Posted - 2008.09.01 09:14:00 -
[12]
Edited by: CCP Lingorm on 01/09/2008 09:14:23 Actually Market is on a Separate node (on a separate server even), but (as I understand it) the request still goes through the Solar System node that you are on, it is then passed to the Market Server and it returns the results.
As for the Chat, I do not know the full architecture for that, I know Player/Corp/Alliance Chat channels are on a separate server(s) and you contact them directly. I do not know the full structure for Local/Constellation Chat.
|
|
|
| Pages: [1] :: one page |
| First page | Previous page | Next page | Last page |