分布式任务系统cronsun
Technology 分布式任务系统 cronsun 苏创绩 @Copyright Sunteng Technology 目录 01 任务系统 02 分布式任务系统 03 cronsun 04 心得体会 @Copyright Sunteng Technology Part One 01 任务系统 @Copyright Sunteng Technology 任务 1. 什么时间 什么时间 2. 什么地点 3. 做什么事 @Copyright Sunteng Technology 一个简单的任务 0 8 * * * echo "Hello Gophers!" @Copyright Sunteng Technology cron crond crontab cmd1 cmd2 cmd3 ... @Copyright @Copyright Sunteng Technology 早期的 cron V7,1979 1. 在Version 7 Unix里是一个系统服务 2. 只用 root 运行任务 3. 算法简单直接 @Copyright Sunteng Technology 早期的 cron 运行逻辑 1. 读 /usr/lib/crontab 文件 2. 如果有命令要在当前时间执行,就用0 码力 | 48 页 | 1.52 MB | 1 年前3基于 mesos 的容器调度框架
2017/8/3 基于 mesos 的容器调度框架 http://go-talks.appspot.com/github.com/huangnauh/slides/upone.slide#3 1/36 基于 mesos 的容器调度框架 Gopher 杭州 meetup 5 August 2017 黄励博(huangnauh) 又拍云 2017/8/3 基于 mesos 的容器调度框架 http://go-talks http://go-talks.appspot.com/github.com/huangnauh/slides/upone.slide#3 2/36 What's Upone 2017/8/3 基于 mesos 的容器调度框架 http://go-talks.appspot.com/github.com/huangnauh/slides/upone.slide#3 3/36 Mesos 介绍 Image credit: mesos 的容器调度框架 http://go-talks.appspot.com/github.com/huangnauh/slides/upone.slide#3 4/36 Mesos 调度 各个 Agent 启动后, 向 Master 注册,携带统计资源, 由 Master 决定给每个框架多少资源, 默认 采用分级主导资源公平算法 每个框架收到资源后, 根据自身任务需求, 调度任务的资源分配0 码力 | 36 页 | 2.49 MB | 1 年前32.2.3 Go语言的抢占式调度
Go 语⾔的抢占式调度 曹春晖 资深 Gopher ⽬ 录 Go 程序的启动 01 GMP 的本质 02 调度循环的实现 03 ⽼版本的抢占实现 04 新版本的抢占实现 05 当前的 Go 语⾔还有哪些问题 06 Go 程序的启动 第⼀部分 编译过程 Go 程序 hello.go 的编译过程: ⽂本 -> 编译 -> ⼆进制可执⾏⽂件 编译过程 编译:⽂本代码 -> 程序启动后创建的第⼀个线程; 获 取 CPU 核 ⼼ 数 初 始 化 内 置 数 据 结 构 开 始 执 ⾏ ⽤ 户 main 函 数 从这⾥开始 进⼊调度循环 GMP 的本质 第⼆部分 G、M、P 的本质 G:goroutine,⼀个计算任务。由需要执⾏的代码和其上下⽂组成,上下⽂ 包括:当前代码位置,栈顶、栈底地址,状态等。 M:machine,系统线程,执⾏实体,想要在 CPU 上执⾏代码,必须有线 才能执⾏代码,否则必须陷⼊休 眠(后台监控线程除外),你也可以将其理解为⼀种 token,有这个 token,才 有在物理 CPU 核⼼上执⾏的权⼒。 G、P、M 的全局⼤图 调度循环的实现 第三部分 调度循环 在这⾥输⼊标题 https://www.figma.com/proto/JYM6TcdzBx7WtanhcJX0rP/bootstrap-Copy?page-id=5106%3A2&node-0 码力 | 44 页 | 7.43 MB | 1 年前3唯品会调度系统的前世今生
邱戈川 (了哥) 微信公众号: VIPDOCKER 唯品会开源弹性调度系统 Saturn的“前世今生” 黄国钦 (Chembo) 唯品会高级开发工程 师 內容主题 为何而生 瓜熟蒂落 有女初长成 女大须嫁 https://github.com/vipshop/Saturn 婆媳关系 为何而生 传统调度系统的问题、产品的定 位与选型 需要解决的问题 1 6 4 3 2 Linux系统级的定时任务执行器 缺乏分布式运算和集中管理功能 无法做到高可用 TBSchedule Elatic-Job Java事实任务标准 关注点在定时任务而非数据, 缺少分布式并行调度的功能 阿里早期开源的分布式任务调度系 统,代码略陈旧 作业类型较单一,只能是获取/处理 数据一种模式 当当开源的分布式任务调度系统 代码较新,使用Quartz进行调度。提供 高可用和分布式功能 功能单一,只支持Java,不支持 Shell(PHP)和消息驱动的作业调度 对任务超时、任务执行情况、监控逻辑 支持粒度功能较单一或缺乏 没有容器化选型? 调度产品的定位 简易开发、简单维护 高可用、分片并发处理、资源调度动态平衡 支持Java、Shell以及本地模式(VIP还支持消息模式) 统一配置、统一监控、统一管理 VIP弹性调度系统 -- Saturn 开源地址: Github.com/vipshop/Saturn0 码力 | 58 页 | 5.40 MB | 1 年前32022年美团技术年货 合辑
数据库异常智能分析与诊断 1059 美团外卖广告智能算力的探索与实践(二) 1079 Linux 下跨语言调用 C++ 实践 1101 GPU 在外卖场景精排模型预估中的应用实践 1130 美团集群调度系统的云原生实践 1149 广告平台化的探索与实践 | 美团外卖广告工程实践专题连载 1161 数据 1193 Kafka 在美团数据平台的实践 1193 美团综合业务推荐系统的质量模型及实践 4%,在实际工程中基本不可用。而 YOLOv6s_repopt 网络的量化模型精度为 40.9%,精度损失仅为 1.5%,相比原版 模型有了极大的改善。 表 1 使用 RepOpt 在标准分类和检测任务上的 INT8 精度提升 2.1.3 RepOpt 版本的 QAT 此外,使用 RepOpt 结构解决了原本的 RepVGG 网络无法直接使用现有量化感知训 练的问题。对于结构重参数化的 RepVGG 2022年美团技术年货 2.1 推荐系统问题 本节主要介绍 Kaggle Outbrain Ads Click Prediction 和 KDD Cup 2020 Debias- ing 比赛。二者任务都是面向用户下一次点击预估问题,但因为应用场景与背景的不 同,存在着不同的挑战:前者的数据规模庞大,涉及到数亿个用户在千级别数量异构 站点上的数十亿条浏览记录,对模型优化、融合有着严格的要求;后者则尤为关注推0 码力 | 1356 页 | 45.90 MB | 1 年前3Rust 异步并发框架在移动端的应用 - 陈明煜
chenmingyu4@huawei.com 华为 公共开发部 嵌入式软件能力中心 本科就读加州大学圣地亚哥分校,毕业时长两年半, Rustacean 在 华为 目前正在使用 Rust 开发并行调度框架等模块。 Rust 异步并发框架在移动端的应用 陈明煜 chenmingyu4@huawei.com 华为 公共开发部 嵌入式软件能力中心 Applications of Rust Runtime Asynchronous Rust 异步并发框架是许多大型应用、系统具备的底层能力。 区别于多线程编程模型,它带来以下优势: 任务调度颗粒度更小,充分利用线程资源 更可控的线程数 单个任务资源占用:几十 KB -> 几百 Byte 任务切换时间 : 10 微秒 -> 100 纳秒 Rust 语言并没有提供异步并发框架, 只提供异步所需的基本特性: Future Third Party Runtime 目前 Rust 社区最广泛使用的事件 驱动型调度框架,擅长处理大量异 步 IO 的场景。具有非常强大的生 态。 tokio 第一个适配 Rust async/await 原语 的运行时库,与 tokio 类似支持异步 IO ,目前已经半废弃 async-std 更轻量化的调度框架,功能被拆分 到其他多个库中, IO 密集场景性 能不如 Tokio smol0 码力 | 25 页 | 1.64 MB | 1 年前32020美团技术年货 算法篇
MT-BERT 在文本检索任务中的实践 192 美团无人车引擎在仿真中的实践 204 美团无人配送 CVPR2020 论文 CenterMask 解读 215 WSDM Cup 2020 检索排序评测任务第一名经验总结 225 美团内部讲座|清华大学莫一林:信息物理系统中的安全控制算法 235 KDD Cup 2020 多模态召回比赛季军方案与搜索业务应用 252 对话任务中的“语言 - BERT 模型预估,并将预估输出值作 为特征,用于最终的模型打分。这就需要 Augur 提供 Model as a Feature 的能力。 得益于 Augur 抽象的流程框架,我们很快超额完成了任务。Model as a feature, 虽然要对一个 Model 做预估操作,但从更上层的模型角度看,它就是一个特征。既 然是特征,模型预估也就是一个计算 OP 而已。 所以我们只需要在内部实现一个特 相关性却不一致。 2018 年底,以 Google BERT[1] 为代表的预训练语言模型刷新了多项 NLP 任务的 最好水平,开创了 NLP 研究的新范式:即先基于大量无监督语料进行语言模型预 训练(Pre-training),再使用少量标注语料进行微调(Fine-tuning)来完成下游的 NLP 任务(文本分类、序列标注、句间关系判断和机器阅读理解等)。美团 AI 平台搜 索与 NLP 部算法团队基于美团海量业务语料训练了0 码力 | 317 页 | 16.57 MB | 1 年前31.6 resource scheduling & container technology for financial service_yujun
务。 ② Condor采用集中式调度模式,且不能保障用户服务质量。 ③ 最小完成时间算法MCT(Minimum Completion Time)是以任意的顺序将任务映射到具有最早完成时间的主机上, 它并不保证任务被指派到执行它最快的主机上,而仅关心如何最小化任务完成时间,因而可能导致任务在资源上的 运行时间过长,从而潜在地增加了调度跨度。 ④ Min-Min算法, Min-Min算法,利用MCT矩阵,首先分别找到能够最短完成该任务的机器及最短完成时间,然后在所有的最短完成 时间中找出最小的最短完成时间对应的任务。Min-Min算法存在着一个很大的缺点,就是算法的资源负载均衡性能 (Load Balancing)不高。 ⑤ Max-Min算法与Min-Min算法相似,都是将任务指派给具有最小预测完成时间的主机,不同的是Max-Min算法从 所有任务的最小完成时间中选取一个最大值 所有任务的最小完成时间中选取一个最大值,然后进行相应任务。主机映射,之后重复此过程直至待调度任务集合 为空。 ⑥ 轮询调度(Round Robin Scheduling)算法就是以轮询的方式依次将请求调度不同的服务器,即每次调度执行i = (i + 1) mod n,并选出第i台服务器。轮叫调度算法假设所有服务器处理性能均相同,不管服务器的当前连接数和响 应速度。该算法相对简单,不适用于服务0 码力 | 21 页 | 27.20 MB | 1 年前3Laravel 5.6 中文文档
中文学习资源:http://laravelacademy.org 1 一、序言 新版特性 Laravel 5.6 在 Laravel 5.5 的基础上继续进行优化,包括日志系统、单机任务调度、模型序列化优化、动态频率限制、广播频道类、API 资源控制器 生成、Eloquent 日期格式化优化、Blade 组件别名、Argon2 密码哈希支持、引入 Collision 扩展包等等等等。此外,所有的前端脚手架代码都已升 查看完整日志文档。 单机任务调度 注:要使用这个新特性,必须使用 memcached 或 redis 缓存驱动作为应用默认缓存驱动。此外,所有服务器必须和同一个中心缓存服务器进行通 信。 如果你的应用运行在多个服务器上,现在可以限定只在一台机器上运行调度任务。例如,假设你有一个在每周五晚上生成新报告的调度任务,如果任 务调度器运行在三个服务器上,这个调度任务就会在三台机器上运行并生成同样的报告三次,这样很不优雅,甚至很糟糕! 的报告三次,这样很不优雅,甚至很糟糕! 要指定任务只在一台机器上运行,可以在定义调度任务时使用 onOneServer 方法,第一台获取到任务的机器会给这个任务上一把原子级别的锁来阻 止其他服务器同时运行同一个任务: $schedule->command('report:generate') ->fridays() ->at('17:00')0 码力 | 377 页 | 14.56 MB | 1 年前3Laravel 5.2 中文文档
类现在被移动 到 Illuminate\Support\Composer,如果你没有在代码中使用该类那么这一改变对程序没 有影响。 命令和处理器 自处理命令 在创建任务/命令时你不再需要实现 SelfHandling 契约,所有任务现在默认都是自处理 的,因此你可以在自己的类中移除该接口。 独立的命令&处理器 Laravel 5.2 命令现在只支持自处理命令,不再支持独立的命令和处理器。 IronMQ 队列驱动被移动到自己的扩展包中,不再被框架核心支持: http://github.com/LaravelCollective/iron-queue 任务/队列 php artisan make:job 命令现在默认会创建一个队列任务类,如果你想要创建一个同步任 务(非队列),在使用该命令时加上 --sync 选项。 邮件 邮件配置中移除了 pretend 选项,取而代之的,使用 up 维护模式响应模板 默认的维护模式响应模板是 resources/views/errors/503.blade.php 维护模式 & 队列 当你的站点处于维护模式中时,所有的队列任务都不会执行;当应用退出维护模式这些任 务才会被继续正常处理。 本文档由 Laravel 学院(LaravelAcademy.org)提供 Laravel 学院致力于提供优质 Laravel0 码力 | 377 页 | 4.56 MB | 1 年前3
共 409 条
- 1
- 2
- 3
- 4
- 5
- 6
- 41