Commit Graph

328 Commits

Author SHA1 Message Date
Oliver Kowalke
1bc393b3ba docu: support for sanitizers 2019-10-02 08:22:06 +02:00
Oliver Kowalke
2b16d5445a documentation for shared_work updated 2019-05-17 10:28:36 +02:00
Oliver Kowalke
1b14248f8a update docu: multiplex fibers across multiple cores 2018-10-22 10:13:30 +02:00
Oliver Kowalke
8db97c837c fix documentation for buffered_channel::push()
- in context of #170
2018-10-02 14:39:16 +02:00
Oliver Kowalke
2fff971242 fix unsufficent synchronization of work-stealing algorithms 2018-08-21 09:53:37 +02:00
Oliver Kowalke
252a9513d9 docu 2018-05-26 06:04:10 +02:00
Oliver Kowalke
a76f54fcf3 move NUMA to separate library
- in context of #172
2018-05-13 09:20:38 +02:00
Oliver Kowalke
188246c8d2 docu: MinGW using pthread impl not supported on Windows
- in context of #172
2018-05-04 07:49:02 +02:00
Oliver Kowalke
de26f060f6 docu
- in context of #170
2018-03-22 08:35:39 +01:00
Oliver Kowalke
c8f3f405a7 fox docu
- in context of #168
2018-02-26 19:42:13 +01:00
Oliver Kowalke
c49b8424e4 update docu 2018-02-15 17:48:37 +01:00
Oliver Kowalke
7ff5a3564b NUMA: pin thread to CPU via std:🧵:native_handle()
- in context of #148
2017-12-29 06:34:35 +01:00
Oliver Kowalke
c8a5f4a242 docu: StackAllocator as rvalue reference in fibers ctor 2017-12-25 07:24:24 +01:00
oliver Kowalke
af2bba7970 docu: fix exampel code for worker-threads + work-stealing
- don't use boost::fibers::barrier
2017-11-16 08:49:57 +01:00
oliver Kowalke
19fbc2ad2c docu: add iterators for (un)buffered_channel 2017-11-14 08:59:44 +01:00
oliver Kowalke
bda06127b5 docu: qualtify this_fiber with 'boost::` 2017-11-14 07:56:53 +01:00
oliver Kowalke
773746b389 docu: replace waiting by synchronization 2017-11-10 07:53:44 +01:00
oliver Kowalke
58a4b88fa9 docu: replace set_ready() by schedule()
- in context of #153
2017-11-10 07:52:12 +01:00
Oliver Kowalke
81a20f8d7e documentation: running with worker threads 2017-11-07 19:08:09 +01:00
Oliver Kowalke
51f4944d93 update docu 2017-11-02 20:13:53 +01:00
oliver Kowalke
b6db2b2ebc docu: fix internal impl using call/cc 2017-10-20 11:04:37 +02:00
Oliver Kowalke
26e929643a documentation: algorithms do not support dynamic threads 2017-06-13 17:51:32 +02:00
Oliver Kowalke
b7ac4c67af UML statechart 2017-06-12 21:50:01 +02:00
Oliver Kowalke
18c0a64dfd correct CPU model used for perforance tests in documentation 2017-06-08 23:22:08 +02:00
Oliver Kowalke
ff7a27f0c1 documentation 2017-05-26 15:53:18 +02:00
Oliver Kowalke
11472ef1b5 documentation update 2017-05-07 08:09:43 +02:00
Oliver Kowalke
6cabe0be85 documentation: section 'optimization' 2017-04-23 10:19:52 +02:00
Oliver Kowalke
cada40ba91 documentation: update performance section 2017-04-16 13:15:00 +02:00
Oliver Kowalke
e3358bb9ba docu: add some notes to shared_work/work_stealing sched-algos 2017-04-02 21:44:39 +02:00
Oliver Kowalke
0a6384dd77 fix buffered_channel synchronization 2017-03-30 20:46:30 +02:00
Oliver Kowalke
8b2cda5c15 documentation updated 2017-03-27 18:05:56 +02:00
Oliver Kowalke
fc7f6e297e Fixed typo in fiber.qbk
- fix provided by Florian Behrens
2017-03-12 11:14:36 +01:00
oliver Kowalke
5c9d4e7cdd fix documentation related to channels 2017-03-08 08:09:07 +01:00
Oliver Kowalke
a0f27c8b04 buffered_channel's capacity must be a power of 2
- fixes issue #111
2017-02-25 10:27:30 +01:00
oliver Kowalke
b027ba3f77 fix Jamfile for doc generation 2017-01-18 10:24:00 +01:00
oliver Kowalke
20ca3705e7 pass stack-allocator to fiber in async()
- stack-allocator was mistakenly passed as argument to packaged_task<>
- additional overload for async() taking stack-allocator for fiber and
  allocator for packaged_task<>
2017-01-12 09:11:25 +01:00
Oliver Kowalke
bfb1c0a864 remove html files from doc 2016-12-27 19:08:42 +01:00
Oliver Kowalke
85ae668f53 documentation: support of valgrind 2016-11-24 19:26:53 +01:00
oliver Kowalke
a989468064 documentation: fix perfromance numbers for std::thread 2016-11-18 07:50:09 +01:00
oliver Kowalke
648de6a665 documentation: fix performance numbers for pthreads 2016-11-17 15:13:09 +01:00
oliver Kowalke
df8f8ac41f documentation: perforamnce numbers of threads 2016-11-14 08:02:09 +01:00
oliver Kowalke
1ea326d956 documentation: reorder columns in performance table 2016-11-11 07:46:34 +01:00
Nat Goodspeed
5bf854eff6 Retitle tables; remove mu from "systems". 2016-11-10 10:34:55 -08:00
Oliver Kowalke
6a10579e95 documentation: use micro seconds for performance measurements 2016-11-10 18:59:59 +01:00
Nat Goodspeed
f026de1458 Editorial pass through updated performance.qbk.
Also a couple of tweaks to referenced sections in scheduling.qbk.
2016-11-10 07:14:39 -08:00
Oliver Kowalke
290f1ff5ed update documentation
- section performance updated
- subsection tweaking
2016-11-09 08:16:28 +01:00
Oliver Kowalke
fa071c27cf use SPMC (chase-lev algoritm) for ready-queue (work stealing) 2016-11-03 11:05:51 +01:00
Oliver Kowalke
03e11d6538 spinlocks refactored
- use cpu_relax() to delay (using pause and equivalent mnemonic)
- exponential backoff if lock could no be acquired
- ttas, adaptive ttas
2016-11-03 11:05:05 +01:00
Oliver Kowalke
b53e167a68 support for channels refactored
- buffered_channel: MPMC with lock-free guarantees
- unbuffered_channel: rendezvous point
2016-10-30 19:33:49 +01:00
Oliver Kowalke
b1f609ea60 Revert "macro BOOST_FIBERS_SPINLOCK_YIELD added"
This reverts commit 550c164773.

- prevent CPU burning
- pause CPU while bussy waiting (pause() ... Linux kernel cpu_relax())
  instead
2016-10-21 17:13:56 +02:00