Skip to content

Updated README with visuals and making reference to Intel #135

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Nov 16, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 11 additions & 59 deletions Readme.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
![SPEC logo](./spec-logo.png)


[![codecov](https://codecov.io/gh/redis/redis-benchmarks-specification/branch/main/graph/badge.svg?token=GS64MV1H4W)](https://codecov.io/gh/redis/redis-benchmarks-specification)
[![CI tests](https://github.com/redis/redis-benchmarks-specification/actions/workflows/tox.yml/badge.svg)](https://github.com/redis/redis-benchmarks-specification/actions/workflows/tox.yml)
[![PyPI version](https://badge.fury.io/py/redis-benchmarks-specification.svg)](https://pypi.org/project/redis-benchmarks-specification)


## Installation

To have access to the latest SPEC and Tooling impletamtion you only need to install one python package.
Expand All @@ -23,6 +26,11 @@ Members from both industry and academia, including organizations and individuals
Currently, the following members actively support this project:

- [Redis Ltd.](https://redis.com/) via the Redis Performance Group: providing steady-stable infrastructure platform to run the benchmark suite. Supporting the active development of this project within the company.
- [Intel.](https://intel.com/): Intel is hosting an on-prem cluster of servers dedicated to the always-on automatic performance testing.

The cluster contains six current generation (IceLake) servers and six prior generation (CascadeLake) servers connected to a high-speed 40Gb switch.

The older servers are used for performance testing across hardware generations, as well as for load generation clients in client-server benchmarks.


## Scope
Expand All @@ -35,9 +43,9 @@ This repo aims to provide Redis related benchmark standards and methodologies fo

- Exporting performance results in several formats (CSV, RedisTimeSeries, JSON)

- **[SOON]** Finding on-cpu, off-cpu, io, and threading performance problems by attaching profiling tools/probers ( perf (a.k.a. perf_events), bpf tooling, vtune )
- Finding on-cpu, off-cpu, io, and threading performance problems by attaching profiling tools/probers ( perf (a.k.a. perf_events), bpf tooling, vtune )

- **[SOON]** Finding performance problems by attaching telemetry probes
- Finding performance problems by attaching telemetry probes

Current supported benchmark tools:

Expand All @@ -58,63 +66,7 @@ python3 -m pip install redis-benchmarks-specification

## Architecture diagram

```


┌──────────────────────────────────────┐
│1) gh.com/redis/redis update │
│ - git_repo: github.com/redis/redis │
│ - git_hash: 459c3a │
│ - git_branch: unstable │
└─────────────────┬────────────────────┘
│ ┌───────────────────────────────────┐
│ │HTTP POST │
└──────┤<domain>/api/gh/redis/redis/commit │──┐
└───────────────────────────────────┘ │
┌──────────────────────────────────────────┐
│2) api │
│ - Converts the HTTP info into an stream │
│entry │
│ - XADD stream:redis:redis:commit <...> │
│ │
└─────────────────────┬────────────────────┘
│ ┌────┐
.─────────────────────────────────────. │ │push│
┌─────┐ ┌ ▶( 2.1 ) stream of build events )◀───┘ └────┘
│pull │ `─────────────────────────────────────'
└─────┘ │

│ ┌────────────────────────────────────────────┐
─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│2.2) build_agent │
│ - based on setup platforms │
│ - build different required redis │
│artifacts │
└───────────────────────┬────────────────────┘
│ ┌────┐
.─────────────────────────────────────. │ │push│
┌─────┐ ─▶( 2.3 ) stream of artifact benchmarks )◀────┘ └────┘
│pull ││ `─────────────────────────────────────'
└─────┘
┌────────────────────────────────────────────┐
│ │ │
│3) benchmark_coordinator │
│ │ - based on test-suites and setups: │
│ - Trigger env setup │
└ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│ - 3.1 ) Trigger topology setup │
│ - 3.2 ) Run benchmarks │
│ - Record results into datasinks │
│ │
└────────────────────────────────────────────┘
```
![Architecture diagram](./arch-diagram.png)

In a very brief description, github.com/redis/redis upstream changes trigger an HTTP API call containing the
relevant git information.
Expand Down
Binary file added arch-diagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added spec-logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.