04 2018 档案
摘要:经常听到有人说 , tdmgcc, cygwin ,到底是啥呢
阅读全文
摘要:之前听群友说到程序段错误了,说用gdb和core文件看看。 那么,core文件到底是什么呢?还有coredump
阅读全文
摘要:听群友说,心跳检测包理论上只能自己检测,这是为啥呢? 之前读《大型网站架构技术》这本书里面也提到,那到底什么是怎么一回事呢? 轮询 概括来说是服务端定时主动的去与要监控状态的客户端(或者叫其他系统)通信,询问当前的某种状态,客户端返回状态信息,客户端没有返回或返回错误、失效信息、则认为客户端已经宕机
阅读全文
摘要:GDB超级基础教程 为什么叫超级基础呢,因为我被坑了一把.... 编译选项带 就可以在可执行程序中加入调试信息,然后就可以使用gdb去查看了。 使用 命令就可以看到: 这里注意一点了,这些不是命令行参数,是一种种类,有需要的话再进入查看,比如输入 !!! 常用的gdb命令: 需要注意的是,用 lis
阅读全文
摘要:什么是Spark Apache Spark是一个开源集群运算框架, 相对于Hadoop的MapReduce会在运行完工作后将中介数据存放到磁盘中,Spark使用了存储器内运算技术,能在数据尚未写入硬盘时即在存储器内分析运算。Spark在存储器内运行程序的运算速度能做到比Hadoop MapReduc
阅读全文
摘要:什么是MapReduce MapReduce是Google提出的一个软件架构,用于大规模数据集(大于1TB)的并行运算。概念“Map(映射)”和“Reduce(归纳)” 映射和归纳 1. 映射 一个映射函数就是对一些独立元素组成的概念上的列表(例如,一个测试成绩的列表)的每一个元素进行指定的操作(比
阅读全文
摘要:Visual Studio Code可以一边写Markdown一边预览了,而且不需要任何插件。 方法如下: 新建一个文件,以 .md 为后缀: Visual Studio Code 原生就支持高亮Markdown的语法,想要一边编辑一遍预览,有两种方法: 1. Ctrl + Shift + P 调出
阅读全文
摘要:Intel MPI环境利用hostfile多主机运行下报错 将hostfile文件中指定进程个数的slots参数删去仍然会报错。 之前用C语言的MPI和对应的 尝试集群运行,已经通过验证是没有问题的。 使用IMPI的 就发生了上述问题,还在尝试解决中 似乎和原来的OpenMPI的命令行参数不太一样,
阅读全文
摘要:pandas教程 更多地可以 "参考教程" 安装 pandas的类excel操作,超级方便: 操作行和块 Pandas 中的基本数据结构有二, 和 1. 用来创建行,也可以理解为一维数组。 创建一个数组[1,1,2,3,5]: 2. 用来创建块,或称为矩阵,表格。 创建一个 6x4 的表格块,单元格
阅读全文
摘要:Dask 介绍 Dask是一款用于分析计算的灵活并行计算库。 Dask由两部分组成: 针对计算优化的动态任务调度。这与Airflow,Luigi,Celery或Make类似,但针对交互式计算工作负载进行了优化。 “大数据”集合, 像并行数组,数据框和列表一样,它们将通用接口(如NumPy,Panda
阅读全文
摘要:有几款好用的MarkDown编辑器,参考: https://blog.csdn.net/bat67/article/details/72804251 我就下载的是 MarkDown 2来使用。 现用现学,现学现卖 1. MarkDwon如何使代码被框起来 三个连续的 ` MarkDownPad 似乎
阅读全文
摘要:部署完之后,代码也能正确跑起来了,也确实集群分散了。跑一下各种各样的代码,发现了一个错误: 这份代码是什么问题导致的呢?然后我不小心把 MPF_Finalize() 函数注释掉了,那么就是说明有一个进程先错误返回了。Master 进程捕获到了。 这里反映了一个事实: 集群中如果有一个进程挂掉了,那么
阅读全文
摘要:版本: Open MPI 3.0.1 编译好可执行的C语言程序后,使用 mpirun -np 3 Test 命令,发现没有正常运行,而是报错: There are not enough slots available in the system to satisfy the 3 slotsthat
阅读全文
摘要:现在有2台机器,希望可以尝试一下在多台机器上跑MPI的感觉,所以跑之前就得配置,先参考网址: https://www.cnblogs.com/awy-blog/p/3402949.html: 1. 配置自动ssh登录 这里主要是要各个机器之间能无密码访问,主要用到的就是SSH,因此需要一些设置。 首
阅读全文
摘要:因为比较常用的是 TCP 协议,所以在 opal/mca/btl/tcp/btl_tcp.h 头文件中找到对应的 这里有定义了一个TCP的组件,以及 TCP模块 (这里我就没有贴出来了), 并且导出了这样一个变量。 接到上次说的话题,那么刚开始的时候,选择哪个通信协议呢? 通过在 PowerShel
阅读全文
摘要:MPI中的网络通信的原理,需要解决以下几个问题: 1. MPI使用什么网络协议进行通信? 2.中央数据库是存储在哪一台机器上? 3.集群中如果有一台机器挂掉了是否会影响其他机器? 参考: https://aosabook.org/en/openmpi.html 根据MCA, 每个框架下的模块是可变的
阅读全文
摘要:上一篇文章中说道,我们在 rte.h 中发现了有价值的说明: 我们一块一块来分析,首先看到第一块,关于 Process name Object: 第二块,是关于集体信息交换的: 更多的Modex操作信息,唯一能找到的参考是: https://github.com/open-mpi/ompi/wiki
阅读全文
摘要:接着上一篇的疑问,我们说道,会执行 try_kill_peers 函数,它的函数定义在 ompi_mpi_abort.c 下: 这个时候,就得去看看 ompi_rte_abort_peers(procs, nprocs, errcode) 函数的定义, 它在 rte_orte.h 中其实是一个宏定义
阅读全文
摘要:上一篇文章说道,初始化失败会有一个函数调用: 所以这里简单地进入了 ompi_mpi_errors_are_fatal_comm_handler 函数:看到其头文件 errhandler_predefined.h : 跳去它的实现文件 errhandler_predefined.c 中看对应函数:
阅读全文
摘要:OpenMPI的底层实现: 我们知道,OpenMPI应用起来还是比较简单的,但是如果让我自己来实现一个MPI的并行计算,你会怎么设计呢?————这就涉及到比较底层的东西了。 回想起我们最简单的代码,通过comm_rank来决定做不同的事情,那么这个comm_rank是怎么得到的呢? 源代码从哪里看起
阅读全文