giza

Implementation of Giza on Cassandra, using Go

https://github.com/pantherman594/giza

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.1%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Implementation of Giza on Cassandra, using Go

Basic Info
  • Host: GitHub
  • Owner: pantherman594
  • Language: Go
  • Default Branch: main
  • Size: 2.18 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 1
  • Open Issues: 0
  • Releases: 0
Created about 4 years ago · Last pushed almost 4 years ago
Metadata Files
Readme Citation

README.md

Giza on Cassandra

Running Tests

  1. Set up CloudLab experiment using cloudconfig.py. The script allocates the desired number of nodes and creates links connecting them all to a LAN, and also sets the latency of each link, to simulate cross-DC latency. The latency will be set when configuring an experiment with the profile, and cannot be changed unless you create a new experiment. It is set to use a pre-created image with Cassandra installed to reduce setup time.
  2. Edit servers.txt with the SSHs command provided by CloudLab, separated by a new line.
  3. On your local machine, run sync.sh to copy the repository code to each of the machines.
  4. On your local machine, run python shell.py to launch a tmux session with SSH connections to each of the machines.
    • shell.py provides an easy way to send keystrokes to all of the machines at once.
    • If you are using shell.py, all the following commands are to be run on your local machine.
    • Alternatively, you can manually launch SSH connections to each of the machines, and run the commands after python shell.py send on each of them while in the ~/giza directory, replacing [i] with the number of the machine (1 for node1 on CloudLab, 2 for node2, etc.). Where it says 'Enter', simply press the enter key.

Giza Without Contention Tests

  1. Run python shell.py send './setup_giza.sh [i]' 'Enter' to set up Cassandra on each machine for the Giza tests.
  2. Run python shell.py send './build.sh' 'Enter' to build Giza on each of the machines.
  3. Run python shell.py send './giza -maddr 192.168.1.1 -n 5 -addr 192.168.1.[i] -o 128 -T 1' to type the test command into each of the tmux panes.

Giza With Contention Tests

  1. Run python shell.py send './setup_giza.sh [i]' 'Enter' to set up Cassandra on each machine for the Giza tests.
  2. Run python shell.py send './build.sh' 'Enter' to build Giza on each of the machines.
  3. Run python shell.py send './giza -maddr 192.168.1.1 -n 5 -addr 192.168.1.[i] -o 1 -T 1' to type the test command into each of the tmux panes.

Cassandra Tests

  1. Run python shell.py send './setup_cassandra.sh [i]' 'Enter' to set up Cassandra on each machine for the Cassandra tests.
  2. Run python shell.py send './build.sh' 'Enter' to build Giza on each of the machines.
  3. Run python shell.py send './giza -maddr 192.168.1.1 -m cassandra -addr 192.168.1.[i] -o 128 -T 1' to type the test command into each of the tmux panes.

Finally

  1. Press the enter key in node1 (which should be the top left tmux pane), to start the master instance first.
  2. Once the master is ready, run python shell.py send 'Enter' to start all the other instances.
  3. To end the tests, run python shell.py send 'C-c' to send the ctrl+c interrupt on all machines.
  4. To end the tmux session, run python shell.py send 'exit' 'Enter' 'exit' 'Enter'.
  5. Copy the latest directory in results/ and run copy.sh to copy all the latency outputs.

Plotting

Run python plotFigs/plot_figs.py. The plots will be generated in plotFigs/plots/.

Owner

  • Name: David Shen
  • Login: pantherman594
  • Kind: user

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: Giza on Cassandra
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: David
    family-names: Shen
    email: davi@d-shen.xyz
    orcid: 'https://orcid.org/0000-0001-7033-2471'
    affiliation: Boston College
url: 'https://github.com/pantherman594/Giza'

GitHub Events

Total
Last Year

Packages

  • Total packages: 1
  • Total downloads: unknown
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 0
proxy.golang.org: github.com/pantherman594/giza
  • Versions: 0
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 7.8%
Average: 8.3%
Dependent repos count: 8.8%
Last synced: 8 months ago