我想尝试使用由执行javascript的Web浏览器制作的原始“网格”,并将结果返回到服务器,在那里将它们组合成有用的东西。我的经验主要是数据密集型应用程序,这些问题对通过网络发送的响应不佳。
哪些问题可能很容易分成不连续的工作单元并在多台计算机上异步执行? Javascript版本的解决方案将特别有用。
答案 0 :(得分:1)
像计算Mandelbrot集或其他分形一样简单且具有视觉吸引力的东西呢?这是并行计算的一个常见示例,因为它需要最少的通信,具有线性可伸缩性,并且看起来很适合图片。
答案 1 :(得分:0)
容易的事: 粗暴搜索尝试寻找“秘密”字符串;检查所有可能性。
答案 2 :(得分:0)
我有两个CPU密集型JavaScript计算示例:
http://apps.mathieu-rodic.com/Beautiful/Growing-Tree-Animation
答案 3 :(得分:0)
以下代码可用于在笛卡尔坐标系上生成images like these。 The detail of the images scales with size。如果你想要一个非常大的图像,你需要绘制一个非常多的点。在单个处理器上绘制万亿点,它将运行数小时或数天。
这适用于笛卡尔坐标网格:
x = 0.1; y = 0.1; /* starting point */
DO 10 Trillion Times
xnew = sin(y*b) + c*sin(x*b);
ynew = sin(x*a) + d*sin(y*a);
x = xnew; y = ynew;
PlotDotAt(x, y);
END
这可以通过随机化输入X和Y值并行完成,无论如何,这些值在几百次迭代后会进入模式。
作为旁注,这对于CUDA或其他GPU编程来说也是一个非常好的练习。
来自Chaos in Wonderland的Clifford A. Pickover。
答案 4 :(得分:0)