多核架构优势

P = C *(V)^2* F
多核可以降低功耗。通过提高频率F会导致功耗变为原来的8倍,因为提高F,V会相应增大,即P’ = C*(2V)^2* 2F.

大作业要求

  1. 每人一到两页ppt讲使用ai阅读论文的心得体会,问论文的研究问题、框架是?
  2. 最好选2020后以后的论文
  3. 同一团队,8篇论文相关,被别人一同引用,或者国外某一实验室发表的论文

大作业调研

体系结构

存储技术的过去、现在和未来

列举了涵盖以下领域的文章:SSD、NVM、SMR、Tape、DNA、Silica、Holographic、Computational storage

1

Storage Abstractions for SSDs: The Past, Present, and Future
文章提供了详细的关于SSDs接口和在性能和使用寿命方面的内部优化以使**主机(hosts)**能够充分使用其独特的性质。
作者们研究了诸如TRIM、多流、开放通道、分区命名空间、灵活数据放置、键值SSD和字节可寻址SSD等关键技术。此外,文章还提供了关于如何对这些技术进行分类和进一步发展的见解。

2.

Holographic Storage for the Cloud: advances and challenges
全息存储技术长期以来一直以高密度、低成本的优势著称,同时还能支持对可重写信息进行快速随机访问。本文将探讨全息存储的历史沿革与物理原理,剖析其实现过程中面临的固有挑战,并总结当前解决这些问题的最新进展。通过细致分析,文章估算了将全息存储技术转化为实用解决方案所需的进一步改进空间,并为实现这一目标指明了未来研究方向。
全息存储,利用激光全息摄影原理将图文等信息记录在感光介质上的大容量信息存储技术。
知乎上也有介绍
两个显著特点:体式存储与并行读写

3.

A Survey of the Past, Present, and Future of Erasure Coding for Storage Systems
文章详细探索了擦除编码技术在现代SSDs、RAID和分布式存储系统中的应用,着重三个方面:新型擦除码结构的构建、高效擦除编码操作的算法改进,以及擦除编码在新兴存储架构中的应用。
知乎介绍

4.

Flash-oriented Coded Storage: Research Status and Future Directions
闪存使用各种编码技术来确保高效空间下的数据可靠性。

5.

Magnetic Tape Storage Technology
文章介绍了磁带的前世今生,以及未来的机遇。唯一的串行访问的介质。

6.

Project Silica: Towards Sustainable Cloud Archival Storage in Glass
可持续的玻璃介质的云存储。

7.

Advancing Archival Data Storage: The Promises and Challenges of DNA Storage System
DNA存储,可以实现高密度存储、长期数据保存。此外,DNA存储维护成本低。

8.

Lustre Unveiled: Evolution, Design, Advancements, and Current Trends
Lustre filesys作为高性能并行存储的关键部分。

9.

Reflecting on the Past 17 Years of Shingled Magnetic Recording for Insights Into Future Disk Transitions: A Survey
叠瓦式磁记录,通过重叠磁道提高硬盘存储密度的技术,在不增加物理尺寸的情况下显著提升存储容量。
是一种可信赖的用来增加硬盘密度的方法。

10.

NVM in Data Storage: A Post-Optane Future
非易失性存储器,即断电后也能保留存储信息,

11.

A Survey on Flash-Memory Storage Systems: A Host-Side Perspective
闪存在很多场合里都扮演重要的角色。

XpuTEE

TEE:可信任执行环境,由于AI应用是在异构体系——GPU上跑,因此,该环境需要设置为异构体系。

Improving Cluster Utilization Through Adaptive Resource Management for Deep Neural Network and CPU Jobs Colocation

作业要求

需要作业封皮

MPI编程基础

初始化MPI_Init(int * argc, char ** argv)

在其它MPI函数前调用,完成所有的初始化工作,

结束MPI_FINALIZE()

MPI程序最后一个调用的,标志并行代码的结束,结束除主进程外其他进程

编译与运行

编译:mpicc -o helloworld helloworld.c
运行:
mpiexec -n 5(启动进程数) ./helloworld
mpiexec (-machinefile hostfile)(在hostfile文件列出节点上启动进程) -n 5 ./helloworld hostfile格式:主机名:该节点上最多允许启动的进程数

获取当前进程id

MPI_Comm_rank(MPI_Comm comm(通信域), int * rank),返回调用进程在给定通信域中的进程id(0开始编号)

获取当前通信域内的进程数

MPI_Comm_size(MPI_Comm comm, int * size)

通信域

通信子,在MPI中定义进程通信的范围,MPI_COMM_WORLD是MPI预定义的全局通信域。
一个MPI程序可有多个通信域,每个进程组(进程集合,可根据进程组创建通信域)只能与组内成员通信,

发送消息

MPI_Send(void * buf(发送缓冲区地址), int count(发送数据元素个数), MPI_Datatype type(发送数据元素类型), int dest(目标进程id), int tag(消息标签,将该消息与发送到同一进程内的其他消息区分开), MPI_Comm comm(通信域))
将消息发送至另一个进程,直到消息被发送出去,函数才返回。

接收消息

MPI_Recv(void * buf(接收缓冲区地址), int count(接收数据元素个数), MPI_Datatype type(接收数据元素类型), int source(发送进程id或MPI_ANY_SOURCE(表示从其他任意进程接收消息),对应发送操作的tag,若匹配任意标签), int tag(消息标签,将该消息与发送到同一进程内的其他消息区分开), MPI_Comm comm(通信域), MPI_Status * status(接收操作的状态))
直到收到消息,函数才返回。

并行算法设计基本方法

PCAM设计方法学

四个阶段

  1. 任务划分:分解称小任务
  2. 通讯分析:确定任务间的数据交换,监测划分的合理性
  3. 任务组合:依据任务的局部性,组合成更大的任务
  4. 处理器映射:将每个任务分配到处理器上,提高算法性能

划分

数据分解(域分解)

做到数据并行,数据分多块,每个任务处理一部分,使数据片大致相等。

功能分解

任务并行,将计算根据功能划分,每个任务处理整个工作的一部分

示例

数值并行算法MPI实现:数值算法:基于代数关系的运算,含矩阵运算、线性方程组的直接求解、迭代解法、矩阵特征值计算、FFT和DWT等。
例如:若A为m×n矩阵,B为n×p矩阵,计算它们的乘积C=A× B.要求使用MPI+pthread实现:1、每个计算节点只启动一个MPI进程;2、MPI进程内启动多个线程,其中一个处理通信。混合编程
解题思路:主从模式:一个进程作为主进程负责分派任务,从进程执行任务。

  1. 0号进程(主进程)将矩阵B广播给所有MPI进程
    (从进程);
  2. 主进程将矩阵A的各行依次发送给从进程;
  3. 从进程内启动多个线程;
  4. 每一个线程分配B矩阵中的一列,与A中的
    一行相乘;
  5. 计算结果发给主进程汇总;
  6. 主进程搜集完所有的结果,结束

其他模型看ppt