Advertisement

Are there any services for reducing network delay/latency?

Started by May 11, 2016 02:27 PM
20 comments, last by hplus0603 8 years, 5 months ago

Sounds strange given the number of games and all the rage about latency issues.


This is explained by the difference in behavior between "complaining on the internet" and "actually spending money."

Let's say Call of Duty actually spent a bunch of money to push their servers out towards the edges, and improved ping by 10 milliseconds on average.
Let's say they then raised the price of the game by $15 to compensate for the additional cost.
Do you think the price hike would cause more people to not buy the game, so that they lost money, or do you think the better latency would cause enough people to think it's worth it?

Hint: The median CoD paying customer is not a forum troll who can think of nothing but their leaderboard rankings.
Second hint: Businesses care much more about "paying customer" behavior than "hardcore player" behavior.

Is there any specific reason for something like this to not exist?


The economics haven't worked out such that anybody would make a profit from doing it.
If you think that that's about to change, I highly recommend starting a business that provides the service and becoming rich!
enum Bool { True, False, FileNotFound };

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.

FWIW: I've seen LeaseWeb guys doing peering optimisation for free (well, within reason) - and for a small client too (just 2 or 3 servers); of course, they didn't do it just for this small client, but they were clearly interested in improving peering for their whole server population. Was quite a long while ago, but their admins at the time were amazing (well, as soon as they understand that you know what you're talking about ;-) )... YMMV, batteries not included.

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.

+1.

Advertisement
FWIW: I've seen LeaseWeb guys doing peering optimisation for free (well, within reason) - and for a small client too (just 2 or 3 servers); of course, they didn't do it just for this small client, but they were clearly interested in improving peering for their whole server population. Was quite a long while ago, but their admins at the time were amazing (well, as soon as they understand that you know what you're talking about ;-) )... YMMV, batteries not included.

I have had good experience with LeaseWeb and Shinjiru (a Malaysian ISP)

Also, if not AWS, which one do you guys suggest? From what I have seen, DO droplets give pretty good latency.

AWS is fine for many use cases. If you can live with virtualization, rather than bare metal, and can live with 5 worldwide centers, rather than 500, and don't mind the network traffic charges, then AWS is amazing!

Digial Ocean, Linode, and most other "cloud" providers have the same drawbacks (a small number of concentrated centers, virtualization, etc) but may have a different cost schedule. Linode/DO charge less for traffic and less for monthly plans than AWS, but they have a runtime that is one class below (still, very high quality.)

If you actually want to attack the problem suggested above, then you need to find a large number (start with 25, go up from there) of well-placed data centers around the world, and put in your own hardware where you can control the bare metal. There is probably not a single data center vendor that has all of that available for you, so it's a number of multilateral arrangements. Then you need to buy back-haul from each of the locations; ideally with some high-quality provider. You'll also need your own routing/switching infrastructure within each data center.
Something like this: https://www.business.att.com/content/productbrochures/eb_idcmap.pdf
enum Bool { True, False, FileNotFound };

axeseller, you describe that you want something, a data center with low latency equipment, egde delivery, and locations scattered around the globe.

Those can be purchased, but the cost is probably not what you are thinking.

For that type of setup, the question becomes: how many thousand do you want to spend per month? $30K/month? $50K/month? $150K/month? $200K/month?

If you are talking about large games with 8-figure and 9-figure budgets then those datacenters with low latency equipment and specially-configured or optimized networking can be a great investment. Paying an extra $100K or $250K for network infrastructure at product launch can mean the difference between widespread complaints at launch or people raving about how awesome the networking is at launch, potentially meaning millions of dollars of revenue difference.

If you are talking about a hobby game run from your basement and paid for with your lunch money, you probably are not in the market for low latency equipment, specially-optimized networks, and globally-scattered infrastructure. In that case, a single amazon instance for $10/month or perhaps $50/month to build your globally-scattered sites, that's a totally different set of problems.

How about this,

instead of setting up edge dcs, lets say I spin up servers in different locations around the world (using DO, AWS, LeaseWeb, OVH, etc.) and create an overlay network between them and then, provid them with a fixed set of destinations (the gameserver ips) to optimize itself for. Each node then calculates its shortest path for those destinations. And when a data packet enters the network from any node, if its destined towards a destination in that set, the network will route it via the shortest possible route.

Now, what I want to know is, how is that different (performance-wise) from what you guys are suggesting?

Advertisement

For example: You might find that all of your traffic out of your servers in Singapore is routed through California, no matter the destination. You might then have no choice but to designate SG->Calif->NY->London->Dubai as your fastest SG->Dubai route... However, if you make a deal with an SG ISP, you may be able to get your traffic onto a different cable that goes in the other direction around the world, cutting the trip in half.

However, if you make a deal with an SG ISP

...usually referred to as "peering agreement"...

And peering agreements are expensive. Which brings us full circle to the initial reply:

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.

If you can afford a few million dollars per year for networking, quite a few options become available. If you are looking at a few thousand per year, not so much. If you are looking at a few tens of dollars every year, the cheapest (slowest) options are the only options.

For example: You might find that all of your traffic out of your servers in Singapore is routed through California, no matter the destination. You might then have no choice but to designate SG->Calif->NY->London->Dubai as your fastest SG->Dubai route... However, if you make a deal with an SG ISP, you may be able to get your traffic onto a different cable that goes in the other direction around the world, cutting the trip in half.

It may not always be the case, but I think it is fair to assume that a company which operates datacentres in diverse locales will have negotiated reasonably optimal peering agreements. It's in the best interests of AWS as much as it is in your best interests, that their datacenters have short routes to geographically close locales.

Of course, the standard disclaimer of "trust but verify" applies. You may hit an unfortunate edge case.

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

This topic is closed to new replies.

Advertisement