feat(make): fixed uv installation and added figures as make target
This commit is contained in:
+8
-3
@@ -7,6 +7,9 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
|||||||
texlive-latex-base \
|
texlive-latex-base \
|
||||||
texlive-latex-recommended \
|
texlive-latex-recommended \
|
||||||
texlive-fonts-recommended \
|
texlive-fonts-recommended \
|
||||||
|
texlive-pictures \
|
||||||
|
texlive-latex-extra \
|
||||||
|
lmodern \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
ENV RENV_CONFIG_REPOS_OVERRIDE=https://packagemanager.posit.co/cran/__linux__/jammy/latest \
|
ENV RENV_CONFIG_REPOS_OVERRIDE=https://packagemanager.posit.co/cran/__linux__/jammy/latest \
|
||||||
@@ -16,12 +19,14 @@ COPY figures/renv.lock /tmp/figures/renv.lock
|
|||||||
RUN R -e 'install.packages("renv"); setwd("/tmp/figures"); renv::restore(prompt = FALSE)' && rm -rf /tmp/figures
|
RUN R -e 'install.packages("renv"); setwd("/tmp/figures"); renv::restore(prompt = FALSE)' && rm -rf /tmp/figures
|
||||||
|
|
||||||
ADD https://astral.sh/uv/install.sh /uv-installer.sh
|
ADD https://astral.sh/uv/install.sh /uv-installer.sh
|
||||||
RUN sh /uv-installer.sh && rm /uv-installer.sh
|
RUN UV_INSTALL_DIR=/usr/local/bin sh /uv-installer.sh && rm /uv-installer.sh
|
||||||
|
|
||||||
ENV UV_PROJECT_ENVIRONMENT=/opt/venv \
|
ENV UV_PROJECT_ENVIRONMENT=/opt/venv \
|
||||||
PATH=/opt/venv/bin:/root/.local/bin:$PATH
|
UV_PYTHON_INSTALL_DIR=/opt/uv-python \
|
||||||
|
PATH=/opt/venv/bin:$PATH
|
||||||
|
|
||||||
COPY analysis/pyproject.toml analysis/uv.lock /tmp/analysis/
|
COPY analysis/pyproject.toml analysis/uv.lock /tmp/analysis/
|
||||||
RUN cd /tmp/analysis && uv sync --frozen --no-install-project && rm -rf /tmp/analysis
|
RUN cd /tmp/analysis && uv sync --frozen --no-install-project && rm -rf /tmp/analysis \
|
||||||
|
&& chmod -R o+rX /opt/venv /opt/uv-python
|
||||||
|
|
||||||
WORKDIR /work/eval
|
WORKDIR /work/eval
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ export RAW_DATA_ROOT
|
|||||||
|
|
||||||
.PHONY: all figures tikz values derive sanity clean
|
.PHONY: all figures tikz values derive sanity clean
|
||||||
|
|
||||||
all: figures values
|
all: figures tikz values
|
||||||
|
|
||||||
figures:
|
figures:
|
||||||
$(MAKE) -C figures figures
|
$(MAKE) -C figures figures
|
||||||
|
|||||||
+1
-1
@@ -12,7 +12,7 @@ services:
|
|||||||
user: "${UID:-1000}:${GID:-1000}"
|
user: "${UID:-1000}:${GID:-1000}"
|
||||||
volumes:
|
volumes:
|
||||||
- .:/work/eval
|
- .:/work/eval
|
||||||
- ${RAW_DATA_ROOT:-../raw_data}:/raw_data:ro
|
- ${RAW_DATA_ROOT:-./raw_data}:/raw_data:ro
|
||||||
environment:
|
environment:
|
||||||
RAW_DATA_ROOT: /raw_data
|
RAW_DATA_ROOT: /raw_data
|
||||||
HOME: /tmp
|
HOME: /tmp
|
||||||
|
|||||||
+36
-16
@@ -13,16 +13,19 @@ FIG_HEIGHT ?= 2.0
|
|||||||
FIG_FONTSIZE ?= 9
|
FIG_FONTSIZE ?= 9
|
||||||
export FIG_WIDTH FIG_HEIGHT FIG_FONTSIZE
|
export FIG_WIDTH FIG_HEIGHT FIG_FONTSIZE
|
||||||
|
|
||||||
THROUGHPUT_SIZE_ARGS ?=
|
THROUGHPUT_SIZE_ARGS ?=
|
||||||
RTT_SIZE_ARGS ?=
|
RTT_SIZE_ARGS ?=
|
||||||
THROUGHPUT_ARGS ?=
|
SENDER_CPU_SIZE_ARGS ?=
|
||||||
RTT_ARGS ?=
|
RECEIVER_CPU_SIZE_ARGS ?=
|
||||||
THROUGHPUT_ZOOM_ARGS ?= --ymin 3.5 --ymax 4.0 --ystep 0.1
|
SLOWSTART_SIZE_ARGS ?= --width 2.7 --height 1.5
|
||||||
RTT_ZOOM_ARGS ?= --ymin 4 --ymax 14 --ystep 2
|
THROUGHPUT_ARGS ?=
|
||||||
SENDER_CPU_ARGS ?=
|
RTT_ARGS ?=
|
||||||
RECEIVER_CPU_ARGS ?=
|
THROUGHPUT_ZOOM_ARGS ?= --ymin 3.5 --ymax 4.0 --ystep 0.1
|
||||||
TIMESERIES_ARGS ?=
|
RTT_ZOOM_ARGS ?= --ymin 4 --ymax 14 --ystep 2
|
||||||
IDT_CDF_ARGS ?=
|
SENDER_CPU_ARGS ?=
|
||||||
|
RECEIVER_CPU_ARGS ?=
|
||||||
|
TIMESERIES_ARGS ?=
|
||||||
|
IDT_CDF_ARGS ?=
|
||||||
|
|
||||||
ROOT := ..
|
ROOT := ..
|
||||||
RAW_DATA_ROOT ?= $(ROOT)/../raw_data
|
RAW_DATA_ROOT ?= $(ROOT)/../raw_data
|
||||||
@@ -38,7 +41,7 @@ CSVS := $(addprefix $(DERIVED)/, runs.csv rtts.csv idts.csv firstflow_bin
|
|||||||
PDFS := $(addprefix $(OUT)/, $(addsuffix .pdf, $(FIG_STEMS)))
|
PDFS := $(addprefix $(OUT)/, $(addsuffix .pdf, $(FIG_STEMS)))
|
||||||
TEXS := $(addprefix $(OUT)/, $(addsuffix .tex, $(FIG_STEMS)))
|
TEXS := $(addprefix $(OUT)/, $(addsuffix .tex, $(FIG_STEMS)))
|
||||||
|
|
||||||
.PHONY: all derive figures tikz sanity values pdfs tex clean datacenter-fq datacenter-fq-tikz direct-link direct-link-tikz all-experiments all-experiments-tikz
|
.PHONY: all derive figures tikz sanity values pdfs tex clean datacenter-fq datacenter-fq-tikz direct-link direct-link-tikz slowstart slowstart-tikz all-experiments all-experiments-tikz
|
||||||
.DELETE_ON_ERROR:
|
.DELETE_ON_ERROR:
|
||||||
|
|
||||||
all: all-experiments
|
all: all-experiments
|
||||||
@@ -80,11 +83,11 @@ $(OUT)/rtt_zoom.pdf $(OUT)/rtt_zoom.tex: fig_rtt.R common.R $(CSVS) Makefile
|
|||||||
|
|
||||||
$(OUT)/sender_cpu.pdf $(OUT)/sender_cpu.tex: fig_sender_cpu.R common.R $(CSVS) Makefile
|
$(OUT)/sender_cpu.pdf $(OUT)/sender_cpu.tex: fig_sender_cpu.R common.R $(CSVS) Makefile
|
||||||
@mkdir -p $(OUT)
|
@mkdir -p $(OUT)
|
||||||
Rscript $< --data $(DERIVED) $(FMT_FLAG) $@ $(SENDER_CPU_ARGS)
|
Rscript $< --data $(DERIVED) $(FMT_FLAG) $@ $(SENDER_CPU_SIZE_ARGS) $(SENDER_CPU_ARGS)
|
||||||
|
|
||||||
$(OUT)/receiver_cpu.pdf $(OUT)/receiver_cpu.tex: fig_receiver_cpu.R common.R $(CSVS) Makefile
|
$(OUT)/receiver_cpu.pdf $(OUT)/receiver_cpu.tex: fig_receiver_cpu.R common.R $(CSVS) Makefile
|
||||||
@mkdir -p $(OUT)
|
@mkdir -p $(OUT)
|
||||||
Rscript $< --data $(DERIVED) $(FMT_FLAG) $@ $(RECEIVER_CPU_ARGS)
|
Rscript $< --data $(DERIVED) $(FMT_FLAG) $@ $(RECEIVER_CPU_SIZE_ARGS) $(RECEIVER_CPU_ARGS)
|
||||||
|
|
||||||
$(OUT)/timeseries.pdf $(OUT)/timeseries.tex: fig_timeseries.R common.R $(CSVS) Makefile
|
$(OUT)/timeseries.pdf $(OUT)/timeseries.tex: fig_timeseries.R common.R $(CSVS) Makefile
|
||||||
@mkdir -p $(OUT)
|
@mkdir -p $(OUT)
|
||||||
@@ -140,6 +143,10 @@ DATACENTER_FQ_ARGS = EXP=datacenter-fq SETUP=datacenter_fq \
|
|||||||
FIG_STEMS="throughput throughput_zoom rtt rtt_zoom sender_cpu receiver_cpu timeseries idt_cdf idt_cdf_zoom" \
|
FIG_STEMS="throughput throughput_zoom rtt rtt_zoom sender_cpu receiver_cpu timeseries idt_cdf idt_cdf_zoom" \
|
||||||
THROUGHPUT_SIZE_ARGS="$(QUARTER_SIZE)" \
|
THROUGHPUT_SIZE_ARGS="$(QUARTER_SIZE)" \
|
||||||
RTT_SIZE_ARGS="$(QUARTER_SIZE)" \
|
RTT_SIZE_ARGS="$(QUARTER_SIZE)" \
|
||||||
|
SENDER_CPU_SIZE_ARGS="$(QUARTER_SIZE)" \
|
||||||
|
RECEIVER_CPU_SIZE_ARGS="$(QUARTER_SIZE)" \
|
||||||
|
TIMESERIES_ARGS="--height 1.6" \
|
||||||
|
IDT_CDF_ARGS="--height 1.6" \
|
||||||
THROUGHPUT_ZOOM_ARGS="--ymin 3.5 --ymax 4.0 --ystep 0.1" \
|
THROUGHPUT_ZOOM_ARGS="--ymin 3.5 --ymax 4.0 --ystep 0.1" \
|
||||||
RTT_ZOOM_ARGS="--ymin 4 --ymax 14 --ystep 2"
|
RTT_ZOOM_ARGS="--ymin 4 --ymax 14 --ystep 2"
|
||||||
|
|
||||||
@@ -148,10 +155,12 @@ DIRECT_LINK_ARGS = EXP=direct-link SETUP=direct-link_fq \
|
|||||||
FIG_STEMS="throughput throughput_zoom rtt rtt_zoom sender_cpu receiver_cpu" \
|
FIG_STEMS="throughput throughput_zoom rtt rtt_zoom sender_cpu receiver_cpu" \
|
||||||
THROUGHPUT_SIZE_ARGS="$(QUARTER_SIZE)" \
|
THROUGHPUT_SIZE_ARGS="$(QUARTER_SIZE)" \
|
||||||
RTT_SIZE_ARGS="$(QUARTER_SIZE)" \
|
RTT_SIZE_ARGS="$(QUARTER_SIZE)" \
|
||||||
|
SENDER_CPU_SIZE_ARGS="$(QUARTER_SIZE)" \
|
||||||
|
RECEIVER_CPU_SIZE_ARGS="$(QUARTER_SIZE)" \
|
||||||
THROUGHPUT_ARGS="--ymax 10 --ystep 2" \
|
THROUGHPUT_ARGS="--ymax 10 --ystep 2" \
|
||||||
THROUGHPUT_ZOOM_ARGS="--ymin 9.0 --ymax 10.0 --ystep 0.2" \
|
THROUGHPUT_ZOOM_ARGS="--ymin 9.0 --ymax 10.0 --ystep 0.2" \
|
||||||
RTT_ZOOM_ARGS="--ymin 1.75 --ymax 4 --ystep 1" \
|
RTT_ZOOM_ARGS="--ymin 1.75 --ymax 4 --ystep 1" \
|
||||||
SENDER_CPU_ARGS="--ystep 1" \
|
SENDER_CPU_ARGS="--ymax 20 --ystep 5" \
|
||||||
RECEIVER_CPU_ARGS="--ystep 5"
|
RECEIVER_CPU_ARGS="--ystep 5"
|
||||||
|
|
||||||
datacenter-fq:
|
datacenter-fq:
|
||||||
@@ -166,5 +175,16 @@ direct-link:
|
|||||||
direct-link-tikz:
|
direct-link-tikz:
|
||||||
$(MAKE) tex $(DIRECT_LINK_ARGS)
|
$(MAKE) tex $(DIRECT_LINK_ARGS)
|
||||||
|
|
||||||
all-experiments: datacenter-fq direct-link
|
all-experiments: datacenter-fq direct-link slowstart
|
||||||
all-experiments-tikz: datacenter-fq-tikz direct-link-tikz
|
all-experiments-tikz: datacenter-fq-tikz direct-link-tikz slowstart-tikz
|
||||||
|
|
||||||
|
# Slowstart: standalone, reads raw text files directly (no aggregator).
|
||||||
|
SLOWSTART_OUT := ../out/slowstart
|
||||||
|
SLOWSTART_RAW := $(RAW_DATA_ROOT)/slowstart
|
||||||
|
|
||||||
|
slowstart: $(SLOWSTART_OUT)/slowstart.pdf
|
||||||
|
slowstart-tikz: $(SLOWSTART_OUT)/slowstart.tex
|
||||||
|
|
||||||
|
$(SLOWSTART_OUT)/slowstart.pdf $(SLOWSTART_OUT)/slowstart.tex: fig_slowstart.R common.R $(SLOWSTART_RAW)/tso.txt $(SLOWSTART_RAW)/tso_pacing.txt Makefile
|
||||||
|
@mkdir -p $(SLOWSTART_OUT)
|
||||||
|
Rscript $< --data $(SLOWSTART_RAW) $(FMT_FLAG) $@ $(SLOWSTART_SIZE_ARGS)
|
||||||
|
|||||||
Reference in New Issue
Block a user