计算机科学实验与生物标本数字化研究
1. 计算机实验相关内容
1.1 矩阵操作实验
学生们首先处理一个 200x200 的浮点变量矩阵,并编写了几个子程序来完成特定任务:
- 每次调用函数时,用随机值修改矩阵中随机选择的元素。
- 计算矩阵所有元素的均方根值。
- 获取矩阵中的最大值。
- 找出元素总和最大的行。
在验证程序的正确执行后,学生们通过 Linux 命令验证了一些执行统计信息,如线程数、核心使用率、每个函数的执行速度等。具体使用的 Linux 命令和工具如下:
| 命令/工具 | 功能 |
| — | — |
| top | 显示处于执行状态的进程列表及一些统计信息,学生需验证处理器和内存使用情况 |
| /proc/process PID/status 文件内容 | 显示进程信息,特别关注其中的 Threads 参数,它显示了进程的线程数 |
接着,学生们使用 C++ 语言提供的函数将程序划分为多个线程。为了简单起见,建议每个子程序在不同的线程中执行。再次验证程序的正常运行后,学生们重新验证了上述执行统计信息,并与之前的值进行比较。结果如下:
- 无线程时,一个处理器的使用率几乎达到 100%,而其他处理器的使用率非常低(约 10%),因为只有一个处理器运行该进程。使用线程后,所有处理器的使用率约为 60%,因为进程的线程被分配到了四个处理器上。
- 上述任务的吞吐量提高了约四倍。
- 处理器(包括四个核心)的总使用率从无线程时的约 25% 增加到使用线程时的约 60%。
部分学生主动将程序划分为更多线程(有一组将程序划分为
超级会员免费看
订阅专栏 解锁全文

1308

被折叠的 条评论
为什么被折叠?



