Wednesday, December 11, 2013

CoNEXT'13: Scaling IP Multicast on Datacenter Topologies

Speaker: Xiaozhou Li
Author: Michael J. Freedman 



This paper proposes a mechanism to increase the number of available multicast group in a Data Center.
Why IP multicast is difficult for Data Centers?
It has scaling difficulties at control plane and data plane.
Difficulties come from limited forwarding table size (limited memory size).
Multicast addresses cannot be aggregated by prefixes and must maintain per-group forwarding rules for all groups.
This paper proposes three techniques to increase multicast group:
1.       Partition and distribute multicast address space
2.       Enable local multicast address aggregation to further increase the number of groups in each pod
3.       Handle failures with fast rerouting and multicast tree reconstruction
Each core and aggregate switches has a portion of the partition and name space (with fix prefix)
They needed to cope with the problem of bottleneck problem at aggregate switch
Solution:
·         Reduce the number of entries in the bottleneck switch
·         Local address translation and aggregation
Compute the aggregation is NP-hard
Approach:
·         Local aggregation at the bottleneck
They also provide fault tolerance
They use SDN to manage multicast memberships.
Describe the simulation environment
Aim: support large num of IP-multicast groups in data centers
Contribution
Leverage multi-rooted topologies to scale out by dividing multicast address space across multiple switches.
Introduce local aggregation algorithm to overcome bottleneck in pods.
Proposed mechanism for fast failure and multicast tree management practical with today’s SDN

Q: we talked about the related work which previous works use bloom filters on SDN and you said they cannot support very large scale networks but you don’t have any simulation results compare with the bloom filtered design.
A: So they can increase the number of groups in one switch but we are not looking at the single switch and compare to us they have much lower increase in number of groups. And these two approaches can be combined together.   
Q: So you can combine bloom filter with your scheme?
A: maybe not bloom filter but some other previous ideas can be combined with ours.
Q: Just as a suggestion you can try bloom filter schemes to see how much performance you have.

 

CoNEXT'13: Per-packet load balanced, Low-Latency Routing for Clos-based Data Center Networks

Speaker: Jiaxin Cao, 
Authors: Rui Xia, Pengkun Yang, Chuanxiong Guo, Guohan Lu, Lihua Yuan, Yixin Zheng, Haitao Wu, Yongqiang Xiong, Dave Maltz



This paper introduces DRB for load balancing and low latency communication in Data Centers
Background about Clos-based DCN:
·         Clos-based topologies are fat tree and VL2
·         Routing: equal cost multipath (ECMP)
Issues:
·         Low network utilization
·         High network latency tail
Network latency measured
·         Busy servers
·         Light servers
·         And all servers
Results show that loaded server doesn’t have contribution to the tail latency.
So where does tail latency come?
               
Challenges:
·         How to achieve the full bandwidth utilization
·         How to minimize delay
DRB:
·         Not a new but has not been used
·         Achieve 100% utilization
·         Achieves small queue delay
How to achieve 100% utilization:

  • Spread traffic from one server to another server among all the possible uplink at every layers

Fat tree has enough conditions for DRB
There are some solutions using random bouncing (RB) or round-robin bouncing ( RRB).
Instead we use DRB:

  • For the same pair of i and j server DRB chooses different spine switch to bounce.

We present the queuing latency modelling to show why DRB performs better

  • Results show that DRB and RRB achieve bounded queue length when load achieves 100%.

  • But queue length for RRB is larger.

One issue is DRB cannot directly be applied to VL2.
Solution is virtually split each spine switch to more spine virtual switches
Done simulation for all three and ECMP
The simulation results show improvement compare to RB, RRB and ECMP in all measurements (throughput, queue length re-sequencing delay).
Re-sequencing delay is a time a packet stays in the re-sequence buffer
They did implementation on test bet as well.
DRB queue length is as good as only 2-3 pkts length. 

Q: my biggest concern about this type of work is that you make this assumption that is completely symmetric topologies. If for some problem the bandwidth of one port goes down or using divers type of servers make it reasonable to have completely symmetric topology?
A: in reality switches are different and ports have different bandwidth. Changing the bandwidth is process problem and we disable such ports. The purpose of DRB is to get rid of congestion. If congestion happens at link level because of divers hardware for one link, we handle it with congestion control mechanism.

Q: you can apply DRB to Clos because you can find multiple paths to destination. Suppose there is an arbitrary topology with you can find multiple path in the space, can you still apply DRB on an arbitrary topology like jelly fish?
 A: arbitrary topology can not apply to DRB. Topology was in our assumption.
Q: I missed the first question!!!
Q: the 10 msec is constant or based on the running flow?
A: it is constant. Time out value is usually more than 10 ms so it can be reasonable


               
 

CoNEXT'13: Distributed Resource Control using Shadowed Subgraphs

Presenter: Gregory Lauer
Authors: Ryan E. Irwin, Chris Kappler, Itaru Nishioka


The problem that this paper is addressing is how can multiple SDN controllers communicate and share information in the context of multiple domains. The problem is you want to have controllable information sharing across controllers.

In this paper they propose coordinating control between controllers using shadowing subgraphs. They focus on the control plane-control plane communication across different domains. Each graph vertex, edge and attributes are used to store network state like network topology, link states and policies. The entities that carry control plane actions can then share part of these graphs, subgraphs. Their is a protocol on how information will be disseminated between different control plane actors.

They implemented a prototype distributed resource controller using a graph database and show an example of how to build a distributed resource controller for a multi-site VPN.

Q: Is the physical infrastructure fixed in your setup?
A: We are working on GENI, which is flexible. However one extension that we are considering is incorporating storage and compute resources in the graph.


Tuesday, December 10, 2013

CoNEXT'13: Virtualizing the Access Network via Open APIs

Presenter: Vijay Sivaraman
Co-authors: Tim Moors, Hassan Habibi Gharakheili, Dennis Ong, John Mathews, Grieg Russell

With rapid increase in residential broadband consumption and a growing number of Internet-enabled devices, there is congestion, severe impact on user quality of experience, and hence more challenges for content providers. One solution is to add more bandwidth in the access network, however the access networks are really costly.

This paper is proposing that ISPs virtualize access infrastructure, using open APIs supported through SDN, to create on-demand traffic slices in the network. Then, content providers can programmatically provision capacity to user devices to ensure quality of experience, users can match the degree of virtualization to their usage pattern, and ISPs can realize per-stream revenues by slicing their network resources. They specify the interfaces between the ISP, content provider and the user. They also propose an algorithm for optimally allocating network resources using elastic bulk transfer times and different access paths.

They evaluate the benefits of virtualizing the access network on video traffic and bulk transfer streams by running simulations on real packet traces from a campus network and evaluate and build a prototype.

Q: What if the ISP and content provider are the same entity? How would that affect the problem?
A: The access network will remain the bottleneck.

Q: Have you only considered wifi pooling within the same access network?
A: Yes, for these evaluations we assumed that we have the same operator.


CoNEXT'13: An Adaptive Flow Counting Method for Anomaly Detection in SDN

Presenter: Ying Zhang

The problem that this paper is addressing is what data should be collected such that we can do accurate anomaly detection. Prior work has proposed sampling data, however recent work has shown that sampling can severely impact accuracy.

This paper proposes a flexible and interactive interface between anomaly detector applications and network measurement. It proposes OpenWatch, a program that takes as input different anomaly detection applications and decides what flows should be monitored. It leverages the flexibility SDN offers in being able to choose what flows can be monitored. The key feature of OpenWatch is an adaptive mechanism, i.e, based on traffic pattern it can temporally(how frequently flows are reported) and spatially(what flows are reported, it can install more fine-grained or coarse grain rules to achieve that) adjust flow monitoring.


 OpenWatch is evaluated using a real packet trace from a cellular network. Its overhead and detection accuracy are evaluated as a function of the reporting interval and different aggregation levels with different anomaly detectors.


Q: There has been some prior work on flow counting using SDN, how relevant is that? and how does SDN help?

A: The prior work is relevant, with SDN its much easier to implement these function, e.g., selecting what flows to monitor. However, there is lack of study in how we can do active measurements.





CoNEXT'13: Optimizing the “One Big Switch” Abstraction in Software-Defined Networks

Presenter: Nanxi Kang
Co-authors: Zhenming Liu, Jennifer Rexford, and David Walker

Many controller platforms today force applications to manage the network at the level of individual switches by representing a high-level policy in terms of the rules installed in each switch. Instead, this work argues that SDN application programmers should define high-level policies and have the controller platform manage the placement of rules on switches.

The main challenge is ensuring rule space constraints (i.e., switches today can only have a few thousand rules in the TCAM) are respected while implementing application specific end-end policies. The main contribution of the paper is an efficient rule placement algorithm, that takes as input the topology of the network, end-end policies and routing policies, and outputs an efficient distribution of rules across all the switches. They argue that as compared to prior work e.g., Niciria, DIFANE their rule placement algorithm takes as input both the end-end policy and routing policy. As compared to Palette, it produces a more efficient distribution of rules across all the switches.

In their evaluations, they use complexity bounds and real and synthetic policies, and evaluate their algorithm in terms of (i) rule-space overhead, (ii) running time, and (iii) resources consumed by unwanted traffic. They show the overhead in installing rules is low, most unwanted traffic is dropped at the edge and computation overhead of the algorithm is really small (at most 8s for tested cases).


Q: Why are you trying to minimize the number of rules in a switch? Does it matter if the number of rules in each switch is close to its capacity?
A: We are considering cases where the network is dense and rules space is constrained.


Q: You are using linear programming for rule allocation, how does this LP scale?

A: We use the observation that our rule-space allocation depends primarily on the total amount of space allocated to a path, rather than the portion of that space allocated to each switch.





CoNEXT '13: Main Street, Wall Street (Session 1)


Crowd-assisted Search for Price Discrimination in E-Commerce: First results

Presenter: Nikolaos Laoutaris (Telefonica Research)

  • Story behind: You check a hotel price online, and observe that the quoted price is different than the one given by the same website, for the same product, at the same time to a different user (e.g. a user in a different country) → price discrimination (situation where two consumers are charged differently for the same product; based on how much they are willing to pay)
  • Rumoured to be a problem in e-commerce since the provider has a lot of information available that gives them clues about customer’s behavior (e.g. shopping history, geographic location, behavior on website)
  • Earlier study showed that they indeed observed different prices based on location, using Planetlab nodes as their measurement points
  • In this work: scaled the measurement study, primarily focussing on crowdsourcing
  • Contribution: $heriff, a browser plugin/extension that allows a user to check a price for an item he/she is interested in, and examines differences in prices given to other users
  • 340 beta users, 20 retailers with price variations, monitored 100 products from each retailer
  • Determined the price ratio (max/min price) for each retailer and found that it is larger than 1 for every retailer; for some retailers it is up to 2.0 (i.e. some users pay double the price than other users)
  • Country pairwise comparison: some countries are equally expensive (e.g. Germany vs. Spain), whereas some other countries are cheaper across the board (e.g. Brazil)
  • Determined pricing policies: observed multiplicative rules (e.g. a user from a particular country always pays 30% more a product than a user in another country); multiplicative + additive rules (e.g. pay 30% more + $30 extra for all items in one country)
  • Check out the extension at: pdexperiment.cba.upc.edu

Q: What’s the big surprise here?
A: No surprise. Our goal was to quantify the extent of price discrimination in e-commerce. Before there were only rumours that price discrimination is happening.

Q: How much discrimination can be attributed to factors like differences in taxation across countries?
A: For all results, we make sure that we use the initial price before added tax for our comparisons.

Q: Is the next step the setup of a brokering system, such that as a customer you can get the best price?
A: We thought about it, but it is a complex endeavour. For example, many retailers do not allow shopping from one location yet shipping to another location. However, this might be possible to solve using proxy mechanisms, e.g. for shipping companies like Borderlinx.

Q: Some price discrimination can be caused by elasticity in pricing, i.e. you would observe different prices even for a single user?
A: Correct. We have some anecdotal evidence that companies have large number of employees just focusing on setting the right prices.



Presenter: Ioana Livadariu (Simula Research Laboratory)

  • Situation: Internet registries run out of free IPv4 address space, and IPv6 is only adopted slowly; three RIRs made transfer markets legal
  • Approach: analysis of published transfers (list published by RIRs), and detect transfers in the wild to determine whether some transfers are not announced (using BGP routing tables)
  • Observed increasing number of published transfers
  • Legacy allocation accounts for 40% of all address space; 75% of published transfers are from legacy allocations → healthy redistribution
  • Question asked: Are transferred addresses actually used or are they merely hoarded?
  • Observation: 85% of transferred blocks are routed after transfer
  • Buyers need addresses more than sellers; higher utilization of non-transferred blocks (sellers use between 0.9 and 5.3% of their allocation, buyers use 5 - 19% of their allocation)
  • Determined that IPv6 deployment is not expected to eliminate the need for IPv4 addresses (48% of buyers went to IPv4 market before deploying IPv6)
  • BGP data analysis resulted in candidate list of possible transfers (prefix for which there is a change in the origin AS); designed filters to remove candidates which observed changes unrelated to transfers
  • Observed order of magnitude more candidate transfers compared to published ones (investigating manually)

Q: Is the market increasing?

A: Yes. We see an increasing number of candidate and published transfers.

CoNEXT 2013 Student Workshop: Datacenter — Measurement Session

Dissecting bufferbloat: measurement and per-application breakdown of queueing delay
Authors: Andrea Araldo (Telecom ParisTech, Paris, France), Dario Rossi (Telecom ParisTech, Paris, France)
Presenter: Andrea Araldo

Passive methodology to infer queuing delay in the Internet, and an implementation that can be downloaded and used
Validation of the tool: Results from a real ISP network to show per application view and QoE, and the causes of queuing delay.
Evaluate impact of queuing delay on the user experience

Bufferbloat is long queuing delays inside network buffers. It is due to two factors:
- Tcp congestion control, which is loss based - only reacts to congestion after a buffer is completely full.
- Memory is cheap -> manufactures make buffers large
Can see bufferbloat up to 4 seconds in a common router

There is much previous work:
Active: gives maximum queuing delay rather than the typical
Passive: measures queuing delay across all applications. This says nothing about user experience; high delay can be intolerable depending on the application

Contribution: first to give a per-application view of queuing delay.

Methodology was to place tstat into a real tier-3 ISP network.
Use DPI of tstat to do per-application breakdown.
8 classes of trace:
- Delay tolerant: OTH, Mail, and p2p;
- Middle sensitivity to delay: web, media chat;
- Highly sensitive to delay: Ssh, VoIP

Root cause analysis: queuing delay experience by an application caused by concurrent applications running on host at same time,
Thus need to look at correlation between applications running on the same host
Thus extract most frequent application flow combinations
e.g. (chat, p2p) and (chat, http)

Proposes a methodology to infer queuing delay, and provides an open-source tool.

Insights:
How applications suffer queuing delay
What the causes are of queuing delay

Future work:
Deployment of an operation tool for online traffic analysis, using their modified version of tstat.

Q for bufferbloat: can we find where the problem is
Can’t know exactly where it is, large ISP
Queuing happens when transiting from high rate link to low rate link, can use this to infer

Q: (statement) could be useful to run against collected traces and be able to use tool to analyze


------

Real-Time Diagnosis of TCP Performance in Clouds
Authors: Mojgan Ghasemi (Princeton University), Theophilus Benson (Duke University), Jennifer Rexford (Princeton University)
Presenter: Mojgan Ghasemi

Cloud providers need a tool to:
-Detect performance problems
Find origin of problem: Sender, receiver, network
And then drive corrective actions

2 previous approaches
- Gather tcp endpoint stats on end host
Needs to modify guest vm, changes trust model, uses tenants resources
- Collect offline packet traces on network
No app end host visibility
High measurement overhead
Offline - not effective for real time diagnosis

Solution presented is real time diagnosis
Use hypervisor
Advantages:
- Thus don’t need to modify tenant VMs, and avoid network overhead

Challenges:
No visibility into guest VMs
Need to scale to large no of connections (efficient memory)
Low delay and high throughput - needs to be fast while accurate

Every packet sent is captured in the hypervisor
Between the network and the VM
5-tuple key is used. If doesn’t exist then assign to a flow
Update the tcp state into a tcp state machine model, and update the flow stats in a flow table: constants (mss) counter *byte count) sample stats (eg rtt) calculated stats (e.g. CWND).

Also keep linked list of the samples gathered
Not the whole packets, just the key components
When ack of packet received then remove the sample - otherwise needs large memory requirements

Also want to be measuring ongoing connections: i.e. if miss the handshake
Need to be able to monitor connections midstream
Important as DC conns long-lived - not just new connections
Allows on demand monitoring
Reduces overhead by selective connection diagnoses

Two more challenges:
Don’t know the constants e.g. MSS and TCP options as missed handshake
Don’t know the TCP state and CWND

Solutions:
1. Constants and options: use moving min/max/averages based on the observed packets i.e. infer
2. Tcp state and cwnd - use heuristics to narrow down the state we don’t know: rate, spacing and loss.
Rate e.g. is exponential growth then in slow start, but if linear may not be able to deduce from rate
Packet spacing: observe amount of packets sent before the ack
Loss: e.g. if observe 3 duplicate asks, or a timeout - can use to work out point in the state machine

Active approach if can't work out state:
Fake a loss:
3-dupe acks - force application to divide its window in half
Or a timeout - forces slow start. Don't do - Too much impact on performance (nuclear option)
These are options if the operator determines it is worth the cost

Questions:

Q:
Can tell which tcp variant observing packets is using
A: nmap can do this
For now assuming Reno
Q: how does nmap do this?
A: unsure

Q:
Does it deal with secure connections, such as ssl?
A:  yes it does

Q: for active measurements, can divert/delay the packet rather than causing loss?
A: could do? (Not sure of answer)

Q: how can make sure don’t effect when measuring
A: if passive measurement then not affecting traffic

-------
Diagnosing Slow Web Page Access at the Client Side
Authors: Tobias Flach (University of Southern California), Ethan Katz-Bassett (University of Southern California), Ramesh Govindan (University of Southern California)
Presenter: Tobias Flach

Explain why web access slow sometimes
Infer solutions

Challenges
Web pages become increasingly complex
- Hard to establish which resources are responsible for bad performance

Some performance issues are short living
- Hard to reproduce the problem

Related work
Client side:
-Inject measurement scripts into the page (Fathom), (Netalyzr)
-Persistent network performance analysis
Server side:
- Collect data for requested resources

Solution proposed:
Tool, which passively monitors browser behavior as well as network traffic
And actively probe the network when detect an anomaly
Classifies the anomaly and determines root caused based on collected data and features

Architecture
Browser, data collection, data analysis
Analysis has anomaly rule set, and anomaly detection and classification

Data collection:
- One page may request multiple servers
Passive: tcp packets/connections, browser data (e.g. dom)
Active: pings and trace routes: only done if indicators suggest anomaly present

Data analysis:
1. Trigger active measurements from performance anomalies. E.g. a timeout, or the user clicks a button to indicate poor performance
2. Annotate recoded packets and connections
3. Cluster traces with common properties e.g. traces on common sub path
4. Map traces onto anomaly types

Conclusion
Tool to detect transient performance anomalies
Working on implementation fro chrome browser
Supplements existing frameworks that focus on detecting persistent issues
Rather than transient
Supplement not replaces existing tools


Questions:

Q: what to do when discover a problem?
As expertise often on client side, use their knowledge to approach the right people. Have more information than just "page doesn’t work" --- especially important for transient performance problems



Q: how can make sure don’t effect when measuring
A: definitely want to reduce active overhead, thus only when detect anomaly. For passive add additional constraints to minimize use, e.g. disable tcpdump if see bit torrent packets.
User tradeoff if want to enable to diagnosis overhead



 MARS: Measurement-based Allocation of VM Resources for Cloud Data Centers
Authors: Chiwook Jeong (Gwangju Institute of Science and Technology (GIST)), Taejin Ha (Gwangju Institute of Science and Technology (GIST)), Jaeseon Hwang (Gwangju Institute of Science and Technology (GIST)), Hyuk Lim (Gwangju Institute of Science and Technology (GIST)), JongWon Kim (Gwangju Institute of Science and Technology (GIST))
Presenter: Chiwook Jeong

Cloud data centers
Conventional resources allocation
Equal resource allocation -> can be imbalanced if resource demands -> performance degradation

Equal utilization allocation
- Service performance not equal to utilization -> can degrade user experience

Utilization is not equal to user experience
High usage rate of VM resources doesn’t always mean low service performance
Propose approach that directly measures the service performance rather than the usage rate of VM resources

Experimental environment for cloud computing
kvm, openstack, open vswitch
Top, virt-top, weighttp
To measure cpu/memory network

Mars 1:
Find worst performing vm
Vm with longest response time = worst performance = needs more resources

Mars 2: identify over utilized resource
Vm with longest over utilized resource = over utilized = needs more resources

Mars 3: re allocate the resource
The under utilize resource of vms is reallocated to the vm with the worst performance

Experimental results
Found improvement of 21.5% in average response time

Measurement based resource allocation strategy proposed for more efficient resource allocation
Future work:
Consider storage resource as well as CPU, memory and network bandwidth
Extend mars to vm consolidation problem