皇冠体育app

 

Distributed and Parallel computing (分布式与并行计算)

 


[Course Information] [Slides] [Assignments] [Links]
Course Information
Slides

引论

 

并行计算硬件结构基础

第一章 并行计算机系统及其结构模型

第二章 当代并行机系统:SMP、MPP和Cluster

第三章 并行计算性能评测

专题1:云计算的概念、技术与应用

 

并行算法设计

第四章 并行算法的设计基础

第五章 并行算法的一般设计方法

第六章 并行算法的基本设计技术

第七章 并行算法的一般设计过程

 

并行数值算法

第八章 基本通信操作

第九章 稠密矩阵运算

第十章 线性方程组的求解

第十一章 快速傅里叶变换

 

专题2:MapReduce的概念、原理与应用

专题3:边缘智能-边缘计算时代的人工智能


Assignments

第一章作业

第二章作业

第三章作业

第四章作业

第五章作业

第六章作业

第七章作业

 

第一次作业答案(1~3章) 

第二次作业答案(4~7章) 

 


课程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的数据。

具体要求:

  1. 编程实现字符串匹配的并行算法,分别处理场景1和场景2的任务(编程语言自定),并测量每个场景的平均运行时间。
  2. 请尝试结合周期串/非周期串的特点、大/小文件的IO特点、场景1/场景2的输入输出特点等本次project中可能存在的分布规律,对你的并行算法进行针对性优化,并将优化思路和性能结果写入实验报告,我们会针对完成的优化适加分。
  3. 请编写README.md,说明程序执行方式,方便复现检查,README.md和所有代码均放入code文件夹中(请勿放入任何数据集文件)。
  4. 按照规定格式生成结果文件result_document.txt和result_software.txt,请注意按照描述规范生成,我们将用脚本自动比对正确答案检查结果正确性,不符合结果规范的答案将无法拿到结果正确性部分的分数。
  5. 撰写实验报告,实验报告包括两个场景的并行算法描述、伪代码、运行时间、技术要点(包括额外增加的优化方法)、实验结果分析,实验报告以“实验报告_学号_姓名.pdf”命名。
  6. 独立完成实验,杜绝抄袭。

提交说明:

提交方式:请将code文件夹、实验报告、result_document.txt、result_software.txt压缩成一个zip压缩文件,命名为:学号.zip,并上传至提交链接

评分方式:本次课程Project共计100分,其中程序代码可运行复现占20分,两个场景的结果正确性检查各占15分,实验报告占50分。

截止时间:2024.12.31 23:59



Links