[ 
https://issues.apache.org/jira/browse/YARN-3366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14576702#comment-14576702
 ] 

Sidharta Seethana commented on YARN-3366:
-----------------------------------------

* classful, hierarchical traffic shaping with tc (and cgroups) works only for 
outbound network traffic - at this point this is no good way to do this on a 
per-container basis for incoming traffic. When packets have arrived and are 
‘known’ (somehow) to be destined for a specific container, the network cost has 
already been incurred . We could penalize the (remote) application that is 
sending packets, at best . 
* (Outbound) Network bandwidth utilization is collected on a per-container 
basis ( in terms of ‘total bytes sent’ - which will have to be periodically 
queried ) but it has not been hooked up to any metrics collection mechanism. 
See the ‘getBytesSentPerContainer()’ function here : 
https://github.com/apache/hadoop/blob/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/linux/resources/TrafficControlBandwidthHandlerImpl.java#L213
  . Again, this works only for outbound bandwidth and is restricted to 
containers only ( shuffle, HDFS, YARN NM traffic etc isn’t account for by this 
hook ) . Technically speaking, stat parsing based on tc output does gather 
outbound bandwidth utilization for all of the traffic shaping classes 
associated with a network interface and not just the containers, but through 
the resource handler we only expose utilization data for containers.

While we haven't done specific microbenchmarks, I did remember running into 
some data in presentation by a redhat engineer - let me see if I can find it 
again. 



> Outbound network bandwidth : classify/shape traffic originating from YARN 
> containers
> ------------------------------------------------------------------------------------
>
>                 Key: YARN-3366
>                 URL: https://issues.apache.org/jira/browse/YARN-3366
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>            Reporter: Sidharta Seethana
>            Assignee: Sidharta Seethana
>             Fix For: 2.8.0
>
>         Attachments: YARN-3366.001.patch, YARN-3366.002.patch, 
> YARN-3366.003.patch, YARN-3366.004.patch, YARN-3366.005.patch, 
> YARN-3366.006.patch, YARN-3366.007.patch
>
>
> In order to be able to isolate based on/enforce outbound traffic bandwidth 
> limits, we need  a mechanism to classify/shape network traffic in the 
> nodemanager. For more information on the design, please see the attached 
> design document in the parent JIRA.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to