我正在寻找在基于 Unix 的系统上进行分布式处理的项目理念。我希望只使用 C 编程语言。我必须在 4 个月内完成该项目,这是我课程作业的一部分。有人可以帮我一个想法吗?
5 回答
- 密码学问题
- 分布式光线追踪器
- 国际象棋人工智能(真的,任何游戏的人工智能)
- 大质数搜索
- 网络爬虫或其他搜索机制
- 通用问题解决者(即时推出问题定义,然后是问题数据)。
注意最后一个:
一个例子是,如果你有一个游戏网站,里面有很多你一直在玩的棋盘游戏。您不希望每次为棋盘游戏编写新 AI 时都必须在所有服务器上安装新客户端,因此您有一个可以发送新 AI 的程序,然后您可以发送游戏数据推送的AI将用于解决问题。这最适用于可以分解成更小块的问题。
如果不了解性能、项目规模、您要完成的任务等,很难回答。例如,是一项任务还是多项任务?该项目是否完全开放?4个月很短,但可能是某种物理问题或数学问题。排序或某种数据库工作可能很枯燥但有益。查看mapreduce的想法!就个人而言,我真的被这项工作所激励。我们在工作中使用了分布式处理,但它是一个如此广泛的领域..
如果您想留下自己的印记并改变我们搜索网络的方式,
请查看 B-Trees。
B树和后代/变体是互联网的工作马。
谷歌广泛使用它们来索引网络。
数据库索引/索引是 B-Tree 后代/变体。
每个 LAMP 系统都使用数据库和索引/索引。
此外,它们广泛用于分布式 VLDB(超大型数据库)
也许您可以改进现有的分布式数据库(Cassandra 和 HBase)
这些都是崇高的目标,但对我来说,这将在 Web 数据的处理、索引和存储方式上留下持久的印记
。
编写分布式、容错、冗余网络 B+Tree 或 B*Tree。
阅读 Drozdek 的《C++ 中的数据结构和算法》一书。
这是对 B 树的一个很好的调查。
阅读跳树
http://www.cs.huji.ac.il/~ittaia/papers/AAY-OPODIS05.pdf
阅读有关云数据处理的高效基于 B 树的索引
http://www.comp.nus.edu.sg/~ooibc/vldb10-cgindex.pdf
谷歌搜索“网络 B+Tree”
https://www.google.com/search?rlz=1C1CHKZ_enUS431US431&sourceid=chrome&ie=UTF-8&q=Network+B%2BTree
BOINC 项目一直在寻求帮助,非常有趣:
是的。
为什么不写一个分布式编译器。然后,您可以提供一个界面供人们即时编译,并将其传递到您的分发编译网。Java 可能非常适合,而且你会做一些有趣的事情,比如非常注意安全性等等。