| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | PGM.h: fixed an out of bounds array access on point lookup misses. | Douglas Rumbaugh | 2024-03-22 | 1 | -3/+21 |
| | | |||||
| * | MutableBuffer: added visibility flag to records and refactored timestamp | Douglas Rumbaugh | 2024-03-22 | 1 | -1/+5 |
| | | |||||
| * | FSTrie testing and debugging | Douglas Rumbaugh | 2024-03-22 | 1 | -101/+20 |
| | | |||||
| * | Record.h: Removed manual constructor and adjusted wrapped header fields | Douglas Rumbaugh | 2024-03-22 | 1 | -10/+26 |
| | | |||||
| * | Disabled lookahead for paper revision | Douglas Rumbaugh | 2024-03-22 | 1 | -1/+1 |
| | | |||||
| * | Updates/progress towards succinct trie support | Douglas Rumbaugh | 2024-03-20 | 3 | -15/+41 |
| | | |||||
| * | FST Shard w/ tests | Douglas Rumbaugh | 2024-03-19 | 1 | -0/+266 |
| | | | | | | | | | | Needs some debugging--some methods currently fail within the library itself. The build system doesn't currently build the FST library. To compile, you'll first need to manually build it, and then place the libFST.so file in your LIBRARY_PATH and LD_LIBRARY_PATH. | ||||
| * | VPTree: precalculate distances to make construction more efficient | Douglas B. Rumbaugh | 2024-02-21 | 1 | -19/+30 |
| | | |||||
| * | ExtensionStructure: first basic test of lookahead task stealing | Douglas Rumbaugh | 2024-02-12 | 2 | -1/+14 |
| | | |||||
| * | ExtensionStructure: Added simulated reconstruction lookahead | Douglas Rumbaugh | 2024-02-12 | 1 | -28/+88 |
| | | | | | | The reconstruction task procedure can now simulate future reconstructions to a specified depth. | ||||
| * | MutableBuffer: Allow hwm to equal lwm | Douglas Rumbaugh | 2024-02-12 | 1 | -1/+1 |
| | | | | | | The high watermark and low watermark can now be equal, to allow for blocking reconstruction without requiring odd buffer sizes. | ||||
| * | Refactored Reconstruction Tasks | Douglas Rumbaugh | 2024-02-12 | 5 | -20/+77 |
| | | | | | | Added a ReconVector type to make it easier to do load balancing by shifting tasks around, and clean up a few interfaces. | ||||
| * | Added structure state vector w/ scratch version for reconstruction | Douglas Rumbaugh | 2024-02-12 | 1 | -55/+89 |
| | | | | | | | | | | | | | | This approach should allow us to "simulate" a reconstruction to monitor the future state of the structure. The idea being that we can then add pre-emptive reconstructions to load balance and further smooth the tail latency curve. If a given reconstruction is significantly smaller than the next one will be, we can move some of the next one's work preemptively into the current one. The next phase is to do the simulation within the scratch_vector and then do a second pass examining the state of that reconstruction. In principle, we could look arbitrarily far ahead using this technique. | ||||
| * | Removed centralized version structure | Douglas Rumbaugh | 2024-02-09 | 2 | -35/+8 |
| | | |||||
| * | Framework: Fixed a bug where tagged deletes didn't release the epoch | Douglas Rumbaugh | 2024-02-09 | 1 | -2/+17 |
| | | |||||
| * | Comment updates/fixes | Douglas Rumbaugh | 2024-02-09 | 23 | -103/+223 |
| | | |||||
| * | Updated VPTree to new shard/query interfaces | Douglas Rumbaugh | 2024-02-08 | 4 | -235/+228 |
| | | |||||
| * | Added compiler fence to block reordering | Douglas Rumbaugh | 2024-02-08 | 1 | -0/+6 |
| | | | | | I'm reasonably certain that this is a compiler bug... | ||||
| * | Fixed a slight synchronization bug in Epoch retirement "properly" | Douglas Rumbaugh | 2024-02-08 | 1 | -10/+27 |
| | | |||||
| * | Cleaned up shard files (except VPTree) | Douglas Rumbaugh | 2024-02-07 | 7 | -529/+357 |
| | | | | | | | Cleaned up shard implementations, fixed a few bugs, and set up some tests. There's still some work to be done in creating tests for the weighted sampling operations for the alias and aug btree shards. | ||||
| * | Fully realized shard concept interface | Douglas Rumbaugh | 2024-02-07 | 14 | -40/+33 |
| | | |||||
| * | Fully implemented Query concept and adjusted queries to use it | Douglas Rumbaugh | 2024-02-07 | 11 | -52/+44 |
| | | |||||
| * | BufferView: Adjusted BV to avoid repeated modulus operations | Douglas Rumbaugh | 2024-02-05 | 2 | -15/+48 |
| | | |||||
| * | Set up tombstone deletes properly | Douglas Rumbaugh | 2024-02-05 | 4 | -26/+32 |
| | | |||||
| * | temporary hack to get working | Douglas Rumbaugh | 2024-01-31 | 1 | -6/+12 |
| | | |||||
| * | Adjusted epoch transition methodology | Douglas Rumbaugh | 2024-01-31 | 3 | -152/+120 |
| | | |||||
| * | More locking! | Douglas Rumbaugh | 2024-01-31 | 1 | -0/+2 |
| | | |||||
| * | Updated insert query throughput to use IRS queries | Douglas Rumbaugh | 2024-01-31 | 1 | -7/+11 |
| | | |||||
| * | Possibly fixed epoch retirement sync error | Douglas Rumbaugh | 2024-01-31 | 1 | -1/+5 |
| | | |||||
| * | Insert throughput benchmark | Douglas Rumbaugh | 2024-01-31 | 1 | -1/+1 |
| | | |||||
| * | Query/Insert intermix benchmarks | Douglas Rumbaugh | 2024-01-31 | 1 | -3/+4 |
| | | |||||
| * | Temporary thread affinity for reconstruction | Douglas Rumbaugh | 2024-01-31 | 2 | -1/+33 |
| | | |||||
| * | TrieSpline + tests | Douglas Rumbaugh | 2024-01-30 | 1 | -61/+90 |
| | | |||||
| * | Benchmarking updates | Douglas Rumbaugh | 2024-01-30 | 1 | -6/+23 |
| | | |||||
| * | DynamicExtension: Fixed reconstruction trigger data race | Douglas Rumbaugh | 2024-01-24 | 1 | -4/+7 |
| | | | | | | Tweak the reconstruction trigger code to ensure that multiple reconstructions won't be triggered at the same time. | ||||
| * | Adjusted recon_benchmark and properly shutdown FIFOScheduler | Douglas Rumbaugh | 2024-01-22 | 1 | -0/+1 |
| | | |||||
| * | FIFOScheduler: added automake wakeup | Douglas Rumbaugh | 2024-01-22 | 1 | -1/+12 |
| | | | | | | | | | | | | | Sometimes, when the max thread count is exceeded, it is possible for the scheduler to lock up. This is because the scheduler is only run when a new job is put into the queue, and so it is possible for a job to be blocked by thread limitations and be left sitting in the queue. If the main program is waiting on this job to finish before scheduling a new one, then the system deadlocks. I added a second background thread to the scheduler that wakes the scheduler up every 20us to resolve this and prevent these deadlocks. | ||||
| * | Added RangeCount query | Douglas Rumbaugh | 2024-01-22 | 1 | -0/+169 |
| | | |||||
| * | Initial rough-out of internal statistics tracker | Douglas Rumbaugh | 2024-01-19 | 6 | -35/+157 |
| | | | | | | | Need to figure out the best way to do the detailed tracking in a concurrent manner. I was thinking just an event log, with parsing routines for extracting statistics. But that'll be pretty slow. | ||||
| * | Multiple concurrency bug fixes | Douglas Rumbaugh | 2024-01-17 | 8 | -143/+130 |
| | | | | | | | | | A poorly organized commit with fixes for a variety of bugs that were causing missing records. The core problems all appear to be fixed, though there is an outstanding problem with tombstones not being completely canceled. A very small number are appearing in the wrong order during the static structure test. | ||||
| * | Concurrency testing and bug fixes | Douglas B. Rumbaugh | 2024-01-15 | 2 | -7/+24 |
| | | |||||
| * | Use 16-byte CAS to control buffer head | Douglas B. Rumbaugh | 2024-01-15 | 1 | -61/+59 |
| | | |||||
| * | Various single-threaded bug fixes | Douglas B. Rumbaugh | 2024-01-15 | 4 | -15/+55 |
| | | |||||
| * | Initial integration of new buffering scheme into framework | Douglas Rumbaugh | 2024-01-12 | 8 | -277/+142 |
| | | | | | | It isn't working right now (lotsa test failures), but we're to the debugging phase now. | ||||
| * | BufferView.h: Hopefully the last necessary tweak to the move semantics stuff | Douglas Rumbaugh | 2024-01-12 | 1 | -24/+2 |
| | | | | | | | | | You can't move assign an std::Bind, but you can move construct it. So I had to disable the move assignment operator. This means that when you change the BufferView ownership over to, say, a QueryBufferState object, you need to do it by passing std::move(buffview) into a constructor call only--you cannot assign it. | ||||
| * | InternalLevel update and tests | Douglas Rumbaugh | 2024-01-11 | 2 | -16/+39 |
| | | | | | | Plus some assorted fixes for move semantics stuff in BufferView that accompanied these changes. | ||||
| * | Ported ISAMTree over to new buffer setup | Douglas Rumbaugh | 2024-01-11 | 1 | -60/+65 |
| | | | | | | I may still play with the shard from shards constructor, and queries need some work yet too. | ||||
| * | BufferView: enforce move semantics | Douglas Rumbaugh | 2024-01-11 | 1 | -2/+19 |
| | | | | | | | Because a BufferView's lifetime is so tightly linked to the lifetime of regions of the buffer, it can't be copied without potentially breaking things. | ||||
| * | Fixed some potential buffer-related concurrency bugs | Douglas Rumbaugh | 2024-01-11 | 2 | -57/+94 |
| | | |||||
| * | MutableBuffer: multithreaded insert test + bugfixes | Douglas Rumbaugh | 2024-01-10 | 1 | -4/+9 |
| | | |||||