 Docker 从入门到实践 0.9.0(2017-12-31)支持集群 CoreOS 可以在一个机器上很好地运行,但是它被设计用来搭建集群。 可以通过 k8s 很容易得使应用容器部署在多台机器上并且通过服务发现把他们连接在一起。 分布式系统工具 内置诸如分布式锁和主选举等原生工具用来构建大规模分布式系统得构建模块。 简介 244 服务发现 很容易定位服务在集群的那里运行并当发生变化时进行通知。它是复杂高动态集群必不可少 的。在 CoreOS 中构建高可用和自动故障负载。 --authorization-plugin="":载入认证的插件; -b="":将容器挂载到一个已存在的网桥上。指定为 'none' 时则禁用容器的网络,与 --bip 选项互斥; --bip="":让动态创建的 docker0 网桥采用给定的 CIDR 地址; 与 -b 选项互斥; --cgroup-parent="":指定 cgroup 的父组,默认 fs cgroup 驱动为 /docker ,systemd cgroup0 码力 | 370 页 | 6.73 MB | 1 年前3 Docker 从入门到实践 0.9.0(2017-12-31)支持集群 CoreOS 可以在一个机器上很好地运行,但是它被设计用来搭建集群。 可以通过 k8s 很容易得使应用容器部署在多台机器上并且通过服务发现把他们连接在一起。 分布式系统工具 内置诸如分布式锁和主选举等原生工具用来构建大规模分布式系统得构建模块。 简介 244 服务发现 很容易定位服务在集群的那里运行并当发生变化时进行通知。它是复杂高动态集群必不可少 的。在 CoreOS 中构建高可用和自动故障负载。 --authorization-plugin="":载入认证的插件; -b="":将容器挂载到一个已存在的网桥上。指定为 'none' 时则禁用容器的网络,与 --bip 选项互斥; --bip="":让动态创建的 docker0 网桥采用给定的 CIDR 地址; 与 -b 选项互斥; --cgroup-parent="":指定 cgroup 的父组,默认 fs cgroup 驱动为 /docker ,systemd cgroup0 码力 | 370 页 | 6.73 MB | 1 年前3
 机器学习课程-温州大学-08机器学习-集成学习LightGBM 的主要改进 LightGBM与XGBoost相比,主要有以下几个改进: • 基于梯度的单边采样算法(Gradient-based One-Side Sampling, GOSS); • 互斥特征捆绑算法(Exclusive Feature Bundling, EFB); • 直方图算法( Histogram ); • 基于最大深度的 Leaf-wise 的垂直生长算法; LightGBM 这里选取两个大的(6号、7号),然后随机选择两个小的(2号、4号) 41 4.LightGBM 互斥特征捆绑算法(Exclusive Feature Bundling, EFB) 高维特征往往是稀疏的,而且特征间可能是相互排斥的(如两个特征不同时取非 零值),如果两个特征并不完全互斥(如只有一部分情况下是不同时取非零值) ,可以用互斥率表示互斥程度。EFB算法指出如果将一些特征进行融合绑定,则 可以降低特征数量。 论文给出特征合并算法,其关键在于原始特征能从合并的特征中分离出来。 42 4.LightGBM 互斥特征捆绑算法(Exclusive Feature Bundling, EFB) 高维特征往往是稀疏的,而且特征间可能 是相互排斥的(如两个特征不同时取非零 值),如果两个特征并不完全互斥(如只 有一部分情况下是不同时取非零值),可 以用互斥率表示互斥程度。EFB算法指出如 果将一些特征进行融合绑定,则可以降低 特征数量。0 码力 | 50 页 | 2.03 MB | 1 年前3 机器学习课程-温州大学-08机器学习-集成学习LightGBM 的主要改进 LightGBM与XGBoost相比,主要有以下几个改进: • 基于梯度的单边采样算法(Gradient-based One-Side Sampling, GOSS); • 互斥特征捆绑算法(Exclusive Feature Bundling, EFB); • 直方图算法( Histogram ); • 基于最大深度的 Leaf-wise 的垂直生长算法; LightGBM 这里选取两个大的(6号、7号),然后随机选择两个小的(2号、4号) 41 4.LightGBM 互斥特征捆绑算法(Exclusive Feature Bundling, EFB) 高维特征往往是稀疏的,而且特征间可能是相互排斥的(如两个特征不同时取非 零值),如果两个特征并不完全互斥(如只有一部分情况下是不同时取非零值) ,可以用互斥率表示互斥程度。EFB算法指出如果将一些特征进行融合绑定,则 可以降低特征数量。 论文给出特征合并算法,其关键在于原始特征能从合并的特征中分离出来。 42 4.LightGBM 互斥特征捆绑算法(Exclusive Feature Bundling, EFB) 高维特征往往是稀疏的,而且特征间可能 是相互排斥的(如两个特征不同时取非零 值),如果两个特征并不完全互斥(如只 有一部分情况下是不同时取非零值),可 以用互斥率表示互斥程度。EFB算法指出如 果将一些特征进行融合绑定,则可以降低 特征数量。0 码力 | 50 页 | 2.03 MB | 1 年前3
 机器学习课程-温州大学-概率论回顾,且? ⊂ ? 。 (3) 和事件:?⋃?(或? + ?),?与?中至少有一个发生。 (4) 差事件:? − ?,?发生但?不发生。 (5) 积事件:?⋂?(或??),?与?同时发生。 (6) 互斥事件(互不相容):?⋂?=⌀。 (7) 互逆事件(对立事件): ?⋂? = ⌀, ?⋃? = ?, ? = ?, ? = ? 。 1.随机事件和概率 5 2.运算律 (1) 交换律:?⋃? (?⋂?)⋂? = ?⋂(?⋂?) (3) 分配律:(?⋃?)⋂? = (?⋂?)⋃(?⋂?) 3.德.摩根律 ?⋃? = ?⋂? ?⋂? = ?⋃? 4.完全事件组 ?1?2 ⋯ ??两两互斥,且和事件为必然事件,即??⋂?? = ⌀, ? ≠ ?, ⋃ ? ?=1 = ? 1.随机事件和概率 6 5.概率的基本概念 (1) 概率:事件发生的可能性大小的度量,其严格定义如下: )且?(?) ≤ ?(?); ?(?⋃?⋃?) = ?(?) + ?(?) + ?(?) − ?(??) − ?(??) − ?(??) + ?(???) 4) 若?1, ?2, ⋯ , ??两两互斥,则?( ⋃ ? ?=1 ??) = σ?=1 ? (?(??) 1.随机事件和概率 8 (3) 古典型概率: 实验的所有结果只有有限个, 且每个结果发生的可能性相同,其概率计算 公式:0 码力 | 45 页 | 862.61 KB | 1 年前3 机器学习课程-温州大学-概率论回顾,且? ⊂ ? 。 (3) 和事件:?⋃?(或? + ?),?与?中至少有一个发生。 (4) 差事件:? − ?,?发生但?不发生。 (5) 积事件:?⋂?(或??),?与?同时发生。 (6) 互斥事件(互不相容):?⋂?=⌀。 (7) 互逆事件(对立事件): ?⋂? = ⌀, ?⋃? = ?, ? = ?, ? = ? 。 1.随机事件和概率 5 2.运算律 (1) 交换律:?⋃? (?⋂?)⋂? = ?⋂(?⋂?) (3) 分配律:(?⋃?)⋂? = (?⋂?)⋃(?⋂?) 3.德.摩根律 ?⋃? = ?⋂? ?⋂? = ?⋃? 4.完全事件组 ?1?2 ⋯ ??两两互斥,且和事件为必然事件,即??⋂?? = ⌀, ? ≠ ?, ⋃ ? ?=1 = ? 1.随机事件和概率 6 5.概率的基本概念 (1) 概率:事件发生的可能性大小的度量,其严格定义如下: )且?(?) ≤ ?(?); ?(?⋃?⋃?) = ?(?) + ?(?) + ?(?) − ?(??) − ?(??) − ?(??) + ?(???) 4) 若?1, ?2, ⋯ , ??两两互斥,则?( ⋃ ? ?=1 ??) = σ?=1 ? (?(??) 1.随机事件和概率 8 (3) 古典型概率: 实验的所有结果只有有限个, 且每个结果发生的可能性相同,其概率计算 公式:0 码力 | 45 页 | 862.61 KB | 1 年前3
 机器学习课程-温州大学-02-数学基础回顾-0.机器学习的数学基础整理(国内教材)? 。 (3) 和事件:?⋃?(或? + ?),?与?中至少有一个发生。 (4) 差事件:? − ?,?发生但?不发生。 (5) 积事件:?⋂?(或??),?与?同时发生。 (6) 互斥事件(互不相容):?⋂?=⌀。 (7) 互逆事件(对立事件): ?⋂? = ⌀, ?⋃? = ?, ? = ?, ? = ? 。 2.运算律 (1) 交换律:?⋃? = ?⋃?, ?⋂ ⋂(?⋂?) (3) 分配律:(?⋃?)⋂? = (?⋂?)⋃(?⋂?) 3.德.摩根律 ?⋃? = ?⋂? ?⋂? = ?⋃? 4.完全事件组 ?1?2 ⋯ ??两两互斥,且和事件为必然事件,即??⋂?? = ⌀, ? ≠ ?, ⋃ ? ?=1 = ? 5.概率的基本概念 (1) 概率:事件发生的可能性大小的度量,其严格定义如下: 机器学习的数学基础 )且 ?(?) ≤ ?(?); ?(?⋃?⋃?) = ?(?) + ?(?) + ?(?) − ?(??) − ?(??) − ?(??) + ?(???) 4) 若?1, ?2,⋯ , ??两两互斥,则?( ⋃ ? ?=1 ??) = ∑ (?(??) ? ?=1 (3) 古典型概率: 实验的所有结果只有有限个, 且每个结果发生的可能性相同,其概率计 算公式: ?(?) = 事件0 码力 | 31 页 | 1.18 MB | 1 年前3 机器学习课程-温州大学-02-数学基础回顾-0.机器学习的数学基础整理(国内教材)? 。 (3) 和事件:?⋃?(或? + ?),?与?中至少有一个发生。 (4) 差事件:? − ?,?发生但?不发生。 (5) 积事件:?⋂?(或??),?与?同时发生。 (6) 互斥事件(互不相容):?⋂?=⌀。 (7) 互逆事件(对立事件): ?⋂? = ⌀, ?⋃? = ?, ? = ?, ? = ? 。 2.运算律 (1) 交换律:?⋃? = ?⋃?, ?⋂ ⋂(?⋂?) (3) 分配律:(?⋃?)⋂? = (?⋂?)⋃(?⋂?) 3.德.摩根律 ?⋃? = ?⋂? ?⋂? = ?⋃? 4.完全事件组 ?1?2 ⋯ ??两两互斥,且和事件为必然事件,即??⋂?? = ⌀, ? ≠ ?, ⋃ ? ?=1 = ? 5.概率的基本概念 (1) 概率:事件发生的可能性大小的度量,其严格定义如下: 机器学习的数学基础 )且 ?(?) ≤ ?(?); ?(?⋃?⋃?) = ?(?) + ?(?) + ?(?) − ?(??) − ?(??) − ?(??) + ?(???) 4) 若?1, ?2,⋯ , ??两两互斥,则?( ⋃ ? ?=1 ??) = ∑ (?(??) ? ?=1 (3) 古典型概率: 实验的所有结果只有有限个, 且每个结果发生的可能性相同,其概率计 算公式: ?(?) = 事件0 码力 | 31 页 | 1.18 MB | 1 年前3
 万亿级数据洪峰下的消息引擎Apache RocketMQCache Disk Request Request Request Request Request Request 万级请求/秒/单机 1.4万亿 低延迟分布式存储系统 – 并发锁的开销 lReentrantLock/synchronized ØFair ØUnfair lLockSupport.unpark/park 1.4万亿 低延迟分布式存储系统 – PageCache真的那么快吗? slots slots��� slots���� 阻塞锁- pagelock __set_page_dirty_buffers flush_dcache_mmap_lock __sync_single_inode try_to_unmap_one remove_from_page_cache add_to_page_cache_locked 自旋锁- treelock 1.4万亿 低延迟分布式存储系统 低延迟分布式存储系统 – PageCache的毛刺解决方案小结 操作系统Page Cache Radix Tree 自旋锁,产生几秒的大毛刺 如果遇到坏盘,可能Block若干分钟,对系统产生致命影响。 操作系统Page Cache Radix Tree 每个Page的阻塞锁,产生几百毫秒小毛刺 写入数据平均响应时间不超过1ms 写入数据最大响应时间不超过20ms(Java GC暂停线程引起)0 码力 | 35 页 | 993.29 KB | 1 年前3 万亿级数据洪峰下的消息引擎Apache RocketMQCache Disk Request Request Request Request Request Request 万级请求/秒/单机 1.4万亿 低延迟分布式存储系统 – 并发锁的开销 lReentrantLock/synchronized ØFair ØUnfair lLockSupport.unpark/park 1.4万亿 低延迟分布式存储系统 – PageCache真的那么快吗? slots slots��� slots���� 阻塞锁- pagelock __set_page_dirty_buffers flush_dcache_mmap_lock __sync_single_inode try_to_unmap_one remove_from_page_cache add_to_page_cache_locked 自旋锁- treelock 1.4万亿 低延迟分布式存储系统 低延迟分布式存储系统 – PageCache的毛刺解决方案小结 操作系统Page Cache Radix Tree 自旋锁,产生几秒的大毛刺 如果遇到坏盘,可能Block若干分钟,对系统产生致命影响。 操作系统Page Cache Radix Tree 每个Page的阻塞锁,产生几百毫秒小毛刺 写入数据平均响应时间不超过1ms 写入数据最大响应时间不超过20ms(Java GC暂停线程引起)0 码力 | 35 页 | 993.29 KB | 1 年前3
 万亿级数据洪峰下的消息引擎 Apache RocketMQCache Disk Request Request Request Request Request Request 万级请求/秒/单机 1.4万亿 低延迟分布式存储系统 – 并发锁的开销 lReentrantLock/synchronized ØFair ØUnfair lLockSupport.unpark/park 1.4万亿 低延迟分布式存储系统 – PageCache真的那么快吗? slots slots��� slots���� 阻塞锁- pagelock __set_page_dirty_buffers flush_dcache_mmap_lock __sync_single_inode try_to_unmap_one remove_from_page_cache add_to_page_cache_locked 自旋锁- treelock 1.4万亿 低延迟分布式存储系统 低延迟分布式存储系统 – PageCache的毛刺解决方案小结 操作系统Page Cache Radix Tree 自旋锁,产生几秒的大毛刺 如果遇到坏盘,可能Block若干分钟,对系统产生致命影响。 操作系统Page Cache Radix Tree 每个Page的阻塞锁,产生几百毫秒小毛刺 写入数据平均响应时间不超过1ms 写入数据最大响应时间不超过20ms(Java GC暂停线程引起)0 码力 | 35 页 | 5.82 MB | 1 年前3 万亿级数据洪峰下的消息引擎 Apache RocketMQCache Disk Request Request Request Request Request Request 万级请求/秒/单机 1.4万亿 低延迟分布式存储系统 – 并发锁的开销 lReentrantLock/synchronized ØFair ØUnfair lLockSupport.unpark/park 1.4万亿 低延迟分布式存储系统 – PageCache真的那么快吗? slots slots��� slots���� 阻塞锁- pagelock __set_page_dirty_buffers flush_dcache_mmap_lock __sync_single_inode try_to_unmap_one remove_from_page_cache add_to_page_cache_locked 自旋锁- treelock 1.4万亿 低延迟分布式存储系统 低延迟分布式存储系统 – PageCache的毛刺解决方案小结 操作系统Page Cache Radix Tree 自旋锁,产生几秒的大毛刺 如果遇到坏盘,可能Block若干分钟,对系统产生致命影响。 操作系统Page Cache Radix Tree 每个Page的阻塞锁,产生几百毫秒小毛刺 写入数据平均响应时间不超过1ms 写入数据最大响应时间不超过20ms(Java GC暂停线程引起)0 码力 | 35 页 | 5.82 MB | 1 年前3
 Apache RocketMQ 从入门到实战Java 基础功底 一个开源项目的底层都会涉及到存储,这就要求具备一定的数据结构基础,JAVA 集 合框架中的类自然成为了我们突破数据结构最好的老师,其次是 java 并发,即多线程、并 发容器、锁等课题,这方面可以好好学习一下 JUC 框架。最后最好是具备一些网络方面的 知识,例如 NIO、Netty。 2. 持续输出能力 成为一个开源项目的 contributions 非常容易,提交一个 通俗的一点讲,就是将消息写入 Commitlog 文件所持有锁的时间,精确说是将消息体 追加到内存映射文件(DirectByteBuffer)或 pageCache(FileChannel#map)该过程中开 始持有锁的时间戳,具体的代码请参考:CommitLog#putMessage。  diff 一次消息追加过程中持有锁的总时长,即往内存映射文件或 pageCache 追加一条消 到内存机制,实现对文 件的操作转换对内存地址的操作,极大的提高了 IO 特性,但这部分内存并不是常驻内存, 可以被置换到交换内存(虚拟内存),RocketMQ 为了提高消息发送的性能,引入了内存锁 定机制,即将最近需要操作的 commitlog 文件映射到内存,并提供内存锁定功能,确保这 些文件始终存在内存中,该机制的控制参数就是 transientStorePoolEnable。 本文0 码力 | 165 页 | 12.53 MB | 1 年前3 Apache RocketMQ 从入门到实战Java 基础功底 一个开源项目的底层都会涉及到存储,这就要求具备一定的数据结构基础,JAVA 集 合框架中的类自然成为了我们突破数据结构最好的老师,其次是 java 并发,即多线程、并 发容器、锁等课题,这方面可以好好学习一下 JUC 框架。最后最好是具备一些网络方面的 知识,例如 NIO、Netty。 2. 持续输出能力 成为一个开源项目的 contributions 非常容易,提交一个 通俗的一点讲,就是将消息写入 Commitlog 文件所持有锁的时间,精确说是将消息体 追加到内存映射文件(DirectByteBuffer)或 pageCache(FileChannel#map)该过程中开 始持有锁的时间戳,具体的代码请参考:CommitLog#putMessage。  diff 一次消息追加过程中持有锁的总时长,即往内存映射文件或 pageCache 追加一条消 到内存机制,实现对文 件的操作转换对内存地址的操作,极大的提高了 IO 特性,但这部分内存并不是常驻内存, 可以被置换到交换内存(虚拟内存),RocketMQ 为了提高消息发送的性能,引入了内存锁 定机制,即将最近需要操作的 commitlog 文件映射到内存,并提供内存锁定功能,确保这 些文件始终存在内存中,该机制的控制参数就是 transientStorePoolEnable。 本文0 码力 | 165 页 | 12.53 MB | 1 年前3
 逐灵&木苏-阿里巴巴 K8S 超大规模实践经验负载均衡 CPU精细化分配 应用互斥/亲和 维度:应用、核心应用 拓扑:单机、AZ 节点负载感知 资源利用率预测• 丰富的调度策略 规模化容器调度 APIServer Scheduler Webhook 离线特征分析 调度策略中心 专家策略 调度规则 CR Update if need 1. cpu分配策略 2. 应用/单机打散策略 3. 应用互斥/亲和策略 4. …… Pod0 码力 | 33 页 | 8.67 MB | 6 月前3 逐灵&木苏-阿里巴巴 K8S 超大规模实践经验负载均衡 CPU精细化分配 应用互斥/亲和 维度:应用、核心应用 拓扑:单机、AZ 节点负载感知 资源利用率预测• 丰富的调度策略 规模化容器调度 APIServer Scheduler Webhook 离线特征分析 调度策略中心 专家策略 调度规则 CR Update if need 1. cpu分配策略 2. 应用/单机打散策略 3. 应用互斥/亲和策略 4. …… Pod0 码力 | 33 页 | 8.67 MB | 6 月前3
 高性能 Kubernetes 元数据存储 KubeBrain 的设计思路和落地效果-许辰性能优化 • 落地效果 • 未来演进 K8s 元信息存储的需求 (1)  读 • 单 Key 读,提供线性一致性 • Range 扫描读,支持快照读,支持分页  写 • K8s 乐观锁 resource version • 单 Key CAS  Watch • Kubernetes list-watch 的底层依赖 K8s 元信息存储的需求 (2) K8s 元信息存储的需求 接入层 接入层 客户端 客户端 K8s 元信息存储的需求 • 背景介绍 • 设计思路 • 性能优化 • 落地效果 • 未来演进 性能优化 写优化 - 1 降低锁粒度 存储引擎替换 表锁 -> 行锁,增大了写的并发 写优化 - 2 单点写 -> 多点写 multi raft range 分片,增大写并发 Brain 层无磁盘 io,只有网络 io 写优化 - 3 事务优化0 码力 | 60 页 | 8.02 MB | 1 年前3 高性能 Kubernetes 元数据存储 KubeBrain 的设计思路和落地效果-许辰性能优化 • 落地效果 • 未来演进 K8s 元信息存储的需求 (1)  读 • 单 Key 读,提供线性一致性 • Range 扫描读,支持快照读,支持分页  写 • K8s 乐观锁 resource version • 单 Key CAS  Watch • Kubernetes list-watch 的底层依赖 K8s 元信息存储的需求 (2) K8s 元信息存储的需求 接入层 接入层 客户端 客户端 K8s 元信息存储的需求 • 背景介绍 • 设计思路 • 性能优化 • 落地效果 • 未来演进 性能优化 写优化 - 1 降低锁粒度 存储引擎替换 表锁 -> 行锁,增大了写的并发 写优化 - 2 单点写 -> 多点写 multi raft range 分片,增大写并发 Brain 层无磁盘 io,只有网络 io 写优化 - 3 事务优化0 码力 | 60 页 | 8.02 MB | 1 年前3
 消息中间件RocketMQ原理解析 - 斩秋TreeMap 消息中间件RocketMQ原理解析 - 斩秋TreeMap- key 是消息在此 ConsumeQueue 队列中索引 (2) 对于顺序消息消费 处理 locked 属性:当 consumer 端向 broker 申请锁队列成功后设置 true, 只有被锁定 的 processqueue 才能被执行消费 rollback: 将消费在 msgTreeMapTemp 中的消息,放回 msgTreeMap 重新消费 commit: 构建一个线程池来接收消费请求 ConsumeRequest 构建一个单线程的本地线程, 用来稍后定时重新消费 ConsumeRequest, 用来执行 定时周期性(一秒)钟锁队列任务 周期性锁队列 lockMQPeriodically 获取正在消费队列列表 ProcessQueueTable 所有 MesssageQueue, 构建根据 broker 归类成 MessageQueue ConsumeRequest 任务的 run 方法 判断 proccessQueue 是否被 droped 的, 废弃直接返回,不在消费消息 每个 messagequeue 都会生成一个队列锁来保证在当前 consumer 内,同一个队列串行 消费, 判断 processQueue 的 lock 属性是否为 true,lock 属性是否过期,如果为 false 或者过期, 放到本地线程稍后锁定在消费。 0 码力 | 57 页 | 2.39 MB | 1 年前3
共 33 条
- 1
- 2
- 3
- 4













