Designing an ultra low-overhead multithreading runtime for Nimawait/sync, Task, Future) Focus of the talk 12 - CPU-tasks - Throughput optimized - Preemptive scheduling 1001 forms of multithreading Hardware vs Software multithreading Data parallelism, Task parallelism - API: futures? (in Nim “Flowvar” to distinguish from IO-tasks futures) - Synchronization - Scheduling overhead - Thread-safe memory management 16 Dataflow parallelism - Alternative names - Pipeline Sources of overhead And “Implementation details” Characterizing performance of a runtime 4 22 Scheduling overhead 23 Context switching is costly Context switching to the kernel (syscall, creating threads)0 码力 | 37 页 | 556.64 KB | 1 年前3
Computer Programming with the Nim Programming Language
the appendix titled Changes for Nim 2.0. Note that incremental compilation (IC) or CPS task scheduling (Continuation-passing style) is still in development and not yet fully supported by Nim v2.00 码力 | 865 页 | 7.45 MB | 1 年前3
Computer Programming with the Nim Programming Language
the appendix titled Changes for Nim 2.0. Note that incremental compilation (IC) or CPS task scheduling (Continuation-passing style) is still in development and not yet fully supported by Nim v2.00 码力 | 784 页 | 2.13 MB | 1 年前3
Computer Programming with the Nim Programming Languagein the appendix titled Changes for Nim 2.0. Note that incremental compilation (IC) or CPS task scheduling (Continuation-passing style) is still in development and not yet fully supported by Nim v2.0.0 码力 | 512 页 | 3.54 MB | 1 年前3
Computer Programming with the Nim Programming Languagein the appendix titled Changes for Nim 2.0. Note that incremental compilation (IC) or CPS task scheduling (Continuation-passing style) is still in development and not yet fully supported by Nim v2.0.0 码力 | 508 页 | 3.50 MB | 1 年前3
Computer Programming with the Nim Programming Languagein the appendix titled Changes for Nim 2.0. Note that incremental compilation (IC) or CPS task scheduling (Continuation-passing style) is still in development and not yet fully supported by Nim v2.0.0 码力 | 512 页 | 3.53 MB | 1 年前3
Computer Programming with the Nim Programming Languagein the appendix titled Changes for Nim 2.0. Note that incremental compilation (IC) or CPS task scheduling (Continuation-passing style) is still in development and not yet fully supported by Nim v2.0.0 码力 | 508 页 | 3.54 MB | 1 年前3
Computer Programming with the Nim Programming Languagein the appendix titled Changes for Nim 2.0. Note that incremental compilation (IC) or CPS task scheduling (Continuation-passing style) is still in development and not yet fully supported by Nim v2.0.0 码力 | 508 页 | 3.50 MB | 1 年前3
Computer Programming with the Nim Programming Languagein the appendix titled Changes for Nim 2.0. Note that incremental compilation (IC) or CPS task scheduling (Continuation-passing style) is still in development and not yet fully supported by Nim v2.0.0 码力 | 508 页 | 3.52 MB | 1 年前3
Computer Programming with the Nim Programming Languagein the appendix titled Changes for Nim 2.0. Note that incremental compilation (IC) or CPS task scheduling (Continuation-passing style) is still in development and not yet fully supported by Nim v2.0.0 码力 | 508 页 | 3.53 MB | 1 年前3
共 29 条
- 1
- 2
- 3













