- 博客(35)
- 收藏
- 关注
原创 SPEC2017make-error-`cfgparams‘ 的多重定义
在.cfg文件中加入-fcommon。`cfgparams' 的多重定义。再使用source shrc。
2024-07-15 20:44:44
363
原创 LLVM中的PHI NODE是什么
PHINode是LLVM中一种特殊的指令,用于在多个输入值之间进行选择。这些输入值可能是来自不同块中的值,并且可能由于分支语句或循环等原因而不同。PHI Node是LLVM中的一种类型,它表示一个在多个输入值之间进行选择的节点。它通常用于描述控制块中的值的变化。
2024-07-09 20:42:15
288
原创 仓颉语言学习资料
入门教程:https://developer.huawei.com/consumer/cn/training/course/slightMooc/C101718903607800132。白皮书:https://developer.huawei.com/consumer/cn/doc/openharmony-cangjie/cj-wp-abstract。仓颉编程:https://developer.huawei.com/consumer/cn/cangjie/
2024-07-02 14:43:07
354
原创 DPTree以及CMU 15-721(强烈推荐)课程学习
DPTree: 利用DRAM和NVM的两层索引优化写性能 @VLDB2020 - 知乎 (zhihu.com)
2024-04-08 16:53:39
237
1
原创 c++编译遇到fstream:86:43: error: macro “static_assert“ passed 3 arguments, but takes just 2
解决办法:定位自己代码中的static_assert,然后注释掉或是undef。问题极大概率出现在自己写的代码文件里出现了与c++库中定义的宏冲突,
2024-03-24 01:21:11
584
原创 如何使用Intel PCM获得在DRAM或是PM上的读写以及命中率
getBytesReadFromMC是brief Computes number of bytes read from DRAM memory controllers。getBytesReadFromPMM是brief Computes number of bytes read from PMM memory。3、嵌入自己的代码中,最终可以获得分别的读写量(return Number of bytes)1、先装上Intel PCM,具体安装可见GitHub。4、更简便的用法待续。
2024-01-15 21:34:08
811
原创 ubantu20 安装多个版本的gcc/gc++编译器
本机上已自带gcc-11,现在我们再装一个gcc-7。在sources.list中添加如下内容。1、需要查看已安装的gcc版本。#安装gcc-7和g++-7。如果安装时报错源没有安装包。安装多版本gcc编译器完成。3、多版本gcc切换设置。
2023-10-21 19:12:32
1022
1
原创 maven运行报错:Failed during checkstyle execution
maven运行报错:Failed during checkstyle execution
2023-04-02 09:55:37
1210
1
原创 PM数据结构优化之五:PACTree
相关信息PACTree:A High Performance Persistent Range Index Using PAC Guidelinespublisher:SOSP’21author:Wook-Hee Kim R. Madhava Krishnan Xinwei Fu Sanidhya Kashyap† Changwoo MinVirginia Tech †EPFL研究目的DRAM仿真的NVM与真实的NVM在实际中仍然是存在极大的区别的,NVM是更复杂的。此外,在对大量现有
2022-05-10 16:57:12
529
转载 directory cache co-herence protocol and Snooping Coherence Protocols
7 Snooping Coherence Protocols - 知乎6 Coherence Protocols - 知乎
2022-04-21 11:34:48
163
原创 NVM数据结构优化之四:LB+-Trees: Optimizing Persistent Index Performance on3DXPoint Memory
LB+-Trees: Optimizing Persistent Index Performance on3DXPoint Memorypublisher:PVLDBauthor:Alibaba Group
2022-04-01 20:12:07
751
转载 什么是 WAL
WAL(Write Ahead Log)预写日志,是数据库系统中常见的一种手段,用于保证数据操作的原子性和持久性。在使用 WAL 的系统中,所有的修改在提交之前都要先写入 log 文件中log 文件中通常包括 redo 和 undo 信息什么是 WAL - 知乎...
2022-03-20 11:15:11
165
原创 硬件事务内存(hardware transactional memory,HTM)
目的HTM 的目的是能够支持在内存中原子的进行多地址写入,以避免与其他合作线程产生不一致的情况缓存的四个状态无效、共享、排他、修改考虑到硬件事务内存,还有两个额外的状态:缓存行在操作中被读取缓存行在操作中被修改如果发送下列情况,事务必须被终止:其他 CPU 希望写入数据、读取已经被修改的数据和 CPU 希望失效其缓存.通常锁竞争影响范围会比数据竞争大很多,但是只有数据竞争才会影响 CPU 的并行工作。因此,仅仅终止产生数据竞争的事务,可以彻底降低阿姆达尔定律影响,加速并行运算
2022-03-19 22:43:16
1324
原创 NVM数据结构并行读写优化之三:FASTFAIR
关键点一节点的移动采用从后往前逐一移动的方式,并且采用判断当前操作数据所在缓存行是否写满,将要写到下一个缓存行。也就是以一个缓存行为单位调用刷新指令,将缓存行的脏数据刷新到NVM在对数组进行插入时,我们会发现总会有一个关键字下的左右孩子指针是相同的,即存在短暂的不一致性。左右指针相同的地方才允许插入。可以提高FAST插入时得并发能力研究目的解决论文作者提出的两个挑战:1、当前基于B+树变形的研究为了保持叶子节点有序,通常需要调用大量内存刷新指令和使数据能够按运行顺序存储的指令。2
2022-03-17 15:04:36
1124
原创 基于混合持久化内存数据结构的并行读写优化之二:RNTree
研究目的作者的研究宗旨在于解决由于原子写大小导致的性能瓶颈,同时提供较好的并发性能。研究背景本文是基于混合型内存作为主存的系统架构而言的,叶子节点存储在NVM上,内部节点存储在DRAM。当今基于NVM的B+树数据结构的性能瓶颈主要由于原子写的大小,因为原子写的大小限制着数据持久化的开销和保持叶子节点有序的开销,并发性和持久性的重叠设计是影响系统可扩展性的关键。研究概述作者提出当前面临的两个挑战:其一、持久化写与使叶子节点有序引起的开销权衡,其二、如何降低同步的开销以提高可扩展性。
2022-03-10 22:31:08
259
原创 write-ahead-log与append-only-file的原理
write-ahead-log,WAL日志,是数据库中一种高效的日志算法。从数据库原理而言,它实现的是redo日志模式。即修改数据库时,不直接修改数据库内容,而是将修改完的数据写入日志同步到磁盘上,这样对其他读进程就没有影响。如果数据库崩溃,重启后扫描日志文件,然后更新到数据库中。为了提高效率,WAL日志模式提供checkpoint操作,来定时进行数据更新操作。以SQLite、MapDB为例,WAL的实现就是是按照上面原理来的。在更新数据页时,会将更新完的页先同步到磁盘上,并定时进行checkpoint
2022-02-26 22:49:09
671
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人