Thursday, July 11, 2013

“Is Computer Networks a boring area?”

Over on Quora, the question-and-answer Web site, my hackles were raised when I saw this question that seemed out of left field:
Is Computer Networks a boring area?
I'm asking this question since I'm looking at possible areas to do Masters in, and one of them is Computer Networks. [...] I've never met anyone who's been passionate about this field as of yet. I've met people from areas like data mining, AI, computer vision, robotics etc. who're fiercely in love with their subject. Thirdly, the very nature of this field made me ask this question. Innovation seems slow in general, especially hardware, and it appears that you get lost in a sea of implementing protocols and going through a lot of fine lines of code, instead of working on the next big thing.
I'd be glad if someone proves me wrong. Am I missing something here?
I couldn't help myself from piping up to defend the honor of computer networking (and discuss my own work in the process).

My answer:


I can't agree at all!! Computer networks and communications have much to arouse the passions. But the important question is what gets you going. 
Here are a few recent innovations in the field that you may have heard of. All of this stuff would be in-scope (indeed, has been in-scope and published about) at the major academic conferences, e.g. ACM SIGCOMM, Usenix NSDI, IMC, MobiCom, MobiSys, CoNEXT, ANCS, INFOCOM, etc.: 
  • the Internet
  • the World Wide Web
  • Wi-Fi
  • LTE / cellular packet networking
  • NFC / RFID / low-power and no-power communications
  • Skype / Facetime / Google Hangout / YouTube / Netflix
  • Peer-to-peer networking applications
  • Distributed hash tables, Bitcoin, Tor, Bittorrent
  • Malware, viruses, spam, worms, intrusion detection
  • Privacy / location privacy / breaking the privacy of existing stuff
  • social networking / Facebook / quantifying the influence of friendship
  • Dropbox / network file storage
  • XHR / Ajax / Meteor / dynamic Web sites
  • massive datacenters running MapReduce / Hadoop / Spark to crunch Big Data
  • Turbo codes / rateless codes / Viterbi algorithm / lots more stuff about codes
  • MIMO / two-way radios / mesh networking
  • securing radio-controlled implanted pacemakers and defibrillators against being taken over by supervillains (They Can Hear Your Heartbeats, SIGCOMM 2011)
Also, in 1998 there was a nice paper explaining the design of a new search engine by some grad students at Stanford (S. Brin and L. Page, The Anatomy of a Large-Scale Hypertextual Web Search Engine). Their paper was published in a journal called "Computer Networks and ISDN Systems." I'm not sure what happened but from reading the paper again, it had some good ideas and I hope they found their way into industry somehow.
For some stimulating ideas of open questions in the field, see Craig Partridge, "Forty Data Communications Research Questions," SIGCOMM Comput. Commun. Rev., Sept. 2011, available here (PDF) 
I can't think of ANY area of computer science that has produced more tangible changes for the average person over the last 20 years than networking and communications. You might have heard of the smartphone and Wi-Fi? The Web? Google? These have become pretty popular. This field has literally produced civilization-changing developments in just the last 20 years. (Can physics say that? Can computer vision?) 
AI and machine learning and robotics and CS theory and programming languages and computer architecture and graphics are great, don't get me wrong. And there's no reason we can't combine these things. Some of my own work is about trying to come up with learning techniques to help computers discover new networking protocols on their own. 
That is, up to this point we have had humans creating sensible algorithms by hand (e.g., TCP Cubic) to run on a network's endpoints, in order to share limited network resources between all the hosts contending for them. But the emergent behavior of these algorithms when you have a whole flock of machines running them is actually quite complicated and difficult to describe! (Indeed, the "teleology of TCP" -- the ends that it tries to achieve -- is still unknown. And at their current rate of progress, the queueing theorists will need about another 50 years before they can solve these kinds of problems analytically.) 
In my work, we flip this around: the humans specify their prior knowledge about the network and what they care about (throughput? low delay? fairness? some compromise?), and computers then create the best algorithm to run at the endpoints to realize those goals. It turns out that not only are the best computer-designed endpoint algorithms way better than our human-designed algorithms to date, they are actually even better than algorithms that depend on code running INSIDE the network. 
Think about that -- a computer-designed end-to-end algorithm can outperform our best in-network algorithms. That's kind of crazy (and not something that we have a theory to reason about yet), but it suggests real implications: instead of putting more crap inside the network to try to fairly adjudicate between your Skype call and your neighbors who run Bittorrent, maybe we can keep the Internet "dumb" after all, and preserve the real benefits of having a dumb network and the neutrality of network operators. 
Benefits like: a college kid in Massachusetts can make a crazy new service (Napster) or website (Facebook) without needing AT&T's or Comcast's permission. By now, these side effects of the network architecture have had a dramatic influence on most of the industrialized world. 
We haven't presented these results yet, but you can see some of our prior work here (http://alfalfa.mit.edu):

Or here (http://mosh.mit.edu):
So, sure, I am passionate about it! And I think the work is intellectually interesting and fun and provocative, and ties in to a lot of exciting work in multi-agent planning and economics and machine learning and resource allocation and information theory. But the important question is what gets you going. No advisor can manufacture passion and excitement for you out of whole cloth, and typically a master's student will have to be even more self-sufficient than a doctoral student to make sure they are working on a project that interests them. (The lab is not going to save its coolest project ideas in a folder, waiting for a master's student to come along and start work on them.)
I left school and worked "outside" before coming back to finish my graduate degree, and would recommend that path to anybody. If robots or vision are the things that really get you going, or you're not sure, or you need some time away to figure that out, by all means, if you can afford to take the time to think about it, that is a fortunate position to be in. Do what's right for you.
The better prepared you are to get cracking from day 1 (or at least start noodling around) in an area that seems cool to you, the more fun you're going to have when you get started and the better things will go.

17 comments:

  1. Excellent! its Interesting and very helpful sharing.
    Solidworks Portable

    ReplyDelete
  2. Computer repair, laptop repair, online backup, computer upgrades, wireless networks, computer networks, printer repair, managed it services , it support

    ReplyDelete
  3. This blog is impressive and informative.It clearly explains about the concept and its techniques.Thanks for sharing this information.Please update this type of information
    Java Training in Chennai

    ReplyDelete
  4. Great discussion and inform on where is web design going in 2016. Each and every year web design is growing and plenty of innovative and impressive things are shared and published every day.Contact Us Now

    ReplyDelete
  5. Great post. wonderful topic you have discussed. Thanks for sharing.

    digital marketing training in chennai

    ReplyDelete
  6. Wonderful post. Keep sharing such a useful post.

    magento training in chennai

    ReplyDelete
  7. Glimpse at this blog about possible careers with computer science education.

    ReplyDelete
  8. I want you to thank for your time of this wonderful read!!! I definately enjoy every little bit of it and I have you bookmarked to check out new stuff of your blog a must read blog!
    Bios Chip DELL

    ReplyDelete
  9. The Jayhawks lost because they were outscored by 10 points in the paint, 10 points on second-chance opportunities and by seven points off turnovers.

    March Madness

    March Madness Live

    March Madness Live Stream

    March Madness 2017

    March Madness 2017 Live

    ncaa March Madness

    ncaa march madness live

    ncaa tournament

    March Madness Bracket

    ncaa final four

    Kansas lost because its bench fell flat when Lagerald Vick -- Jackson's replacement in the lineup -- got in foul trouble. TCU took off on a 16-3 run to end the first half, then used another surge after halftime that pushed its lead to 11 points.

    ReplyDelete
  10. Assignments, practical and projects play a very important role in education and help students score good grades than they would in their theory examinations.
    stereodevelopment

    ReplyDelete
  11. In any kind of business when sourcing and procurement could be a challenge for managers and company owners, technology driven automation is the key to improving productivity and efficiency. Businesses that embrace updated ways to deal with various business processes find themselves more competitive and able to deal with customer concerns whatever they may be.Thesis writing

    ReplyDelete
  12. By watching this blog they can get help with physics homework with excellent feedback and also different level of questions. I really appreciate this part of homework.

    ReplyDelete