Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Development

Development::Development Forum for development topics and for those interested in EQEMu development. (Not a support forum)

Reply
 
Thread Tools Display Modes
  #1  
Old 01-08-2015, 04:22 PM
Riklin
Hill Giant
 
Join Date: May 2003
Location: Tacoma, WA
Posts: 220
Default Is Multi Core Optimization of Compiler Worth the effort?

I'm curious... Firstly, I hope this is not hitting any nerves or upsetting anyone that is sensitive to the topic... That is not at all my intent and I apologize in advance for my nievete'...

How multi-threaded is the code used in the emulator software? I have scanned through some of the C++ code, but you guys are WAY over my level of expertise! I'm not experienced enough with C++ to tell whether it's threaded or not.

Ultimately the question comes down to is it worth any effort at all to optimize compiler configuration for multi cores? Would there ben any benefit? My server is currently run on an AMD 8-core with 32gig of ram, so there are definitely cores to spare, performance wise...

Do these servers run in a single core only?




On another note involving to how a server is set up, how many static zones can you have? Is it really a limit of available RAM? Is there any downside to making as many zones static as possible?



Thanks for your patience. I have searched the forums, but aren't finding any threads specific to these things...


Rick (HallsHavoc)
Reply With Quote
  #2  
Old 01-08-2015, 04:49 PM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

Well since when you launch a zone, it will probably run under whatever core is available I doubt it is really necessary. I run a few static zones, ones that never shut down and they still use very little of my processors. The zones that do shutdown and go idle, run around 1% and the ones that are fully running because they have boats in them peak at around 5% for a few tics and then go down to 2%. Memory is even less used. I would think I would run low on bandwidth before the server ever gets taxed.

Now I do recall bots using a lot of resources, I remember back when my other server was populated with mass amounts of people running 4 groups of bots and zones would actually nearly shutdown from all of the activity. Now keep in mind I am running Linux with a large amount of memory, a bit different than a Windows compile.
Reply With Quote
  #3  
Old 01-08-2015, 07:08 PM
lerxst2112
Demi-God
 
Join Date: Aug 2010
Posts: 1,743
Default

Since there are multiple zone processes it most likely makes more sense to have them single threaded and let the OS manage the affinity for each process.
Reply With Quote
  #4  
Old 01-08-2015, 09:03 PM
Drajor's Avatar
Drajor
Developer
 
Join Date: Nov 2012
Location: Halas
Posts: 355
Default

Each Zone process maintains 3 threads. The main thread runs 'zone logic' like moving NPCs and checking timers on buffs etc. The other two threads are used for checking incoming and outgoing packets/connections.
__________________
Drajor regards you indifferently -- what would you like your tombstone to say?
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 02:33 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3