Open GoogleCodeExporter opened 9 years ago
Remote log implementations will also have to deal with this problem. Otherwise
Tabort() will need to round-trip data to the log server.
Original comment by sears.ru...@gmail.com
on 1 Jun 2009 at 9:34
Original comment by sears.ru...@gmail.com
on 4 Nov 2009 at 3:30
There are a few related issues worth addressing:
1) Log appends do not take advantage of multiprocessors, since they grab a big
lock.
This could be fixed by having log append generate an entry, calculate its size, then
reserve a slot in the log buffer. It would then memcpy into the buffer, and
decrement some reference count when done. This should give us group commit for
free,
since these operations could be performed even if another thread is inside of a
synchronous disk operation.
2) Log truncation is currently too expensive. It should not need to copy data
in
order to truncate.
3) It would be nice if the log integrated in nicely with Stasis' I/O handle
stuff
Original comment by sears.ru...@gmail.com
on 10 Dec 2009 at 1:52
r1350 completes the refactoring that part (1) was blocked on.
Original comment by sears.ru...@gmail.com
on 23 Jan 2010 at 2:38
This problem also limits Stasis' sequential log bandwidth.
Original comment by sears.ru...@gmail.com
on 23 Jan 2010 at 2:40
The new file pool log better leverages multiprocessors, and greatly decreases
the cost of log truncation. However, it still relies upon global mutexes.
Original comment by sears.ru...@gmail.com
on 2 May 2011 at 10:21
Original issue reported on code.google.com by
sears.ru...@gmail.com
on 13 May 2009 at 1:57