Become one.  matrix-RAD

Rapid Application Development for the masses.

censored   distributed   easy   extendable   fast   informative   intelligent   lean   maintainable   open (source)   portable   pretty   rfc'ed   robust   secure   transparent   version numbers   virtual  

Navigation links


fast

[The following concerns matrix-DFS, a sub project of matrix-RAD.]

When you download a file, the system decides which two file servers closest to you have the file, and gets both to send it to you. They don't both send you the same parts, which is why it is twice as fast. The way it works is this, the first server starts sending you the file as usual, from the beginning. The second starts sending you the file backwards, starting from the end. When the client has all the bytes, it informs both servers to stop sending and joins the two bits together. This works best with restartable protocols that first send the file length. If one server goes down, the next server to kick in can continue from where it left off. Note that each server does not have to send exactly half the file, one might be faster than the other and send more, the transfer finishes when the two servers meet somewhere in the middle. Only simple changes to existing protocols are needed to support this, or it can be done transparently by the Transmogrifier (see below).



My experiments have proven that generally you don't saturate a dialup link with a single file transfer, but two will keep the link saturated, meaning that as many bytes as possible are transferred all the time. Thus this strategy will result in improved download times for dialup users, so long as they do one file at a time B-). For high speed links, the server or the Internet itself are often the bottlenecks, so by splitting the transfer between two servers, we halve the load on the server, and double the transfer rate. Halving the load on servers is also a good thing.

The overhead associated with web pages will be severly reduced by the Transmogrifier, which basically tokenises the HTTP protocol, and other protocols. While this won't speed up individual large files, it will make things snappier, and speed up HTML files.


This file was last modified on Tuesday, 26-Oct-2004 18:12:01 EST