Challenges in the Design and Evaluation of Content-Centric Networks Jim Kurose Department of Computer Science University of Massachusetts Amherst MA USA ‘ Visiting Scientist, Technicolor Paris Lab Professeur Invite, LINCS Sigcomm ICN Workshop, Aug 2013 Overview architecture, system, prototype networks of caches challenges approximation algorithms network calculus for cache networks workload: logical mobility among networks * Architecture, System, Prototype architecture high-level design/structuring principles, service/function modularity guides, informs, inspires, constrains system instantiated set of interoperating protocols, mechanisms, platforms conforming to design principles “here’s what it does (function), you tell me how” prototype (realization) Implemented (sub)set of protocols, platforms in particular existing technologies * ack: D. Clark, J. Wroclawksi Architecture, System, Prototype architecture system Minimalist – principles, modularities Maximalist – protocols, mechanisms go here prototype Architecture, System, Prototype telephony architecture Internet ICN end-end circuit, stateless endpoints, stateful core, QoS, single service datagram, stateful endpoints, best-effort stateless core, multiple services, IP content, naming, stateful core, caching system SS7, ESS, MSC, VLR, HLD TCP, UDP, DNS, BGP, IS-IS, OSPF Ongoing prototype many .. over the years many .. over the years Ramping up … (routing, congestion control, caching, name resolution, search,…) Architecture, System, Prototype telephony architecture Internet ICN end-end circuit, stateless endpoints, stateful core, QoS, single service datagram, stateful endpoints, best-effort stateless core, multiple services, IP content, stateful core, caching system SS7, ESS, MSC, VLR, HLD TCP, UDP, DNS, BGP, IS-IS, OSPF Ongoing prototype many .. over the years many .. over the years Ramping up … (routing, congestion control, caching, name resolution, search,…) Architecture, System, Prototype Internet ICN architecture content, stateful datagram, more stateful difficult, Architecture research/evaluation more endpoints, best-effort “fundamental” (?), more impactful (?) stateless core, core, caching multiple services, IP system TCP, UDP, DNS, BGP, IS-IS, OSPF Ongoing (routing, congestion control, caching, name resolution, search,…) Research/evaluation mostly here: mechanism, protocols prototype Architecture, System, Prototype telephony architecture system Evaluation Internet ICN end-end circuit, stateful Kleinrock datagram, 64 stateless endpoints, endpoints, Cerf, Kahnbest-effort 74 stateful core, QoS, stateless core, Clark 1988 single service multiple services McCanne 1998 content, stateful ? core, caching SS7, ESS, MSC, VLR, HLD Ongoing Blocking networks TCP, UDP, DNS, BGP, IS-IS, OSPF Queueing networks Delay calculus Effective bandwidths TCP, NUM optimization (routing, congestion control, caching, name resolution, search,…) ? ? Challenges ICN: architecture vs protocol/mechanism elucidation, value-proposition of design principles, service/function modularities evaluation tool: networks of caches Interlude …. Overview architecture, system, prototype networks of caches challenges approximation algorithms network calculus for cache networks workload: logical mobility among networks Cache networks consumer requests content request routed (e.g., shortest path) to known content content custodian custodian en-route to custodian, caches inspect request hit: return local copy miss: forward request miss towards custodian during content download, store in caches along path content requests from different users interact: cache replacement content custodian content miss miss miss miss miss miss request Challenge: networks of caches network effect: interaction among content request/reply flows from different users: content replacement: requested content by one user replaces content previously requested by others x Circuit-switching: blocking networks (Erlang, 1917, Kelly 1986) Packet-switching: queueing networks (Kleinrock, 1963) Content-caching: cache networks Modeling a network of caches j node i: exogenous (external) arrivals for content j: l(i,j) node i: internal arrivals (miss stream) for content j from downstream neighbors h: m(j,h) r(i,j): aggregate rate of arrival requests at i for content j r(i,j) = l(i,j) + m(j,h) S content y i w m(j,w) all downstream neighbors, h ZDD: zero download delay assumption m(j,i) m(j,x) x l(i,j) Modeling a network of caches SCA: standalone cache i approximation algorithm: given r(i,j), compute miss rate for all content j Independence Reference Model (IRM) of incoming requests: Pr(Xt = fj | X1,..,Xt-1) = Pr(Xt=fi) SCA approximation algorithm for LRU: [Dan 1985] r(i,1) m(i,1) r(i,n) m(i,n) cache i But we need {(ri,j, mi,j)} for a network of caches Fixed-point iteration Using SCA algorithm Set r(i,j)=λ(i,j) Using SCA algorithm Compute miss rate m(i,j) Compute arrival rate r(i,j) Using Routing Matrix Repeat until convergence Return r(i,j), m(i,j) Note: tree-network (feed-forward) require single iteration 15 a-NET: approximation error 1.14 line topology with 9 nodes errors decrease in networks with high node degree Quality of a-NET Sim / Approx Misses 1.12 1.10 1.08 1.06 1.04 1.02 1.0 0.98 0 1 2 3 4 5 Cache ID 6 7 8 9 a-NET: error factor analysis sources of approximation errors in a-NET? SCA algorithm inaccuracies cascading errors approximated output rates of one iteration is input to next iteration violating IRM assumed by SCA algorithm miss process for file j negatively correlated a-NET: error factor analysis 1.14 Quality of a-NET Cascade Err. removed Non-IRM removed Quality of SCA 1.12 Sim / Approx Misses • Factor analysis reveals that nonIRM input to SCA is main cause of error 1.10 1.08 1.06 1.04 1.02 1.0 0.98 0 1 2 3 4 5 Cache ID “Approximate Models for General Cache Networks,” Elisha J. Rosensweig, Jim Kurose, Don Towsley, 2010 IEEE INFOCOM 6 7 8 9 Overview • architecture, system, prototype • networks of caches – challenges – approximation algorithms – network calculus for cache networks • workload: logical mobility among networks (σi,ρi) analyses of cache networks (σi,ρi) bounds # requests for fi over [t1,t2]: t2 r (t)dt i i ( t 2 t1 ) i t1 where ri(t) = request rate for fi at time t Goal: a network calculus for cache networks: (σ1out,ρ1out) (σ1in,ρ1in) f1 requests fnrequests t1 (σnin,ρnin) t0 t1 t0 (σnout,ρnout) (σi,ρi) cache networks: observations not all requests arriving at cache will leave (unlike queue) f1 requests f2 requests t1 t0 t1 t0 stream of input requests for one file only generates no output interactions among files in cache critical “burst” of request for same file generates one output different intuition (from queues) about “performance damage” of bursts Building block: miss set, Mi miss set for fi: set of requests for c unique files, other than i x1 requests for f1 ... ... xn requests for fn c: cache size w Mi(x1, …., xn,c): max number miss sets for file fi, given {xiin} arrivals, cache of size c. properties: Mi = min(xiin, M) !! xiout < Mi, and this bound is achievable From (σiin,ρiin) to (σiout,ρiout): (σiin,ρiin) (σiout,ρiout) (σjin,ρjin) (σjout,ρjout) fi requests ... ... fj requests Theorem: If {(σiin,ρiin)}ni=1 and {(σ’iin,ρ’iin) }ni=1 are globally tight and ρiin = ρ’iin for all i then ρiout = ρ’iout iout independent of {σiin} From (σiin,ρiin) to (σiout,ρiout): (σiin,ρiin) (σiout,ρiout) (σjin,ρjin) (σjout,ρjout) fi requests ... ... fj requests Theorem: For a cache of size c: ρiout = min(ρiin, Mi(ρ1in, … , ρnin,c )) Can calculate ρiout from {ρiin} Can compute iout as well Numerical example f0,f f1,f 2 3 cache size = 2 at each node homogeneous IRM arrivals, exponential interarrival times 4 files, uniform popularity distribution miss rate for f3 Numerical example: bounding results bound simulation Cache ID Challenges ICN: architecture vs protocol/mechanism elucidation, value-proposition of design principles, service/function modularities modeling networks of caches: develop analytic models for cache networks (ICN) equivalent of blocking networks (circuit-switched), or queueing networks (packet switched)? exact in asymptotic regimes? ergodicty? Overview architecture, system, prototype networks of caches challenges approximation algorithms network calculus for cache networks workload: logical mobility among networks Characterizing mobility among networks Historic shift from PC’s to mobile/embedded devices • ~5B cell phones (`1B smart) vs. ~1B Internet-connected PC’s • Mobile data growing exponentially, surpassing wired user traffic by 2012 [Cisco] any evaluation/model (ICN or otherwise) must consider mobility “not your father’s mobility:” characterize mobility among networks • distinctly different from physical mobility, models • physically mobile users may be stationary (from network transition POV); stationary users may move among networks (multi-homing, multiple devices) Characterizing mobility among networks Measure mobility among networks via IMAP logs • online users periodically “push” (background login, check) email, and/or intentionally read mail - e.g., kurose@cs.umass.edu generated 7,482 IMAP entries 4/14/13 – 6/4/13 • track network location from which IMAP accessed • 70 users, 4/14/13 – 7/5/13, resident in 183 unique AS numbers Where do users (in aggregate) spend time? Work: 5 college Mobile: Verizon, AT&T, sprint) Home: Comcast, Verizon, Verizon, Hughes Misc: 172 other networks in trace Users spend most of their time in small number of networks Where do users (individually) spend time? Users individually spend most of their time in small number of networks Multihoming VERIZON COMCAST Multi-homing Q: How often are users multi-homed? • 15-min subinterval has IMAP access from two different AS’s Characterizing mobility among networks other characterizations of mobility among networks generative mobility-among-network model: parsimonious Markov chain model for individual user transitioning among networks Challenges ICN: architecture vs protocol/mechanism • elucidation, value-proposition of design principles, service/function modularities modeling networks of caches: develop analytic models for cache networks (ICN) • equivalent of blocking networks (circuit-switched), or queueing networks (packet switched) • exact in asymptotic regimes? • ergodicty traffic models (for ICM and otherwise), with mobile users, content • mobility the norm Conclusion architecture, system, prototype networks of caches • challenges • approximation algorithms • network calculus for cache networks workload: logical mobility among networks End ?? || /* */ Interesting reading • J. Wroclawski, “All hat no answers: Some issues related to the evaluation of architecture,” March 2013 NSF FIA meeting, Salt Lake City UT • D. Clark, “The Design Philosophy of the DARPA Internet Protocols,” ACM Sigcomm 1988, Revised with extensive commentary 2013 • E. Rosensweig, D. Menasche, J. Kurose, “On the Steady-State of Cache Networks,” IEEE Infocom 2013. • E. Rosensweig, J. Kurose, “A Network Calculus for Cache Networks,” IEEE Infocom Mini-conference 2013. • E. Rosensweig, J. Kurose, D. Towsley, “Approximate Models for General Cache Networks,” 2010 IEEE Infocom, pp. 1100-1108 • S. Yang, S. Heimlicher, J/.Kurose, A. Venkataramani, “User Transitioning Among Networks - a Measurement and Modeling Study”, submitted, 2014. Ergodicity of cache networks does steady state performance depend on initial conditions (ergodicity)? shown existence of nonergodic cases (replacement policy, topology, cache size) derived sufficient conditions for ergodicity topology (singlecustodian trees) from individual ergodicity to system ergodicity Requests Requests for B for A A A B B A B Ergodicity of cache networks ergodicty (continued): showed random replacement: ergodic defined class of nonprotective policies (including LRU): all ergodic content