Do multiple swarm peers that have pinned the same block cause faster download speeds like in torrenting?

I’ve setup the IPFS node onto multple VMs and connected them using the command ipfs swarm connect <node id>. When I pin the same block on multiple nodes, I was expecting my download to become faster for this block, by leveraging parellel downloads from multiple peers for different blocks in the merkel DAG, somewhat like how torrent does it from different peers.

Am I wrong in expecting this or do I need to do some additional configurations to make it work with multiple peers?

[UPDATE] I forgot to mention, I am using a modified version of go-ipfs but I’m pretty sure its not the reason I’m facing this issue. I am just storing the block hash to a smart contract on the ethereum blockchain. You can see the modified version of go-ipfs here https://github.com/utkarsh23/go-ipfs

You should see the benefit, especially on big files and folders. Is it not what you see?
Maybe your dowload link was already saturated?

Yes vry much so in a way

Download link saturated? I didn’t quite get that.

I’m downloading the file using ipfs get <block hash>.

It wasn’t clear, sorry. What I meant is that if the receiving node has a 1 Mbps and the first sending node is already sending at 1 Mbps, the other sending node won’t be able to contribute to the speed.

In the Netflix’s article on the blog (https://blog.ipfs.io/2020-02-14-improved-bitswap-for-container-distribution/), there’s some slides showing that having several seeders indeed increase the downloading speed.

And what is the consequence of that

Thanks for that @Akita . I’ve been performing my experiment with IPFS on google cloud VMs so I’m pretty sure that download speeds aren’t the bottleneck on cloud. I did see the bitswap article that you have attached and looks like I’m right in expecting faster downloads for multiple seeders. Still investigating this issue, if you got more ideas let me know. :slight_smile:

You are referring to pinning the same “block” and then to downloading a “block” but I think you mean DAG.

The level of paralellization will depend on the shape of your DAG. Is it a merkledag/unixfs? How big is the file that you added? Did you use default options in terms of chunking/dag-generation? And how many ipfs nodes are “multiple” ?

How slow is the download from a single ipfs node vs when several peers have the dag? What is the output of ipfs stats bitswap on each node?