RunUO Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

World.Save speed up

tibor

Wanderer
World.Save speed up

Hello,
I have got idea how to decrease game disturbing save time. Main idea is to dump save to RAM disk a then move save direcroty from RAM disk to HDD without pause in game.
There is only one minor problem, RunUO does not have option to set save directory outside main RunUO folder. Would be possible to add this option into game core?
 

cward

Wanderer
tibor said:
Hello,
I have got idea how to decrease game disturbing save time. Main idea is to dump save to RAM disk a then move save direcroty from RAM disk to HDD without pause in game.
There is only one minor problem, RunUO does not have option to set save directory outside main RunUO folder. Would be possible to add this option into game core?

I think the world is paused for a reason, to hold everything in place while the data is being saved. If the world wasn't paused then everything would be out of synch. Just my thoughts I could be wrong.
 

tibor

Wanderer
cward said:
I think the world is paused for a reason, to hold everything in place while the data is being saved. If the world wasn't paused then everything would be out of synch. Just my thoughts I could be wrong.
I agree. But I want do minimize pause time by saving data to fast RAM disk instead slow HDD. Moving saved data from RAMdisk to HDD should not interfere RunUO at all.
 

Mark

Knight
File IO is not the bottleneck during a world save, its the serialization that takes the most time.

Saving directly to a ram disk will probably not help very much. :(
 

Ryan

RunUO Founder
Staff member
tibor said:
Hello,
I have got idea how to decrease game disturbing save time. Main idea is to dump save to RAM disk a then move save direcroty from RAM disk to HDD without pause in game.
There is only one minor problem, RunUO does not have option to set save directory outside main RunUO folder. Would be possible to add this option into game core?


This is exactly what threaded saves do.
 

Protius73

Sorceror
Doesnt RUNUO work on the principle of more ram = smaller save times??
ive got roughly 512 ram and my save times arent much longer then 5 seconds on a heavy login... and ive usually got 5-10 people on at a time ... i plan on upgrading to 1 gig of ram
 

Kamron

Knight
If you want it to be faster (It wont be by much). Get dual channel overclocked DDR ram. And get a SATA hard drive (ATA150 essentially, as apposed to 100 usually).
 

Protius73

Sorceror
Been planning on outsourcing my shard to a data center so havent spent much time upgrading my computer... but when i do outsource im gonna get it on a ddr machine with sata drives in a raid config... hopefully thatll save on save times and reduce much of the congestion lag :cool:
 
Protius73 said:
Doesnt RUNUO work on the principle of more ram = smaller save times??
To a point, but the relationship isn't linear, since it isn't directly dependent on the amount of physical memory.

If the world is large enough then it may be too large to fit entirely in physical memory all at once. This isn't always a problem, since Windows swaps some of the virtual memory to the swap space on the hard drive when it isn't needed.

When the world saves, it has to serialize each and every single mobile, item, guild, and account. If it doesn't all fit in memory at once, then it needs to swap the objects in and out of memory until it has gone through every single one. It's this swapping that takes the extra time beyond the 5 seconds or so that people with a large amount of physical memory have.
 

MadenMind

Wanderer
In my programming time (editing MULs as primary), I've made the experience that writing 30x 1kb on HDD is much slower than 1x30kb, so the worldsaves could be much faster if RunUO puts for every item/mobile the data in a given struct and then writes the whole struct in one time on the HDD. 2nd possibility would be to write the worldsave in a memory stream and then write the whole memorystream on the HDD. I dunno if RUO is already using this behaviour, but it could be a step forward if not. There is only one problem with the memory streams I know: When you write many small data chunks into them, they become alot bigger then the data they provide is (due to the reallocating of memory for more data etc.). When RunUO would write to a memory stream, it has to first set the stream size to about 50 - 100 mb, write the data in the mem stream, cut away the unneeded size from the stream and then write the whole one on HDD..

- MM
 
XxSP1DERxX said:
If you want it to be faster (It wont be by much). Get dual channel overclocked DDR ram. And get a SATA hard drive (ATA150 essentially, as apposed to 100 usually).

The PCI bus is limited at best to 133mb/sec, so SATA isn't going to get you any more speed than a 133 ATA IDE. Whenever they update the PCI architecture (and I don't see that happening any time soon) the SATA drives have little benefit. And I don't know how a disk write is going to be shortened by RAM but whatever.
 

Kamron

Knight
It won't but it will help with the initial storage ;)

You can always get an Ultra Wide 30,000RPM SCSI hard drive. Now that is fast :eek: Bus speed does limit it still.. but it is ALOT faster.
 
Top