这是2篇非常经典的微架构层面的性能分析相关的材料,作者提出了一套自顶向下的性能分析方法论
微架构的性能分析是一件很困难的事情:
- 复杂的微架构
- 应用/负载的多样性
- 难以处理的数据
- 时间、资源、优先级等其他更要命的约束
自顶向下分析法的目的就是要从顶层问题出发,层层剖解,直至找到瓶颈所在
remaper
原文链接:https://zhuanlan.zhihu.com/p/29360425
正则化(Regularization)是机器学习中一种常用的技术,其主要目的是控制模型复杂度,减小过拟合。最基本的正则化方法是在原目标(代价)函数 中添加惩罚项,对复杂度高的模型进行“惩罚”。其数学表达形式为:
式中 、
为训练样本和相应标签,
为权重系数向量;
为目标函数,
即为惩罚项,可理解为模型“规模”的某种度量;参数
控制控制正则化强弱。不同的
函数对权重
的最优解有不同的偏好,因而会产生不同的正则化效果。最常用的
函数有两种,即
范数和
范数,相应称之为
正则化和
正则化。此时有:
本文将从不同角度详细说明 、
正则化的推导、求解过程,并对
范数产生稀疏性效果的本质予以解释。
ext4 prjquota 实现原理,参考了 xfs prjquota,并且复用了linux 内核的磁盘配额管理机制的大部分实现,所以源码上分析起来还是非常简单的
linux内核本身就已经支持user、group级别的磁盘配额管理,用法可以参考:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/storage_administration_guide/ch-disk-quotas
从文件系统实现层面来看,文件系统本身并不了解什么是uid,gid,因此disk quota的实现一定是在raw file system 之上的。正因为是如此,所以 prjquota 得以复用原有 disk quota 的大量实现,之需要在原有基础之上,扩展一个新的 quota 类型而已
具体内核提交的 patch:https://lore.kernel.org/patchwork/patch/541891/
4.14 内核时,已经进入主干,因此可以参考:https://lxr.missinglinkelectronics.com/linux+v4.14/fs/ext4/
简述一下其基本设计:
nn.Linear 定义:https://pytorch.org/docs/stable/generated/torch.nn.Linear.html#torch.nn.Linear
class torch.nn.Linear
(in_features: int, out_features: int, bias: bool = True)
其中:
False
, the layer will not learn an additive bias. Default: True
pytorch 本身是没有神经网络层的概念的,所以如果我们要定义一个神经网络,需要通过 torch.nn.Module
来实现
假设我们有很多样本数据,符合模型 y = wx + c,我们也可以用 torch 来直接生成一些随即样本数据
x = torch.unsqueeze(torch.linspace(0, 1, 300),dim=1)
y = 2 * x + torch.rand(x.size())
这是google在13年发表的一片论文:https://dl.acm.org/doi/10.1145/2465351.2465388
这篇论文里,最有价值的地方在于建立了一个对业务透明,能够实时感知在线业务运行质量,并且能自动优化的机制
现代处理器均有多级缓存,类似下面这样的一条指令:“ mov 0x200160(%rip),%rax ”,其执行时间由缓存是否命中决定(L0/L1/L2)。