Interesting Upcoming Features from Low Latency, Parallelism and Concurrency0 码力 | 56 页 | 514.85 KB | 6 月前3
Rethinking Task Based Concurrency and Parallelism for Low Latency C++Michael A Maniscalco ○ Software Architect and Principal Developer at Lime Trading ○ We develop low latency market data and trading software for use in HFT ● Personal ○ github.com/buildingcpp ■ Work Contracts = hash_task<64>; // duration = approx 1.1µs using low_contention_task = hash_task<256>; // duration = approx 4.2µs void bench() { bench<low_contention_task>(); bench(); = hash_task<64>; // duration = approx 1.1µs using low_contention_task = hash_task<256>; // duration = approx 4.2µs void bench() { bench<low_contention_task>(); bench (); 0 码力 | 142 页 | 2.80 MB | 6 月前3
Leveraging C++20/23 Features for Low Level InteractionsLeveraging C++20/23 Features for Low Level InteractionsOverview In a baremetal environment, we’re going to demonstrate e�ective use of C++ How did we end up with C language HW interactions? What are best cleaner, safer, and more testable?Why is C so proli�c? It’s the kernel, silly! 30 years ago, all low level interaction was done with C Organizations are very comfortable with C in embedded applications0 码力 | 56 页 | 5.39 MB | 6 月前3
When Nanoseconds Matter: Ultrafast Trading Systems in C++Options Automated Trading Systems team at Optiver, a global market maker company - Worked on low-latency systems for 15 years in Trading and DefenseIntroduction 3 • About me - Leading the Options Automated Optiver, a global market maker company - Worked on low-latency systems for 15 years in Trading and Defense • Today’s talk - Engineering low-latency trading systems - Profiling techniques to find bottlenecks related to being fastBeing fast to get the trades – and to be accurate! 11 Ultra low-latency execution (< 1μs) Low-latency strategy layer (1-10 μs)Order book deep dive “The order book is the heart of any0 码力 | 123 页 | 5.89 MB | 6 月前3
Things Happening in SG14Things happening in SG14 Making C++ better for game development & other low-latency domains Patrice Roy, CeFTI, Université de Sherbrooke, Collège Lionel-Groulx Patrice.Roy@USherbrooke.ca, Patrice.Roy@clg WG21 and WG23 member (but I missed recent WG23 meetings) • Involved quite a bit with SG14, the low-latency study group • Occasional WG21 secretary • etc. 3Who am I? • Father of five, aged 28 to 10 • WG21 and WG23 member (but I missed recent WG23 meetings) • Involved quite a bit with SG14, the low-latency study group • Occasional WG21 secretary • etc. 4Things happening in SG14 • The abstract of this0 码力 | 148 页 | 1009.97 KB | 6 月前3
Working with Asynchrony Generically: A Tour of C++ Executorsextern unifex::static_thread_pool low_latency; extern unifex::static_thread_pool workers; ex::sender auto accept_and_process_requests() { return ex::on(low_latency.get_scheduler(), accept_request()) request) { process_request(request); }) | unifex::repeat_effect(); } Accept requests on low-latency threads. Process the requests on the worker threads.16 EXAMPLE: TRANSITIONING EXECUTION CONTEXT unifex::static_thread_pool low_latency; extern unifex::static_thread_pool workers; unifex::taskaccept_and_process_requests() { while (true) { auto request = co_await ex::on(low_latency.get_scheduler() 0 码力 | 121 页 | 7.73 MB | 6 月前3
Linear Algebra Coming to Standard C++Matrix-matrix: matrix multiply, triangular solve with multiple vectors, symmetric matrix update • Layer 1: Low-level math problems • Linear systems 𝐴𝑥 = 𝑏 (& determinants, etc.) • Least-squares problems min Matrix-matrix: matrix multiply, triangular solve with multiple vectors, symmetric matrix update • Layer 1: Low-level math problems • Linear systems 𝐴𝑥 = 𝑏 (& determinants, etc.) • Least-squares problems min Matrix-matrix: matrix multiply, triangular solve with multiple vectors, symmetric matrix update • Layer 1: Low-level math problems • Linear systems 𝐴𝑥 = 𝑏 (& determinants, etc.) • Least-squares problems min0 码力 | 46 页 | 2.95 MB | 6 月前3
CppCon 2021: Persistent Data StructuresVolatile Non-Volatile Non-Volatile Capacity 16GB-64GB [2] 128GB, 256GB, 512GB [2] 256GB-1TB [3] Latency 0.1 x 1µ [4] 0.1µ - 1µ [4] 1000 x 0.1µ [4] Endurance 64E7 PBW [5] 360 Petabytes Written (PBW) [6] of updates ▶ High endurance ▶ Data set updates are computationally expensive ▶ Non-volatile, low latency A Persistent Hash Map for Graph Processing Workloads and a Methodology for Persistent Transactional Demonstration References Desirable Properties ▶ High capacity ▶ High endurance ▶ Non-volatile, low latency Persistent memory provides a happy medium! Feature DRAM PMEM NAND SSD Volatility Volatile Non-Volatile0 码力 | 56 页 | 1.90 MB | 6 月前3
Multi Producer, Multi Consumer, Lock Free, Atomic Queuehttps://github.com/erez-strauss/lockfree_mpmc_queueAbout me ● C++/C development for over 25 years ● Low Latency - Trading platforms ● Worked in both banks and hedge funds ● Github: https://github.com/erez-strauss https://github.com/erez-strauss/lockfree_mpmc_queueLockfree, MPMC Queue - Agenda 1. Trading Platform, Latency 2. Queues Environment 3. Queues Requirement 4. Atomic hardware and C++ Atomic 5. Queues Classification e_mpmc_queue6 Latency Fat Tail - Raw Data Response Time of a System 1. 200 samples 2. us - microseconds 3. %TT - % of the total time7 Latency Fat Tail - Simple Histogram8 Latency Fat Tail - Simple0 码力 | 54 页 | 886.12 KB | 6 月前3
Lock-Free Atomic Shared Pointers Without a Split Reference Count? It Can Be Done!multithreaded/lock-free code is hard… • There are many factors to consider: • Measurement: Throughput vs latency? • Workload: Proportion of reads vs writes • Hotness: Does the data fit in cache? • Contention: reclamation to get performance that is always competitive with both? • More work on optimizing for low latency (see the GitHub, there is some preliminary work!) Thanks to Guy Blelloch and Hao Wei for their their collaboration on some of this work43 Daniel Anderson -- danielanderson.net Bonus Content: Latency44 Daniel Anderson -- danielanderson.net void retire(T* p) • Indicate that an object has been0 码力 | 45 页 | 5.12 MB | 6 月前3
共 162 条
- 1
- 2
- 3
- 4
- 5
- 6
- 17
相关搜索词
InterestingUpcomingFeaturesfromLowLatencyParallelismandConcurrencyRethinkingTaskBasedforC++Leveraging2023LevelInteractionsWhenNanosecondsMatterUltrafastTradingSystemsinThingsHappeningSG14WorkingwithAsynchronyGenericallyTourofExecutorsLinearAlgebraComingtoStandardCppCon2021PersistentDataStructuresMultiProducerConsumerLockFreeAtomicQueueSharedPointersWithoutSplitReferenceCountItCanBeDone













