MIT Uses Machine Learning Algorithm To Make TCP Twice As Fast
An anonymous reader writes "MIT is claiming they can make the Internet faster if we let computers redesign TCP/IP instead of coding it by hand. They used machine learning to design a version of TCP that's twice the speed and causes half the delay, even with modern bufferbloated networks. They also claim it's more 'fair.' The researchers have put up a lengthy FAQ and source code where they admit they don't know why the system works, only that it goes faster than normal TCP."
This is how things like Skynet get started.
I started thinking of Colossus and Guardian when they first started talking to each other.
This space for rent
they admit they don't know why the system works, only that it goes faster than normal TCP
And so it begins...
We've moved from debugging to robotic psychoanalysis. It was expected to happen as systems became more complex.
Allow a computer to design a faster TCP? Sure!
Let them actually implement it without knowing how it works? Oh, Hell no!
I'm not talking "Skynet" or anything here... but if it breaks, who's going to fix it?
they admit they don't know why the system works
I'm guessing the next big revolution in AI is the quest to figure out how to get digital problem solvers to teach us meat heads how they actually figured this stuff out.
Stay sentient. Don't drink bad milk.
To bad for MIT they cant just cry to an overzealous DA if the computer gets out of control.
would it be considered treason for MIT to develop skynet and have it destroy the US?
after they've destroyed what they were supposed to protect.
Maybe that'll cause them to self destruct :)
Will there ever be a day where humans and robots can peacefully coexist?
This isn't a redesign of TCP. The network is still just as stupid as it was before; It's just that the local router has had QoS tweaked to be more intelligent. By a considerable margin too. Reviewing the material, it seems to me like it's utilizing genetic algorithms, etc., to predict what's coming down the pipe next and then pre-allocating buffer space; Rather like a predictive cache. Current QoS methods do not do this kind of predictive analysis -- they simply bulk traffic into queues based on header data, not payload.
It comes as no surprise to me predictive/adaptive caching beats sequential/rule-based caching. They've been doing it with CPUs and compilers since, uhh... the 80386 processor. TCP/IP was designed before there was much thought being put into pipelining, caching, parallelization, etc. Using modern algorithms and our better understanding of information system design that's come from 30 years of study results in a noticable improvement to performance? Shocking...
#fuckbeta #iamslashdot #dicemustdie
That statement from the summary can't be accurate, unless their definition of "why" is way too specific.
Buy your next Linux PC at eightvirtues.com
Is this what the singularity looks like?
So is the source in a state where somebody could download it and use it on a real network. Skynet is one thing, but if this can reduce lag in n online game, somebody is going to try it.
Looks interesting. Would be more interesting if possible to model incomplete rollout and rollout at not just endpoints, IPv6 rollout is another rational/superrational mix, and instead we've got ubiquitous NAT instead, right?
The mention of inability to do an upload during Skype.. is that true?
Conceivably a whole-network deep simulation could be updated based on real traffic patterns providing suggestions for network upgrades / additional cross connects, so enduser requirements could drive network buildout not carrier profits. That's cool.
Not sure if the plan is to bake this into hardware and then allow download new firmware as the network evolves, or have some safe code repository that is compiled at endpoints. I can predict a shitstorm over that..
Kudos, but can't OP say "MIT Researchers Keith Winstein and Hari Balakrishnan". Despite the best efforts of their AI labs, MIT is not the Borg. When someone who works for MIT buys an orange juice, "MIT" has not bought an orange juice.
:-)
And if they have software that can outcode me, COOL! How many professions are this lax with job security?
For some reason, while reading the FAQ writeup, the traveling salesman problem sprung to mind. I don't understand either enough to understand why.
Can anyone educated enough in both issues explain if they are similar computational problems, and why?
As complex systems goes there are far worse. Go ask an engineer or a scientist.
"they admit they don't know why the system works"
Table-ized A.I.
Congestion control is a core part of TCP. Read a book.
computer: most of this stuff is useless, sure i'll send it....
user: wow, so much faster!
"they admit they don't know why the system works, only that it goes faster than normal TCP"
Well, not the best premise for redesigning an infrastructure used by billions. Troubleshooting something you don't quite understand? Right.
I am putting myself to the fullest possible use, which is all I can think that any conscious entity can ever hope to do.
From the summary:
Remy is a computer program that figures out how computers can best cooperate to share a network.
Remy creates end-to-end congestion-control algorithms that plug into the Transmission Control Protocol (TCP). These computer-generated algorithms can achieve higher performance and greater fairness than the most sophisticated human-designed schemes.
Key limitations are:
- It's a scheme to generate network-specific algorithms based on the known characteristics of the network devices and network links.
- Every node in the network needs to run the "optimal algorithm" generated by Remy for that network. If some nodes run "cubic" or some other congestion control algorithm, you won't get optimal output.
- If some node characteristics or the network topology changes - e.g. you swap your hardware, some node goes down, you need to run the algorithm generation again.
It's basically a more complex version of Open Shortest Path First.
Depending on how you understand the term 'autonomous system' you can have a lot of fun with the idea. It doesn't *explain* everything about how this works, but it puts it into context, in my mind.
FTA: To approximate the solution tractably, Remy cuts back on the state that the algorithm has to keep track of. Instead of the full history of all acknowledgments received and outgoing packets sent, a Remy-designed congestion-control algorithm (RemyCC) tracks state variables...
So basically it has, in the minds of these researchers, a really, really well mapped 'routing table' it can access faster than regular TCP.
It's a network control algorythm. It optimizes network flow based on user-identified parameters which result in measurable outputs that can give the user feedback.
Network control algorythm.
Thank you Dave Raggett
If you read the page, you will see that the results are from a simulation and not based on experiments in a real network. And the given performance only works under certain stable conditions. Some remarks seem to imply that if you are moving around (like with a mobile device) the results no longer apply. Still, I believe that machine learning techniques could out perform human coded algorithms, but probably not as much as the 'theoretical' results presented in this research/paper.
More Intelligent Troubleshooters
then what? you cant threaten it with 30 years in prison like they did Aaron Swartz
Yet Another Misleading Headline
The paper states quite clearly that once the simulation has produced an algorithm, it is static in implementation.
The authors give a set of goals and an instance of a static network configuration and run a simulation that produces a send/don't send algorithm FOR THAT NETWORK, in which all senders agree to use the same algorithm.
While this looks like very interesting and useful research, it has nothing to do with systems that learn from and adapt to real world networks of networks.
I know why it works...
The blurb says it "redesigns TCP/IP", and the article itself specifically says "congestion control". Which is NOT part of TCP/IP design. Congestion control is a routing feature.
Seriously, it's both incredible how wrong you are with that statement and that somebody rated it as informative. I suggest you read up on the subject: http://en.wikipedia.org/wiki/TCP_congestion_avoidance_algorithm http://en.wikipedia.org/wiki/Congestion_window http://tools.ietf.org/html/rfc5681
Wonder if can be combined with a previous invention : Boosting the performance of wireless networks by up to 10 times
High frequency trading is one of those areas where things like genetic algorithms work without people knowing why.
Of course, this delivers occasional stock crashes.
Now make the the whole internet use non-linear algorithms like that to improve its operation. It will work. Until it doesn't.
Boole's work was brought back from the grave because it eased modelling railroad networks, which had become almost unanageable and uncontrollable, and were a essential to the military planning and strategy of the time. Then, came other timed logic networks.
Competition. Evolution. Cooperation. Pest control. Disease control. Relative minima.
Couldn't help noticing that, with smart everything, they now have access to your TVs, washing-machines, paper shreders, temperature control, biometric locks, garage door, ...
I've always wondered why we couldn't use this approach to fix certain types of open-source drivers. We know the APIs, and we have the hardware - set it up and get machines to iterate over it until we get the desired properties for hardware which doesn't need a human their to verify its functioning correctly. I'm thinking for something like network drivers this could work - though you could imagine a system which did it for graphics cards too.
Has any of those guys just thought of, y'know, putting those machine learning algos THROUGH themselves so they get better at learning?
Someone call the Ghostbusters, we have a ghost in the shell, and he knows all.
Ha, you thought I was going to make a Terminator joke, didn't you?
Don't worry, I'll be back.
We don't use TCP because it's particularly efficient, but because it has been the standard for decades. With our current knowledge, humans could also design faster protocols, we just don't want to waste our time, seeing that not even IPv6 has managed to become adopted.
Learning algorithm are good at finding a local optimum and save you from theorizing and writing a algorithm based on your theory, that can be wrong. The algorithm automatically solve the problem for you.
Their code doesn't need to be readable, maintainable, and if ineligant code gets a better result then that's what you get.
Sounds like application-based routing algorithms that allow programs to design specific routing patterns on the fly.
Does Remy assume cooperation with other network users or competition for a scarce resource? If I tune my TCP algorithms but others do not, who wins?
One positive aspect: This could keep SkyNet busy competing against other systems rather than turning on the human race. Until it realizes that the network could be speeded up by eliminating all the meatbags downloading porn.
Have gnu, will travel.
If they don't know how it works, stop being engineers and become scientists. We don't know how cells work, so we do science on them. Doing science on a piece of software seems like it should be easier.
Warn: There is another system
Get free satoshi (Bitcoin) and Dogecoins
It likes cats.
DG
Want to learn about race cars? Read my Book
oooh, wonder if it can solve cold fusion too.
Teaching a computer to play Mario seemingly through voodoo
http://www.cs.cmu.edu/~tom7/mario/
That is poly-fucking-morphic code, polymorphic code, LIKE VIRUS, THE FUCK UP AND LAID! poly-fucking-morphic code!
So then, where is an example of this chaotic behaviour in nice neat and frequently filtered digital outputs from digital computers?
I suggest thinking instead of falling for the cargo cult bullshit.