多维度资源分配问题,在系统调度中是经常遇到的一个问题,比如,集群中有cpu,mem,ssd等资源,每个作业需要的每个维度的资源不一样,如何分配集群中的资源给哪些job才能够使得集群的资源利用率最大呢?这就是比较典型的资源分配问题。对于一些需要一定执行时间的job,这个问题的优化目标还会牵扯到最小化总的执行之间以及让各个job等待处理的时间尽量的平均,即公平性。
下面主要介绍论文《Multi-dimensional Resource Integrated Scheduling In a Shared Data Center》中的一些思想方法。
数据结构与算法-24 | 二叉树基础(下):有了如此高效的散列表,为什么还需要二叉树?
我们在散列表那节中讲过,散列表的插入、删除、查找操作的时间复杂度可以做到常量级的O(1),非常高效。而二叉查找树在比较平衡的情况下,插入、删除、查找操作时间复杂度才是O(logn),相对散列表,好像并没有什么优势,那我们为什么还要用二叉查找树呢?
区块链-一些基本概念
Hash
collision resistance(collision free): 是说在密码学中,对于一个hash函数,很难找到两个不同的输入使得其hash之后的输出是一样的。Collision resistance is a property of cryptographic hash functions: a hash function H is collision resistant if it is hard to find two inputs that hash to the same output; that is, two inputs a and b such that H(a) = H(b), and a ≠ b.
hiding:hash函数的计算过程是单向的,是不可逆的。给定一个输入X,可以计算其hash值 H(X),但是通过H(X),很难知道其输出为X。当然蛮力求解也是一个办法。hiding性质的前提是:(1)输入空间较大;(2)输入的分布比较分散。
jupyter安装一些坑
mac 上的jupyter安装上之后,启动jupyter失败。报如下错误
nicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe5 in position 4: ordinal not in range(128)
数据结构与算法-08 | 栈:如何实现浏览器的前进和后退功能?
栈是大家都比较熟悉的数据结构了,个人认为本篇文章的重点在于课后的那两个思考题。
- 为什么函数调用要用“栈”来保存临时变量呢?其他的数据结构不可以吗?
- JVM中的堆栈的概念与平时我们说的堆、栈是一样的意思吗?
第一性原理到底是什么?
【转载】第一性原理到底是什么?
自从“钢铁侠”伊隆·马斯克在一次采访中,吹牛逼吹出个大家听都没听过的哲学名词——第一性原理(厉害哦,老铁,哲学你都懂),后来,很多媒体和看瓜群众不断地讨论“第一性原理”,出现了各种各样的解读版本。我想,既然你看了这么多版本,也不在乎多看一个胡说八道的版本吧。
数据结构与算法-05-数组-为什么很多编程语言中数组都从0开始编号
本小节讲解了如下几个问题
- 如何实现随机访问?
- 数组的删除和插入操作的复杂度?
- 为什么下标从0开始?
- 严格控制数组的越界访问!
- 容器和数组的关系?
- JVM和数组有什么相同之处呢?
数据结构与算法-04-复杂度分析(下):浅析最好、最坏、平均、均摊时间复杂度
本小节主要讲解了分析时间复杂度的几个点:最好情况的时间复杂度(best case time complexity),最坏情况的时间复杂度(worst case time complexity),平均情况的时间复杂度(average case time complexity),均摊时间复杂度(amortized time complexity)。