抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

GPGPU-sim部署 + Ubuntu切换软件版本

环境 ubuntu18.04 cuda11 gcc5.5 流程安装依赖, 安装gcc5GPGPU-sim所需的依赖如下 GPGPU-Sim dependencies: 1sudo apt-get install build-essential xutils-dev bison zlib1g-dev flex libglu1-mesa-dev GPGPU-Sim documentation...

拉片分析xv6和rcore中的trap和上下文切换机制

拉片分析xv6和rcore中的trap和上下文切换机制学trap感觉非常绕, 浅记一下。个人认为rcore的实现会比较好理解一点, 不过xv6的也值得学习一下, 所有这里把两个的实现都整理了一下。(未开虚拟内存版) 拉片分析: 进程第一次启动 -> 进程第一次返回用户态 -> 进程陷入内核态 -> 进程再返回用户态 rcore对应代码ch3, 未开启分页版, 开启分页后大...

CPP中的左值和右值概念

CPP中的左值和右值概念Overview 语法上能取地址就是左值 有名引用本身是左值, 无名右值引用(std::move()的返回)是右值 const左值引用(const T& val = 6)引用右值, 可以编译通过。 因为与右值不指代对象, 没有”存储”的语义没有冲突 性能上没差别, 引用都可以避免拷贝 左值引用可以使用const T&引用右值 右值引用可以使用std::...

LD_PRELOAD劫持

LD_PRELOAD tips很多程序都需要链接共享库才能运行, 链接共享库默认会从系统/usr/lib目录中查找, 然后链接.so文件。而且对于同名函数, 只会识别最先出现的那一个。指定LD_PRELOAD变量就能让链接器先去找LD_PRELOAD指定的路径再去找默认路径, 从而实现对函数劫持。 详见man ld.so 实验例子我们可以通过strace查看一个程序执行过程中使用到的系统调用...

给neovim配置项目信息

给neovim配置项目信息为什么要配置项目信息呢? compile_commands.json文件不行吗? 主要是为了刚开始编码时能有一些信息, 所以直接简单地手写一下.ccls文件或者.clangd文件会方便一点。 clangd clangd file .clangd文件由一个个片段(fragment)组成, 片段间可以使用---分割。本质就是解析成yaml, 所以配置是key valu...

Bitcask A Log-Structured Hash Table for Fast Key/Value Data

AbstractBitcask是一种基于哈希表的Log-Structured的KV存储结构。特点是简单, 且有足够好的速度和质量。 与LSM tree有点类似, 都利用了内存和外存配合, merge。 内存中的keydir哈希表使用文件和位置信息做数据索引(value = file + offset), 外存的log-structured做数据存储。 Overview每个bitcask实例都...

FFMPEG

AbstractPreface基本使用自动分析后缀, 然后转换格式, 可以转到音频, 如后缀.mp3 1ffmpeg -i input.t1 ouput.t2 指定编码器 1ffmpeg -i input.t1 -c:v libx264 -preset xxx -crf 22 ouput.t2 -c:v TODO?? coder:video libx264是ffmpeg提供的一个纯软件...

XPC - Architectural Support for Secure and Efficient Cross Process Call

XPC: Architectural Support for Secure and Efficient Cross Process Callabs 数据和逻辑分离, matedata和data分离 还有其他? 内核值参与简单的工作 -> 解决传输的问题 XPC如何解决 TOCTTOU问题? xcall, xret xcall-entry xcall-cap relay-se...

Persistent Memory软硬件结合方向的调研

abstraction基于新硬件的存储系统性能优化 已经进行了哪些研究 有哪些创新性方法取得了哪些结果为什么对这个方向感兴趣 通过这段时间对实验室工作的调研和论文阅读我大概知道了实验室的战略方向和该方向的一些前沿研究。 首先我感受到研究的基本思路是: 非易失型存储设备PM(Persistent memory)的出现模糊了当前系统架构”极端存储”和”极端内存”的界限, 需要对这种新硬件提供支...

CMU15-445学习笔记(下)

课程笔记ch14 Query Planning Optimization I Hardest part of building a DBMS $$$, 人们也开始考虑使用ML做优化 基本思路: 修改查询语句 如规约常量, 如先选择再连接 与具体数据无关, 可以记录些元数据(catalog)用于优化 灵活cost model 执行计划的大题框架: 用户输入 SQL重写(优化) 解...