* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download emulab.net: A Network Emulation and
Computer network wikipedia , lookup
Wireless security wikipedia , lookup
Network tap wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
IEEE 802.1aq wikipedia , lookup
Distributed operating system wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Airborne Networking wikipedia , lookup
Peer-to-peer wikipedia , lookup
Emulab and its lessons and value for A Distributed Testbed Jay Lepreau University of Utah March 18, 2002 What? A configurable Internet emulator in a room – Today: 168+160 nodes, 1646 cables, 4x BFS (switch) – virtualizable topology, links, software Bare hardware with lots of tools: Management Software An instrument for experimental CS research Universally available to any remote experimenter Simple to use Points Programmable, automated mgmt, complete virtualization: – Qualitatively new environment Most of it will work in wide area New Stuff Integrated event system – – – – – – Underlying pub/sub system Integrated into ‘ns’ (statically scheduled) Start/stop programs Replayable Dynamic events User-accessible Traffic generation – Automatic, from ns script – New generators: • TG (tcp, udp) • ‘nse’ with udp, tcp, ftp, telnet New Stuff (cont’d) 4 node types: – – – – Real, running in the local rack, controlled env. Real, running ‘nse’ [Simulated] [Real, in wide-area] Link configuration and monitoring – Latency, bw, plr, RED, queue size – Link monitoring and capture GUI network config applet Full-day SIGCOMM tutorial Aug’02 Internet Web/DB/SNMP Switch Mgmt Users PowerCntl Control Switch/Router Serial Sharks PC Sharks PC 168 160 “Programmable Patch Panel” Fundamental Leverage: Extremely Configurable Easy to Use – Power – Performance – Virtualization Key Design Aspects Allow experimenter complete control – Configurable link bandwidth, latency, and loss rates, via transparently interposed “traffic shaping” nodes that provide WAN emulation … but provide fast tools for common cases – OS’s, state mgmt tools, IP, batch, ... – Disk loading – 6GB disk image FreeBSD+Linux • Unicast tool: 88 seconds to load • Multicast tool: 40 nodes simultaneously in < 5 minutes Virtualization – of all experimenter-visible resources – node names, network interface names, network addrs – Allows swapin/swapout, easily scriptable Key Design Aspects (cont’d) Flexible, extensible, powerful allocation algorithm – Matches desired “virtual” topology to currently available physical resources Persistent state maintenance: – none on nodes, all in database – work from known state at boot time Familiar, powerful, extensible configuration language: ns Separate, isolated control network Lessons for wide area testbed Central control: at this scale (1000s) it’s easy Database! Control node for each site: great benefits, cheap marginal cost – Trusted, firewall, local disk cache, power control, console line Ease of use is dominant driver Lessons… Generalized resource alloc/mapping algorithm is great (eg, vs Grid) Get it going quickly, keep it going while add new stuff – Like a startup – Use feedback and demand – 2.5 years in Simple authorization model Most of our model and code will work in widearea Lessons… Freedom for users is freedom for the management software and people “You’ve got root, use it.” Over-provision FreeBSD Jail, or Eclipse/BSD, or VMWare, or …. Testing is tricky Have real hardware that can’t virtualize Test suite part of build Clone DB works some… 8-node minibed Nightly regression testing Schema evolution script/diff/check Developers use/test 3 diff. browsers Code Base Today 24,100 23,900 2000 4200 4900 8400 5000 6200 3300 700 3700 Web front end Back end ns front end Resource mapping Diskimg compression/casting/load Scripts/daemons from nodes to DB Event system Remote console interaction/logging Regression testing harness and tests Node health monitoring Documention of internals More stats 21 “programs” 318 “scripts” (including 90 php scripts, 71 small boot-time scripts) 35% Perl 32% C 19% php 12% html, Java, tcl, other The Database Today Started with ~18 tables 54 tables, 413 columns General categories – – – – Physical world: 11 tables, 65 cols Virtual world: 7 tables, 83 cols Operational state: 22 tables, 180 cols Admin data: 14 tables, 85 cols Note how much operational state shows how much work needs to be done Testbed Users 30 active projects – more registered – 25 External – About 40/30/30% dist sys/activenets/traditional networking ~110 users 990 “experiments” in last 8 months • 7.5/day recently • 40% testbed development More Sites More emulab’s under construction: – – – – Kentucky Umass Duke, CMU, Cornell, Stuttgart Others stated intent: MIT, WUSTL, Princeton, HPLabs, Intel/UCB, Mt. Holyoke, … Ongoing and Future Work Federation – heteregeneous sites – resource allocation Wireless nodes, mobile nodes IXP1200 nodes, tools, code fragments – Routers, high-capacity shapers Simulation/emulation transparency Event system Scheduling system Topology generation tools and GUI Data capture, logging, visualization tools Microsoft OSs, high speed links, more nodes! A Global-scale Testbed Federation key Bottom-up “organic” growth – Local autonomy and priority – Existing hardware resources – Provides diverse hardware • • • • • PCs Wireless, mobile Real routers, switches (Wisconsin, …) Network processors (IXP’s) Research switches (WUSTL) But, top-down is much easier: a good start NSF ITR Proposal (Nov 01) Global-scale testbed Utah primary – Research emphasis: software component for heterogeneity; resource allocation/mapping Collaborators: – – – – Brown, co-PI (resource allocation) MIT (RON overlay, wireless) Duke (ModelNet muxing, early adopter) Mt. Holyoke (education) Types of Sites High-end facilities Generic clusters Generic labs “Virtual machines” Internet2 links between some sites Result… Loosely coupled distributed system Controlled isolation “Internet Petri Dish” New Stuff: Extending to Wireless and Mobile Problems with existing approaches Same problems as wired domain But worse (simulation scaling, ...) And more (no models for new technologies, ...) Wireless Virtual to Physical Mapping Available for universities, labs, and companies, for research and teaching, at: www.emulab.net A Few Research Issues and Challenges Network management of unknown and untrusted entities Security (root!) Scheduling of experiments Calibration, validation, and scaling Artifact detection and control NP-hard virtual --> physical mapping problem Providing a reasonable user interface …. How To Use It ... Submit ns script or GUI via web form Behind the scenes: – – – – – – – – – – – Generates config from script & stores in DB Maps specified virtual topology to physical nodes Allocate resources Provides user accounts for node access Assigns IP addresses and host names Configures VLANs Loads disks, reboots nodes, configures Oss Starts event system, traffic generators, link monitoring/control Yet more odds and ends ... User does his/her experiment [Reports results if batch] Takes ~3 min to set up 25 nodes, 5 secs/node An “Experiment” emulab’s central operational entity Directly generated by an ns script, … then represented entirely by database state Steps: Web, compile ns script, map, allocate, provide access, assign IP addrs, host names, configure VLANs, load disks, reboot, configure OS’s, run, report