什么是改进并行/分布式编程的好项目

What is a good project for improving in parallel/distributed programming

本文关键字:编程 项目 分布式 并行 什么      更新时间:2023-10-16

我是并行/分布式编程个人项目的想法。我熟悉openMP,Intel Cilk,Java Concurrent 和MPI,我觉得有必要开始写一些大东西,但想出一个有趣的想法。你有吗?

编辑:我在想什么(但由于害怕被嘲笑而犹豫不决地告诉你)是在Windows中为MPI实现调试器/api调用拦截器。我在调试以前的项目时遇到了问题,因为我买不起专用的调试器,这就是这个想法的诞生方式。我阅读了很多关于拦截 api 调用和调试器如何工作的文献,虽然我不能声称牢牢掌握所有相关的概念,但我有足够的时间来识别可能出现的一些问题,所以我想问你们的是:

  • 可行吗?我不确定一个资源有限的人是否有可能拿出比玩具更多的东西。我的背景:我是一名计算机科学专业的学生,拥有Java(在学校获得),C++和Python(或多或少的自我思考)的经验。我最近开始接触并行和分布式计算,我喜欢它,所以我设法学到了很多关于它的知识。我对操作系统如何工作的了解相当薄弱(以及主要关注我开发这个项目的能力)

  • 是如果可行。最好的开始方式是什么?我阅读了很多解释调试技术的文章和论文,但我仍然不确定什么是最好的方法,考虑到 MPI 调试器应该在多个进程上工作,可能在多台计算机中,并且每个进程都有单独的输出。到目前为止,我所想的似乎很愚蠢。

  • 学习如何做。到目前为止,我在决定什么是好的建议和什么是坏/过时的建议时遇到了问题,所以如果你们知道任何好的文档/资源来开始这样的事情,我将不胜感激。

您可以查看实现Distributed Key Value存储。伯克利分布式计算课程的这个项目页面可以帮助你入门。它将涵盖以下概念:

  • 团队沟通和决策
  • 负载平衡
  • 容错
  • 分布式哈希

您将对开发分布式算法/应用程序的问题有第一手的感觉,下次您将阅读一些论文/算法,这将有助于欣赏其中的细节。

为什么不试试演员模型呢?

下面是C++中的实现:http://www.theron-library.com/