Co* Projects : CoDNS, CoDeply, CoMon - ANLAB
Download
Report
Transcript Co* Projects : CoDNS, CoDeply, CoMon - ANLAB
Co* Projects :
CoDNS, CoDeploy, CoMon
KyoungSoo Park, Vivek Pai and Larry Peterson
Princeton University
7/16/2015
Co* Project
1st Asian PlanetLab Workshop
1
Background : CoDeeN
Academic Content Distribution Network
100+ proxy servers on PlanetLab
Improve web performance & reliability
Running 24/7 since June 2003
Roughly 3-4 million reqs/day aggregate
Highest-traffic project on PlanetLab
7/16/2015
Co* Project
1st Asian PlanetLab Workshop
2
How CoDeeN works
Request
Cache hit
CoDeeN
Proxy
Cache hit
Each CoDeeN proxy is a forward
proxy, reverse proxy, & redirector
7/16/2015
Co* Project
1st Asian PlanetLab Workshop
3
CoDeeN as Project Factory
Deployment Issues
CoDNS
Reliable DNS service
CoDeploy
Reliability/Security
Large file distribution
Dynamic URL rewriting
CoMon
7/16/2015
Monitoring infrastructure
Co* Project
1st Asian PlanetLab Workshop
4
Local DNS Lookup Problems
CoDeeN experiences DNS problems
Local DNS lookup failures
5+ seconds delay for cached records
Frequent & widely-distributed
Local DNS lookups important
LDNS cache hit rate: 80-90%
Unpredictable service
Directly affecting user-perceived latency
Random delay in web browsing
Critical in HTTP proxy, web crawlers and busy
mail servers
7/16/2015
Co* Project
1st Asian PlanetLab Workshop
5
Experiment For Local Problems
Local name lookup every 6 seconds
“yyy.domain” on xxx.domain at Planetlab
Lookup should be handled locally
Failure criteria
“planetlab-2.cs.princeton.edu” for
planetlab-1.cs.princeton.edu
5+ seconds of latency
zero answer
Rolling average of the past 100 queries
7/16/2015
Co* Project
1st Asian PlanetLab Workshop
6
Expected DNS Behavior
planetlab3.flux.utah.edu
ricepl-1.cs.rice.pl
7/16/2015
Co* Project
1st Asian PlanetLab Workshop
7
DNS Failure on Various Nodes
planetlab1.cs.cornell.edu
planetlab2.tamu.edu
planetlab2.cs.uoregon.edu
7/16/2015
Co* Project
1st Asian PlanetLab Workshop
8
Possible Causes
Packet loss
LDNS overloading
Cron jobs
Maintenance problems
7/16/2015
Co* Project
1st Asian PlanetLab Workshop
9
Solution? CoDNS
answer
7/16/2015
CoDNS
local
node
LDNS
CoDNS
LDNS
CoDNS
LDNS
LDNS
x
queries
CoDNS
Co* Project
1st Asian PlanetLab Workshop
10
CoDNS
Cooperative name lookup scheme
If local server OK, use local server
When failures, ask a peer for the lookup
Selecting nearby peers
Liveness/Remote nameserver’s health
Send to improve cache locality
Remote request timeout
7/16/2015
Dynamically adjusted to local server’s health
Exponentially backed off for each remote query
Co* Project
1st Asian PlanetLab Workshop
11
Evaluation
Live traffic for one week for CoDeeN (20k - 30k)
7/16/2015
Co* Project
1st Asian PlanetLab Workshop
12
Finer-grained View
Live traffic for one day
Effectively flattens the spikes
7/16/2015
Co* Project
1st Asian PlanetLab Workshop
13
Availability
Add one ‘9’, from 99% to 99.9%
7/16/2015
Co* Project
1st Asian PlanetLab Workshop
14
For More Details
CoDNS: Improving DNS Performance and
Reliability via Cooperative Lookups
KyoungSoo Park, Vivek S. Pai, Larry Peterson and
Zhe Wang
[OSDI04]
Non-I2 nodes
CDN names lookup
CoDNS vs. TCP-based DNS
7/16/2015
Co* Project
1st Asian PlanetLab Workshop
15
CoDeploy
How to utilize the CDN infrastructure?
Large file(100’s MB) distribution
No custom protocol/software
Preserves HTTP semantics
Dynamic URL rewriting
7/16/2015
Supports Akamai style CDN
CoralCDN [NSDI04]
Co* Project
1st Asian PlanetLab Workshop
16
Large file distribution
BitTorrent
Bullet [SOSP03]
SplitStream [SOSP03]
FastReplica [USITS03]
Download managers(Windows update,
Adobe download manger)
7/16/2015
Co* Project
1st Asian PlanetLab Workshop
17
Drawback
Availability
Only BitTorrent is deployed
But doesn’t really cache – peers are active
downloaders
Complexity
7/16/2015
Custom protocols
Origin site needs special server, format
Client software also custom
Co* Project
1st Asian PlanetLab Workshop
18
Our Approach
CDN
CDN
file
file0-1
Agent
CDN
file2-3
CDN
Server
file4-5
CDN
CDN
7/16/2015
Co* Project
1st Asian PlanetLab Workshop
19
Low-Level HTTP stuff
GET name/ranges
Header: blah
Header: blah
egress
HTTP/1.0 206 Partial
Range: start-end/length
Header: blah
7/16/2015
ingress
GET name
Range: bytes ranges
Header: blah
HTTP/1.0 200 OK
Content-length: piece length
New-header: obj length
Co* Project
1st Asian PlanetLab Workshop
20
Dynamic URL Rewriting
http://www.host.com/path
file
Client
Server
http://proxy:port/capability/www.host.com/path
file
Client
7/16/2015
rewritten file
CDN
file
Co* Project
1st Asian PlanetLab Workshop
Server
21
Benefit
Transparently distributing the load
Avoiding slashdot effect
No setup at the browser
Cheap way of publishing popular
contents
Easily customizable
7/16/2015
Capability: access control
Co* Project
1st Asian PlanetLab Workshop
22
CoMon
PlanetLab monitoring infrastructure
Node level statistics
Slice level statistics
Uptime, cpu/memory usage, DNS failure rate
# proc, network BW, cpu/memory usage
New slicestat
7/16/2015
Provides slice level resource consumption
statisics
e.g. curl http://localhost:3100/slicestat
Co* Project
1st Asian PlanetLab Workshop
23
QuickTime™ and a
TIFF (LZW) decompressor
are needed to see this picture.
7/16/2015
Co* Project
1st Asian PlanetLab Workshop
24
QuickTime™ and a
TIFF (LZW) decompressor
are needed to see this picture.
7/16/2015
Co* Project
1st Asian PlanetLab Workshop
25
QuickTime™ and a
TIFF (LZW) decompressor
are needed to see this picture.
7/16/2015
Co* Project
1st Asian PlanetLab Workshop
26
QuickTime™ and a
TIFF (LZW) decompressor
are needed to see this picture.
7/16/2015
Co* Project
1st Asian PlanetLab Workshop
27
Direction
Which node is usable?
sshable, DNS lookup, cpu/memory, file
descriptor availability
Which slice is going astray?
What are the typical experiments?
Automatic detection of overloading
7/16/2015
Co* Project
1st Asian PlanetLab Workshop
28
More info
Contact us!
[email protected]
CoDeeN [USENIX04]
http://codeen.cs.princeton.edu/
CoDNS [OSDI04]
http://codeen.cs.princeton.edu/codns/
CoDeploy
http://codeen.cs.princeton.edu/codeploy/
CoMon
http://codeen.cs.princeton.edu/comon/
7/16/2015
Co* Project
1st Asian PlanetLab Workshop
29