Jump to content
  • Advertisement
Sign in to follow this  
axeseller

Are there any services for reducing network delay/latency?

This topic is 779 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I am looking for services that can help me reduce network latency between my gameservers and gamers. Is there any utility/api/service for that? 

Share this post


Link to post
Share on other sites
Advertisement
What's your budget?

It's quite likely easier for you to increase your packet send rate (and thus reduce the overall command latency) than start putting servers in edge centers, like Netflix does.
But, if you have a Netflix-like budget, yes, there are things you can do.

Share this post


Link to post
Share on other sites

But, if you have a Netflix-like budget, yes, there are things you can do.

Well, one thing, really.

Only effective way to reduce latency between server and client is to move the server closer to the client. Services like OnLive/Gaikai with strong latency requirements mostly solve this by placing datacenters near each major population center they served. Blizzard splits all their online games into geographical regions for the same reason, placing a datacenter in each of US East, US West, Europe, and Asia (possibly others).

Of course, most small companies don't have the resources to run their own datacentre, let alone many datacentres. In which case your best option is likely to lease servers from a company that operates such datacentres for you. For example, here at AWS, we offer a pretty good spread of datacentres, with more coming in the near future.

Share this post


Link to post
Share on other sites

Well, one thing, really.


Actually: Two!
You are right that locating server capacity close to the various edges is the most common option.
You can also run dedicated, non-routed, fiber between a number of POPs and your actual data center. That will cut down on back-haul routing latency, and make sure you take the most direct physical path.
I think some trading markets in Chicago vs New York interconnect this way, for example.

For a mere mortal game developer, here's the cookbook:
1. Make sure to set your graphics card to not queue more than one frame before displaying.
2. Build and design your game to tolerate and mask latency as much as possible.
3. Increase the rate at which you send packets. (50-60 Hz)
4. Increase the rate at which you simulate your game. (100-180 Hz)

#1 is easily the most-overlooked cause of latency.
#3 and #4 have obvious resource usage draw-backs, and thus many developers choose to focus a lot of time and effort on #2.

Share this post


Link to post
Share on other sites

 

 

It's quite likely easier for you to increase your packet send rate (and thus reduce the overall command latency) than start putting servers in edge centers, like Netflix does.
But, if you have a Netflix-like budget, yes, there are things you can do.

 

But in NetFlix's case, they have static content to deliver, right? Its more like a CDN, similar to Youtube? For games, we have to transfer the state between multiple players's machines. I was looking for something along the lines of what Riot did for LoL.

 

 

 

Only effective way to reduce latency between server and client is to move the server closer to the client. Services like OnLive/Gaikai with strong latency requirements mostly solve this by placing datacenters near each major population center they served. Blizzard splits all their online games into geographical regions for the same reason, placing a datacenter in each of US East, US West, Europe, and Asia (possibly others).

 

Thanks for the pointers. I'll check Gaikai and OnLive out. And ofcourse, AWS is the king :)

Share this post


Link to post
Share on other sites
I've never heard of any companies that offer these kinds of services as a general product, especially not for small time players (e.g. games that aren't making 10's of millions of dollars already).
Usually you've got to work with many, many different ISP's and data-centers directly, making lots of deals to get them all to route your traffic the way you want it to be routed... which is an extremely expensive endeavour. It's much cheaper to just put more servers in more geographically diverse data-centers, so that there's likely one nearby each player :lol:

In finance, people will literally put down hundreds of millions of dollars to reduce their latency by a few milliseconds:
http://www.forbes.com/forbes/2010/0927/outfront-netscape-jim-barksdale-daniel-spivey-wall-street-speed-war.html
http://www.popularmechanics.com/technology/infrastructure/a7274/a-transatlantic-cable-to-shave-5-milliseconds-off-stock-trades/

Share this post


Link to post
Share on other sites

AWS is the king


No, it's not. It has a few large data centers in a few large metro areas, but it's not optimized for edge delivery of real-time traffic.
Also, AWS is a virtualization based hosting provider, which does not guarantee any particular scheduling latency. Real time applications may find that they suddenly see unexplainable jitter on the server, which would be caused by "noisy neighbors" or the virtualization platform itself.
For low-latency games, you want bare metal hosting.
 

in NetFlix's case, they have static content to deliver


Yes, and from what I understand, the NetFlix "edge appliances" do more than just serve static files; there are active services on them.


Another thing that you probably also will want to do, on the cookbook list:

5. Match players from the same general Internet area to each other
This is especially important if you use player-hosted sessions rather than your own servers running the authoritative simulation. Edited by hplus0603

Share this post


Link to post
Share on other sites

Also, AWS is a virtualization based hosting provider, which does not guarantee any particular scheduling latency. Real time applications may find that they suddenly see unexplainable jitter on the server, which would be caused by "noisy neighbors" or the virtualization platform itself.

To some extent you can buy your way out of this issue by forking over for dedicated hosts. Doesn't get the virtualisation overhead out of the way, but you can guarantee dedicated access to hardware resources.

Share this post


Link to post
Share on other sites
Yes! And once you pay that price, you should really compare the cost of hosts+network traffic to what you'd pay in your own co-location facilities. Or for "root servers" from some other provider.
Btw: Where Amazon really gets you is traffic charges. They charge a lot more than you'd pay from a straight back-haul provider for transit.

Share this post


Link to post
Share on other sites

 

 

I've never heard of any companies that offer these kinds of services as a general product, especially not for small time players (e.g. games that aren't making 10's of millions of dollars already).
Usually you've got to work with many, many different ISP's and data-centers directly, making lots of deals to get them all to route your traffic the way you want it to be routed... which is an extremely expensive endeavour. It's much cheaper to just put more servers in more geographically diverse data-centers, so that there's likely one nearby each player  :lol:

 

Sounds strange given the number of games and all the rage about latency issues. Is there any specific reason for something like this to not exist?

 

 

 

No, it's not. It has a few large data centers in a few large metro areas, but it's not optimized for edge delivery of real-time traffic.

 

Didn't know that! So is there any provider that *is* optimized for edge delivery like DO/Softlayer/Linode?


Btw: Where Amazon really gets you is traffic charges. They charge a lot more than you'd pay from a straight back-haul provider for transit. 

 

Cant agree more.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!