训练营学员

傲来操作系统训练营报告

RISC-V&ARM架构下大数据框架Spark软件适配性与性能对比研究

张凌豪 发布于 # 2024 年第一期

目 录


我的任务

rv下的spark环境搭建+arm下的spark测试。

调研信息

通过调研,我们收集了关于RISC-V和ARM架构在大数据框架中的应用情况。具体调研信息包括:

  • RISC-V和ARM在大数据处理中的性能优势和劣势。
  • Spark在不同架构下的兼容性和稳定性。

功能测试

  • Spark Streaming功能测试
    • 测试用例: 验证基本的流处理操作,包括数据接收、处理、输出等。
    • 测试结果: 全部通过,功能正常。

性能测试

编写Shell脚本对Spark自带基准测试als.py和sort.py进行测试。

脚本自动化实现

测试用例

#!/bin/bash

# 检查参数个数
if [ $# -ne 2 ]; then
    echo "Usage: $0 <n> <file_path>"
    exit 1
fi

to_test_dir="/home/bigdata2/spark-3.5.1-bin-hadoop3/examples/src/main/"
language="python"
test_script="sort.py"

# 提取参数
n=${1:-100}  # 默认值为100
file_path=${2:-"/tmp/sort_test.txt"}  # 默认路径为/tmp/sort_test.txt

# 生成随机数文件
generate_random_numbers() {
    local n=$1
    local file_path=$2
    for ((i=1; i<=n; i++)); do
        echo $RANDOM
    done > "$file_path"
}

# 生成测试数据
generate_random_numbers $n $file_path

# 执行Spark任务
command="spark-submit ${to_test_dir}${language}/${test_script} $file_path"
echo "Executing command: ${command}"
${command}

测试结果

test.png

实验总结

  • 在测试初期对RISC-V架构的了解不够深入,导致搭建环境时遇到了一些问题。
  • 测试脚本的鲁棒性有待提高,在某些边界情况下会出现异常。

对项目的建议

时间太紧,最后一天才拿到服务器,希望下次可以有更多时间