sears
bded48a306
add new server implementation that uses FILE to buffer I/O, and handles a smaller, fixed number of connections -- leads to an almost 4x speedup on no-ops on nehalem
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@986 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-08-11 22:46:55 +00:00
sears
569b46363b
moved most of the request dispatching logic from logserver.cpp to requestDispatch.cpp
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@985 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-08-11 17:43:39 +00:00
sears
4a42e4f904
tcpclient now usees fread/fwrite instead of read/write
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@983 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-08-10 23:56:54 +00:00
sears
2a45c2cda8
add no-op network call, and a simple benchmark that exercises it
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@980 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-08-09 20:21:41 +00:00
sears
dc75f6d1f0
Implemented snowshoveling, with caveats.
...
This commit includes concurrency control for datapages, the new backpressure for the c0-c1 merger, and (untested) support for defining NO_SNOWSHOVEL, and using the old approach.
There are a number of important limitations:
- statistics gathering is somewhat messed up
- the c0-c1 merge thread polls for new data
- on a sequential write, if the writers stall, the merge thread could empty memory and initiate an unnecessary merge. Instead, we should never finish a merge if c0 is less than N% full
- this commit introduces yet another batch of nasty mutex contention issues
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@955 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-08-05 17:43:46 +00:00
sears
00d6cd2440
added destructor to diskTreeComponent (fixes file handle / memory leak)
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@954 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-08-05 17:39:31 +00:00
sears
7a1b2f9687
revert change that silenced g++ warning. the change broke ancient g++
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@953 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-08-05 17:23:12 +00:00
sears
29555bd6f6
silence compiler warning
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@941 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-07-20 19:12:47 +00:00
sears
7bed4b67ba
fix a bunch of 64-bit integer signedness bugs
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@940 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-07-16 21:43:21 +00:00
sears
eb8b57378a
laying the groundwork for snowshoveling; as of this commit, pointers and null padding happens in an order that should let us query incomplete tree components. We should only need short page latches at this point (so that we do not look at partially written keys/values)
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@931 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-07-14 22:42:26 +00:00
sears
9dcb624649
improved bps estimation; add "minisleeps" to update_progress; they do not belong there long term, but this is better than nothing
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@929 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-07-14 21:46:27 +00:00
sears
cf6c6e5955
incease UPDATE_PROGRESS_DELTA by 10x, and FORCE_INTERVAL by 2.5x; tick no longer grabs a writelock on header_mut, and instead uses its own mutex
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@870 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-06-21 22:59:05 +00:00
sears
fded91fec6
two unrelated changes: release rb_mut before getting header_mut on read path (breaks delta tuples), and implement first-cut support for pulling in statistics when reopening logstores (required for correct recovery)
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@868 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-06-21 20:03:05 +00:00
sears
118ae94a9b
cleaned up comments; upped force_interval to 10mb
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@864 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-06-18 23:52:17 +00:00
sears
1c02dc1281
add overshoot2
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@863 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-06-18 23:44:48 +00:00
sears
8c35a1265a
fix bug in overshoot_fudge computation; reduce number of knobs
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@860 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-06-18 23:00:23 +00:00
sears
eda7c0fd12
enable force interval; play with some knobs
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@854 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-06-18 02:07:55 +00:00
sears
2530009ec0
fix deadlock; do not clear need_tick bit until overshoot is less than zero; tweak constants accordingly (fewer mutex acquistions! less blockage!)
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@852 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-06-18 00:06:46 +00:00
sears
0a2c4796a8
removed bad assert
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@843 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-06-17 05:05:35 +00:00
sears
0fb644640a
improved concurrency for merger. not happy with worst case write latency on my dev machine anymore (seems to be less than 2.5 seconds, up from less than 1).
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@842 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-06-17 04:49:19 +00:00
sears
0ecd7491c7
fix minor stats bugs; pull most stats computation into update_progress. The idea is that update_progress and tick, which are easily amortized, are the only stats things that need to grab latches
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@827 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-06-05 00:41:52 +00:00
sears
fe7ce3a785
tweak some constants to silence latency sla warnings
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@825 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-06-03 00:12:31 +00:00
sears
eda514ddaa
amortize the computation of statistics (but not mutex acuqisitions) across many tuple insertions. Also, refactor stats stuff with latch contention in mind (but it still grabs too many latches...). This commit causes check_tcpclient to emit warnings on my machine. Not sure if it will happen on production hardware
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@824 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-06-02 21:47:58 +00:00
sears
fcf0dcca99
cleanup / reimplement some of the statistics calculations. dial back periodically_force
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@821 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-05-28 21:20:26 +00:00
sears
dca4fbe594
revert server thread count (it was set to 5 for debugging, then accidentally committed...)
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@820 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-05-28 18:31:34 +00:00
sears
4050475de9
more bugfixes / cleanup. latching is probably overly conservative at this point, but ycsb bulkload finally seems to work
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@819 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-05-28 01:29:10 +00:00
sears
d981d91dfa
numerous bugfixes; rate limit progress meter display
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@816 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-05-27 23:15:24 +00:00
sears
6eecf1557a
restore support for concurrent disk reads; logserver was accidentally using a findTuple function that assumed diffs. This commit uses rwlc, and requires Stasis -r1393 or better
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@814 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-05-27 01:49:27 +00:00
sears
0e375c005b
more merge tweaks
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@813 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-05-26 23:53:21 +00:00
sears
aa7f7189d6
admission control *almost* works; c1 sometimes blocks for a long time when a new c2 is created
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@809 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-05-26 00:58:17 +00:00
sears
c50c14d259
admission control is now behaving properly (but there are still no concurrent writes, or bounds on how long admission control throttles a given writer)
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@806 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-05-21 23:43:17 +00:00
sears
2a1157602a
Rewrite merge thread synchronization code, update status messages, implement preliminary (and ineffective) admission control, and force write merged data every megabyte (so that prograess can be tracked by admission control. Also, refactor quite a few things.
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@805 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-05-19 23:42:06 +00:00
sears
1adb980555
added throttling policy and better stats. the throttling makes a merge policy bug painfully obvious (committing because i plan to do some refactoring...)
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@802 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-05-12 22:16:41 +00:00
sears
7b2560d906
initial merge manager (multi-merge) statistics
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@797 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-04-29 23:13:04 +00:00
sears
ce48882946
oops; forgot to add mergeStats.h; finished encapsuating its state
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@795 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-04-29 01:03:56 +00:00
sears
176a1e804a
more encapsulation changes
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@794 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-04-29 00:57:48 +00:00
sears
ded9cc2585
fixed rounding errors in statistics written to stdout; whitespace cleanup; more encapsulation
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@793 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-04-28 21:29:15 +00:00
sears
151373d09a
refactoring; move init_stasis into logtable, put merge stats into their own module
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@792 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-04-28 19:21:25 +00:00
sears
418bc33805
add --benchmark flag; simplifies things when I push diffs from the dev machine to the servers
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@790 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-04-27 17:57:43 +00:00
sears
2f15673c80
pass sequential I/O hints to stasis
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@773 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-04-12 20:56:54 +00:00
sears
21238f1961
silence excessive debug spam
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@768 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-31 22:54:56 +00:00
sears
fb073c5671
fix integer arithmetic bug that caused C0 and C1 to merge arbitrarily often
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@767 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-31 22:54:26 +00:00
sears
2ea8b9ff44
latching fixes, server no longer ignores --test, performance tuning
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@759 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-24 20:30:35 +00:00
sears
ead6207f86
add --test argument to server, fix segfault due to scans with empty c0_mergeable
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@699 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-17 23:45:41 +00:00
sears
e1c937a602
Refactoring of logtable. Cleaned a bunch of includes, and logtable is now a template. This is in preparation for the new merge policy
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@698 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-17 21:51:26 +00:00
sears
6cd1ccb5ff
commented about merge transaction strategy
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@697 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-16 17:58:19 +00:00
sears
28433bf336
remove logiterators.h/cpp and stop #including datapage.cpp
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@690 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-13 00:41:37 +00:00
sears
c8c48a188d
more refactoring; all iterators now live in their respective tree components, fixed some hardcoded parameters; encapsulate allocators inside of diskTreeComponent
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@689 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-13 00:05:06 +00:00
sears
dc8185a236
eliminate "lastLeaf" parameter from all functions in the diskTreeComponent API
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@686 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-09 23:48:42 +00:00
sears
5f0d5c4f97
use RegionAllocator for InternalNodes and DataPages
...
git-svn-id: svn+ssh://svn.corp.yahoo.com/yahoo/yrl/labs/pnuts/code/logstore@685 8dad8b1f-cf64-0410-95b6-bcf113ffbcfe
2010-03-09 23:17:03 +00:00