Skip to content

Commit

Permalink
Merge pull request #8 in HSE/hse-ycsb from updates/NFSE-4084-hse-ycsb…
Browse files Browse the repository at this point in the history
… to hse-0.17.0

* commit '1b7d7782685226a35265b71d074a6aefe66e7312':
  Streamlines the rpm spec file.
  Updates HSE Readme.
  • Loading branch information
jjacob512 committed Apr 8, 2020
2 parents 51890a2 + 1b7d778 commit 4921891
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 19 deletions.
7 changes: 6 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,9 @@ else
TOPDIR:="/tmp/$(shell id -u -n)/rpmbuild"
endif

JENKINS_BUILDNO?=0
REL_CANDIDATE?=FALSE

#
# IMPORTANT NOTES FOR BUILD
#
Expand Down Expand Up @@ -74,7 +77,7 @@ HSE_JAR:="/usr/share/hse/jni/hsejni.jar"
HSEVERSION:=$(shell rpm -q hse --qf "%{VERSION}")
RELTYPE:=$(shell rpm -q hse --qf "%{RELEASE}" | grep -o '^[[:alpha:]]*')
# HSERELEASE:=$(shell rpm -q hse --qf "%{RELEASE}")
HSESHA:=.$(word 3,$(subst ., ,$(shell rpm -q hse --qf "%{RELEASE}")))
HSESHA:=.$(word 6,$(subst ., ,$(shell hse version)))
YCSBSHA:=.$(shell git rev-parse --short=7 HEAD)
TSTAMP:=.$(shell date +"%Y%m%d.%H%M%S")

Expand Down Expand Up @@ -115,6 +118,8 @@ rpm: dist srcs
--define="hsesha $(HSESHA)" \
--define="ycsbsha $(YCSBSHA)" \
--define="_topdir $(TOPDIR)" \
--define="rel_candidate $(REL_CANDIDATE)" \
--define="buildno $(JENKINS_BUILDNO)" \
$(RPMSRCDIR)/hse-ycsb.spec

srcs: cleansrcs
Expand Down
22 changes: 13 additions & 9 deletions hse-ycsb.spec
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,17 @@

Summary: Yahoo! Cloud Serving Benchmark
Name: hse-ycsb
Version: 2020.03.20
Release: 1%{hsesha}%{ycsbsha}
License: Apache-2.0
Version: 0.17.0.1
%if %{rel_candidate} == "FALSE"
Release: %{hseversion}.%{buildno}%{hsesha}%{ycsbsha}%{?dist}
%else
Release: %{hseversion}.%{buildno}%{?dist}
%endif
License: ASL 2.0
Group: Unspecified
URL: https://www.micron.com
Url: https://github.com/hse-project/hse-ycsb

Packager: [email protected]
Vendor: Micron Technology, Inc.
Requires: java-headless javapackages-tools python2
Requires: java-headless javapackages-tools python2 hse

Source0: ycsb-0.17.0.tar.gz

Expand All @@ -30,7 +32,7 @@ AutoProv: no
%define __os_install_post %{nil}

%define __mypkg %{name}-%{version}-%{release}
%define __ycsb /opt/micron/ycsb
%define __ycsb /opt/%{name}

%if 0%{?fedora} >= 25 || 0%{?rhel} >= 8
# don't try to generate debuginfo RPM
Expand All @@ -41,7 +43,7 @@ AutoProv: no
%endif

%description
YCSB with custom bindings for Heterogeneous-memory Storage Engine
YCSB with bindings for Heterogeneous-memory Storage Engine (HSE)

%prep
%setup -c -T
Expand Down Expand Up @@ -88,3 +90,5 @@ mv -v ycsb-0.17.0/NOTICE.txt %{buildroot}%{__ycsb}
%{__ycsb}/bin/ycsb.sh

%changelog
* Apr 08 2020 Jacob M Jacob <[email protected]> - 0.17.0.1
- Spec file updates
22 changes: 13 additions & 9 deletions hse/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,12 @@ This code is derived from the ycsb project.

This section describes how to run YCSB on HSE.

### 1. Set Up YCSB
### 1. Install the HSE runtime package

Make sure you install the HSE runtime package.
e.g., hse*.rpm on RHEL.

### 2. Set Up YCSB

**NOTE:** If you are using a tarball or package distribution, go ahead and skip
to the next step.
Expand All @@ -21,23 +26,22 @@ Clone the YCSB git repository and compile:
cd YCSB
mvn clean package

### 2. Run YCSB
### 3. Run YCSB

Now you are ready to run! First, load the data:

./bin/ycsb load hse -s -P workloads/workloada -p hse.kvs_path=mp1/kvs1
./bin/ycsb load hse -s -P workloads/workloada -p hse.mpool_name=mp1

Then, run the workload:

./bin/ycsb run hse -s -P workloads/workloada -p hse.kvs_path=mp1/kvs1
./bin/ycsb run hse -s -P workloads/workloada -p hse.mpool_name=mp1

See the next section for the list of configuration parameters for HSE KVS.
See the next section for the list of configuration parameters for HSE.

## HSE Configuration Parameters
Only hse.kvs_path is mandatory.
Only hse.mpool_name is mandatory.

1. `hse.kvs_path`: The full path of the KVS storing the YCSB data, e.g. `mp1/kvs1`
1. `hse.mpool_name`: Name of the mpool to use storing the YCSB data.`
2. `hse.params`: HSE params in `key=value` format, separated by commas (,).
3. `hse.pfxlen`: Prefix length to be used in cursor scans.
4. `hse.config_path`: Path to an HSE config.
3. `hse.config_path`: Path to an HSE config.

0 comments on commit 4921891

Please sign in to comment.