[Website] Mirror request and explanation

OpenTTD is a fully open-sourced reimplementation of TTD, written in C++, boasting improved gameplay and many new features.

Moderator: OpenTTD Developers

TrueBrain
OpenTTD Developer
OpenTTD Developer
Posts: 1370
Joined: 31 May 2004 09:21

[Website] Mirror request and explanation

Post by TrueBrain »

Since the release of the first beta for 1.0.0 of OpenTTD, we have seen a dramatic increase in our bandwidth usage. Normally we have plenty left to not worry about such bursts, but this time it is more serious. In fact, it was of such serious nature that two weeks ago a drastic measure was taken: we finally started to offload traffic to mirrors. Let me explain it to you a bit more.

LeaseWeb, our provider, supplies us with 2TB a month. For months, this was plenty. We utilized more than 25%, but never more than 50%. Since the 1.0.0-beta1, this changed. After the first week of January, the estimated bandwidth usage for that month was over the 3TB. This we could not supply, not without paying (lots) of extras for overusage.
Since 2 years I have silently been collecting mirrors when ever I could get them. Because it went silently, and we have a very long list of demands, we collected 3 of them so far. One in CZ (supplied by Ignum), one in GB (supplied by peter1138), one in US (supplied by Zernebok). The idea was to slowly introduce a mirror system in 2010, offloading the downloads of people to close by their country. This idea is now accelerated.

Since two weeks, people are randomly distributed between the mirrors when access any file on http://binaries.openttd.org. And this is truly random. Of course this is far from a nice solution (I live in the NL, why would I start a download in US?), a better method was required. But it was required to make sure we wouldn't go over our max bandwidth.

Today we rolled out that method. At the bottom of this post I explain to you how it works. Basically, the balancer I created does its at most to pick a mirror close by you, but also keeps in mind load should be distributed over all the mirrors. We do need to finetune this system, and this will take days, if not weeks, if not months to do so. But the idea works. This topic is only partly about informing you about this.

What I really want to write about, is a request. A request to any ISP or other party that can supply us with diskspace and bandwidth. Our demands are high, we know. But all for a good reason. So, here it goes:

We are looking for people who can supply us with:
- 100 GB of diskspace
- at least 1 TB of bandwidth
- 100 mbit/s connection or faster
- IPv4 + IPv6 support (the latter is optional, but we do filter on it)
- HTTP access to that data (FTP optional, but it would be nice)
- rsync over SSH for pushing the files (SSH account can be restricted to only allow rsync, only in that directory, no problem)
- Server has to be located in a datacenter
- One mirror per country (with the exception of US)

If you feel you can donate the above to us, please email me (email listed at http://www.openttd.org/contact ) with the details of your offer, the AS you are directly connected to, the country, and geographical coordinates of the server. If you wonder why we need the latter, please read below.
I like to remind you at this point that we are an Open Source community, and cannot offer you any money in return. The only thing we can do for you, is name you in the list of mirrors, and at the mirror itself (check http://master.binaries.openttd.org/, you can see 'Sponsored by: LeaseWeb' there. There you can put your own banner).

We _are_ looking for another mirror in NL, as we want to offload all binary downloads from our main server (it already has to serve BaNaNaS, subversion, mercurial, ...)
[Update] We are no longer looking for an NL mirror. Thank you SNT![/Update]

Which mirrors do you have currently and where are they located?
CZ - Sponsored by Ignum (http://www.ignum.cz/), http://cz.binaries.openttd.org/openttd/binaries/
DE - Sponsored by Alexey Polyakov, http://de.binaries.openttd.org/binaries/
GB - Sponsored by peter1138, http://gb.binaries.openttd.org/binaries/
NL - Sponsored by Studenten Net Twente, http://ftp.snt.utwente.nl/pub/games/openttd/binaries/
US - Sponsored by Zernebok (http://www.zernebok.com/), http://us.binaries.openttd.org/binaries/

How does our mirror process work?
When we make a binary on our compile-farm, the files are distributed to all the mirrors afterwards. When this is done, the new binaries are announced. So after every nightly, the files are directly rsynced to the mirrors. Because of this there is no delay between mirrors. It also means there is no pull on the mirrors, but we push the files to them.

How is a mirror selected for a request?
Via GeoIP. When you request a file from http://binaries.openttd.org, a balancer picks up the connection, and checks your IP via GeoIP. Based on that output, it finds the closest mirror to you, geographical. Of course this is not always the fastest, but it is as close as we can estimate. To not overload a single mirror, a formula is used to pick the best mirror:

Distance * Priority of Mirror * Load of Mirror

The Priority is normally 1. The higher, the less chance a mirror is selected.
The Load is increased when someone downloads something from the mirror. This means that when you hammer on one mirror, at a given moment, you will get moved to another mirror. This should prevent one mirror taking all the load, while others do nothing.


If you have any suggestions or ideas about the system, let us know (via this thread). Mind you, we considered carefully what mirror system to use, and how to implement it, so don't be to judgemental about this approach, and think before speaking. Also, ask before saying, most things have a reason ;)
The only thing necessary for the triumph of evil is for good men to do nothing.
tb2571989
Director
Director
Posts: 544
Joined: 04 May 2006 10:54
Location: Bristol, UK
Contact:

Re: [Website] Mirror request and explanation

Post by tb2571989 »

Wow. I didn't realise quite how much the OTTD servers use but I suppose success has it's own problems, eh?

Hokay, as an open-source program is sourceforge an option for most of the files? I've heard it can be a bit of a pain to use but what you're asking for, for free, is a hell of a lot.

I am not sure what would happen if you approached hosting companies with this, 1&1 in europe and FastHosts in the UK, it could be worth a try.

Sorry I can't help and I personally wish you good luck in this venture.
What about you? Will you join me when the time comes to be a hero?
Arie-
Director
Director
Posts: 593
Joined: 20 Jan 2009 16:07

Re: [Website] Mirror request and explanation

Post by Arie- »

Hi maybe I can help I've been playing the game for years now and maybe this is my moment to help.

The Mirror:
Twente University

Explanation:
This one occasion when I was drinking coffee at my Study Association this guy was talking about them providing mirrors for all sorts of stuff like Open Office, Firefox etc. them belonging to the top mirrors. There was only one 'problem': they had to much bandwidth. On occasion when there was a new release the lines were quite heavily used, but within days this would no longer be the case.
I suggested to for example support sourceforge mirrors (that website being slow on times), but then I realized that their strength wasn't the webserver, but being able to supply a lot of bandwidth to a 'a few' files that a lot of people request in a small time slot. All in all, they have the hardware and bandwidth to realize/support this so this may in fact be a viable solution.

The 'but':
- I do not immediately know whom to ask or to contact (my first guess would be SNT or ICTS within Twente University.
- I do not know if there are requirements a project is subject to to make it to this distribution platform.
And maybe more 'buts', these are the first that come to mind however.
TrueBrain
OpenTTD Developer
OpenTTD Developer
Posts: 1370
Joined: 31 May 2004 09:21

Re: [Website] Mirror request and explanation

Post by TrueBrain »

tb2571989 wrote:Wow. I didn't realise quite how much the OTTD servers use but I suppose success has it's own problems, eh?

Hokay, as an open-source program is sourceforge an option for most of the files? I've heard it can be a bit of a pain to use but what you're asking for, for free, is a hell of a lot.

I am not sure what would happen if you approached hosting companies with this, 1&1 in europe and FastHosts in the UK, it could be worth a try.

Sorry I can't help and I personally wish you good luck in this venture.
We moved away from SourceForge a few years ago. For good reason. Now that is a project that is going down because of its own success. It is slow, bad programmed, unreadable, tens of clicks to get somewhere, .... (I could go on for a while). It is not worth the return of free hosting :)

For now we won't actively search for mirrors (except for this request); we believe our community is big enough to support us in this way (as it has always done, one way or the other). If in a month or 3 we feel that in a certain country there is need for a mirror, we will start to actively search there.

Either way, tnx for your input :) Much appreciated!
The only thing necessary for the triumph of evil is for good men to do nothing.
TrueBrain
OpenTTD Developer
OpenTTD Developer
Posts: 1370
Joined: 31 May 2004 09:21

Re: [Website] Mirror request and explanation

Post by TrueBrain »

Arie- wrote:Hi maybe I can help I've been playing the game for years now and maybe this is my moment to help.

The Mirror:
Twente University
Please, ask! Most university has such mirrors running, but it is mostly hard to come in contact with them. If you can find a way, please do. You have read what we require, so if they can supply that, please drop me the contacts in my mail, and we will follow up on it!
The only thing necessary for the triumph of evil is for good men to do nothing.
Arie-
Director
Director
Posts: 593
Joined: 20 Jan 2009 16:07

Re: [Website] Mirror request and explanation

Post by Arie- »

More information: SNT website. In the top-right corner there is the English <-> Dutch translation button.

Introduction
The ftp.snt.utwente.nl archive is managed by Studenten Net Twente (SNT) located on the University Twente. This archive mirrors mostly opensource operating systems and software. These projects are hosted here primarily so the students and employees of the university have access to a high-speed download location.
So a 2Gbit uplink.
The archive is hosted on a Dual Intel Xeon 3.0 Ghz with 12GB of DDR2 RAM with 2.6 TB of HD space. It has a 2 Gbit IPv6 enabled uplink to the Internet, provided by SurfNet.
The Policy
Policy for content and usage of the server
We have several guidelines for our mirrors. We don't deviate from these easily.
* We only mirror software that is opensource and/or freely distributable. Other software will not be added to our archive.
* Our primary consideration in accepting new mirrors is the use of this software by and/or for the students and employees of the University Twente.
* Unfortunately the university does not allow any external DNS entries, that means anything outside the .utwente.nl range, to point to any machine within the university's IP-range. That includes our server. This means that it is not possible for projects to create a 'ftp1.nl.project.tld' and let that DNS point to our server.
* We use rsync to do the actually mirroring.
Contact Information
Contact information

There is only one way to contact us. This is by sending an email to us. You can mail your comment, suggestion or error report to ftpcom[@ antispam]snt.utwente.nl.
edit1: Some background from what I think I know about the organisation. SNT is there for the users of the university network, that is the connections to each dorm on campus, but also more service like domain names (***.student.utwente.nl etc.) or setting up mailing lists. ICTS is the true infrastructure provider on campus and students can get a lot done if you just ask and have the right arguments (eg. setting up a webserver co-located in an ICTS rack and you do not have to worry about data limits :shock: , I know student associations that generate a lot of traffic with just movies of their own kite-surf activities (700MB a piece where it's not uncommon to get over 100 hits.)

edit2: This university being a 'technical' one also CS and Telematics etc. there have to be users and maybe even developers (patches?) involved from this university: which would definitely be an argument for the second point in the policy.
Last edited by Arie- on 22 Jan 2010 19:08, edited 1 time in total.
Progman
Engineer
Engineer
Posts: 76
Joined: 15 Jul 2006 12:55
Contact:

Re: [Website] Mirror request and explanation

Post by Progman »

What about using Torrents and/or combine the mirrors with torrents? I mean that the big mirrors act as 24/7 servers which are always in the torrent as peers. This may (semi-)solve the loadbalancing as there may be peers (specially users) which got some bandwidth remaining. Or are torrents no option at all? (and why?)

Somehow related: How does this affect the content at bananas?
TrueBrain
OpenTTD Developer
OpenTTD Developer
Posts: 1370
Joined: 31 May 2004 09:21

Re: [Website] Mirror request and explanation

Post by TrueBrain »

Progman wrote:What about using Torrents and/or combine the mirrors with torrents? I mean that the big mirrors act as 24/7 servers which are always in the torrent as peers. This may (semi-)solve the loadbalancing as there may be peers (specially users) which got some bandwidth remaining. Or are torrents no option at all? (and why?)
We had torrents for a long time. Was good for 0.1% of the downloads. People are just not that comfortable downloading legal stuff over torrent. They are either afraid it is not legal, or think it will contain a virus. So we abandoned Torrents as distribution method long ago.
Besides, it is a bit besides the point. We wanted mirrors for the longest time, to make sure people get their download as fast as possible (always from NL is not optimal, even more not for US people). Now only we also have to because of the bandwidth ;)
Progman wrote:Somehow related: How does this affect the content at bananas?
Not.
The only thing necessary for the triumph of evil is for good men to do nothing.
Arie-
Director
Director
Posts: 593
Joined: 20 Jan 2009 16:07

Re: [Website] Mirror request and explanation

Post by Arie- »

I see some light at the end of this tunnel :), truebrain, you've got a PM (in a few minutes)
TrueBrain
OpenTTD Developer
OpenTTD Developer
Posts: 1370
Joined: 31 May 2004 09:21

Re: [Website] Mirror request and explanation

Post by TrueBrain »

NL mirror is now online. Thank you Arie-. Thank you Lennard and Willem from the SNT (Student Net Twente) at the University of Twente!
The only thing necessary for the triumph of evil is for good men to do nothing.
Arie-
Director
Director
Posts: 593
Joined: 20 Jan 2009 16:07

Re: [Website] Mirror request and explanation

Post by Arie- »

That was quite fast! Not to strange as they were pretty exited when they got the request. And no problem, glad I could help the project a bit ;).
Wasila
Tycoon
Tycoon
Posts: 1498
Joined: 15 Mar 2008 07:02

Re: [Website] Mirror request and explanation

Post by Wasila »

Sounds like the release of an official 1.0.0 version (even a beta) had the desired effect.
Valentijn
Engineer
Engineer
Posts: 118
Joined: 07 Nov 2007 10:04

Re: [Website] Mirror request and explanation

Post by Valentijn »

Great work.

How do you measure the load of a mirror? Or do you estimate it by the number of users/requests you direct to the mirror?
TrueBrain
OpenTTD Developer
OpenTTD Developer
Posts: 1370
Joined: 31 May 2004 09:21

Re: [Website] Mirror request and explanation

Post by TrueBrain »

Valentijn wrote:Great work.

How do you measure the load of a mirror? Or do you estimate it by the number of users/requests you direct to the mirror?
To quote my first post:
TrueBrain wrote:(..)
The Load is increased when someone downloads something from the mirror. This means that when you hammer on one mirror, at a given moment, you will get moved to another mirror. This should prevent one mirror taking all the load, while others do nothing.
(..)
Also, every 5 minutes the load is decreased a bit. Currently, this seems to give exactly the wanted result.
The only thing necessary for the triumph of evil is for good men to do nothing.
Valentijn
Engineer
Engineer
Posts: 118
Joined: 07 Nov 2007 10:04

Re: [Website] Mirror request and explanation

Post by Valentijn »

TrueBrain wrote:To quote my first post:
TrueBrain wrote:(..)
The Load is increased when someone downloads something from the mirror. This means that when you hammer on one mirror, at a given moment, you will get moved to another mirror. This should prevent one mirror taking all the load, while others do nothing.
(..)
Ok, clear. So, in this quote by The Load you mean the 'value that you make your computations with', and not the 'real system load reported by the OS'.
TrueBrain
OpenTTD Developer
OpenTTD Developer
Posts: 1370
Joined: 31 May 2004 09:21

Re: [Website] Mirror request and explanation

Post by TrueBrain »

Valentijn wrote:
TrueBrain wrote:To quote my first post:
TrueBrain wrote:(..)
The Load is increased when someone downloads something from the mirror. This means that when you hammer on one mirror, at a given moment, you will get moved to another mirror. This should prevent one mirror taking all the load, while others do nothing.
(..)
Ok, clear. So, in this quote by The Load you mean the 'value that you make your computations with', and not the 'real system load reported by the OS'.
I assume you refer to by 'the real system load' (is there really such a thing? They are only numbers representing what is going on), the values you get from 'uptime' and such, then no, our 'load' has nothing to do with that.

The load you refer to is an indication based on the amount of processes active on a system. In no way is this relevant to our goal: distribute bandwidth equally, while maintaining close mirrors idea. Also, mirrors rarely allow access to such values, as in most cases they are non of your business.

No, our load is calculated by us by the indicated formula. For example, at this moment the load is:

CZ - 2.3664275534
NL - 1.91272346698
GB - 1.60734143748
US - 1.27014819078
The only thing necessary for the triumph of evil is for good men to do nothing.
Wold
Transport Coordinator
Transport Coordinator
Posts: 318
Joined: 03 Aug 2006 19:32
Skype: woldy_bg
Location: Bulgaria

Re: [Website] Mirror request and explanation

Post by Wold »

I have asked one of Bulgaria's biggest ISPs, my university and a few more places. Awaiting replies..
Image
audigex
Tycoon
Tycoon
Posts: 2056
Joined: 09 Dec 2007 21:28
Contact:

Re: [Website] Mirror request and explanation

Post by audigex »

University is always a good start - between a country full of uni's, there's usually one willing to donate some space :-)

I'd ask mine, but we already have a GB mirror.
Jon
User avatar
caveatemptor
Route Supervisor
Route Supervisor
Posts: 432
Joined: 12 Apr 2009 20:38

Re: [Website] Mirror request and explanation

Post by caveatemptor »

A sign of tremendous success, well done!
Starbud
Traffic Manager
Traffic Manager
Posts: 211
Joined: 05 Mar 2007 00:48
Location: Sweden
Contact:

Re: [Website] Mirror request and explanation

Post by Starbud »

I'm having a discussion with a person who is one of the admins of one of the largest universitys in Sweden, the discussion is about the SSH thingie, might be a slight worry about the bandwith too because you could theoretically use up almost any bandwith you like there, i dont think they set quota for the accounts, can you set a limit to the usage if needed?
If i understood it properly it is a diffrent serverpark for anything involving SSH than for regular webservices.
But if you can accept just FTP access to the HTTP server you will have another server as soon as i send a message saying you want it :)
http://openttd.org - i love building stuff :)
Someones play with pics http://dimalimsliv.blogg.se
Post Reply

Return to “General OpenTTD”

Who is online

Users browsing this forum: No registered users and 3 guests