KubeCon2020/大型Kubernetes集群的资源编排优化
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 expand horizontally more Cluster2 Business 1 Business 2 Business 3 Business N … How to ensure load balancing of cluster nodes ? Dynamic-Scheduler Node1 Node2 Kube-scheduler Pod Request Load Level Request Load Level Real based on the resource request of Pod. However, in many cases, some nodes have low resource requests but high load, while some nodes have high resource requests but low load. Dynamic-Scheduler Node10 码力 | 27 页 | 3.91 MB | 1 年前3Rust 异步并发框架在移动端的应用 - 陈明煜
Rust 异步机制 Asynchronous Rust Rust 异步机制 Asynchronous Rust Waker Task Future task Queue wake Worker Future.poll() Reactor fd fd listen listen find 现有并发框架 Third Party Runtime 目前 Rust 社区最广泛使用的事件 现有框架无法完美适配移动端(一) Core Thread Thread Worker Worker task task Local queue Local queue Tokio 采用了如右图这种 GMP 模式: • 一核可以绑定多线程,每个线程拥有一个 Worker ,每个 Worker 拥有一个任务队列 • 但线程拥有相同优先级 • Worker 只持有一个本地 FIFO 队列 移动端诉求:优先级 • spawn_blocking 调度模式 spawn 调度模式 Thread Worker task Local queue Thread Thread task Global queue task New task Global queue New task take & run take & run Worker take & run Steal & run 两种接口拥有两套割裂的调度模式和线程池0 码力 | 25 页 | 1.64 MB | 1 年前3Performance Lets dive into Performance issues
Easy access to anything dealing with GUI • Bad: Jank when doing lengthy work • Potential Solutions: Worker thread Nested Layouts • Primarily a Android issue; but does impact iOS. • GridLayout is the King doSomething(fun); } } Data Processing • Anything that does any amount of work; if possible move to your worker thread. • Gathering and saving data from/to your database is a prime example. Enabling Optimization0 码力 | 15 页 | 1.71 MB | 1 年前3使用硬件加速Tokio - 戴翔
Perf Gaps: CAS(Compare And Swap) can't perfectly scale with core count. Tokio Channel • Each worker has own run queue • Steal when own run queue is empty From the high level, it is a MPMC queue0 码力 | 17 页 | 1.66 MB | 1 年前3Working with Asynchrony Generically: A Tour of C++ Executors
unifex::repeat_effect(); } Accept requests on low-latency threads. Process the requests on the worker threads.16 EXAMPLE: TRANSITIONING EXECUTION CONTEXT namespace ex = std::execution; ex::sender0 码力 | 121 页 | 7.73 MB | 5 月前3唐刚 - Use Rust to Develop the Decentralized Open Data Application - RustChinaConf2023
all open data from this platform ➔ On the server side, it is a network, consisting of some/many nodes ➔ Every node has a blockchain node in it What An Open Data App Feels Like? “EightFish is a development ODA vs Web3 DApp Web3 DApp Open Data App Centralization Decentralized Decentralized Underlying Nodes Many Few Performance Low High Query Capability Low High Open Source Code Open Open Hot Data Capacity efforts, how should I run my business? ➔How to attract more parties to run steady and persistent nodes for this platform? Two Major Problems ➔ End user drives, no security (or token fund) drives.0 码力 | 30 页 | 2.53 MB | 1 年前3Автоматизация управления ClickHouse-кластерами в Kubernetes
"ClickHouseInstallation" metadata: name: "demo-01" spec: configuration: zookeeper: nodes: - host: zookeeper-0.zookeepers.zoo1ns clusters: - name: "demo-01" layout:0 码力 | 44 页 | 2.24 MB | 1 年前3Analyzing MySQL Logs with ClickHouse
LZ4) • Typically 100x faster than MySQL on Single Server • Semi-Linear Scalability to 100s of nodes High Performance © 2018 Percona. 8 MySQL Wire Protocol Compatibility with ProxySQL Extra0 码力 | 43 页 | 2.70 MB | 1 年前3
共 8 条
- 1