b*******s 发帖数: 5216 | 1 新科学家同志准备做一个分布式的图像重建系统,这个系统利用对病人组织,比如大脑
的几百幅平行切面图像来插值建立三维模型,这些图像尺寸至少是4096 * 4096,而且
相互之间的
相关性是有具体意义的
现在请设计一个可分布计算框架,能够利用1-8个节点,对几千幅图像进行并行的计算和
结果存储
8个节点都是普通的I3单cpu,双核pc,L1 的尺寸是128k, L2 1M,内存单机16G,存储设
备是scsi的硬盘,每个节点有一个,容量假定足够 |
c***d 发帖数: 996 | 2 相关性决定你的分布模型。
间的
算和
【在 b*******s 的大作中提到】 : 新科学家同志准备做一个分布式的图像重建系统,这个系统利用对病人组织,比如大脑 : 的几百幅平行切面图像来插值建立三维模型,这些图像尺寸至少是4096 * 4096,而且 : 相互之间的 : 相关性是有具体意义的 : 现在请设计一个可分布计算框架,能够利用1-8个节点,对几千幅图像进行并行的计算和 : 结果存储 : 8个节点都是普通的I3单cpu,双核pc,L1 的尺寸是128k, L2 1M,内存单机16G,存储设 : 备是scsi的硬盘,每个节点有一个,容量假定足够
|
b*******s 发帖数: 5216 | 3 邻域相关,但是领域尺寸无明确限制
【在 c***d 的大作中提到】 : 相关性决定你的分布模型。 : : 间的 : 算和
|
b*******s 发帖数: 5216 | 4 欢迎赵策兄解决,不要求实时,你能设计出数据和计算怎么分布就行了
间的
算和
【在 b*******s 的大作中提到】 : 新科学家同志准备做一个分布式的图像重建系统,这个系统利用对病人组织,比如大脑 : 的几百幅平行切面图像来插值建立三维模型,这些图像尺寸至少是4096 * 4096,而且 : 相互之间的 : 相关性是有具体意义的 : 现在请设计一个可分布计算框架,能够利用1-8个节点,对几千幅图像进行并行的计算和 : 结果存储 : 8个节点都是普通的I3单cpu,双核pc,L1 的尺寸是128k, L2 1M,内存单机16G,存储设 : 备是scsi的硬盘,每个节点有一个,容量假定足够
|
c***d 发帖数: 996 | 5 计算模型是什么,最小二乘法拟合还是蒙特卡洛。
【在 b*******s 的大作中提到】 : 邻域相关,但是领域尺寸无明确限制
|
b*******s 发帖数: 5216 | 6 这个使得问题过于专业化了,我来想想给个简单的描述
【在 c***d 的大作中提到】 : 计算模型是什么,最小二乘法拟合还是蒙特卡洛。
|
b*******s 发帖数: 5216 | 7 就这样规定吧,不管怎么重建,重建是一个某一层图像上某个像素点以及顺序的前后各
两层图像的该像素投影的3*3邻域的一种计算
【在 c***d 的大作中提到】 : 计算模型是什么,最小二乘法拟合还是蒙特卡洛。
|
N******K 发帖数: 10202 | 8 不规则邻域 方块的太容易了些
【在 b*******s 的大作中提到】 : 就这样规定吧,不管怎么重建,重建是一个某一层图像上某个像素点以及顺序的前后各 : 两层图像的该像素投影的3*3邻域的一种计算
|
b*******s 发帖数: 5216 | 9 先方块吧,简化利于讨论
【在 N******K 的大作中提到】 : 不规则邻域 方块的太容易了些
|
z****g 发帖数: 75 | 10 如下行不
1. 先算pair-wise相关性,N个图片,算 n*(n-1)/2次,这是个mem bound的操作,而且
简单并行
2. 这个 n*(n-1)/2的相关性,放在一个机子上,算出相关图像组
3. 然后再吧图像根据组,分配到不同机子上,做进一步的相关性分析,也可以并行
【在 b*******s 的大作中提到】 : 就这样规定吧,不管怎么重建,重建是一个某一层图像上某个像素点以及顺序的前后各 : 两层图像的该像素投影的3*3邻域的一种计算
|
|
|
z*******3 发帖数: 13709 | 11 我不解决,干嘛要解决?
给钱不?
你非要我解决
三个字
看情况
【在 b*******s 的大作中提到】 : 欢迎赵策兄解决,不要求实时,你能设计出数据和计算怎么分布就行了 : : 间的 : 算和
|
N******K 发帖数: 10202 | 12 图片之间是紧耦合的
比如 Image1 的(x_11,y_11) 和 Image2 (x_21, y_21) 关联
Image2 (x_22, y_22) 和 image3 (x_31, y_31) 关联
邻域之间是松散的 比如 (x_11,y_11) 和 (x_31, y_31) 啥关系都没有
【在 z****g 的大作中提到】 : 如下行不 : 1. 先算pair-wise相关性,N个图片,算 n*(n-1)/2次,这是个mem bound的操作,而且 : 简单并行 : 2. 这个 n*(n-1)/2的相关性,放在一个机子上,算出相关图像组 : 3. 然后再吧图像根据组,分配到不同机子上,做进一步的相关性分析,也可以并行
|
N******K 发帖数: 10202 | 13 bbs讨论 你可以找老邢要钱
【在 z*******3 的大作中提到】 : 我不解决,干嘛要解决? : 给钱不? : 你非要我解决 : 三个字 : 看情况
|
z****g 发帖数: 75 | 14 那计算量主要是找出不同图片中,那些邻域是相关的了
这个怎么决定呢?
总之是个mem bound的操作,优化得考虑如何减少到RAM的traffic
图片可以全放内存,一次I/O即可
【在 N******K 的大作中提到】 : 图片之间是紧耦合的 : 比如 Image1 的(x_11,y_11) 和 Image2 (x_21, y_21) 关联 : Image2 (x_22, y_22) 和 image3 (x_31, y_31) 关联 : 邻域之间是松散的 比如 (x_11,y_11) 和 (x_31, y_31) 啥关系都没有
|
N******K 发帖数: 10202 | 15 过程1
for 每一个点 x
{
找出这个点的空间邻域 L(x)
}
过程2
for 每一个点的邻域L(x)
{
拿到邻域的图像数值 3DImage(L(x))
对此邻域进行某种计算
}
假设邻域的形状可以预定 这样过程1和过程2独立
过程2 可以完全并行运算 每一台机器都读入3DImage 分配一些点邻域 然后计算 最后
汇总
【在 z****g 的大作中提到】 : 那计算量主要是找出不同图片中,那些邻域是相关的了 : 这个怎么决定呢? : 总之是个mem bound的操作,优化得考虑如何减少到RAM的traffic : 图片可以全放内存,一次I/O即可
|
n***e 发帖数: 723 | 16 哎呀,你们这些科学家真是想太多。。。然俺用民工的方法来做吧~虽然根本不懂
image processing。。。
按你说的:"不管怎么重建,重建是一个某一层图像上某个像素点以及顺序的前后各两层
图像的该像素投影的3*3邻域的一种计算。"
那么假设有n个图片,就至少可以分成n-1个task。把task从平摊给每个cpu就好啦。
首先建个总server,host image data以及做进程控制。每台机器2个client process,
分别向主server报道并且下载image data计算,最后返回结果给server。由server把所
有data汇总拼接生成最终文件然后就完了。
嘿嘿。。。 |