350 Commits (25451fa26a21c9d88d06e989b3a625f4a997d9ff)
 

Author SHA1 Message Date
Constantin Fürst 76e7f192b1 add source file for the benchmark structure diagramm 11 months ago
Constantin Fürst 2eb2bcdfe9 start writing chapter 03 11 months ago
Constantin Fürst c8d4d5c844 slightly change the sequence diagram for threading scenario 11 months ago
Constantin Fürst b218280a25 add another bullet point to futurework in chapter 7 11 months ago
Constantin Fürst cd78e4730d add a paragraph about hbm in the state chapter 11 months ago
Constantin Fürst 5d5a3a6649 add a first batch of graphics to implementation chapter 11 months ago
Constantin Fürst 7be56e6419 fix more spelling mistakes from previously written parts of state and designt, add the generated pdf file to git too 11 months ago
Constantin Fürst e551e6b56c fix spelling mistakes and such in the recent additions 11 months ago
Constantin Fürst 27cd0f07d1 continue writing the implementation chapter, which is almost complete now 11 months ago
Constantin Fürst bbdb2d9588 prevent another type of deadlock that could arise from destroying a CacheData instance that never had tasks assigned to it due to waiting infinitely on it 11 months ago
Constantin Fürst e9785f3f9e prevent deadlocks by setting the cache pointer to the source address in case of errors 11 months ago
Constantin Fürst fa23c6c50a improve the handler distribution and waiting on task completion for cacher 11 months ago
Constantin Fürst 41cf89f7a6 continue writing the implementation chapter 11 months ago
Constantin Fürst 627ab7eec6 continue writing the implementation chapter 11 months ago
Constantin Fürst 7e48c96828 distribute multiple per-node locks for the cache state and allocate them on the respective numa node for fastest possible access 11 months ago
Constantin Fürst cc452fb1a4 Merge branch 'dev-caching' into writing 11 months ago
Constantin Fürst 1a3cb6dada prettify credit in the readme 11 months ago
Constantin Fürst 0ad0e4af04 remove the manual build script and add numa and cpu asignment to the execution script 11 months ago
Constantin Fürst 6cc49daf89 remove all unused files and benchmark methods, adapt the MAX-Benchmark to use the cacher, remove manually-set numa configuration and replace it with dynamically adapting to the configured affinity, add two more template-options to the worker that control whether a is cached as well and whether scanb waits on the caching 11 months ago
Constantin Fürst 2b635d025d add defaulted-constructor for cache which got implicitly deleted by deleting the copy constructor 11 months ago
Constantin Fürst 641a7593fe add query driven prefetching code repository copy 11 months ago
Constantin Fürst 5578f06c80 adapt copy policy function to take data size as well and use this to only use destination nodes dsa engine for small data sizes on xeonmax 11 months ago
Constantin Fürst da38c048ca pass data size to copy policy function too 11 months ago
Constantin Fürst 3301b17497 write a chunk of implementation chapter 11 months ago
Constantin Fürst c19ffa975c reorder state chapter and add todos for the new sections, namely on hbm and query driven prefetching 11 months ago
Constantin Fürst e5b6230dc6 add todo to unfinished part of conclusion and add bullet points from implementation as futurework 11 months ago
Constantin Fürst 09a95f1e50 add todos to unfinished parts of the thesis 11 months ago
Constantin Fürst f910efd7e8 write section 4.2 on cache design 11 months ago
Constantin Fürst e4a681ac1e delete the copy-constructor for cache as copying it is undesired behaviour 11 months ago
Constantin Fürst e570a6fe69 reduce the line-count of the switch statement for dml::StatusToString by inlining return with case statements 11 months ago
Constantin Fürst 0fdf650fe4 improve the class-comments for Cache and CacheData, also free incomplete_cache_ if it has not been waited for (see comment on this) 11 months ago
Constantin Fürst 8ba716353a add Clear() function which forces flush on the entire Cache and remove non-warning/error status messages from the cacher 11 months ago
Constantin Fürst d7c5c55208 turn library into single-header mode 11 months ago
Constantin Fürst 4fa5ef6522 accept existing cache if the cached block is larger than the requested view 12 months ago
Constantin Fürst 6ab88595b7 add test for the cache-flush logic which was previously not tested 12 months ago
Constantin Fürst 7dfbed68fe handle allocation slightly different, introduce a separate function for cleaner code that does on-node memory allocation, first querry the available size and do not rely on numa_alloc_onnode to report nullptr if the size is not really available 12 months ago
Constantin Fürst 4ddd96adcb remove extra whitespace from output in main function 12 months ago
Constantin Fürst e3e17cec7b extend the main method of the small supplied test program to allow running on multiple threads 12 months ago
Constantin Fürst e5b96727cd add missing inline specifier to functions as this is header-only code 12 months ago
Constantin Fürst 9c06bd4fa9 add class-definition comments and clear some double-newlines 12 months ago
Constantin Fürst 53e05d096c add even more comments and remove an old code line that modified the reference counter of cache data from the outside 12 months ago
Constantin Fürst 52566fc13b print to cerr for bad states in the test-main 12 months ago
Constantin Fürst 46de3151a2 add a lot of comments to the code, also handle errors in the dml handlers gracefully 12 months ago
Constantin Fürst c01eafedae refactor the cacher to reduce complexity, removes the access guarantees (relaxed,immediate,...), uses the fact that other tasks will wait on atomic value change for the cache-pointer if it is nullptr to add the entry to cache structure earlier reducing cost of two threads accessing new entry at the same time, splits the offloading-cache.hpp file into two with one containing the data-class (represents a cache entry and task) and the other containing the cacher itself 12 months ago
Constantin Fürst 395d307310 fix an issue with the freeing of data in the cacher 12 months ago
Constantin Fürst f19c069b0f always perform copy from src and dst node, add another log output about the split 12 months ago
Constantin Fürst 5e30a370ce finish first stage of caching implementation and provide a rudimentary test function in the main 12 months ago
Constantin Fürst d396056230 provide first draft of implementations for the cachers functionality 12 months ago
Constantin Fürst 623366433b continue modifying the declarations for the cacher and providing some first definitions 12 months ago
Constantin Fürst f91cd3202f add project 'offloading cacher' and function declarations for the cacher in its header file 12 months ago