View
215
Download
2
Tags:
Embed Size (px)
Citation preview
Lecture 01, 20-755: The Internet, Summer 1999 1
20-755: The InternetLecture 1: Introduction
David O’Hallaron
School of Computer Science and
Department of Electrical and Computer Engineering
Carnegie Mellon University
Institute for eCommerce, Summer 1999
Lecture 01, 20-755: The Internet, Summer 1999 2
Today’s lecture
• Course overview (25 min)
• Internet history (25 min)
• break (10 min)
• Research overview (50 min)
Lecture 01, 20-755: The Internet, Summer 1999 3
Course Goals
• Understand the basic Internet infrastructure– review of basic computer system and internetworking
concepts, TCP/IP protocol suite.
• Understand how this infrastructure is used to provide Internet services
– client-server programming model
– existing Internet services
– building secure, scalable, and highly available services
• Understand how to write Internet programs– Use DNS and HTTP to map a part of the CMU Internet
– Build a server that provides an interesting Internet service.
Lecture 01, 20-755: The Internet, Summer 1999 4
Teaching approach
• Approach the Internet from a host-centric viewpoint
– How the Internet is used to provide services.
– Complements the network-centric viewpoint of 20-770: Communications and Networking.
• Students learn best by doing– In our case, this means programming.
Lecture 01, 20-755: The Internet, Summer 1999 5
Course organization
• 14 lectures– Readings from the textbook and supplementary readings
are posted beforehand.
– Guest lecture: Bruce Maggs, SCS Assoc Prof and VP for Research at Akamai, a Boston-based Internet startup.
• Evaluation– Class participation (10%)
– Two programming homeworks (20%) (groups of up to 2)
– Programming project (50%) (groups of up to 2)
– Final exam (20%)
• Office Hours– Mon 2:00-3:30
– These are nominal times. Visit anytime my door is open.
Lecture 01, 20-755: The Internet, Summer 1999 6
Programming assignments
• Will be done on euro.ecom.cmu.edu– Pentium-class PC server running Linux
• Homeworks will use Perl5.
• Project can use language of your choice.
• Question: – Does the class need additional tutoring in editing and
running Perl5 programs on a Unix box?
Lecture 01, 20-755: The Internet, Summer 1999 7
Scheduling issues
• We’ll need to double up on lectures (10:30-12:20 and 1:30-3:20) on three different days:
– Mon July 12
– Fri July 16
– Fri July 23
• No class Fri Aug 6.
Lecture 01, 20-755: The Internet, Summer 1999 8
Course coverage
• Intro to computer systems (2 lectures)
• Review of internetworking (2 lectures)
• Client-server computing (1 lecture)
• Web technology (2 lectures)
• Other Internet applications (1 lecture)
• Secure servers (1 lecture)
• Scalable and available servers (2 lectures)
• RPC-based computing (1 lecture)
• Internet startup guest lecture
Lecture 01, 20-755: The Internet, Summer 1999 9
Internet history
• Sources:– Leiner et. al, “A brief history of the Internet”,
www.isoc.org/internet-history/brief.html
– R. H. Zakon, “Hobbes’ Internet Timeline, v4.1”, www.isoc.org/guest/zakon/Internet/History/HIT.html
– D. Comer, “The Internet Book, Sec. Edition”, Prentice-Hall, 1997.
Lecture 01, 20-755: The Internet, Summer 1999 10
ARPANET Origins • 1962
– J.C.R. Licklider (MIT) describes “Galactic Network”.
– Licklider becomes head of computer research at Defense Advanced Research Program (DARPA) and convinces eventual successor, Lawrence Roberts (MIT), among others, of the importance of the concept.
• 1964– Leonard Kleinrock (MIT) publishes first book on packet
switching.
• 1965– Roberts and Thomas Merrill build first wide-area network
(using a dial-up phone line!) between MA and CA.
• 1967– Roberts (now at DARPA) publishes plan for “ARPANET”,
running at a blistering rate of 50 kbps.
Lecture 01, 20-755: The Internet, Summer 1999 11
ARPANET Origins (cont)
• 1968– DARPA issues RFQ for the packet switch component.
– BBN (led by Frank Heart) wins contract and designs switch called an Interface Message Processor (IMP)
– Bob Kahn (DARPA) works on overall ARPANET arch.
– Roberts and Howard Frank (Network Analysis Corp) work on network topology and economics.
– Kleinrock (UCLA) builds network measurement system.
• 1969– First IMP installed at UCLA (first ARPANET node).
– Nodes added at SRI, UCSB, and Utah.
– By the end of the year the 4-node ARPANET is working, with 56kbps lines supplied by AT&T
Lecture 01, 20-755: The Internet, Summer 1999 12
ARPANET Origins (cont)
• 1970– BBN, RAND, and MIT added to ARPANET.
– Network Working Group (NWG), under Steve Crocker, designed initial host-to-host protocol (NCP).
• 1971– 15 hosts: UCLA, SRI, UCSB, Utah, BBN, MIT, RAND, SDC,
Harvard, Lincoln Labs, UIUC, CWRU, CMU, NASA/Ames.
– Ray Tomlinson (BBN) writes first ARPANET email program (origin of the @ sign).
– email becomes the first Internet killer app.
Lecture 01, 20-755: The Internet, Summer 1999 13
Birth of Internetworking
• 1972– Kahn (DARPA) introduces idea of “open architecture
networking” :
» Each network must stand on its own, with no internal changes allowed to connect to the Internet.
» Communications would be on a best-effort basis.
» “black boxes” (later called “gateways” and “routers” would be used to connect the networks)
» No global control at the operations level.
• 1973– Metcalf and Boggs (Xerox) develop Ethernet.
• 1974– Kahn and Vint Cerf (Stanford) publish first details of TCP,
which is later split into TCP and IP in 1978.
Lecture 01, 20-755: The Internet, Summer 1999 14
Birth of Internetworking
• ~1980– Berkeley releases open source BSD Unix with a TCP/IP.
• 1982– DARPA establishes TCP/IP as the protocol suite for ARPANET,
offering first definition of an “internet”.
• 1983– Jan 1: ARPANET switches from NCP to TCP/IP.
• 1984– Mockpetris (USC/ISI) invents DNS.
– Number of ARPANET hosts surpasses 1,000.
• 1985– symbolics.com becomes first registered domain name.
– other firsts: cmu.edu, purdue.edu, rice.edu, ucla.edu, css.gov, mitr.org
Lecture 01, 20-755: The Internet, Summer 1999 15
Birth of Internetworking
• 1986– NSFNET backbone created (56Kbps) between 5
supercomputing sites (Princeton, Pittsburgh, San Diego, Ithica, Urbana), allowing explosion of University sites.
• 1988– Internet worm attack
– NSFNET backbone upgraded to T1 (1.544 Mbps).
• 1989– Number of hosts breaks 100,000.
• 1990– ARPANET ceases to exist.
– world.std.com becomes first commercial dial-up ISP.
Lecture 01, 20-755: The Internet, Summer 1999 16
The Web changed everything...• 1991
– Tim Berners-Lee (CERN) invents the World Wide Web (HTTP server and text-based Lynx browser)
– NSFNET backbone upgraded to T3 (44.736 Mbps).
• 1993– Mosaic WWW browser developed by Marc Andreessen (UIUC)
• 1995– WWW traffic surpasses ftp as the source of greatest Internet
traffic.
– Netscape goes public.
– NSFNET decommissioned and replaced by interconnected commercial network providers.
• 1999– MCI/Worldcom upgrades its US backbone to 2.5Gbps.
Lecture 01, 20-755: The Internet, Summer 1999 17
Internet Domain Survey(www.isc.org)
100
1,000
10,000
100,000
1,000,000
10,000,000
100,000,000
Inte
rnet
ho
sts
Lecture 01, 20-755: The Internet, Summer 1999 18
Summary• The Internet has had an enormous impact on
the world economy and day-to-day lives.– mechanism for world-wide information dissemination.
– medium for collaboration and interaction without regard to geographic location.
• One of the most successful examples of government, university, and business partnership.
– Possible only because of sustained government investment and commitment to research and development.
– Successful because of commitment by passionate researchers to “rough consensus and working code” (David Clarke, MIT)
Lecture 01, 20-755: The Internet, Summer 1999 20
Dv: A toolkit for visualizing massive remote datasets
David O’Hallaron
School of Computer Science and
Department of Electrical and Computer Engineering
Carnegie Mellon University
Institute for eCommerce, Summer 1999
Lecture 01, 20-755: The Internet, Summer 1999 21
Internet service models
• Traditional lightweight service model– small to moderate amount of computation to satisfy
requests
– e.g. serving web pages, stock quotes, online trading, search engines
• Proposed heayweight service model– massive amounts of computations to satisfy requests
– scientific visualization, data mining, medical imaging
clientserver
request
response
Lecture 01, 20-755: The Internet, Summer 1999 23
Quake Project
• Carnegie Mellon– David O’Hallaron (CS and ECE)
– Jacobo Bielak [PI] and Omar Ghattas (CivE)
• University of California Berkeley– Jonathan Shewchuk (EECS)
• Southern California Earthquake Center– Steve Day and Harold Magistrale (San Diego State)
• Kogakuin University, Tokyo– Yoshi Hisada
Lecture 01, 20-755: The Internet, Summer 1999 25
San Fernando Valley
x
epicenter lat. 34.32 long. -118.48
lat. 34.08 long. -118.75
lat. 34.38 long. -118.16
San Fernando Valley
Lecture 01, 20-755: The Internet, Summer 1999 26
San Fernando Valley (top view)
Soft soil
Hard rock
xepicenter
Lecture 01, 20-755: The Internet, Summer 1999 32
Partitioned unstructured finite element mesh of San Fernando
element
nodes
Lecture 01, 20-755: The Internet, Summer 1999 33
Communication graph
Vertices: processorsEdges: communications
Lecture 01, 20-755: The Internet, Summer 1999 34
Quake solver code
NODEVECTOR3 disp[3], M, C, M23; MATRIX3 K;
/* matrix and vector assembly */ FORELEM(i) { ... }
/* time integration loop */ for (iter = 1; iter <= timesteps; iter++) { MV3PRODUCT(K, disp[dispt], disp[disptplus]); disp[disptplus] *= - IP.dt * IP.dt; disp[disptplus] += 2.0 * M * disp[dispt] - (M - IP.dt / 2.0 * C) * disp[disptminus] - ...); disp[disptplus] = disp[disptplus] / (M + IP.dt / 2.0 * C); i = disptminus; disptminus = dispt; dispt = disptplus; disptplus = i;}
Lecture 01, 20-755: The Internet, Summer 1999 35
Archimedeswww.cs.cmu.edu/~quake
Triangle/Pyramid
Slice
Parcel
Author
C compiler
Runtime library
ProblemGeometry (.poly)
Finite elementalgorithm (.arch)
MVPRODUCT(A,x,w);DOTPRODUCT(x,w,xw);r = r/xw;
.pack
.node, .ele
.c
a.out.part
parallel system
Lecture 01, 20-755: The Internet, Summer 1999 36
Northridge quake simulation• 40 seconds of an aftershock from the Jan 17,
1994 Northridge quake in San Fernando Valley of Southern California.
• Model:– 50 x 50 x 10 km region of San Fernando Valley.
– 13,422,563 nodes, 76,778,630 linear tetrahedral elements, 1 Hz frequency resolution, 20 meter spatial resolution.
• Simulation– 0.0024s timestep
– 16,666 timesteps (40M x 40M SMVP each timestep).
– ~15 GBytes of DRAM.
– 6.5 hours on 256 PEs of Cray T3D (150 MHz 21064 Alphas, 64 MB/PE).
– Comp: 16,679s (71%) Comm: 575s (2%) I/O: 5995s(25%)
– 80 trillion (10^12) flops (sustained 3.5 GFLOPS).
– 800 GB/575s (burst rate of 1.4 GB/s).
Lecture 01, 20-755: The Internet, Summer 1999 42
Typical Quake viz pipeline
remotedatabase
remotedatabase
interpolationinterpolation isosurfaceextraction
isosurfaceextraction
scenesynthesis
scenesynthesis
localdisplay
andinput
localdisplay
andinput
renderingrenderingreadingreading
FEM solverengine
materialsdatabase
ROI resolution contours scene
vtk library routines
Lecture 01, 20-755: The Internet, Summer 1999 43
Heavyweight grid service model
Remote compute hosts(allocated once per service
by the service provider)
Local compute hosts(allocated once per request
by the service user)
WAN
Lecture 01, 20-755: The Internet, Summer 1999 44
Active frames
Framedata
Activeframe
interpreter
Applicationlibrariese.g, vtk
Framedata
Frameprogram
Active Frame Server
Input Active Frame Output Active Frame
Host
Frameprogram
Lecture 01, 20-755: The Internet, Summer 1999 45
Overview of a Dv visualization service
DvServer
DvServer
Remote DV Active Frame Servers
Remotedataset
Remotedataset Local
Dvclient
LocalDv
client
Local DV Active Frame Servers
Resp.frames
DvServer
DvServer
DvServer
DvServerResp.
frames
Display
...
Request frame
Responseframes
Userinputs
Resp.frames
DvServer
DvServer
(Request Server)
Lecture 01, 20-755: The Internet, Summer 1999 46
Grid-enabling vtk with Dv
localDv
client
localDv
client
response frames (to other Dv servers)
[native data, scheduler, flowgraph,control ]
request frame[request server, scheduler, flowgraph, data reader ]
remote machine(Dv request server)
status
... local Dv
server
local Dv
server
request serverrequest server
result
...
local machine(Dv client)
readerreader schedulerscheduler
Lecture 01, 20-755: The Internet, Summer 1999 47
Scheduling Dv programs
• Scheduling at request frame creation time– all response frames use same schedule
– performance portability (i.e. adjusting to heterogeneous resources) is possible.
– no adaptivity (i.e., adjusting to dynamic resources)
• Scheduling at response frame creation time– performance portability and limited adaptivity.
• Scheduling at response frame delivery time– performance portability and greatest degree of adaptivity.
– per-frame scheduling overhead a potential disadvantage.
Lecture 01, 20-755: The Internet, Summer 1999 48
Scheduling scenarios
Ultrahigh Bandwidth
Link
low-endremoteserver
powerfullocal
server
Lecture 01, 20-755: The Internet, Summer 1999 49
Scheduling scenarios
High Bandwidth
Link
high-endremoteserver
powerfullocal
workstation
Lecture 01, 20-755: The Internet, Summer 1999 50
Scheduling scenarios
Low Bandwidth
Link
high-endremoteserver
local PC
Lecture 01, 20-755: The Internet, Summer 1999 51
Scheduling scenarios
HighBandwidth
Link
high-endremoteserver
low-endlocal
PC or PDA
LowBw
Link
powerfullocalproxyserver
Lecture 01, 20-755: The Internet, Summer 1999 52
Summary
• Heavyweight grid service model– service providers can constrain resources allocated to a
particular service
– service users can contribute resources to improve response time of throughput
• Active frames– general software framework for providing heavyweight Internet
services
– framework can be specialized for a particular service type
• Dv – specialized version of active frame server for vizualization
– grid-enables existing vtk toolkit
– flexible framework for experimenting with scheduling algs