Commit graph

161 commits

Author SHA1 Message Date
Sears Russell
0dadb7f540 change pinDifferentPages benchmark so that the pages have poor memory locality. This leads to much lower performance. 2011-08-19 22:16:30 +00:00
Sears Russell
090124e3fe add read-only mode to sequentialThroughput benchmark, add timing data to its output 2011-08-19 22:15:38 +00:00
Sears Russell
b271eefaa4 remove write lock which is no longer required by buffer manager API 2011-07-15 16:28:50 +00:00
Sears Russell
a89c09d87c moved in-memory data structures and hash functions to util/ 2011-06-13 10:19:44 +00:00
Sears Russell
87d4563ab5 move compression and latchFree page formats to experimental/ 2011-06-13 08:02:20 +00:00
Sears Russell
377788a13e move a bunch of multiplexer and lsm related stuff into experimental/ directory 2011-06-13 06:58:34 +00:00
Sears Russell
801fb6de26 bugfixes and optimizations for the new log format; log preallocation and truncation utilities 2011-05-14 03:49:38 +00:00
Sears Russell
ad2b6a62ae fix bug where filePool was not syncing to disk, update log related benchmarks; add tweak to ringbuffer to prevent extremely high contention from breaking group commit. 2011-04-19 20:54:11 +00:00
Sears Russell
0a461faa04 add "raid1" a simple mirroring I/O handle implementation 2010-12-03 03:51:24 +00:00
Sears Russell
c7e07c5c5d cleaned up initialization code for stasis handles; it is no longer possible to instantiate the (long broken) non-blocking handle implementation 2010-12-03 02:18:56 +00:00
Sears Russell
a7f71d6dbf add convenience macros to latency profiler; turn on pread/pwrite profiling by default 2010-11-30 18:33:22 +00:00
Sears Russell
d8634edb3d add --target-ops option for the bufferManager benchmark. 2010-11-29 19:17:13 +00:00
Sears Russell
2ee81c62c4 add redblack tree memory overhead benchmark 2010-11-24 20:35:02 +00:00
Sears Russell
18984c7b44 initial checkin of latency profiler 2010-09-30 19:28:42 +00:00
Sears Russell
a3e7fc0fe2 add hint: stasis_buffer_manager_hint_writes_are_sequential. if set to 1, then only one thread will write back at a time, which leads to greatly improved sequential write throughput 2010-09-23 23:09:43 +00:00
Sears Russell
9ffc06c824 fix compilation on old boxes 2010-09-23 22:48:23 +00:00
Sears Russell
1048109ab8 initial checkin of buffer manager benchmark 2010-09-23 17:47:06 +00:00
Sears Russell
3b8679d09b call loadUninitializedPage in sequential throughput benchmark 2010-08-27 19:43:33 +00:00
Sears Russell
71292538e8 Amortize bucket initialization costs for linear hash tables. The best case improvement (~ 20%) is seen with hashes with fixed length key/value pairs and insert-only workloads 2010-05-12 17:51:20 +00:00
Sears Russell
250223086c reordered includes for compatibility with gcc3 2010-01-21 00:03:17 +00:00
Sears Russell
fa4e4fa980 fix compile warning 2010-01-11 21:02:25 +00:00
Sears Russell
d71e248291 removed freeLogEntry 2010-01-11 20:41:59 +00:00
Sears Russell
1af589dd18 remove malloc and memcpy from the in_memory_log read path 2009-12-31 23:25:56 +00:00
Sears Russell
1409a9eb27 more refactoring; log handles now manage their log entries memory 2009-12-31 23:01:37 +00:00
Sears Russell
a5788688c8 refactor getUpdateArgs; remove a bunch of casts, fix a bunch of warnings 2009-12-31 20:20:47 +00:00
Sears Russell
9aa1d9d652 pull memcpy out of allocUpdateEntry() 2009-12-31 19:30:40 +00:00
Sears Russell
32e40c949d added log modes to sequentialThroughput benchmark, added methods for concurrent appends to log api (and stubbed them out) 2009-12-31 19:02:34 +00:00
Sears Russell
2e237f2e2b fix memory allocation bug in rose benchmark initialization code 2009-12-04 19:26:23 +00:00
Sears Russell
2ff421bff0 initial opensolaris port 2009-11-29 03:22:36 +00:00
Sears Russell
51911f79f2 fix compiler warning 2009-11-09 23:45:50 +00:00
Sears Russell
8bd0616f97 new concurrent buffer manager 2009-11-09 19:50:00 +00:00
Sears Russell
f5e3ab2d91 concurrent hashtable seems to be working; still need to work out atomicity primitives (eg; options to leave the bucket locked on success) 2009-10-19 21:55:25 +00:00
Sears Russell
331f680c09 partial rewrite of transaction table to reduce thread contention 2009-10-15 02:33:08 +00:00
Sears Russell
4565aff9de more refactoring; no more globals in transactionTable.c 2009-10-14 21:22:50 +00:00
Sears Russell
fbdc0f0499 more benchmarks, add support for in memory log to the smallLogEntry benchmark 2009-10-13 01:50:35 +00:00
Sears Russell
0f2ab3c37c add a few simple multicore scalability tests 2009-10-12 22:29:10 +00:00
Sears Russell
6a02f2f159 buffer manager implementation is now determined by an overridable factory method 2009-10-05 22:39:09 +00:00
Sears Russell
0a1ca5e1cc make compilation succeed on macosx; this will still run macs out of disk space. Also, it disables a number of binaries that probably should be supported on macs. 2009-10-02 00:45:10 +00:00
Sears Russell
1ce1496226 dependency cleanups; removed compenastions from alloc.c 2009-08-22 00:01:02 +00:00
Sears Russell
0154f7d29d IMPORTANT API CHANGE: stasis_dirty_page_table_flush_range() no longer force writes to disk. You now need to call forcePageRange() after flush page range returns.
This commit should significantly improve sequential write thoughput.

I found a segfault bug this morning, but cannot reproduce.  Could be a heisenbug, or could have been a hardware fault (gojira repeatedly kernel paniced, then both problems went away...)
2009-08-13 05:53:48 +00:00
Sears Russell
a0f9a7bc81 Cleaned up page locking + a harmless memory bug. Add missing locks to page writeback. 2009-08-08 07:59:19 +00:00
Sears Russell
a6aa8ed942 added method to access dirtyPageTable 2009-08-05 20:02:33 +00:00
Sears Russell
081c61b414 cleaned up includes, autoconf is now optional, since cmake now creates a config.h 2009-07-26 18:51:45 +00:00
Sears Russell
8c012bd1c8 Silence extraneous warning, add '--mode -1' to the slotted benchmark (-1 bypasses function dispatch when setting the records) 2009-07-25 23:02:27 +00:00
Sears Russell
7f2edd880d New (more thorough, less frequent) tests for slotted pages. Renamed slotted methods, added microbenchmark for slotted pages. 2009-07-20 17:42:43 +00:00
Sears Russell
120665ae53 cleaned up arrayList. stasis_record_write no longer takes an LSN (it was ignoring it anyway). Added some missing calls to stasis_page_lsn_write (each time a page is written to, stasis_page_lsn_write should be called; this happens automatically for operations called via tupdate 2009-06-02 18:25:35 +00:00
Sears Russell
7db06197ca refactored truncation + dirty page table, fixed doxygen warnings. 2009-05-20 21:23:51 +00:00
Sears Russell
87218ad929 yet another refactoring; broke groupForce into its own module, removed more static variables and namespace violations 2009-05-13 18:04:53 +00:00
Sears Russell
731da7456a more eclipse refactoring; cleaned up some names, whitespace and documentation 2009-04-13 22:50:12 +00:00
Sears Russell
42cfc3d8ed benchmark script 2009-03-20 11:36:58 +00:00