- 博客(32)
- 问答 (1)
- 收藏
- 关注
原创 基于Validation构造NEO4J上层API实现serializable isolation
现在的一个想法是,在transactionManager上面建立一个CustomTransactionManager,这个manager里面有一个listener,每当开启一个新事务的时候,CustomTransactionManager会记录这个事务的WS、RS(在事务执行的过程中,Manager会收集它的信息。这个类里面存放我们需要监测的所有信息,在连接数据库的时候被激活,并且有接受信息的接口,根据收到的信息执行相应的操作。我们需要记录的是数据库读到的数据,触发读操作的动作都有哪些?
2023-11-06 21:06:28
127
原创 DAT400 workshop2 MPI
例如,在 MPI_COMM_WORLD 中,通过MPI_Send 和 MPI_Recv 函数可以发送和接收消息。MPI程序中的所有通信操作都是在某个通信器上进行的。在这种模式下,发送进程会被阻塞(即暂停执行),直到消息被完全发送给接收进程,而接收进程也会被阻塞,直到消息被完全接收。MPI_Comm_split 是一个MPI函数,用于将一个通信器(communicator)分割成多个子通信器,这样可以更灵活地组织进程组。通信器在MPI中的概念非常重要,因为它定义了通信的上下文,决定了哪些进程可以相互通信。
2023-11-06 21:05:54
130
原创 DAT400 workshop1 OpenMP
当编译器遇到 atomic 操作时,它会生成相应的硬件原子操作指令,确保对共享变量的操作是原子的。atomic 指令确保对共享变量的读取、修改、写入等操作是原子的,这样可以避免竞态条件(race conditions)的发生。在需要保护的代码块前后分别调用omp_set_lock()和omp_unset_lock()函数,以确保在这个锁的保护下,只有一个线程可以进入临界区执行代码。这种硬件支持的原子操作通常非常高效,因为它们由底层硬件直接支持,而不需要额外的同步机制。
2023-10-25 22:38:24
106
原创 perf分析工具入门
perf 是一个性能分析工具,通常用于 Linux 系统上。它可以帮助开发人员和系统管理员收集和分析程序的性能数据,以便找出性能瓶颈和优化应用程序。
2023-09-07 17:06:50
83
原创 笔记:数据库系统全书第18章,并发控制基本知识与基于有效性确认的并发控制
对于每个事务T,调度器必须被告知T所读的数据库元素集合 RS(T) 和T所写的数据库元素集合WS(T)。对这个集合中的T,调度器维护 START(T) 和确认时间 VAL(T)对这个集合中的T,调度器维护 START(T),即事务的开始时间。对这个集合中的 T,调度器记录 START(T),VAL(T) 和 FIN(T)。对于事物T,U,若 FIN(T) < START(U),这样的 T 我们不必记住,即可以周期性的清理 FIN 集合。调度器有一个锁表,对于每个被上锁的元素,其指明当前持有该锁的事务。
2023-03-26 15:04:35
154
原创 snapshot与foreign key相关文献,以及其在relational database和graph database中的使用
操作失误 文档没保存。。。只剩下这些了。
2023-03-24 09:46:24
133
原创 MVCC (多版本并发控制) 与SnapShot Isolation
MVCC的最早论文阅读笔记。这里主要写了一些MVCC的思想,定义进程冲突、timestamp的原理等等。
2023-03-19 14:26:21
249
原创 NEO4j中用于保持内存内容与磁盘数据同步的类(FLUSH AND FORCE)(part 2)
这个是找到了PageCache,PageFile中的FlushAndForce,应该是具体IO的地方。其中涉及到了OffHeapLock但不知道其具体是怎么使用的。不知道其和最最底层的IO 接口 Swapper是什么关系
2023-03-08 17:27:18
272
原创 NEO4j中用于保持内存内容与磁盘数据同步的类(CHECKPOINT AND FLUSH)(part 1)
neo4j在内存中采用两层cache结构(可以理解为Entity和PageCache)。数据以record的形式存储在PageCache里面,通过cursor与Entity或者磁盘进行交互。这三者之间需要保持数据的一致性。这篇笔记以Neo4j以15minutes为周期flush磁盘的CheckPoint为切入点尝试理解数据库中数据同步机制
2023-03-05 09:34:41
281
原创 数据库系统概论第五版_第九章:关系查询处理和查询优化
本章主要涉及数据库的查询处理步骤和查询优化技术。查询优化可分为代数优化和物理优化。代数优化是对关系代数表达式的优化,物理优化是对存取路今后和底层算法的选择的优化。
2021-12-16 10:42:57
1770
原创 函数加密_同态加密__密码学课堂笔记
背景对称、公钥加密算法解密密文,得到的是明文的全部信息。但是我们希望能够对密文的访问附加特殊的要求,使访问者只得到明文的一个函数值,而不会泄露明文。FE的核心要求:对明文的灵活访问FE密钥:基于 对密文访问需求抽象出的函数解密:对明文的预定义函数运算(?)(也可在加密函数中实现),直接输出函数值而非原明文Functional EncryptionFE定义:键空间K,明文空间X,(K, X)上的泛函F: K 乘 X --> {0, 1}*。F中的f是确定性图灵机。同时,要求密钥空间 K
2021-11-14 17:17:37
18750
6
原创 环境配置详解:Python(Pycharm)调用C/C++程序(VS2017)
目录前言一、系统路径说明二、环境配置1.在VS中选择 Release X642.菜单栏中选择:项目->属性3.生成dll答疑python程序目录下没有Numpy路径?具体代码参考博客前言本文主要讲解在Python程序中调用C(C++)程序的方法。主要思路是:在VS中配置好环境后,将C语言程序打包生成动态库文件.dll。将.dll改名成.pyd之后,装入相应路径,在pycharm中直接import即可环境:win10Pycharm(python3.6)(64位)VS2017(社区版)
2021-07-23 12:42:55
19213
3
空空如也
(WPF初学者)Button和Gird相互覆盖怎么解决
2021-09-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人