This repository has been archived by the owner on Dec 27, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathREADME.txt
112 lines (101 loc) · 3.13 KB
/
README.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#SPDK PMDK & Intel(r) VTune(tm) Amplifier Developer Summit
# April 17, 2019
# 1:00pm - 3:00pm
# Hayes Mansion, San Jose
#
# These are the materials used during the hackathon:
# slides_2019_04_17.pdf contains the slides shown
# Commmands demonstrated during the hackathon are listed below.
# Source files for programming examnples are in this repo.
#
# These instructions are designed to work on in your lab session
# running Ubuntu 18.04.1 (bionic)
# libpmemobj-cpp workshop
#
# These are the materials used during the workshop:
# slides.pdf contains the slides shown
# Commands demonstrated during the workshop are listed below.
# Source files for programming examples are in this repo.
#
# These instructions are designed to work on the workshop guest VMs.
# Start by cloning this repo, so you can easily cut and paste commands from
# this README into your shell.
#
# Many of the sys admin steps described here can be found in the
# Getting Started Guide on pmem.io:
# https://docs.pmem.io/getting-started-guide
# HW configuration:
# We have already created regions and namespaces and and mounted DAX-capable file system.
# Go to /mnt/pmem-fsdax0/pmdkuser<x>
# Software
# All the following required libraries are already installed
# libmemkind, PMDK and libpmemobj-cpp
#
# Start by making a clone of this repo...
#
git clone https://github.com/pmemhackathon/2019-04-17
cd 2019-04-17
#
# Compile examples.
#
make
#
# Warmup - a simple persistent counter.
#
# pmempool create obj may fail since the SDS feature see:
# https://github.com/pmem/issues/issues/1039
# when you create the pool by the pmempool create, you may need use the command:
# PMEMOBJ_CONF="sds.at_create=0" pmempool create obj --layout=queue -s 100M /mnt/pmem-fsdax/queue
#
pmempool create obj --layout=warmup -s 100M /mnt/pmem-fsdax0/pmdkuserX/warmup
./warmup /mnt/pmem-fsdax0/pmdkuserX/warmup
#
# find_bugs.cpp
#
# Program which contains few bugs. Can you find them?
#
pmempool create obj --layout=find_bugs -s 100M /mnt/pmem-fsdax0/pmdkuserX/find_bugs
./find_bugs /mnt/pmem-fsdax0/pmdkuserX/find_bugs
# run find-bugs under pmemcheck
valgrind --tool=pmemcheck ./find_bugs /mnt/pmem-fsdax0/pmdkuserX/find_bugs
#
# queue.cpp
#
# Simple implementation of a volatile queue.
#
./queue
push 1
push 2
push 3
pop
show
#
# queue_pmemobj.cpp
#
# Simple implementation of a persistent queue.
#
pmempool create obj --layout=queue -s 100M /mnt/pmem-fsdax0/pmdkuserX/queue
pmempool info /mnt/pmem-fsdax0/pmdkuserX/queue
./queue_pmemobj /mnt/pmem-fsdax0/pmdkuserX/queue
push 1
push 2
push 3
pop
show
#
# simplekv_simple.cpp
#
# Hashmap test program.
#
pmempool create obj --layout=simplekv -s 100M /mnt/pmem-fsdax0/pmdkuserX/simplekv-simple
pmempool info /mnt/pmem-fsdax0/pmdkuserX/simplekv-simple
./simplekv_simple /mnt/pmem-fsdax0/pmdkuserX/simplekv-simple
#
# simplekv_word_count.cpp
#
# A C++ program which reads words to a simplekv hashtable and uses MapReduce
# to count words in specified text files.
#
pmempool create obj --layout=simplekv -s 100M /mnt/pmem-fsdax0/pmdkuserX/simplekv-words
pmempool info /mnt/pmem-fsdax0/pmdkuserX/simplekv-words
./simplekv_word_count /mnt/pmem-fsdax0/pmdkuserX/simplekv-words words1.txt words2.txt