11 2022 档案
摘要:汇编 还是被逼着学习汇编,哭唧唧o(╥﹏╥)o。之前看操作系统的那门课程也用过riscv的汇编,但是都是copy and Write(抄代码当做写代码,滑稽。 寄存器 eax是half rax Register,这意味着对eax修改实际上对rax低32bit进行修改 syscall rax存放sys
阅读全文
摘要:CS149并行系统 ass4 并行图算法+block gemm pagerank 我研一的时候,实验室还经常提到这个算法,当时我刚开始学cs还很差,虽然现在也很菜(笑),但至少现在能直接手写出来,当然还是多线程版本。 void pageRank(Graph g, double *solution,
阅读全文
摘要:Memory Consistency和Memory Order 这节课实际上解决了我一直以来非常困惑的一个问题,Memory order到底是个啥。因为之前使用到atomic之类的cpp库,一直困惑里面涉及的Memory order作用 Memory coherence vs. memory con
阅读全文
摘要:ubuntu server无图形界面连接同济大学校园网TJ-WIFI 安装network-manager sudo apt install network-manager systemctl start NetworkManager.service systemctl enable NetworkM
阅读全文
摘要:Cache一致性 关于Cache,我感觉通过这门课程学习到的内容可能还不够。我现在思考Cache读Memory有点像思考Memory读SSD。 Cache每次都需要从Memory读64B,而内存读SSD每次都会读4KB 内存有带宽bandwidth,而SSD也有限制不过叫IOPS。 而且现在主要还都
阅读全文
摘要:协程学习 很早之前,其实也就半年前吧,我当时用golang写了mit6.824这门课程,众所周知,golang里面协程算是这门语言核心的特点。我一直很想搞清楚协程到底是啥,但是有点畏难情绪,趁着在学校隔离期间,我也是抽出时间看了看协程的实现。没想到协程原理其实挺简单的,我是搭配大佬的笔记和代码学习的
阅读全文
摘要:Parallel Programming on Graphs 这些课主要讲了关于图并行算法,包括pagerank等算法。 PageRank PageRank 算法可以见https://en.wikipedia.org/wiki/PageRank#math_2 $$R[i]=\frac{1-\alph
阅读全文
摘要:CS149 ass2 线程池+ 任务图 任务描述 实现线程池,要求同时实现一个spin和sleep的线程池。 要求实现一个任务图,任务按照顺序完成 我的收获 这个assign不算难,主要目的就是学习并发编程。 我从这个Project学习的到: condition variable可以通过wait(l
阅读全文
摘要:Part 1: Work Distribution and Scheduling 为了高性能优化目标: 在所有可执行资源上达到负载均衡 降低communication,避免stalls 减少额外的overhead 负载均衡 在assign1中我们已经深刻体会到了负载不均衡对于程序带来的深刻的影响,执
阅读全文
摘要:Parallel Programming Abstractions single program, multiple data SPMD这个定义还是第一次听到,我在Intel ispc的官网找到了这一定义:https://ispc.github.io/ispc.html The main idea
阅读全文
摘要:A Modern Multi-Core Processor 一个处理器在做什么? Fetch Decode:指令流解码,决定下一条执行的指令 ALU:执行单元,执行一条指令,决定如何修改寄存器和计算机内存 Context 一组寄存器,保存了进程的状态。 这部分有点像科普性质了,有点像CPU的发展史。
阅读全文