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