YouTube2Text

Network Topology Series: How Network Topology Impacts Throughput — Transcript

by Optimum · 2,382 words · 353 segments · language en · Watch on YouTube

Full transcript

  1. 0:07Hello everyone. It's been a little while
  2. 0:09since we've been at the board, but here
  3. 0:11we are. I have a piece of board all
  4. 0:14cleaned up uh for us to talk about
  5. 0:17networking today. Um and as we approach
  6. 0:22this festive season, what best to talk
  7. 0:25about than capacity and throughput in
  8. 0:28networks? Um, we talk a lot about delay,
  9. 0:33throughput, etc. Uh, and I'd like to
  10. 0:36just put a little bit of clarity and
  11. 0:38structure around how we can talk about
  12. 0:41these different um, measures of
  13. 0:44performance in networks. And it will be
  14. 0:47really good for us to have something in
  15. 0:49our mind ahead of a little series of
  16. 0:52conversations that I want to have uh
  17. 0:55around the internet protocol and
  18. 0:57particularly our role in the internet
  19. 0:59protocol for web 3. How optimum is
  20. 1:02really creating the internet protocol
  21. 1:04for web 3. Uh so let's talk a little bit
  22. 1:07about networking and what is a network.
  23. 1:10So a network effectively uh which we
  24. 1:13generally present as a graph. A graph
  25. 1:15made out of nodes
  26. 1:17uh that are connected with what we call
  27. 1:20edges which correspond effectively to
  28. 1:24either physical or generally notional
  29. 1:27links. So logical links between those
  30. 1:30nodes. Um, a network can generally be
  31. 1:33represented as a graph and it's
  32. 1:35basically just a collection of these
  33. 1:37nodes uh connected with uh these links
  34. 1:41or edges. Um, and I'd like to look at
  35. 1:45effectively two
  36. 1:48opposite
  37. 1:50cases of what a network can be. Um and
  38. 1:56what we'll see is that effectively this
  39. 1:58will really help us to think about
  40. 2:01different types of networks uh what we
  41. 2:03sometimes call topologies which is
  42. 2:05really a very fancy word for how these
  43. 2:07graphs look. So here I have the simplest
  44. 2:10network. I have two nodes uh one node
  45. 2:12talking to another and let's think of
  46. 2:14this as being what we call birectional.
  47. 2:16So they can talk to each other.
  48. 2:22Um so suppose that we have a bunch of
  49. 2:26nodes that want to talk to each other
  50. 2:28and in particular let's assume that
  51. 2:30we're in the situation with this node
  52. 2:32which we're going to call the sender
  53. 2:35and for instance in blockchain the
  54. 2:38sender could be the proposer. Okay so
  55. 2:41block proposer uh and then we're going
  56. 2:44to have different receivers sometimes
  57. 2:47called by RX. L RX1,
  58. 2:52RX2 and so on all the way to RXN.
  59. 2:57The sender is sending to these receivers
  60. 3:00and these receivers for instance might
  61. 3:02be um validators. Okay, that are
  62. 3:06basically going to validate what the
  63. 3:08sender sent. Uh so this topology is what
  64. 3:11we call generally a star topology
  65. 3:14because you know if instead of putting
  66. 3:15all the receivers down here I just put
  67. 3:18them all around the sender then it would
  68. 3:20look like a star. Again as I said
  69. 3:23perfect for the season. Um so what
  70. 3:27happens here? Well a sender sends to the
  71. 3:29receivers. So in a way this is like the
  72. 3:31most natural
  73. 3:33uh or you know first
  74. 3:37to come to mind type of topology or
  75. 3:40graph that you would think in order to
  76. 3:42have a sender talk to different
  77. 3:44receivers it just sends it to all of
  78. 3:45them.
  79. 3:50So the nice thing here is the sender is
  80. 3:52only a single hop from each receiver.
  81. 3:55So you would say well maybe delay was it
  82. 3:58doesn't look too bad. Uh the problem
  83. 4:00however is that all of these different
  84. 4:04links that I've shown here separately
  85. 4:07are actually generally all really
  86. 4:11coll-located in a single outgoing link
  87. 4:14in the input output of that receiver. So
  88. 4:17what happens is that this picture this
  89. 4:20logical picture hides an underlying
  90. 4:24physical reality which is that you know
  91. 4:28the sender generally doesn't have a
  92. 4:31dedicated link to each and uh all of
  93. 4:34those receivers. it generally has a
  94. 4:37single link that comes out of the center
  95. 4:39and then these are all actually just
  96. 4:42logical links and we'll see later how
  97. 4:45the internet protocol
  98. 4:48um suite of solutions actually creates
  99. 4:51these different logical links. So um if
  100. 4:55we normalize everything to a capacity of
  101. 4:58one really what happens here is that
  102. 5:00there's outgoing capacity of only one
  103. 5:04from the center. And so each of these
  104. 5:08individual logical links or edges
  105. 5:12actually has a capacity or total maximum
  106. 5:16throughput that's what capacity is of 1
  107. 5:20/ n.
  108. 5:23So it looks like you know maybe the
  109. 5:25propagation speed is pretty good but
  110. 5:27actually what happens is that your
  111. 5:30throughput is not that good. Um one of
  112. 5:33the ways that you could do this is you
  113. 5:35could do what's called time division. So
  114. 5:37the sender could first send to receiver
  115. 5:40one next to receiver two go basically in
  116. 5:44a roundroin way then come back to
  117. 5:46receiver one when it's done with
  118. 5:48receiver N. That's one way of splitting
  119. 5:50the bandwidth. Or you could split the
  120. 5:53bandwidth by just talking to all of them
  121. 5:55at once but sending fewer packets fewer
  122. 5:59uh quanta of
  123. 6:02um information. So this is one extreme.
  124. 6:06So here if you look at the throughput
  125. 6:09that each of these receivers can have uh
  126. 6:13it's basically the capacity it's
  127. 6:15basically 1 /x.
  128. 6:18Okay.
  129. 6:19Now um if you look at uh this topology
  130. 6:24and say well do we know anything uh
  131. 6:26currently in blockchain that looks like
  132. 6:28that actually yes we do. Um if you
  133. 6:31consider the Alpenlow system which is
  134. 6:35the next version coming up for Salana,
  135. 6:38it actually has exactly this star
  136. 6:41topology or exactly this construction um
  137. 6:45for the underlying graph.
  138. 6:51Um, there's a little bit of a trick here
  139. 6:54in that
  140. 6:56some of the traffic here might be what
  141. 6:59we call lost, which is not necessarily
  142. 7:01that it was a loss loss, but it was
  143. 7:02delayed enough that it looks like it
  144. 7:05didn't get there. So, let's just say it
  145. 7:07didn't get there on time for it to
  146. 7:09matter. U, so there's going to be an
  147. 7:12extra matter here that we're going to
  148. 7:14call a one over epsilon. So rather than
  149. 7:18being a full one, there's some epsilon
  150. 7:21that we're losing
  151. 7:24to the losses
  152. 7:26in the system. Okay, so maybe rather
  153. 7:30than being 1 / n, it's 1 minus epsilon
  154. 7:35to the n. And the reason people add
  155. 7:40coding and of course some of our earlier
  156. 7:43sessions at the board have talked a lot
  157. 7:45about coding is actually really to deal
  158. 7:47with this epsilon. This epsilon may not
  159. 7:49be huge by the way. It may be just a few
  160. 7:52percent. Uh so it's going to show up and
  161. 7:55you may say at this point well you know
  162. 7:57the n is pretty large like if you think
  163. 8:00again of say salana that's like 200
  164. 8:03right? So you're like, "Okay, Mariel,
  165. 8:05you know, you're dividing by 200 and
  166. 8:07maybe you're subtracting here like 0.1,
  167. 8:10you know, do I really care about the
  168. 8:120.1? That's not the biggest deal." Let's
  169. 8:14keep that in mind and let's look at the
  170. 8:16next example. So here we go. This is
  171. 8:20basically my star topology.
  172. 8:28We're going to look at the other extreme
  173. 8:30of topologies and that's going to be
  174. 8:33basically a daisy chain.
  175. 8:37So what happens in this daisy chain is
  176. 8:40that I'm going to have my sender.
  177. 8:44Okay,
  178. 8:47like before. And then I'm going to have
  179. 8:49all of these receivers. But the
  180. 8:51receivers are just going to be relaying
  181. 8:54to each other.
  182. 8:58So receiver n minus one. So receiver two
  183. 9:00and so on. Okay. So basically each of
  184. 9:04them is just connected to the next one.
  185. 9:08All right. We're still going to have
  186. 9:10this epsilon losses on each of these
  187. 9:12links. So I'm going to have one minus
  188. 9:14epsilon here etc.
  189. 9:17All right. Let's look at the throughput
  190. 9:19of what I can get here in this system.
  191. 9:22Well, I can get the full one minus
  192. 9:24epsson going from the sender to this
  193. 9:26receiver because I'm not splitting up
  194. 9:29the bandwidth like I did before. This
  195. 9:32sender only talks to this node and so it
  196. 9:34can dedicate all of its bandwidth to
  197. 9:37talking to that node. It doesn't have to
  198. 9:40share it with other people. But then
  199. 9:43this node is also going to talk uniquely
  200. 9:46to the next node.
  201. 9:49So all of its bandwidth is being
  202. 9:51dedicated. So every time I have this one
  203. 9:55minus epsilon. So the total throughput
  204. 9:59that I should be able to get here is
  205. 10:01actually one minus epsilon. So if I have
  206. 10:07this sort of daisy chaining as opposed
  207. 10:10to having this as a throughput that the
  208. 10:13sender can get to any one of the
  209. 10:14receivers
  210. 10:16because we have these relays here the
  211. 10:19sender can actually get the full one
  212. 10:21minus epsilon because remember that when
  213. 10:24we have in a blockchain a proposer it's
  214. 10:28actually sending the same thing.
  215. 10:31So here it's having to copy things to
  216. 10:34all of these different receivers, but
  217. 10:37here it basically sends everything to
  218. 10:39receiver one who's going to send
  219. 10:41everything to the next node and so on.
  220. 10:43So my throughput here looks fantastic.
  221. 10:47One minus epsilon.
  222. 10:54Now this is the maximum maximum
  223. 10:58achievable throughput. But remember the
  224. 11:00coding that we talked about. Here the
  225. 11:03coding is being done at the sender and
  226. 11:06then decoded independently at each of
  227. 11:09the receivers.
  228. 11:11What about here? Well, you could have
  229. 11:14the sender code to receiver one.
  230. 11:18Receiver one decode, then send to the
  231. 11:21next receiver after having recoded it or
  232. 11:25re-encoded it. Receiver two decodes,
  233. 11:28etc. problem is this is going to take a
  234. 11:30long time and as we'll see later
  235. 11:33sometimes it's just not possible.
  236. 11:37Um instead what people do is they use
  237. 11:41things like for instance as you see in
  238. 11:45uh turbine which is reolman codes or as
  239. 11:49you see in something um like raptocast
  240. 11:53for monad is they will use a code which
  241. 11:58is end to end and in that case what
  242. 12:01happens is that a packet has to get
  243. 12:04through each of these
  244. 12:07links. Okay, so it has to get through
  245. 12:10the first one and that happens with
  246. 12:12probability 1 minus epsilon that it's
  247. 12:15successful.
  248. 12:17Then it has to get through the second
  249. 12:19one probably 1 minus epsilon all the way
  250. 12:23to if you look at the very last one also
  251. 12:26one minus epsilon. So it's 1 - epsilon *
  252. 12:291 - epsilon etc etc etc. The throughput
  253. 12:33is one minus epsilon to the n
  254. 12:38if you do an n to end code. So that's
  255. 12:41really really far from the optimum
  256. 12:44throughput. As a matter of fact,
  257. 12:48even if my epsilon is not very big, say
  258. 12:50it's 0.1. So it's like 90% probability.
  259. 12:53If I have an n which is large, say 200,
  260. 12:57this is going to zero.
  261. 13:00Okay, it's going to zero exponentially
  262. 13:03actually with the number of nodes,
  263. 13:06right? Which is why a lot of systems
  264. 13:09haven't done this. So if you think of
  265. 13:11something that's uncoded
  266. 13:15like gossip sub for Ethereum, it's
  267. 13:18basically not quite doing this. It's
  268. 13:21trying to limit how many hops it has and
  269. 13:24it's kind of trying to manage, you know,
  270. 13:27um manage the problem. uh but
  271. 13:29effectively this is going to go down
  272. 13:33exponentially
  273. 13:35with
  274. 13:37uh with the number of notes uh
  275. 13:40approximation is that it goes basically
  276. 13:42as 1 minus n epsilon which means that
  277. 13:46you know if your epsilon is say 0.1 with
  278. 13:5010 of these you're basically at zero
  279. 13:54so disaster complete disaster
  280. 14:02Now what happens when you use RLNC?
  281. 14:06You encode
  282. 14:08and then without decoding you re-encode.
  283. 14:12Without decoding you re-encode and it
  284. 14:15turns out that you get this throughput.
  285. 14:19So the throughput actually is the
  286. 14:23optimum throughput that you would get if
  287. 14:26you were say sending
  288. 14:29everything decoding
  289. 14:32then coding again sending decoding which
  290. 14:36of course would take a long time.
  291. 14:43So you can see that this topology
  292. 14:47um is actually giving you a much lower
  293. 14:52throughput from the sender to each
  294. 14:54receiver.
  295. 14:56This topology is giving you a much
  296. 14:58higher throughput. Now here in terms of
  297. 15:00number of hops of course you have to go
  298. 15:02through n hops right um but you know
  299. 15:07speed of light it's very high. So if uh
  300. 15:10even in very simple systems that are you
  301. 15:15know basically public internet you you
  302. 15:18get something often very close to that.
  303. 15:21So you may have a little bit more delay
  304. 15:23but your throughput is higher here. You
  305. 15:25have fewer hops but your throughput will
  306. 15:27be lower.
  307. 15:29uh and we'll talk a little bit more
  308. 15:30about meshes and other things next time
  309. 15:33but basically what the internet protocol
  310. 15:36is trying to do is it's trying to manage
  311. 15:39the throughput and the delay. Uh one of
  312. 15:43the things to know here is that another
  313. 15:45way that you could try to operate this
  314. 15:48and the way uh internet protocols do
  315. 15:50right now is that instead of coding um
  316. 15:54they actually when something didn't get
  317. 15:56through they go back and ask for it.
  318. 15:59Same issue would happen. You would still
  319. 16:01get this exponentially decreasing
  320. 16:04throughput which means that the scaling
  321. 16:06basically sticks. Notice that here I
  322. 16:09actually don't even care how many nodes
  323. 16:11I have. Even if I have a really really
  324. 16:14large network arranged in this fashion,
  325. 16:18my throughput is entirely scale free. So
  326. 16:21in terms of scaling here, you get a
  327. 16:24perfect scaling in throughut and that's
  328. 16:27basically what we're doing with optimum.
  329. 16:35So most networks fall somewhere along
  330. 16:38these uh in the spectrum between these
  331. 16:40two extremes. Uh for instance, if you
  332. 16:43look at something like uh Monad's raptor
  333. 16:45cast or the current version uh of
  334. 16:49Salana, which is turbine, what they'll
  335. 16:52have is not something that's quite like
  336. 16:54this. They'll have a few extra nodes. So
  337. 16:56they'll take basically a version where
  338. 16:59there's a little bit of this kind of
  339. 17:01embedded in that. Um, if you look at
  340. 17:04something like Ethereum, you'll see a
  341. 17:07system which is like a little closer to
  342. 17:09the daisy chain, but what we call a
  343. 17:12mesh. We'll talk about meshes next time,
  344. 17:14but these are really helpful extremes to
  345. 17:18bear in mind the two opposite ends of
  346. 17:22how you can actually manage a network
  347. 17:25with a given number of nodes, a sender
  348. 17:28and multiple receivers. All right. So,
  349. 17:31um, with that, uh, we'll pick up here
  350. 17:34next time and talk a little bit about
  351. 17:36how the internet protocol that, uh,
  352. 17:38protocols that are out there try to
  353. 17:40manage this and how we manage it.

About this transcript

This page contains the full transcript of Network Topology Series: How Network Topology Impacts Throughput by Optimum, generated from the public captions YouTube serves with the video. The transcript has 2,382 words across 353 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.

What you can do with it

Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.

Free YouTube transcript tool

YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.