0%

1. introduction

​ 动态数据集上的图处理在许多应用领域越发重要,如推荐系统和欺诈检测等。现今,许多场景下都需要进行大规模的图计算,如图分析(analytics),图模式匹配(graph pattern matching, GPM), 图遍历(tranversals).而这些图计算的数据集是动态变化的,随时都在进行更新。 创建这样一个系统仍然是一个未解决的问题,其根源就是没有底层数据结构既能保证高效率的事务更新,又能有效处理各种各样的图工作负载(比如模式匹配、图遍历就是不同的工作负载)。这篇文章就是要解决这个问题。 为支持分析工作负载(如page rank)和图遍历(单源最短路径)需要支持快速扫描。为了支持模式匹配(如triangle counting),数据结构需要有序to enable fast intersections。为了保证更新速度,该数据结构需要支持动态更新。为了保证并发,需要实现多版本。

阅读全文 »

本文转载自CSDN

std::mutex

互斥量是一个可以处于两态之一的变量:解锁和加锁。这样,只需要一个二进制位表示它,不过实际上,常常使用一个整型量,0表示解锁,而其他所有的值则表示加锁。互斥量使用两个过程。当一个线程(或进程)需要访问临界区时,它调用mutex_lock。如果该互斥量当前是解锁的(即临界区可用),此调用成功,调用线程可以自由进入该临界区。

阅读全文 »

环境配置

发行版为centos 7.6

现在更新一下环境

1
yum update -y

然后查看一下是否有screenjava

1
2
screen -version
java -version

安装screenjava

1
2
3
yum install screen
wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm
rpm -i jdk-17_linux-x64_bin.rpm
阅读全文 »

本文转载自CSDN超级大洋葱806

std::list简介

img

std::list的定义在头文件<list>中。

模板类list是一个容器,list是由双向链表来实现的,每个节点存储1个元素。list支持前后两种移动方向。

优势: 任何位置执行插入和删除动作都非常快。

阅读全文 »

本文参考自知乎

C++中explicit常用于构造函数前,防止因隐式转换而导致错误的发生。本文将通过构造函数带有和不带有explicit两个例子,从而说明explicit的作用

阅读全文 »

本文转载自CSDN-架构师忠哥

file_fdw介绍

fdw (Foreign Data Wrapper)是一种外部访问接口,被用来访问存储在数据库外部的数据,这些数据可以是外部的pg数据库,也可以oraclemysql等数据库,甚至可以是文件。

本文讲解如何通过file_fdw,访问外部的数据文件

阅读全文 »

tar是归档文件,.bz2或者.gzip是压缩格式。 # 1. 解压&提取 ## 1.1 对于tar.gz结尾的压缩包

1
tar -zxvf *.tar.gz
参数解读 - -z:使用gzip来处理压缩包。 - -x:extract,提取文件。 - -v:verbose,显示提取细节 - f:file,指定文件

阅读全文 »

参考文章:https://github.com/cfenollosa/os-tutorial/tree/master/11-kernel-crosscompiler

0. 环境说明

  • ubuntu 16.04
  • gcc 4.9源码编译

1. 将环境变量导入

我使用的是oh-my-zsh,所以需要修改~/.zshrc,在文件末尾添加以下语句.

1
2
3
4
5
6
export CC=/usr/bin/gcc-5
export LD=/usr/bin/gcc-5

export PREFIX="/usr/local/i386elfgcc"
export TARGET=i386-elf
export PATH="$PREFIX/bin:$PATH"

使用source ~/.zshrc来激活修改。

阅读全文 »

问题重现

hello.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>

template <typename T>
class A {
protected:
T data_;
};

template <typename T>
class B : public A<T> {
public:
void test() {
std::cout << data_;
}
};

int main() {
std::cout << "hello world" << std::endl;
return 0;
}
阅读全文 »