Distributed and Parallel computing (分布式与并行计算)
To: | B.Sc. students, Nanjing University |
Classroom: | Xian I-207, Xianlin Campus |
Class time: | 10:00 - 12:00, Tuesday |
Textbook: | 《并行计算—结构、算法、编程》,陈国良 编著,高等教育出版社. |
Grading: | Final exam (70%) + assignment (30%) |
并行计算硬件结构基础
并行算法设计
并行数值算法
第十章 线性方程组的求解
第十一章 快速傅里叶变换
课程Project:使用并行算法完成字符串匹配
任务描述:
场景1. 文档检索
描述:
在给定文档中匹配目标字符串(模式串),检索出所有符合条件的模式串位置。
在数据目录data/document_retrieval中,包含document.txt和target.txt,target.txt中包含5行,每行为一个模式串,要求用每个模式串检索document.txt,得到检索结果。
输出格式:
对target.txt中的每个模式串输出一行结果,结果格式为:num pos1 pos2 pos3 ...
其中num为模式串出现次数,后面输出模式串在document.txt中出现的位置(空格分隔,顺序任意),位置以模式串第一个字符在文档中的字符数(从0开始计算字符数)。请将结果保存到result_document.txt中。
样例:
检测“eclipses”
输出:13 4667754 20716530 35382657 38924869 44275335 70416818 82855512 162024843 194053906 239628961 246226139 272816871 283938366
场景2. 软件杀毒
描述:
软件杀毒中也会使用字符串匹配,通过在文件中扫描病毒代码段或代码段特征,检测是否含有恶意病毒。
在数据目录data/software_antivirus中,包含待检测的软件目录opencv-4.10.0与病毒库virus,待检测软件是经过病毒注入后的开源软件源码,病毒库中包含10个病毒段文件virus01.bin~virus10.bin,要求对整个待检测软件目录进行病毒查杀,通过二进制串匹配的方式检查是否存在病毒。
输出格式:
对待检测的软件目录data/software_antivirus/opencv-4.10.0,扫描每个文件,如果检测出病毒,则输出一行结果,结果格式为:file_path virusxx.bin virusxx.bin ...
其中file_path为带病毒的文件路径,后面输出待测软件中检测到的病毒文件名(空格分隔,顺序任意)。带病毒文件的输出顺序任意,请将结果保存到result_software.txt中。
样例:
检测软件子目录data/software_antivirus/opencv-4.10.0/data
输出:data/software_antivirus/opencv-4.10.0/data/lbpcascades/lbpcascade_frontalface_improved.xml virus02.bin virus04.bin
数据集:
data.zip,解压数据压缩包,data目录下包含document_retrieval和software_antivirus两个目录,分别为场景1和场景2的数据。
具体要求:
提交说明:
提交方式:请将code文件夹、实验报告、result_document.txt、result_software.txt压缩成一个zip压缩文件,命名为:学号.zip,并上传至提交链接
评分方式:本次课程Project共计100分,其中程序代码可运行复现占20分,两个场景的结果正确性检查各占15分,实验报告占50分。
截止时间:2024.12.31 23:59