- 22 Jul, 2020 1 commit
-
-
If they are required in future iterations they can be re-added from the history, however, for now it only confuses project users as it is not clear which data structures are actually in use.
FritzFlorian committed
-
- 28 Jun, 2020 1 commit
-
-
FritzFlorian committed
-
- 22 Jun, 2020 1 commit
-
-
FritzFlorian committed
-
- 04 Jun, 2020 1 commit
-
-
FritzFlorian committed
-
- 03 Jun, 2020 1 commit
-
-
The strain_local resources can be used to get unique IDs for resources that would, in a serial execution, only be used once in the call chain. This is a first prototype implementation and needs further tesitng. The current implementation adds linear overhead to each steal proportional to the number of used resources. We might be able to reduce it, but for a first version it is fine.
FritzFlorian committed
-
- 29 May, 2020 1 commit
-
-
FritzFlorian committed
-
- 27 May, 2020 1 commit
-
-
FritzFlorian committed
-
- 26 May, 2020 1 commit
-
-
FritzFlorian committed
-
- 18 May, 2020 1 commit
-
-
FritzFlorian committed
-
- 17 May, 2020 1 commit
-
-
Add key-points required to capture an execution DAG. Currently all data is in-memory and printed out. In future work it would be good to store the DAG's and/or process them further.
FritzFlorian committed
-
- 16 May, 2020 1 commit
-
-
Remove easy profiler for now. It might be useful for later on to get a grasp of general behaviour, but because of its issues with coroutines it is not worth profiling code with it right now.
FritzFlorian committed
-
- 24 Apr, 2020 1 commit
-
-
FritzFlorian committed
-
- 23 Apr, 2020 1 commit
-
-
FritzFlorian committed
-
- 17 Apr, 2020 1 commit
-
-
FritzFlorian committed
-
- 06 Apr, 2020 1 commit
-
-
FritzFlorian committed
-
- 30 Mar, 2020 1 commit
-
-
FritzFlorian committed
-
- 24 Mar, 2020 1 commit
-
-
It is now possible to use a memory mapped stack that throws a SIGSEV if thes coroutine stacks are exhausted.
FritzFlorian committed
-
- 18 Mar, 2020 1 commit
-
-
Remove the strict static memory allocation scheme in favour of placing objects on the heap at startup. This still keeps the requirements posed for modern, high performance embedded systems, but makes APIs a lot cleaner.
FritzFlorian committed
-
- 09 Feb, 2020 1 commit
-
-
FritzFlorian committed
-
- 30 Jan, 2020 1 commit
-
-
Older CMAKE versions wont work with export targets in different directories. For now we simply add the context_switcher manually to the export target of pls.
FritzFlorian committed
-
- 26 Jan, 2020 1 commit
-
-
FritzFlorian committed
-
- 24 Jan, 2020 1 commit
-
-
The deque trades tasks when stealing. Right now only the fast local path is tested and implemented. For the next step to work we also need to add the resource stack and resource tarding to the system.
FritzFlorian committed
-
- 23 Jan, 2020 2 commits
-
-
FritzFlorian committed
-
The rationale to do an custom implementation is that the existing solutions are quite a bit slower and/or require more memory.
FritzFlorian committed
-
- 02 Dec, 2019 1 commit
-
-
FritzFlorian committed
-
- 29 Nov, 2019 2 commits
-
-
This version runs through our initial fft and fib tests. However, it is not tested further in any way. Additionally, we added a locking deque, potentially hurting performance and moving away from our initial goal.
FritzFlorian committed -
The start_chain property does not make sense, as chains are purely 'virtual', i.e. they only fully exist when walking through the computation (by patching them on important events). We initially added the property as a helper for better runtime and simpler implementation, but we think without it we will not get as much inconsistency in the runtime state. Performance can be 're-added' later on.
FritzFlorian committed
-
- 27 Nov, 2019 1 commit
-
-
It is still not working, however we now have no more redundant code, making debugging it simpler.
FritzFlorian committed
-
- 25 Nov, 2019 1 commit
-
-
We changed up some of the memory constraints in the lock free deque and will need to see if this is ok. If so, the single threaded performance looks very good.
FritzFlorian committed
-
- 19 Nov, 2019 1 commit
-
-
Everything so far is untested. We only made sure tha fast path still seems to function correctly. Next up is writing tests for both the fast and slow path to then introduce the slow path. After that we can look at performance optimizations.
FritzFlorian committed
-
- 07 Nov, 2019 1 commit
-
-
This showcases the expected performance when a task executes a sub-tree without inference from other threads. We target to stay about 6x slower than a normal function call.
FritzFlorian committed
-
- 06 Nov, 2019 1 commit
-
-
This first sketch of the classes captures what we think is needed in terms of general interface and very mich WIP.
FritzFlorian committed
-
- 05 Nov, 2019 1 commit
-
-
We changed how the memory is allocated from passing char* buffers to then store objects into to creating 'fat objects' for all scheduler state. This eases development for us, as we can make changes to data structures without too much effort (e.g. add a second array to manage tasks if required).
FritzFlorian committed
-
- 02 Sep, 2019 1 commit
-
-
The scheduler yields if it failed to steal any work due to the task lists being empty. This should improve performance on multiprogrammed systems, as it potentially makes room for other worker threads which still have work to perform.
FritzFlorian committed
-
- 30 Aug, 2019 1 commit
-
-
FritzFlorian committed
-
- 30 Jul, 2019 1 commit
-
-
FritzFlorian committed
-
- 29 Jul, 2019 3 commits
-
-
This makes the programming model a full dataflow implementation, as it allows for branching and recursion.
FritzFlorian committed -
FritzFlorian committed
-
Recursion works by using a function node, calling the graph again. We separated an graph invocation form an function invocation within an graph, making the graph only handle one concern.
FritzFlorian committed
-
- 24 Jul, 2019 1 commit
-
-
FritzFlorian committed
-