UK WEB HOSTING FORUM FOR DISCUSSION ON WEB HOSTING SERVICE AND SUPPORT
LINUX HOSTING WINDOWS HOSTING PACKAGES SHOPPING CART OSCOMMERCE ZEN CART AGORA
ECOMMERCE HOSTING ASP MSSQL FRONTPAGE HOSTING PHP MYSQL HOSTING DISCUSSION FORUM
CPANEL RESELLER HOSTING DEDICATED SERVER VPS HOSTING PLESK VIRTUOZZO
Quick Search
Your forum announcement here!

  UK Web Hosting | Dedicated Server Windows and Linux VPS Forum > Technical Support > Windows Dedicated Server

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old 07-08-2008, 22:41
Daniel's Avatar
Got root?
 
Join Date: Aug 2008
Location: England, UK
Posts: 137
Send a message via MSN to Daniel Send a message via Skype™ to Daniel
Exclamation Kernel Timer Resolution (Increaser)

Hi Guys!

Basically I am looking for an application where I can choose how many MS to increase the kernel timer resolution.

If anybody can help me that would be excellent.

Cheers,
Dan
__________________
Dan Miller
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 08-08-2008, 10:13
System Administrator
 
Join Date: Dec 2006
Location: localhost
Posts: 726
Cool

Hi Dan !

Are you planning to run Game Servers ?

I'd strong recommend you to test the following on TESTING SYSTEMS ONLY, as changing the timer resolution on Windows can seriously harm your system...

You may increase any program's priority without loading the processor if you go through a proper channel. Increasing the tickrate does improve the performance, which may be a requirement mostly for gamservers, but the change also requires more CPU, memory, and bandwidth capacity, for both, the server & the clients..

You can set resolution of the system/kernel timer in the boot.ini using the "/TIMERES=number" switch. The argument is a number interpreted in 100's of nanoseconds, but the rate will be set to the closest resolution the HAL supports that is not larger than the one requested.

The following registry value also contains the the boot.ini's startup settings: [HKLM\System\CurrentControlSet\Control\SystemStartO ptions]

NtSetTimerResolution and NtQueryTimerResolution, the NT kernel functions that manipulate and return information about the system clock. Function NtSetTimerResolution sets resolution of system Timer in calling process context..

You can further setup the kernel timer using the following functions:
NtSetTimer
NtCancelTimer
NtCreateTimer
NtOpenTimer
NtQueryTimer
timeGetTime
timeBeginPeriod
ExSetTimerResolution


Unfortunately, NtSetTimerResolution and NtQueryTimerResolution are not exported by the NT kernel, so they are not available to kernel-mode device drivers.

What you'd need to do is to write down a custom C/CPP program to get the system time changed as per your requirement:
Quote:
typedef struct _KSYSTEM_TIME
{
ULONG LowPart;
LONG High1Time;
LONG High2Time;
} KSYSTEM_TIME, *PKSYSTEM_TIME;
Complete script :
Quote:
typedef struct _KUSER_SHARED_DATA
{
ULONG TickCountLowDeprecated;
ULONG TickCountMultiplier;
KSYSTEM_TIME InterruptTime;
KSYSTEM_TIME SystemTime;
KSYSTEM_TIME TimeZoneBias;
WORD ImageNumberLow;
WORD ImageNumberHigh;
WCHAR NtSystemRoot[260];
ULONG MaxStackTraceDepth;
ULONG CryptoExponent;
ULONG TimeZoneId;
ULONG LargePageMinimum;
ULONG Reserved2[7];
NT_PRODUCT_TYPE NtProductType;
UCHAR ProductTypeIsValid;
ULONG NtMajorVersion;
ULONG NtMinorVersion;
UCHAR ProcessorFeatures[64];
ULONG Reserved1;
ULONG Reserved3;
ULONG TimeSlip;
ALTERNATIVE_ARCHITECTURE_TYPE AlternativeArchitecture;
LARGE_INTEGER SystemExpirationDate;
ULONG SuiteMask;
UCHAR KdDebuggerEnabled;
UCHAR NXSupportPolicy;
ULONG ActiveConsoleId;
ULONG DismountCount;
ULONG ComPlusPackage;
ULONG LastSystemRITEventTickCount;
ULONG NumberOfPhysicalPages;
UCHAR SafeBootMode;
ULONG SharedDataFlags;
ULONG DbgErrorPortPresent: 1;
ULONG DbgElevationEnabled: 1;
ULONG DbgVirtEnabled: 1;
ULONG DbgInstallerDetectEnabled: 1;
ULONG SystemDllRelocated: 1;
ULONG SpareBits: 27;
UINT64 TestRetInstruction;
ULONG SystemCall;
ULONG SystemCallReturn;
UINT64 SystemCallPad[3];
union
{
KSYSTEM_TIME TickCount;
UINT64 TickCountQuad;
};
ULONG Cookie;
INT64 ConsoleSessionForegroundProcessId;
ULONG Wow64SharedInformation[16];
WORD UserModeGlobalLogger[8];
ULONG HeapTracingPid[2];
ULONG CritSecTracingPid[2];
ULONG ImageFileExecutionOptions;
union
{
UINT64 AffinityPad;
ULONG ActiveProcessorAffinity;
};
UINT64 InterruptTimeBias;
} KUSER_SHARED_DATA, *PKUSER_SHARED_DATA;
There are various softwares available all over the internet for such purposes, one of them is PCAccelerate.exe.

You'd find more info on the kernel timer resolution here :
Timing in Win32
Boot INI Options Reference
Boot.ini switches used by the Boot Manager | Troubleshoot | Smallvoid.com
Performance counter value may unexpectedly leap forward
Boot.ini RAM Fun - Winforums

Hope that helps
__________________

Rock _a.k.a._ Jack L.

http://www.eUKhost.com
Windows Hosting || Windows Reseller Hosting
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 08-08-2008, 11:47
Daniel's Avatar
Got root?
 
Join Date: Aug 2008
Location: England, UK
Posts: 137
Send a message via MSN to Daniel Send a message via Skype™ to Daniel
Default

Hi Rock, Indeed we are running gameservers. Running several on the same node is an issue for those who want 100 in and out through srcds.exe.

It's a true pain in the chuffer - We understand the consequences, rather than changing it to something really low or high we were aiming at 8ms.

We have Core 2 Quad - 4GB RAM clocked at 2.6 or 2.8 - shouldn't put alot of stress on the CPU but we will test this out.

Cheers bud
__________________
Dan Miller
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #4 (permalink)  
Old 08-08-2008, 23:57
System Administrator
 
Join Date: Dec 2006
Location: localhost
Posts: 726
Default

8ms won't be any problem at all..
__________________

Rock _a.k.a._ Jack L.

http://www.eUKhost.com
Windows Hosting || Windows Reseller Hosting
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #5 (permalink)  
Old 09-08-2008, 01:34
Daniel's Avatar
Got root?
 
Join Date: Aug 2008
Location: England, UK
Posts: 137
Send a message via MSN to Daniel Send a message via Skype™ to Daniel
Default

Cheers Rock,

I'm not too savvy on C / C++ - I tried to compile the above code but I got a stream of errors. We are thinking just to buy some additional hardware, maybe 2X Core2 Duo's and put them in a 2U Chassis, we should be able to easily resolve this issue from this.

In the meantime if you find any premade scripts which allow the change of the KTR, let me know please bud
__________________
Dan Miller
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply



Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

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
Trackbacks are On
Pingbacks are On
Refbacks are On


All times are GMT. The time now is 12:27.

 

Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by Web Hosting 3.1.0
Copyright © 2001-2008, eUKhost.com. All rights reserved.

 
Site Map

VPS Hosting
VPS Hosting plans

Dedicated Server Hosting
Dedicated Server plans

Business Web Hosting
100% uptime Hosting

Cpanel Hosting
cPanel Shared Hosting

Reseller Hosting
Reseller Web Hosting

Windows Hosting
Windows Shared Hosting

Windows VPS

Windows VPS Hosting

Semi Dedicated Servers
Semi-Dedicated Hosting

Dedicated Server Mirroring
Dedicated Server Mirroring

Webhosting Knowledgebase
Frequently asked Questions

Web Hosting Blog
eUKhost Blog

Web Hosting Support
Support Helpdesk

UK Data Center
eUKhost Datacenter

Web Hosting Forum
eUKhost Forum

Support Tutorials
Online Flash Tutorials

Offsite Back-up Plans
Remote Backup Service

Customer Testimonials
eUK Customer Testimonials


knowledgebase articles

eUKhost.com Services

Pre-Sales Questions
Pre-sales FAQ's

Domain Names
Domain registration FAQ's

cPanel Hosting
cPanel Hosting FAQ's

Windows Web Hosting
Plesk Control Panel

Reseller Hosting
Reseller Hosting FAQ's

VPS Hosting
Virtual Private Server

Semi-Dedicated Servers
Semi-Dedicated FAQ's

Dedicated Servers
Dedicated Server Hosting


popular blog categories


Web Hosting
Website Hosting articles

UK Web Hosting
UK Hosting articles

Dedicated Server Hosting
Dedicated Server guidelines

VPS Hosting
VPS hosting articles

cPanel Hosting
cPanel Hosting articles

Linux Operating System
Linux Operating techniques

Windows Web Hosting
Windows plesk articles

Web Hosting
Web Hosting Service