跳转至

2023

NAS 无法扫描到涉及的网络知识

背景

tsj 的 NAS 插墙上网口,笔记本同样插墙上网口,然后使用 NAS 官方工具扫描不到设备。由于扫描不到设备所以不知道设备 ip,也就无法进一步配置。

那么是什么原因导致扫描不到呢,照理来说,NAS 和笔记本应该接在同一个交换机下,理应是互通的。在研究该问题过程中,查缺补漏了很多网络知识,特记录。

疑问一:学校为何插在相邻墙上的网口的机器分配到不同网段的 ip?比如 114.xxx 和 210.xxx 疑问二:宿舍路由器查看 wan 口邻居表,为何不同 ip 的 mac 地址是相同的?

openwrt x86 升级

我的台式机 pve 充当软路由功能,包含一个 openwrt LXC 容器。该容器使用了很长时间,配置了 wiregurad,以及复杂的防火墙和路由规则。但是在一开始创建 lxc 容器时,rootfs 选择了 x86/generic 版本。该版本实质上是 32 位的系统

Generic is for 32-bit-only hardware (either old hardware or some Atom processors), should be i686 Linux architecture, will work on Pentium 4 and later. Use this only if your hardware can't run the 64-bit version.

虽然不知道会对性能等有多大影响,但是对于有点完美主义的人来说还是无法接受。因此研究如何将其升级到 64 位版本。

本来以为应该是一件很简单的事情,但是阅读 openwrt wiki 后,发现并没有想象中的简单。并且也学习到了一些关于镜像、分区、文件系统的知识。特此记录。

再次理解 Cache 设计

涉及虚拟 cache 导致的同名和重名问题;重名问题 bank 和 L2 两种解决方法;进程切换时 TLB 的操作;什么时候需要显示地控制 cache 等。

捡垃圾-rk3399 DIY KVM

由于我的台式机承载了 NAS,做种,Jellyfin,博客,文件同步等功能,已然成为一台服务器,因此其可靠性非常重要。但是我还是经历过几次由于网络故障导致其无法访问的情形,此时则只能去实验室维护比较麻烦,因此需要一个 IPMI 的管理功能,使得网络出故障情况下也能远程访问。

而家用 PC 主板很少有支持 IPMI 功能的,支持的板子一般都要 2000 元以上。因此需要一个成本低廉的方案,在网上搜索一阵后发现确实有基于树莓派 DIY 的方案,并且有一个比较大的开源项目 PI-KVM。

然而由于树莓派 400-500 昂贵的价格,使得 DIY 的成本仍然很高。直到我看到使用普通 arm 板子的方案。甚至可以使用 40 元的电视盒子。因此价格完全可以保证在 200 元以内,我觉的是一个可以接受的方案。

最后成本

  • king3399 开发板:咸鱼 120
  • ms2130 USB 采集卡,支持 1080p 60 帧:淘宝 60

KVM-bios.jpg

具体数学

具体数学公式小册子

推广一个自己的 github 仓库,期望共同完善。 阅读具体数学电子书籍时,由于经常需要查看某个编号的公式因此产生了这个项目,用于阅读时查阅公式 https://github.com/TheRainstorm/concrete_math_formulas

成套方法

在具体数学 (Concrete Mathematics) 课本中,在解约瑟夫递推方程时,第一次介绍了成套方法 (repertoire method)。之后也使用这种方式求解各种递推方程。相信很多人第一次看到这种方法时都会感觉到不可思议——还能这样?虽然每一步都能看懂,但是就是不知道这种方法是怎么想到的。在查阅了一点资料后,我对该方法有了更多的认识。先说明一点,该方法并不是一种万能方法,实际上要求问题要有线性结构。

参考:linear algebra - Mathematical explanation for the Repertoire Method - Mathematics Stack Exchange

C&C++

  • C++ 语言新机制(如闭包,for_each)
  • C++ STL 使用
    • 容器
    • 算法库
  • 常见算法记录

CUDA 架构

疑问

  • ampere 架构 SM 中有 4 个 process block,process block 对应一个 warp?意思是可以有 4 个 warp 同时执行?
    • Femi 架构没有 process block,SM 就是最小单元?
  • The threads of a thread block execute concurrently on one multiprocessor, and multiple thread blocks can execute concurrently on one multiprocessor.
    • 这样岂不是若干 thread block 抢一个 SM 上的 shared memory?
    • 不同 threadblock 的 warp 并发执行,如何隐藏延迟
  • cuda 分块大小对性能影响很大,那么如何确定分块大小呢?
    • 穷举
    • 分析模型?

记一次 linux 系统无法启动修复过程

背景

我想要把第二张显卡也直通给虚拟机,然后就自己编译了一个打了 acs overide patch 的内核。之后启动也没有问题。但是当我第一次运行虚拟机后,电脑就卡死了。然后我强制关机后,无法进入系统,而进入了 busybox initramfs 交互命令行。提示文件系统错误,让我 fsck 系统盘。我照做后就成功进入系统了。

  • 这里进入系统后一切正常,但是 lxc 的 storage 显示 unavailable,zpool import zfs_lxd.img 显示损坏。

然后我想再试试,结果启动虚拟机后又卡死了。我强制重启后,好像又进入 busybox 进行 fsck 了,但结果还是进不了系统,这次进入了紧急模式。