 hazard pointer synchronous reclamationinfrequently-updated Hazard Pointer Synchronous Reclamation Beyond Concurrency TS2 – Maged Michael Why use hazard pointers? • Fast (low nanoseconds) and scalable protection. • Supports arbitrary protection with matching cohort • Pushes back unmatching objects and unlocks list • Reclaim matching objects • Why lock? Concurrent cohort destructors. Asynchronous Reclamation Revisited Hazard Pointer Synchronous Beyond Concurrency TS2 – Maged Michael • Pop all objects from domain cohort object list and lock list • Why lock? Concurrent cohort destructors. • Read all hazard pointer values. • Match addresses of extracted0 码力 | 31 页 | 856.38 KB | 6 月前3 hazard pointer synchronous reclamationinfrequently-updated Hazard Pointer Synchronous Reclamation Beyond Concurrency TS2 – Maged Michael Why use hazard pointers? • Fast (low nanoseconds) and scalable protection. • Supports arbitrary protection with matching cohort • Pushes back unmatching objects and unlocks list • Reclaim matching objects • Why lock? Concurrent cohort destructors. Asynchronous Reclamation Revisited Hazard Pointer Synchronous Beyond Concurrency TS2 – Maged Michael • Pop all objects from domain cohort object list and lock list • Why lock? Concurrent cohort destructors. • Read all hazard pointer values. • Match addresses of extracted0 码力 | 31 页 | 856.38 KB | 6 月前3
 Lock-Free Atomic Shared Pointers Without a Split Reference Count? It Can Be Done!Anderson -- danielanderson.net Why is this important?6 Daniel Anderson -- danielanderson.net Why is this important?7 Daniel Anderson -- danielanderson.net Why is this important?8 Daniel Anderson Anderson -- danielanderson.net Why is this important?9 Lock-freedom Daniel Anderson -- danielanderson.net10 Daniel Anderson -- danielanderson.net std::shared_ptr11 Daniel Anderson -- danielanderson free Not lock free atomic Lock-Free Atomic Shared Pointers Without a Split Reference Count? It Can Be Done!Anderson -- danielanderson.net Why is this important?6 Daniel Anderson -- danielanderson.net Why is this important?7 Daniel Anderson -- danielanderson.net Why is this important?8 Daniel Anderson Anderson -- danielanderson.net Why is this important?9 Lock-freedom Daniel Anderson -- danielanderson.net10 Daniel Anderson -- danielanderson.net std::shared_ptr11 Daniel Anderson -- danielanderson free Not lock free atomic- Lock free?21 Daniel Anderson -- danielanderson.net But, why?22 Daniel Anderson -- danielanderson.net The problem atomic - ref_count = 1; … T atomic - > 0 码力 | 45 页 | 5.12 MB | 6 月前3
 绕过conntrack,使用eBPF增强 IPVS优化K8s网络性能Stability and more functionalities Alternative solutions? • Why not use DPDK? • DPDK performs busy polling even when network is idle. • Why not use a pure eBPF service? • Not mature enough eBPF brief kernel • Attach to network tc hooks • Triggered by ingress/egress packets IPVS bypass conntrack • Why IPVS depends on conntrack? • Iptables/conntrack SNAT • How IPVS bypasses conntrack? • Ingress • Pre-route IPVS entry BPF SNAT IPVS mode data path IPVS-eBPF mode data path How eBPF does SNAT • Why does SNAT with eBPF • eBPF program is easy to deploy • How to do SNAT in eBPF • Do SNAT in TC egress0 码力 | 24 页 | 1.90 MB | 1 年前3 绕过conntrack,使用eBPF增强 IPVS优化K8s网络性能Stability and more functionalities Alternative solutions? • Why not use DPDK? • DPDK performs busy polling even when network is idle. • Why not use a pure eBPF service? • Not mature enough eBPF brief kernel • Attach to network tc hooks • Triggered by ingress/egress packets IPVS bypass conntrack • Why IPVS depends on conntrack? • Iptables/conntrack SNAT • How IPVS bypasses conntrack? • Ingress • Pre-route IPVS entry BPF SNAT IPVS mode data path IPVS-eBPF mode data path How eBPF does SNAT • Why does SNAT with eBPF • eBPF program is easy to deploy • How to do SNAT in eBPF • Do SNAT in TC egress0 码力 | 24 页 | 1.90 MB | 1 年前3
 C++20's Jan 12 Feb 09 Mar 09 Apr 13 May 11 Jun 08 Jul 13 Aug 10 Sep 14 Oct 12 Nov 09 Dec 1416 Why calendrical types? Type Safety The “simple” calendrical types (e.g., day, month, year) are very improves type safety as we can make sure we are interpreting these values as the appropriate type.17 Why calendrical types? Abstraction The “simple” calendrical types (e.g., day, month, year) are very system_clock • (file_clock) New clocks (in C++20) • utc_clock • tai_clock • gps_clock • (file_clock)22 Why have all these different clocks? Clock Epoch General Description Tracks leap seconds? system_cloc0 码力 | 55 页 | 8.67 MB | 6 月前3 C++20's Jan 12 Feb 09 Mar 09 Apr 13 May 11 Jun 08 Jul 13 Aug 10 Sep 14 Oct 12 Nov 09 Dec 1416 Why calendrical types? Type Safety The “simple” calendrical types (e.g., day, month, year) are very improves type safety as we can make sure we are interpreting these values as the appropriate type.17 Why calendrical types? Abstraction The “simple” calendrical types (e.g., day, month, year) are very system_clock • (file_clock) New clocks (in C++20) • utc_clock • tai_clock • gps_clock • (file_clock)22 Why have all these different clocks? Clock Epoch General Description Tracks leap seconds? system_cloc0 码力 | 55 页 | 8.67 MB | 6 月前3
 sync clickhouse with mysql mongodbMagical Flag Add new column PTS Magical Flag Why fast? Clickhouse Mutation PTS Magical Flag Why fast? Clickhouse Mutation PTS Magical Flag Why fast? Clickhouse Mutation Trouble Shoot ● SQL0 码力 | 38 页 | 2.25 MB | 1 年前3 sync clickhouse with mysql mongodbMagical Flag Add new column PTS Magical Flag Why fast? Clickhouse Mutation PTS Magical Flag Why fast? Clickhouse Mutation PTS Magical Flag Why fast? Clickhouse Mutation Trouble Shoot ● SQL0 码力 | 38 页 | 2.25 MB | 1 年前3
 Analyzing MySQL Logs with ClickHouse© 2018 Percona. 3 Why ? Fast and Efficient Built with Purpose Practical Features Easy to Use MySQL inspired © 2018 Percona. 4 MySQL inspired © 2018 Percona. 5 Why Keep and Analyze Raw can’t recover Raw Events from Summaries Audit Trace Application/User Path © 2018 Percona. 6 Why Not ? Generating Full Query Logs can be Expensive Logs can Consume a lot of Space Logs can0 码力 | 43 页 | 2.70 MB | 1 年前3 Analyzing MySQL Logs with ClickHouse© 2018 Percona. 3 Why ? Fast and Efficient Built with Purpose Practical Features Easy to Use MySQL inspired © 2018 Percona. 4 MySQL inspired © 2018 Percona. 5 Why Keep and Analyze Raw can’t recover Raw Events from Summaries Audit Trace Application/User Path © 2018 Percona. 6 Why Not ? Generating Full Query Logs can be Expensive Logs can Consume a lot of Space Logs can0 码力 | 43 页 | 2.70 MB | 1 年前3
 NativeScript 101NativeScript oNativeScript core concepts o“Hello World” oExtending with plugins oDebugging JavaScript Why are we here? How did NativeScript come to be? Swift/Obj-C Java .NET We ❤ Web. But… We need: • build for iOS/Android (requires Mac for iOS) o Integrates with Visual Studio Code (via plugin) WHY: More control, Free, Integrate with existing IDEs/code editors WHO: More technical developers used Debugging, Starter Kits o Plugins Management o Visual Studio Integration Coming o Public Beta Now! WHY: Easier bootstrapping, no SDK management, Easy debugging WHO: Windows developers, Visua0 码力 | 90 页 | 40.11 MB | 1 年前3 NativeScript 101NativeScript oNativeScript core concepts o“Hello World” oExtending with plugins oDebugging JavaScript Why are we here? How did NativeScript come to be? Swift/Obj-C Java .NET We ❤ Web. But… We need: • build for iOS/Android (requires Mac for iOS) o Integrates with Visual Studio Code (via plugin) WHY: More control, Free, Integrate with existing IDEs/code editors WHO: More technical developers used Debugging, Starter Kits o Plugins Management o Visual Studio Integration Coming o Public Beta Now! WHY: Easier bootstrapping, no SDK management, Easy debugging WHO: Windows developers, Visua0 码力 | 90 页 | 40.11 MB | 1 年前3
 陈东 - 利用Rust重塑移动应用开发-230618development. 利用 Rust 重塑移动应用开发 Rust 的特点 Why Rust? - Cross platform - Performance - Thread Safe - Memory Safe - Love 利用 Rust 重塑移动应用开发 Rust 在移动应用 开发中的应用 Why Rust? - Cross platform - Performance0 码力 | 22 页 | 2.10 MB | 1 年前3 陈东 - 利用Rust重塑移动应用开发-230618development. 利用 Rust 重塑移动应用开发 Rust 的特点 Why Rust? - Cross platform - Performance - Thread Safe - Memory Safe - Love 利用 Rust 重塑移动应用开发 Rust 在移动应用 开发中的应用 Why Rust? - Cross platform - Performance0 码力 | 22 页 | 2.10 MB | 1 年前3
 Making Libraries Consumable for Non-C++ Developersthat? Was I not supposed to free that? Enabling two or more disparate entities to work together.Why interoperability? No language or platform is good for everything. Fast inner loop Makes UX easy nint DoTheThing(in BlubT b); Result: Windows – everything passed. Linux – everything failed. Why?Making Libraries Consumable for Non-C++ Developers Aaron R Robinson arobins@microsoft.com https://github0 码力 | 29 页 | 1.21 MB | 6 月前3 Making Libraries Consumable for Non-C++ Developersthat? Was I not supposed to free that? Enabling two or more disparate entities to work together.Why interoperability? No language or platform is good for everything. Fast inner loop Makes UX easy nint DoTheThing(in BlubT b); Result: Windows – everything passed. Linux – everything failed. Why?Making Libraries Consumable for Non-C++ Developers Aaron R Robinson arobins@microsoft.com https://github0 码力 | 29 页 | 1.21 MB | 6 月前3
 whats new in visual studioLessons Learned, Lessons Abandoned Cameron DaCamara, Gabriel Dos Reis – _2 Thu, Oct 28 – 3:15pm Why does std::format do that? Charlie – _1 Tue, Oct 26 – 4:45pm / Wed, Oct 27 – 12:30pm In-memory and Editor Can Do That? Debugging Assembly Language and GPU Kernels in Visual Studio Code – Julia Reid • Why does std::format do that? – Charlie Barto • Finding bugs using path-sensitive static analysis – Gabor0 码力 | 42 页 | 19.02 MB | 6 月前3 whats new in visual studioLessons Learned, Lessons Abandoned Cameron DaCamara, Gabriel Dos Reis – _2 Thu, Oct 28 – 3:15pm Why does std::format do that? Charlie – _1 Tue, Oct 26 – 4:45pm / Wed, Oct 27 – 12:30pm In-memory and Editor Can Do That? Debugging Assembly Language and GPU Kernels in Visual Studio Code – Julia Reid • Why does std::format do that? – Charlie Barto • Finding bugs using path-sensitive static analysis – Gabor0 码力 | 42 页 | 19.02 MB | 6 月前3
共 22 条
- 1
- 2
- 3













