News for hackers. Stuff that matters.

betawaffle

Re:One week of Libera Chat on Wednesday May 26, 2021 @08:23AM (#27289568)
also zig and go-nuts
Re:‘Blockchain’ is meaningless on Thursday March 08, 2018 @11:52AM (#16545588)
Why can't we get hype for my friend Sparse Merkle Trees!
Re:Show HN: Lightning Network Search and Analysis Engine on Wednesday February 28, 2018 @06:50PM (#16488392)
You don't need to trust the third parties, that's the point.
Re:Torus: A distributed storage system by CoreOS on Friday June 03, 2016 @09:11AM (#11830089)
These are very good points, but also probably much more constructive as GitHub issues, where they can be either answered or addressed. In the meantime, hopefully I can talk to a few of these:

>haven't figured out consistency yet I don't recall this being the case, but I'm not the authority on the matter.

>I presume Torus is targeting (high IO efficiency, low latency) The best-possible performing storage solution is _definitely_ not our primary goal, though we'll take it where we can get it. The most important goals for the project are ease of use, ease of management, flexibility, and correctness when the use-case desires it. Please note that the block device interface is only one of many planned. The underlying abstraction was designed (and will be improved) to support other situations.

>Using etcd for allocation would be a reasonable choice, but putting it in the persistence path is now. Right now a database in your container would require two separate write streams to do an fsync In Torus today (with the block device interface specifically), and with the caveat that I'm not the authority, so I may be slightly wrong, calling sync(), fsync(), and friends result in what I think you would consider an "allocation". Writes happen against a snapshot of the file (in this block storage case, the block volume is the "file"), and then a sync() makes those changes visible as the "current" version. Syncs hit etcd, writes do not.

I would really encourage you to submit feedback like this in GitHub issues. The project is still in _very_ early stages, and legitimate feedback can actually make a difference.

Re:Torus: A distributed storage system by CoreOS on Thursday June 02, 2016 @05:09PM (#11826081)
Torus implements a kind of MVCC, yes. As for read-many-to-write-one, I assume you're talking about Reed-Solomon or similar erasure coding? There have been some papers written about ways to reduce that, a good one is from Facebook: https://code.facebook.com/posts/536638663113101/saving-capac.... And that's just one option. Also, this is all speculative since we have yet to implement erasure coding.
Re:Torus: A distributed storage system by CoreOS on Thursday June 02, 2016 @05:05PM (#11826051)
Nope, previous block versions get GC'd. I don't see how LBAs have any relevance here... you're talking about a much lower layer than what Torus is operating on.
Re:Torus: A distributed storage system by CoreOS on Thursday June 02, 2016 @03:42PM (#11825459)
The "interface" we're exporting is very different from the underlying storage. The block device interface we currently provide supports random writes just fine, but the underlying storage we use (which involves memory-mapped files) is append-only. Once written, blocks are only ever GC'd, not modified.
Re:Torus: A distributed storage system by CoreOS on Thursday June 02, 2016 @01:22PM (#11824312)
Torus is append-only too. We also plan to support something more like what Facebook's paper describes, where they have extra parity (xor) to support more efficient local repair.
Re:Torus: A distributed storage system by CoreOS on Thursday June 02, 2016 @10:00AM (#11822475)
Block devices (and NBD specifically) absolutely have a notion of sync(). We use sync() as the unit of write visibility. All writes up until a sync are effectively anonymous until a sync().
Re:Torus: A distributed storage system by CoreOS on Thursday June 02, 2016 @08:42AM (#11821967)
We had a POSIX interface early on (via FUSE), but decided to expose a a block storage interface first instead. This is not a "filesystem", it's a storage abstraction, and we've spent more than 6 months on it. Seems like a lot of folks are quickly jumping to conclusions, which is expected from "the internet", but I would have hoped for better from HN.