4 ms·
Stream for torrents is extremely damaging to the swarm, specially for new torrents. It breaks the protocol and may end up killing itself. Picture a case of majo
by gabriel34 13y ago
Stream for torrents is extremely damaging to the swarm, specially for new torrents. It breaks the protocol and may end up killing itself. Picture a case of major success for this: At Prime Time there is a rush of people streaming from a torrent, acquiring the same pieces of the torrent without servers to counterbalance the upload speed of people with the complete files can't stream the file in real time to a few people who in their turn can't replicate it fast enough to lots of people.
- epaladin 13y agoIt sounds like there is demand for a p2p system for distributed streaming, but breaking BT doesn't sound like a nice way of achieving that.
- hrjet 13y agoPrime time is time-zone dependent.
- wpietri 13y agoDo you have a demonstration of that effect? I'm not buying it from the words. With typical torrent use, you have to wait the entire download time before you can watch anything because the pieces are randomly selected. But adding streaming just means you have to bias toward the early pieces just enough to have a decent buffer. After that, you can still be random. The case of prime time seems to be better for this approach, not worse. People still won't all start at the exact same time. The early arrivals will all replicate the early pieces, beefing up the ability of the swarm to get the pieces everybody wants. I haven't looked at the code, but it seems to me that as long as it's flexible about the amount of time it takes to fill its initial buffer, and as long as it keeps serving after people are done watching (to compensate for the up/down pipe asymmetry), then the swarm would survive just fine. Indeed, I think making swarm participation much easier and more appealing might increase the depth of resources around any given torrent, making results net better for popular files.
- gabriel34 13y agoNo, I don't have a demonstration since nothing like this was ever widely adopted, but it is an opinion shared among the bittorrent community: "One of the key algorithms in bittorrent is the rarest-first piece picker. It is vital to bittorrent’s performance that the piece picker fulfills both of these requirements: The rarest piece is picked (from the client’s point of view of the swarm) If two or more pieces have the same rarity, pick one of them at random The reason to pick a random rarest piece is to always strive towards evening out the piece distribution in the swarm. Having an even piece distribution improves peers’ ability to trade pieces and improves the swarm’s tolerance to peers leaving." http://blog.libtorrent.org/2011/11/writing-a-fast-piece-picker/ http://blog.libtorrent.org/2011/11/writing-a-fast-piece-pick...
- wpietri 13y agoI think that analysis only holds for people who want the whole package and aren't in a hurry. If you're shifting to a demand-driven system, then pieces aren't needed equally. A numerically even piece distribution isn't what the swarm most needs. Indeed, I start watching things on Netflix that I never finish, so having more people with early pieces of something would better mirror actual demand for them. I'm sure that plenty of people in the Bittorrent community are worried about change, but plenty of people in every community are worried about change. Until I see some math or some simulations demonstrating that this can't work, I won't be persuaded that there's an actual problem beyond the (reasonable and legitimate) fear of change.
- steeve 13y agoThis is a real issue indeed. First of all, in XBMCtorrent, I'm using libtorrent-rasterbar, which is _very_ optimized for the swarm. Second, seeding in enforced during playback, to "give back". Third, there is a time randomization in which hot spots (pieces who are big demand) are also the ones who are the most shared (since everybody is seeding these).
- moheeb 13y agoPeople have been using similar technology to stream football games, which are as 'Prime Time' as things get. I don't see an issue.