poseidon

Kubernetes集群调度器原理剖析及思考

两盒软妹~` 提交于 2021-01-06 05:23:30
导读 云环境或者计算仓库级别(将整个数据中心当做单个计算池)的集群管理系统通常会定义出工作负载的规范,并使用调度器将工作负载放置到集群恰当的位置。好的调度器可以让集群的工作处理更高效,同时提高资源利用率,节省能源开销。 通用调度器,如Kubernetes原生调度器Scheduler实现了根据特定的调度算法和策略将pod调度到指定的计算节点(Node)上。但实际上设计大规模共享集群的调度器并不是一件容易的事情。调度器不仅要了解集群资源的使用和分布情况,还要兼顾任务分配速度和执行效率。过度设计的调度器屏蔽了太多的技术实现,以至于无法按照预期完成调度任务,或导致异常情况的发生,不恰当的调度器的选择同样会降低工作效率,或导致调度任务无法完成。 本文主要从设计原理、代码实现两个层面介绍Kubernetes的调度器以及社区对其的补充加强,同时对业界常用调度器的设计实现进行比较分析。通过本文,读者可了解调度器的来龙去脉,从而为选择甚至设计实现适合实际场景的调度器打下基础。 注明:本文中代码基于v1.11版本Kubernetes进行分析,如有不当之处,欢迎指正! 调度器的基本知识 1.1 调度器的定义 通用调度的定义是指基于某种方法将某项任务分配到特定资源以完成相关工作,其中任务可以是虚拟计算元素,如线程、进程或数据流,特定资源一般是指处理器、网络、磁盘等,调度器则是完成这些调度行为的具体实现

解读Filecoin gas费用计算方式

大城市里の小女人 提交于 2020-12-17 14:55:27
今天,我们主要来讲讲Filecoin gas的计算方法,P1、P2、C1、C2的定义和特点,以及Filecoin官方对于降低gas的解决措施。 一、关于Filecoin Gas费用计算 在Filecoin区块链浏览器中,我们点击并进入gas那一栏目,可以看得到gas基础费率走势图,24小时的gas数据其实就是gas费用消耗明细的展示。 gas费用的消耗主要分为两大部分:增长算力所消耗的gas以及维持算力所需要消耗的gas。 其中增长算力所消耗的gas主要在P2和C2阶段,即PreCommitSector和ProveCommitSector;由于Filecoin作为一个存储类型的公链,所以Filecoin的基本单位是Sector (也被称为扇区),1TB的有效算力由32个32GB的扇区组成(32X32=1024)。 因此,增长1TB的有效算力需要消耗的gas费用为:(0.2185+0.08)X 32=9.552 FIL 除了增长算力可以获得FIL区块奖励,保持算力并且按要求提供证明也能获得区块奖励,每TB有效算力提交时空证明参与区块奖励时产生的gas费用为:32/2349X1.5194=0.0206FIL (32是因为1TB有32个扇区,2349是因为一个时空证明消息中含有2349个扇区)。 由上,我们可以知道,新增有效算力是最为消耗gas环节,为什么呢

如何评价路孚特的Datastream工具?

心已入冬 提交于 2020-10-02 09:49:05
作者:Poseidon 链接:https://www.zhihu.com/question/345662086/answer/821426051 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 Datastream是跨品种的全球经济、金融深度历史数据库。 资产类别覆盖包括:股票,债券,大宗商品,利率,汇率,衍生品,宏观经济等。Datastream是路孚特所推出的历史金融数据库,拥有超过3500万个独立工具或指标,涵盖所有主要资产类别,包括850万个活跃的经济指标。它汇集了175个国家/地区65年的金融数据,可以帮助金融公司解读市场趋势、经济周期和世界事件对于金融行业的影响。金融从业者想要查询一个公司或者企业的数据,查看相关行业公司的历史数据,很难获得详尽的内容,一些机构和平台的数据信息是有上限的,也许查询几年以前的数据,就已经是极限了,这对于喜欢更长时间跨度去研究一个公司的人来说,太具有局限性了,而Datastream的数据就显得十分强大。 大部分的数据平台都可以提供实时数据,但是使用Datastream工具能够阐明金融市场发生的事件对企业的投资策略的影响,顶尖经济学家预先构建的图表(图表功能非常强大)能够为企业的投资策略提供帮助信息,并深入了解各国、地区的金融趋势。 Datastream 可以作为数据馈送通过 API 访问,也可以集成到

01-Go语言介绍

被刻印的时光 ゝ 提交于 2020-08-09 08:35:57
目录 Go语言介绍 Go语言特性 Go语言发展(版本/特性) Go语言应用 谁在用 Google Facebook 腾讯 百度 京东 小米 360 应用领域 Go语言项目 Go语架构 Go语言发展前景 Go语言介绍 Go 即Golang,是Google公司2009年11月正式对外公开的一门编程语言。 Go是静态强类型语言,是区别于解析型语言的编译型语言。 解析型语言——源代码是先翻译为中间代码,然后由解析器对代码进行解释执行。 编译型语言——源代码编译生成机器语言,然后由机器直接执行机器码即可执行。 Go语言特性 跨平台的编译型语言 语法接近C语言 管道(channel),切片(slice),并发(routine) 有垃圾回收的机制 支持面向对象和面向过程的编程模式 Go语言发展(版本/特性) 2009年11月7日 weekly.2009-11-06 —— 早期的版本 2012年3月28日 go1 —— 稳定版版的发布 2013年5月14日 go1.1 —— 语言本身的变化、库的变化等。 2013年12月01日 go1.2 —— 提供更好的调度和一个新的语言特性。 2014年6月18日 go1.3 —— 主要是在实现的工作上的变化,以及精准的垃圾回收。 2014年12月10日 go1.4 —— 包含了2个很小的语言变更。 2015年8月19日 go1.5 —— 实现的架构变化

分享一个springboot脚手架

寵の児 提交于 2020-08-08 17:51:05
项目介绍 在我们开发项目的时候各个项目之间总有一些可共用的代码或者配置,如果我们每新建一个项目就把代码复制粘贴再修改就显得很没有必要。于是我就做了一个 poseidon-boot-starter 该项目是基于 spring-boot 的 starter 功能开发的,因此只适用于 spring-boot 项目。该项目集成了如下功能: 异常通知 权限配置 幂等锁 日志配置 用户操作日志记录 查询接口通用化 项目地址: https://github.com/muggle0/poseidon-boot-starter 下面介绍该组件如何在我们的 spring-boot 项目中使用。 首先我们需要下载下来这个项目: git clone https://github.com/muggle0/poseidon-boot-starter.git 然后安装到我们的本地仓库或者私有云: cd poseidon-boot-starter mvn install 安装完成之后在spring boot 项目中引入依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-autoconfigure</artifactId> </dependency> 然后进行一些基础的配置: poseidon