'next' just got some big Mnesia -> ETS changes.

0 views
Skip to first unread message

Jesper Louis Andersen

unread,
Jul 21, 2008, 7:41:08 PM7/21/08
to etorre...@googlegroups.com
The 'next' branch got some really big changes pushed.

These basically changes the reliance on Mnesia to using ETS tables
instead. The atomicity is guaranteed by threading all stores through a
single process. The reason for this is that profiling has shown that
using mnesia is suboptimal for etorrent. Processes are just ending up
competing on getting things pushed into mnesia. This is much much
faster.

The changes are fairly stable, but they still lack some smaller
touchups I am sure before they are entirely ready. There are some
regressions, but not more than what is on master.

I've seen problems with completing torrents. I'll try to get those fixed.
I've seen problems with the fast-resume thing. That needs a fix too.

The plan ahead: First we'll need to convert more mnesia tables into
processes + ETS. That is fairly straightforward and simple to do. The
next thing is to make these processes fault-tolerant so a crash in one
doesn't kill the whole system. This is also pretty straightforward.

I've also been studying queueing a bit, but that has to wait for another post.

When the stuff stabilizes, it'll be moved to master.

Reply all
Reply to author
Forward
0 new messages