Networks and Distributed Systems a.k.a. G22.3033-010 Lakshmi Subramanian http://cs.nyu.edu/~lakshmi Jinyang Li http://cs.nyu.edu/~jinyang Class goals • Help you – critically appreciate networks & systems research – learn creative problem solving (i.e. doing research) • How? – Lectures/readings: discuss state-of-art work – Programming labs: play with real systems – A semester-long research project Syllabus, grading etc. • http://www.cs.nyu.edu/courses/fall06/G22.3033-010 • Class participation (20%) – Read assigned papers before class! • Two labs (10%) • One project (70%) – Team of 2-3 people (<= 1 Ph.D. student per group) – Start next week – Weekly (or once every two weeks) meetings Who should take the class? • Grad-level class – Satisfy M.S. requirement of a “project” course • Pre-requisite: – Basic knowledge on networks • Computer Networks (L. Peterson) • An engineering approach to computer networking (S. Keshav) – Programming experience • TCP/IP Illustrated (R. Stevens) Misc. • Office hours: – Jinyang: 715 Broadway Rm 705, Tue 5-6pm – Lakshmi: Rm 706 Mon 5-6pm – TA: Ja Chen (jchen@cs.nyu.edu) Next Generation Networks Jinyang Li Emerging networks • • • • • Wireless networks Sensor networks Overlays and P2P Delay tolerant networks (DTNs) … Wireless networks Wireless networks: why now? • Proliferation of wifi-enabled devices • Faster, cheaper radios and more powerful boxes Wireless apps: urban mesh • Provide cheap, ubiquitous Internet connectivity MIT Cambridge Roofnet http://pdos.lcs.mit.edu/roofnet Google Mountain View pole top network http://wifi.google.com Wireless apps: connecting rural villages Intel/UC Berkeley/NYU Tier project http://tier.cs.berkeley.edu Wireless apps: mobile, ad-hoc communication MIT CarTel http://cartel.csail.mit.edu Wireless networks: challenges 1. 2. 3. 4. Crappy links Contention and self-interference Frequent node/link failures Many parameters Goal: Robust, high performance designs • • • MAC layer Routing layer Transport layer Challenge #1: crappy links • Many asymmetric, lossy links Challenge #2: contention • Many nodes access the medium collisions • No way to explicitly detect collisions Challenge #2: self-interference • A multi-hop flow interferes at successive hops 1 • At 2 3 4 most every third node can transmit 5 Challenges #3: dynamism Time (sec) • Links/nodes fail and recover frequently • Link qualities change over time Challenge #4: (too) many tunable parameters • • • • • Transmission power Transmission rate Directional vs. omni antennas Static vs. dynamic channel assignment One vs. multiple radios Current state-of-art # hops latency (ms) throughput (kbps) 1 2 3 4 5 6 7 14 26 45 50 60 100 83 2451 771 362 266 210 272 181 MIT Roofnet pair-wise node throughput (11Mbps 802.11b radios) Sensor networks Beyond host-to-host communication Sensor networks: why now? • Technology is ready – Cheaper, smaller, more powerful sensors – Sense light, temperature, vibration, humidity, location, pulse, motion, vital sign etc. • Monitor environment, collection information UCB Telos Intel Dot Xbow MicaZ Sensor apps: understanding redwood forests UC Berkeley/Intel Research Sensor apps: real-time patient tracking Harvard CodeBlue Sensor-net challenges • Different communication paradigm – host-to-host is the wrong fit – Data-centric • Limited resources – Low radio bandwidth 250Kbps advertised, ~80Kbps in real life – Slow processor, tiny storage 8MHz CPU, 8K RAM – Limited energy Overlays and P2P Distributed systems meet the Internet Why p2p/overlay? Internet • A distributed system architecture: – No (minimal) centralized control – Nodes are symmetric in function • Enabled by technology improvements Large scale wide-area systems • Unmanaged (open p2p systems): – BitTorrent: >1M nodes – Skype: >5M users • Managed – PlanetLab: 700 nodes over 336 sites – Akamai CDN: >10K nodes What’s new here? • Opportunities: – Huge aggregate capacity Network, storage, processing… – Geographic diversity • Many apps: – – – – – – File sharing CDNs VoIP Streaming multicast Usenet news … Challenges • How to find data? • How to deal with failures? – Nodes fail and recover – Network outage and partition • (Open networks only) How to deal with selfish or malicious nodes? – provide data integrity – provide privacy or anonymity Challenge #1: resource discovery Case study: file sharing • Where is the file named “Hamlet”? Challenge #2: churn • What if the node with “Hamlet” goes down? Challenge #3: selfish nodes I do NOT have Hamlet • Selfish nodes do not want to upload “Hamlet” Challenge #4: malicious nodes I HAVE junk named Hamlet • Malicious nodes lie about their contents Next week • Naming and addressing • Project ideas Distributed systems in a data-center • Connected by LANs low loss and delay • Provide infrastructural services for apps – Network file systems – Databases – Distributed data processing Check out the Spring class “distributed storage systems”