Let me put it another way.
When you download a file from a web server at say, 20MBps. How much total BW is consumed?
The answer is 40MBps, because the web server uploads at 20MBps, and your PC downloads at 20Mbps.
I don't agree with that.
You're arbitrarily choosing to divvy up and then repeatedly count the same data in multiple parts of the same "system". The web server is serving to me at 20MB/s. Period. That completely describes the "work" that is being done. Data started out on one machine and ended up on another. Are you also going to start adding
additional duplicate 20 MB/s rates as the data leaves the server's hard drive, traverses its memory systems, its network adapter, various routers,
my network adapter, my memory, my hard drive cache? There's no bottom to that rat hole, and it provides no additional insight about the raw download speed I see from that server.
Your example describes one set of data being moved at a specified rate between two points. There's no need to make it more complicated than that. And if you
do choose to make it more complicated, the amount of data moved over time still doesn't change. If you were talking about downloading from multiple servers simultaneously, while also doing processing and uploading, then sure, there would be value to a more nuanced tallying up of "total BW being used within a system". But that's because we would now be talking about a "bigger task".
Which takes me back to my "moving unique chunks of data" example. That's where you
can add stuff. Not when it's the same data traversing multiple points on a serial path. That just isn't how we've agreed to characterize BW between two entities.
Maybe. That's the way I see it. (I think we actually agree that adding certain BWs is a valid way to characterize the XB1 hardware. You are just taking that concept too far, IMO, with your slice-apart-and-re-count methodology.)