KubeCon2020/大型Kubernetes集群的资源编排优化the general trend. How to manage so many clusters ,resources and businesses How to ensure load balancing of cluster nodes 1 2 Improper resource requests 3 Multi-tenant resource preemption How to Business N … How to ensure load balancing of cluster nodes ? Dynamic-Scheduler Node1 Node2 Kube-scheduler Pod Request Load Level Request Load Level Real Load Level Real Load Level Assigned to Node2 but high load, while some nodes have high resource requests but low load. Dynamic-Scheduler Node1 Node2 Kube-scheduler Pod Request Load Level Request Load Level Real Load Level Real Load Level0 码力 | 27 页 | 3.91 MB | 1 年前3
Lock-Free Atomic Shared Pointers Without a Split Reference Count? It Can Be Done!shared_ptr that can be manipulated atomically! • void store(shared_ptrdesired) • shared_ptr load() • bool compare_exchange_weak(shared_ptr & expected, shared_ptr desired) • … compare_exchange(expected make_shared (std::move(t), head.load()); while (!head.compare_exchange_weak(p->next, p)) {} } optional pop_front() { auto p = head.load(); while (p != nullptr && atomic > a Thread 1 auto s = a.load(); Thread 2 a.store(make_shared ( …)); ++ -- If this happens first…23 The fundamental problem: The race to zero Thread 1 load(): Thread 2 store(shared_ptr 0 码力 | 45 页 | 5.12 MB | 6 月前3
C++20: An (Almost) Complete Overviewmutex to protect access to smart pointer Use global non-member atomic operations, e.g. std::atomic_load(), atomic_store(), … Error-prone, easy to accidently not use global non-member atomic operations shared_ptrp; }; auto find(T t) const { auto p = head.load(); // C++11: atomic_load(&head) while (p && p->t != t) p = p->next; return reference(move(p)); head.load(); while (p && !head.compare_exchange_weak(p, p->next)) { } // C++11: atomic_compare_exchange_weak(&head, &p, p- >next); } // C++11: atomic_load(&head) // C++11: atomic_load(&head) 0 码力 | 85 页 | 512.18 KB | 6 月前3
C++高性能并行编程与优化 - 课件 - 07 深入浅出访存优化而言可以用 _mm_load_ps 而不是 _mm_loadu_ps 了。 对访存优化而言则意味着可以放心地用 _mm_prefetch ,也更高效。 标准库的 new 和 malloc :只保证 16 字节对齐 • 不过其实标准库的 new 和 malloc 已经 可以保证 16 字节对齐了。如果你只需要 用 _mm_load_ps 而不用 _mm256_load_ps 的话,那直接用标准库 nx 和 ny 必须是二的幂次方,否则 需要一些特殊判断防止越界。 图片直观感受莫顿码分块 使用 stream 指令直写 • 可惜因为 a(y, x) 这里是跳跃访问,不能 用 _mm_load_ps 一次性加载,然后用 _mm_stream_ps 一次性直写了。 • 不得不用 _mm_stream_si32 ,顺便一提 ,这里用 (int &)x 代替了繁琐的 *(int *)&x0 码力 | 147 页 | 18.88 MB | 1 年前3
使用硬件加速Tokio - 戴翔• Memory/Cache latency • CPU cycles latency DLB : Dynamic Load Balance DLB Enqueue Logic Head and Tail pointers Dequeue Logic & Load Balancer Producer Producer Consumer Consumer Consumer • No0 码力 | 17 页 | 1.66 MB | 1 年前3
谈谈MYSQL那点事来查看表结构,使用 SHOW SHOW INDEX INDEX FROM xxx FROM xxx 来查看表索引 来查看表索引 使用 使用 LOAD DATA LOAD DATA 导入数据比 导入数据比 INSERT INTO INSERT INTO 快多了 快多了 SELECT COUNT(*) FROM Tbl SELECT COUNT(*)0 码力 | 38 页 | 2.04 MB | 1 年前3
绕过conntrack,使用eBPF增强 IPVS优化K8s网络性能Future work 05 06 Lessons from eBPF What is K8s Service • It exposes a set of pods via VIP using a load balancer • Two types • ClusterIP provides in-cluster access • NodePort provides out-of-cluster0 码力 | 24 页 | 1.90 MB | 1 年前3
Автоматизация управления ClickHouse-кластерами в KubernetesShard 1 Replica 1 Zookeeper Services Zookeeper-0 Zookeeper-2 Zookeeper-1 Replica Service Load Balancer Service Shard 1 Replica 2 Shard 2 Replica 1 Shard 2 Replica 2 Replica Service Replica0 码力 | 44 页 | 2.24 MB | 1 年前3
Analyzing MySQL Logs with ClickHouse2018 Percona. 28 What Information is Available ? © 2018 Percona. 29 Queries Causing the Most Load © 2018 Percona. 30 Working set of Most Frequent Queries © 2018 Percona. 31 Slowest Query ©0 码力 | 43 页 | 2.70 MB | 1 年前3
Working with Asynchrony Generically: A Tour of C++ Executors(echo_keyclicks()) when its trigger (ctrl_c.event()) completes… (demo 4)118 All that remains is a boat-load of nasty platform-specific hackery (hook Windows events, play clicky sounds). You can find all0 码力 | 121 页 | 7.73 MB | 6 月前3
共 13 条
- 1
- 2













