Live data from Hacker News

Baidu File System – A distributed file system for real-time applications

github.com

131–140 of 169 posts

Re: Baidu File System – A distributed file system for real-time applications

#131
post #129
post #127

Interesting: Google flags, protocol buffers, and Google C++ style.

If you look at Baidu's infrastructure, it's almost like a parallel universe where the names are identical or almost identical to Google's: BFE, GTC, GSLB. And BFS does look a lot like GFS2 aka Colossus.

Really makes you think...

Re: Baidu File System – A distributed file system for real-time applications

#132
post #115

What I really want to know: "Once your code has passed the code-review and merged, it will be run on thousands of servers" And the Chinese text below says tens of thousands of servers, which is it? :-)

Considering Baidu's scale, it would be tens of thousands. There are several other discrepancies in the doc between the Chinese version and the English one. Some technical proofreading is needed.

In this case, I think it's fine. Chinese has a named number for 10000 (wàn/万), so they used that. Since English doesn't, they used 'thousands'. In either case, the idea is that the code would run on a large number of servers.

For instance, Hindi has special names for 100000 (lakh), 10M (crore/karod) etc. so a similar translation to Hindi would use those even if it meant introducing a factor of 10 in the literal interpretation.

Re: Baidu File System – A distributed file system for real-time applications

#133
post #8

Looking through the code it supports fuse, but the documentation in ENG is sparse. It also looks to underpin Tera: the Baidu distributed DB. I think a low read/write latency dfs suitable for real time applications would be a game changer. I'm hoping they up the documentation from here and engage the English speaking community.

BFS has a very limited FUSE client.

There is another distributed file system that support full POSIX semantics with well tuned FUSE client, called MooseFS [1].

My ex-employer used that in production for about 8 years, the biggest cluster has more than 2PB.

Disclosure: I'm a MooseFS fan and contributor :)

[1] http://moosefs.org/

Re: Baidu File System – A distributed file system for real-time applications

#134

Earlier quoted context omitted.

Last time I checked English was the 3rd most spoken language on the planet. - Chinese - Spanish - English You mean in tech?

That's ordering by native speakers. If you count non-natives, English has far more speakers than Spanish (but far less than Mandarin).

Also, English is the most widely spoken too, by a wide wide margin.

Re: Baidu File System – A distributed file system for real-time applications

#135
post #76

Earlier quoted context omitted.

what is the leader/follower pattern? Something like master/slave approach?

It's the PC version of master/slave. See [0] for the original madness... [0] https://github.com/antirez/redis/issues/3185

antirez handled that pretty well.

Re: Baidu File System – A distributed file system for real-time applications

#138

Earlier quoted context omitted.

No, it's replicated read-write, but according to wikipedia, file locks are only machine-wide, so write collisions are easy to create.

Are you sure? From that same wikipedia: "AFS volumes can be replicated to read-only cloned copies."

They can be replicated to read-only copies, but AFS also supports multiple machine writes.

Re: Baidu File System – A distributed file system for real-time applications

#139

Earlier quoted context omitted.

During non-GC periods, probably true. But having a realtime filesystem service that is prone to stop-the-world GC pauses is a showstopper for many applications. Also, a C++ implementation is likelier to use far less memory than a Java implementation, assuming the skills of both programmers are roughly equal.

The underlying local filesystem on each node is not truly realtime, so a "realtime distributed file system" is already quite a stretch. Also JVM is perfectly fine with pause times below a few tens of ms worst-case (when using properly tuned G1, CMS GC), which is lower than worst-case latency induced by network + I/O. As for using less memory - you don't allocate buffers for file data on the JVM heap. You allocate the…

You're using the academic version of realtime, not the one that anybody cares about. HDFS's biggest problem is, and has always been, that it's literally impossible to tune it to give anything like reliable performance, mostly because the nameserver is a single point of lag for the entire system. "Worst case network and IO" latency is a huge stretch. Network performance is predictably sub-ms if you're using a network designed for modern distributed computing (A real stretch, I know, since almost all HDFS installations are on old-school core-router-tree infrastructure.) The IO operations are incredibly unpredictable - For a client at a time. Having individual servers that 10-20ms worst-case performance hiccoughs is nowhere near as bad for a system as all of your clients hiccoughing for even 5ms at the same time.

Re: Baidu File System – A distributed file system for real-time applications

#140

Earlier quoted context omitted.

Do you mean hackery of this sort: http://blog.xebia.com/persistence-with-docker-containers-tea... Or do you know of clean, container only (no plugins or special external tools) solution ?

Oh, sorry, didn't realize we were playing the "move the goalposts" game. If you were to google for "gluster" and "containers" you'd get everything from slick marketing stuff to a presentation at the recent Gluster developer summit in Berlin. I have no idea if any of those would meet your next set of standards but, frankly, meh.

Container hosting with a homogeneous cluster constraint was a real requirement for me that I could not find a solution for amongst existing options but since you're a gluster dev you'd probably know better whether its possible; so happy to stand corrected. Thanks for correcting; and no offence intended.
Post reply on HN