Short intro. When I used PTS for the first time, I noticed a lot of download mirrors are long since gone.
(I would have liked legacy Enemy Territory benchmarks, played that game to death.)
And for those that are present downloads can be slow, large or both.
So I thought, wouldn't it be better to use IPFS as the primary distribution method?
https://ipfs.io/
IPFS is pretty cool and I'd suggest hitting up their site to get the full details, but short summary why it'd apply here:
- Uses a peer to peer network for data distribution (think a giant bittorent swarm).
- Uses content addressing (use cryptographic hashes of the file contents as it's address).
- The cross-platform daemon provides HTTP gateways and mounting for easy integration.
The torrent-like network advantages are obvious for PTS. If you're a heavy user of the suite, you can get your downloads over LAN from the test bench next door, rather than going out to a slow mirror on the other side of the planet. And bandwidth requirements for the mirrors will be lessened when PTS users share the data amongst themselves.
Additionally, with the content addressing you don't have to maintain these mirror URLs. It's only a matter of having "seeders" and the download will be very reproducible compared to relying on HTTP mirrors. Also, this may increase availability when a test is really old and mirrors stop offering the files.
---
The downside would of course be, you'll use system and network resources to seed for the network when you're done getting your files.
Some users may not like this for privacy or bandwidth reasons. And for some tests it may impact results to have that extra process running.
One way to relieve those issues is to use a public HTTP gateway, for example https://gateway.ipfs.io/ or one could run on openbenchmarking.org.
That would pretty much defeat the purpose of the peer to peer network though and be no different from being another mirror.
--
So what do you reckon, should this be implemented?
Would you be OK with running an IPFS daemon to share the benchmark data?
Do you think it should be the default or opt-in?
Should public gateways be added as mirrors?
(I would have liked legacy Enemy Territory benchmarks, played that game to death.)
And for those that are present downloads can be slow, large or both.
So I thought, wouldn't it be better to use IPFS as the primary distribution method?
https://ipfs.io/
IPFS is pretty cool and I'd suggest hitting up their site to get the full details, but short summary why it'd apply here:
- Uses a peer to peer network for data distribution (think a giant bittorent swarm).
- Uses content addressing (use cryptographic hashes of the file contents as it's address).
- The cross-platform daemon provides HTTP gateways and mounting for easy integration.
The torrent-like network advantages are obvious for PTS. If you're a heavy user of the suite, you can get your downloads over LAN from the test bench next door, rather than going out to a slow mirror on the other side of the planet. And bandwidth requirements for the mirrors will be lessened when PTS users share the data amongst themselves.
Additionally, with the content addressing you don't have to maintain these mirror URLs. It's only a matter of having "seeders" and the download will be very reproducible compared to relying on HTTP mirrors. Also, this may increase availability when a test is really old and mirrors stop offering the files.
---
The downside would of course be, you'll use system and network resources to seed for the network when you're done getting your files.
Some users may not like this for privacy or bandwidth reasons. And for some tests it may impact results to have that extra process running.
One way to relieve those issues is to use a public HTTP gateway, for example https://gateway.ipfs.io/ or one could run on openbenchmarking.org.
That would pretty much defeat the purpose of the peer to peer network though and be no different from being another mirror.
--
So what do you reckon, should this be implemented?
Would you be OK with running an IPFS daemon to share the benchmark data?
Do you think it should be the default or opt-in?
Should public gateways be added as mirrors?
Comment