记录 | 智慧树下树莓果

今日 computer

今天在 CMU 15-445 的 primer 0。在 cmake 后想要 dubug 失败。报错:

LeakSanitizer has encountered a fatal error .

即使我在 launch.json 中尝试通过环境变量来禁用它。原因是 通过环境变量禁用 LeakSanitizer (LSan) 的方法在这种情况下没有奏效,或者 LSan 还是在某些层面上被激活并与 gdb 冲突。

然后得修改官方 assignment 的 CMake,将 LSan 去除,不过貌似没有找对地方。

LeakSanitizer(简称 LSan) 是 Google 开发的一种 内存泄漏检测工具,用于自动发现 C/C++ 程序中没有正确释放的堆内存。它是 AddressSanitizer(ASan) 的一个子模块,可与 ASan 联合使用。

3 Likes

昨天几乎把 CMU15-445 的 primer0 做完了,剩一点 Hyperloglog_pesto 的桶的序号有点没理解懂,官方 discord 也没有啥有用消息。

没绷住,今天帮朋友调小狗:

4 Likes

在图加载出来之前,我还以为是在教小狗握手/坐下/趴下

1 Like

电子小狗也是狗:poodle:

1 Like

好奇有没有机器狗的视频 看起来好酷:star_struck:

其实很多时候在做重复的事情:sad_but_relieved_face:,并不酷,每个人都会对重复或多或少感到厌倦。

2 Likes

天气越热越想开摆什么也不做,我不想做人类了。柴静老师的书被禁了,不过还是可以在 zlib 上找到,会翻 wall 就行。

柴静谈《看见》被禁 2:“我只是讨厌屈服”

复旦 120 限定版礼盒纪念

1 Like

人类是有极限的……

我不做人啦 jojo :tieba_huanhu:

这本书居然被禁了吗,我家里似乎还有纸质版×神奇

离开学校在滚回家的路上 :partying_face:

大伟哥认为活着最重要是活在当下,是享受,珍惜每一天。重要的东西例如“自由”,“亲密关系”,“持续的成长感”。我们需要收获快乐,让人生变得有意义起来。

8 Likes

东南某省份的空气比西安潮湿的多,可以鼻感出来,下雨过后带着独属于绿色植物或者树木的清芳。休憩的日子稍微惬意一些,想开摆什么也不做。给 cmu15-445 的 lab1 整不动了

5 Likes

在家的时候 很享受这种感觉:face_savoring_food:

1 Like
DNS 劫持

今天访问你站的时候 DNS 解析到了一个恶意站点,没有开梯子,移动数据直连移动运营商服务器,可能是中间人(MiTM)DNS 劫持攻击捕获了本机和移动公司的 DNS 服务器之间的通信。这种情况只出现一小段时间,并且在此期间本人什么都没做,估计并非本地劫持。可能是运营商那里的小问题。

DNS 劫持

您的 DNS 服务器由您的 ISP(Internet 服务提供商)拥有和控制,您的系统的 DNS 设置通常由您的 ISP 分配。当用户尝试访问网站时,请求被引用到他们系统的 DNS 设置,而 DNS 设置又将请求重定向到 DNS 服务器。DNS 服务器扫描 DNS 请求,然后将用户定向到所请求的网站。

但是,当用户 DNS 设置因恶意软件或路由器入侵而受到威胁时,用户发出的 DNS 请求将被重定向到由攻击者控制的流氓 DNS 服务器。这个受攻击者控制的流氓服务器会将用户的请求转换为恶意网站。

DHCP

DHCPD 动态H ost C 控制P 协议),正如大家一样 Know 是一种网络协议,可自动为网络中的客户端计算机分配 IP 地址。它消除了为大型网络中的每台计算机手动分配 IP 地址的繁琐工作。此外,它还消除了由于错误地将相同的 IP 地址分配给多台机器而发生的冲突。我们可以在 DHCP 服务器配置中定义 IP 范围。除了 IP 地址之外,我们还可以定义其他信息,例如子网掩码、默认网关、DNS 服务器信息等,然后将这些信息分发到网络上的客户端计算机。

ubuntu/linux DHCP 配置文件位置:

sudo vim/etc/dhcp/dhcpd.conf

CMU15-445 note:

database 的三种主要的 workload
  • OLTP(Online Transaction Processing) 在线事务处理,快速地对于一小笔 data 的读或者写更新。指的是那些需要从外部世界获取新信息的工作负载或者应用。这种情况下的查询一般不会一次处理大量数据。
  • OLAP (online analytical processing) 在线分析处理,对于 data 进行的复杂的查询,计算与归并整合。
  • Hybrid Transcation + Analytical Processing(机翻:混合交易 + 分析处理),指的是有一些 workload 需要上述两者的结合,并行,同时支持两种操作。
4 Likes

有条件的话可以自己搭个 AdGuard Home 之类的,上游使用 DoH 或 DoT。

2 Likes

LGTM.今日已完成门友大学习 :face_blowing_a_kiss:

1 Like
chatgpt 对于 LRU-K 的解释

在数据库的页面缓存池 BufferPool 中,“后向 k-距离”(backward k-distance) 是衡量一个在 BufferPool 中的页框(frame,通常是 disk page 的 copy,disk pages 因为访问而刷到 BufferPool 中)最近被第 k 次前访问有多久的指标。它的计算规则可以分为两步来理解:


1. 找到第 k 次前的访问时间戳

  • 每个页框都会维护一个访问历史时间戳列表,例如:[t₁, t₂, t₃, …, tₙ],其中 tₙ 是最近一次访问的时间戳,t₁ 是最早的一次。

  • 当需要计算某个页框的 k-距离时,先看它的历史访问记录长度:

    • 如果访问次数 ≥ k,就取列表中倒数第 k 个元素,记作 tₙ₋ₖ₊₁

      • 例如:历史为 [100, 150, 200, 300, 350],要计算 k=3 的后向距离,就取倒数第 3 次的访问时间戳 t₃ = 200
    • 如果访问次数 < k,则说明这个页框还没被访问过 k 次,根据 LRU‑K 的定义,它的 k‑距离被视作 +∞(无限大),表示它“不成熟”或“信息不足”,优先考虑驱逐。


2. 计算后向 k-距离

  • 设当前全局时钟/时间戳为 T_now,第 k 次前的访问时间戳为 T_k

  • 那么后向 k-距离就是:

    backward_k-distance = T_now − T_k
    
  • 仍以上面的例子:

    • 假设当前时间 T_now = 400
    • 第 3 次前的访问 T₃ = 200
    • 则 k=3 的后向距离 = 400 − 200 = 200

冲突(Tie‑breaking)规则

  • 若多个页框的后向 k-距离都是 +∞(说明都未被访问过 k 次),它们之间无法仅凭 k-距离比较优劣;

  • 这时就看“最早一次访问”的时间戳(也就是历史列表的第 1 个元素)。

    • 谁最早被访问(最小的那个 t₁),谁就最先被驱逐。

图示举例

页框 ID 访问历史时间戳 k=2 时的后向 2-距离 说明
A [100, 250, 360] 400 − 250 = 150 第 2 次前访问在 250
B [120, 200] 400 − 120 = 280 刚好 2 次,取倒数第 2 即最早那次
C [300] +∞ 少于 2 次访问,k-距离视为无限大
D +∞ 从未访问,k-距离也是无限大
  • 在这四个页框里,C、D 的后向 2-距离都是 +∞

    • 看它们最早一次访问:C 的最早访问是 300,D 从未访问可认为“无访问时间”(也看作最小),
    • 因此 D 会被优先驱逐;
  • 若 D 不存在,则在 C、A、B 三者中比值:

    • C 为 +∞(最大)> B 的 280 > A 的 150,
    • 所以 C 会被驱逐。

总结

  1. 后向 k-距离 = 当前时间 − 第 k 最近访问时间
  2. 访问次数不足 k 的页框视为后向 k-距离 = +∞(最先考虑驱逐)。
  3. 多个 +∞ 时,用最早一次(第 1 次)访问时间当作次级排序,最早的优先驱逐。

是不是要加上一张图片才不会无聊 :upside_down_face::Pixiv:四散 Nitron
最近 b 站一直推这个,似乎是老番隔了 15 年复出 :thinking:

1 Like

新吊带袜天使:face_savoring_food:强推

1 Like

Robocon 队长突然问 lz 要不要留队,一下子把 lz 问住了,现在还在纠结,太犹豫了。接下来要做的东西太多了,lz 实验室科研方面发 paper 的经验几乎很难说有,另外 lz 不知道这个sb专业大四自己出去找到的实习是什么方向的,还是需要问问学长学姐。

刚刚把一个 task1 给 debug 通了,不知道能不能扛得住 multi-thread 的测试了。

6 Likes

不知道了,先把 Robocon 老带新的一块先接了下来,一方面也是催促自己多写一些博文和教程,之后不懂怎么办了。

3 Likes