Skip to content
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
12 changes: 11 additions & 1 deletion bins/msvisor/src/main.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use std::sync::Arc;
use std::{sync::Arc, thread::sleep, time::Duration};

use clap::{arg, Parser};
use derive_more::Display;
Expand Down Expand Up @@ -46,6 +46,10 @@ struct Args {
/// show metrics json.
#[arg(long, default_value_t = MetricOpt::None)]
metrics: MetricOpt,

/// block after workflow execution.
#[arg(short, long, default_value_t = false)]
non_exit: bool,
}

fn build_all_isol(args: &Args) -> Vec<Arc<Isolation>> {
Expand Down Expand Up @@ -142,4 +146,10 @@ fn main() {
isol.metric.analyze(&args.metrics.to_analyze());
}
}

if args.non_exit {
loop {
sleep(Duration::from_secs(1));
}
}
}
13 changes: 4 additions & 9 deletions isol_config/parallel_sort_c5.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@
[
"fatfs",
"libfatfs.so"
],
[
"time",
"libtime.so"
]
],
"apps": [
Expand All @@ -39,7 +43,6 @@
"libchecker.so"
]
],
"fs_image": "fs_images/new_image.img",
"groups": [
{
"list": [
Expand Down Expand Up @@ -115,14 +118,6 @@
"args": {
"sorter_num": "5"
}
},
{
"list": [
"checker"
],
"args": {
"merger_num": "5"
}
}
]
}
2 changes: 1 addition & 1 deletion justfile
Original file line number Diff line number Diff line change
Expand Up @@ -196,4 +196,4 @@ measure_avg isol_file:
done ;

gen_data:
sudo ./scripts/gen_data.py
sudo -E ./scripts/gen_data.py
3 changes: 2 additions & 1 deletion libmsvisor/src/metric.rs
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,8 @@ impl MetricBucket {
.duration_since(UNIX_EPOCH)
.unwrap()
.as_micros();
let vm_rss_kb = get_current_vm_rss_kb();
// let vm_rss_kb = get_current_vm_rss_kb();
let vm_rss_kb = 0;

inner.mem_metrics.push((timestamp, vm_rss_kb))
}
Expand Down
88 changes: 88 additions & 0 deletions scripts/comp_resource.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
#!/usr/bin/python3

from datetime import datetime

# 计算箱形图的五个点:


def five_number_summary(data):
n = len(data)
q1 = data[n // 4]
q2 = data[n // 2]
q3 = data[3 * n // 4]
return data[0], q1, q2, q3, data[-1]


def comp(name):
print(name)
with open(name) as f:
cpus = []
user_cpus = []
sys_cpus = []
mems = []
lines = f.readlines()
tss = []

for line in lines:
fields = line.strip().split(' ')
timestamp = datetime.strptime(
fields[0] + ' ' + fields[1].replace(',', ''), "%Y-%m-%d %H:%M:%S")

ts = timestamp.timestamp()
tss.append(ts)
if len(tss) == 1:
continue

# print(fields)
user_cpu = float(fields[2].replace(',', '')) * (tss[-1] - tss[-2])
sys_cpu = float(fields[3].replace(',', '')) * (tss[-1] - tss[-2])
cpu = user_cpu + sys_cpu

mem = float(fields[-1])
cpus.append(cpu)
user_cpus.append(user_cpu)
sys_cpus.append(sys_cpu)
mems.append(mem)

cpus.sort()
mems.sort()
# print("cpu极值:", cpus[-1]-cpus[0])
# print("mem极值:", mems[-1]-mems[0])

cpu_min, cpu_q1, cpu_median, cpu_q3, cpu_max = five_number_summary(
cpus)
mem_min, mem_q1, mem_median, mem_q3, mem_max = five_number_summary(
mems)

print(f"执行耗时: {tss[-1]-tss[0]}ms")
print("cpu累积量", sum(cpus) - cpu_min * len(cpus))
print("user cpu累积量", sum(user_cpus) - min(user_cpus) * len(user_cpus))
print("system cpu累积量", sum(sys_cpus) - min(sys_cpus) * len(sys_cpus))
print("cpu五数概括:", cpu_min, cpu_q1, cpu_median, cpu_q3, cpu_max)

print("mem均值:", sum(mems)/len(mems))
print("mem五数概括:", mem_min, mem_q1, mem_median, mem_q3, mem_max)
print()


comp("as_map_reduce_resouce_c5_10_20.txt")
comp("as_map_reduce_resouce_c5_10_40.txt")
comp("as_map_reduce_resouce_c5_10_60.txt")
comp("as_map_reduce_resouce_c5_10_80.txt")

comp("faastlane_map_reduce_resouce_c5_10_20.txt")
comp("faastlane_map_reduce_resouce_c5_10_40.txt")
comp("faastlane_map_reduce_resouce_c5_10_60.txt")
comp("faastlane_map_reduce_resouce_c5_10_80.txt")


comp("as_parallel_sort_resouce_c5_25_20.txt")
comp("as_parallel_sort_resouce_c5_25_40.txt")
comp("as_parallel_sort_resouce_c5_25_60.txt")
comp("as_parallel_sort_resouce_c5_25_80.txt")
comp("as_parallel_sort_resouce_c5_25_100.txt")

comp("faastlane_parallel_sort_resouce_c5_25_20.txt")
comp("faastlane_parallel_sort_resouce_c5_25_40.txt")
comp("faastlane_parallel_sort_resouce_c5_25_60.txt")
comp("faastlane_parallel_sort_resouce_c5_25_80.txt")
4 changes: 2 additions & 2 deletions user/mapper/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ fn mapper_func(my_id: &str, reducer_num: u64) -> Result<()> {
let mut f = File::open(&file_name)?;
let mut content = String::new();
// let content = get_input_from_mem(&file_name);
// f.read_to_string(&mut content).expect("read file failed.");
f.read_to_string(&mut content).expect("read file failed.");

println!(
"read_end, cost: {}ms",
Expand Down Expand Up @@ -131,7 +131,7 @@ fn mapper_func(my_id: &str, reducer_num: u64) -> Result<()> {
}

println!(
"shuffle _end, cost {}ms",
"shuffle end, cost {}ms",
SystemTime::elapsed(&start).as_millis()
);

Expand Down
Loading