互联网闲置资源贡献清单(一)

家里有一只闲置的锐角云,某云上有一台白嫖的 VPS,黑机房里有一柜空转的洋垃圾……冲浪爱好者或是垃圾佬们不会轻易陷入资源紧缺的境地,反而可能迷茫该用这些机器做什么事(至少我是如此)。虽然看着花花绿绿的指示灯足以令人满意,但凝结智慧的硅半导体不满速运转起来,多少有点不过瘾。

与此同时,互联网上依然有大量的开放项目亟需计算、存储和网络资源。虽然今日的互联网呈现日益中心化的趋势,但不少公益项目、科学研究、基础设施仍然有赖于志愿者的无私奉献。只要善加利用,你的闲置资源既可攻关癌症,也能共享色图。为分布式去中心化的互联网贡献一份力量,何乐而不为呢?

本系列将介绍各种去中心化的开放项目,只要你有闲置的计算、存储或是网络资源,都可以成为其中一员作出贡献。当然本系列也一如此博客上的其他系列,不保证任何后续更新😁

BOINC – 为科学而计算

BOINC 是我接触最早的一个分布式计算项目,平台上有大量科学项目可以参与,包括癌症研究、蛋白质折叠模拟、数学问题验证,不一而足。BOINC 平台采用网格计算,可以理解为众包,一个个艰巨的项目被切分为大量子任务,分发到每一个志愿者的电脑上,计算完成后回传结果,参与者获得积分奖励。

BOINC 项目启动近 20 年,项目数量与算力仍在持续增长,经久不衰。这是有原因的,虽然当今超级计算机越来越快,可是却难以赶上数据和需求的爆发;而且不论是租用超算还是自建,都是很大的资金开销(特别是遇上像你电这种抠逼)。所以利用全世界的闲置算力成了合理的选择。

加入 BOINC 非常方便,Windows、Linux、macOS 都有相应的客户端,还可以使用 GUI 远程管理 headless 服务器。计算项目可以任选,除了数理化生等诸多领域的正经项目,还有一些玩意相当有趣,比如破译二战时的秘密电报([email protected])和寻找外星人存在的证据([email protected],可惜已经无限期暂停了)。大部分项目使用 CPU,也有项目支持 GPU,只要你能克制挖矿的愿望为科学烧电。

需要注意的是,BOINC 并不适合大部分的 VPS,因为多数 VPS 是共享核心,长期运行 CPU 密集型的任务会被 IDC 橄榄。这个项目适合在台式机和自托管的服务器上跑,可以设置为只在系统空闲时运行。

  • 资源要求:CPU 或 GPU,无最低要求
  • 连续性要求:无,随时加入退出
  • 注意点:
    • 计算密集型,可能影响同机器其他应用或租户
    • 可能对你的电费账单亦作出巨大贡献
  • 我参加了吗:参加了,白嫖无人使用的学校服务器

[email protected] – 分布式绅士网络

我不信你没上过 E 站,但你知道你在 E 站上看的几乎所有的图片都是从志愿者的机器下载的吗?作为绅士的文化宝库,E 站成立 14 年来搜集了全球网友贡献的近百万册图库(以里站列表页数计算),随时都有 1 GBps 左右来自全球绅士的访问流量。如此巨大的存量和流量不是用爱发电能轻松应付的,支撑起无数网友幸福的正是 [email protected] 这一项目。

[email protected] 类似于分布式 CDN。E 站自身拥有每一张图片的存档,这些存档会散布到志愿者的机器上,当你浏览图片时会优先从志愿者机器上下载,只有在没有可用的副本时才直接从 E 站下载。在广大热心网友的支持下,这一分布式缓存的命中率很高,超过 99.9%,每张图的平均副本数超过 50。

要加入这一项目,只需登录 E 站后在项目页面提交申请,通过后在机器上运行其 Java 程序即可。项目对志愿者的存储和带宽有一定要求,机器必须提供至少 10 GB 的独占空间,拥有 80 Mbps 的上下行带宽(实际贡献的上行带宽不少于 10 Mbps),拥有一个能被公网访问的 TCP 端口提供 HTTPS 服务。所以国内的家宽可能难以满足要求,大水管 VPS 比较合适。

加入项目后,你可以按贡献量获得 hath 和 GP 两种积分奖励,可以用于下载图库和解锁隐藏功能等。

  • 资源要求:
    • 存储:至少 10 GB
    • 网络:一个公网 TCP 端口;上下行带宽均不低于 80 Mbps,上行至少贡献 10 Mbps
  • 连续性要求:有,需要长期在线
  • 注意点:新版提供的服务已使用 HTTPS 协议,但在国内运行仍需考虑水表风险
  • 我参加了吗:参加了,Oracle 免费 VPS

NTP Pool Project – 互联网时间基础设施

计算机系统中大量的应用与服务都依赖准确的时间,可是电子设备在运行中难免会积累时间的误差,偶尔还有闰秒强势插入。所以联机设备总会通过什么方式同步自己的时间,除去用基站的手机,NTP 服务几乎一统天下。

NTP 是一个古老的协议,如 DNS 般以分层架构提供服务。在第 0 层(stratum zero)的是原子钟等可信时间源,从第 0 层同步时间、提供服务的 NTP 服务器在第 1 层,以此类推。全球几乎所有的联网电脑都会从某 NTP 服务器同步时间,不论是 Windows、Linux 还是 macOS。

这些在我之前的一篇博客里说过,而现状是 NTP 服务器的分布极其不均。NTP Pool Project 是一个志愿者提供机器组成 NTP 服务器池的项目,已经被 Ubuntu 等多数 Linux 发行版用作 NTP 服务器的默认来源。然而在这个池子之中,人口众多的亚洲 NTP 服务器十分稀少,位于中国的更是屈指可数,每台服务器都承受着巨大的压力。

加入 NTP 池有一定的门槛,首先是需要固定的 IP 地址,然后是极长期的运行承诺,要退出需要提前至少三个月申请——因为 NTP 协议的局限性,系统会直接按 IP 地址通信,并且可能缓存很长的时间。如果服务器在亚洲尤其是中国,甚至还会因为巨大的请求量而对 CPU 单核与带宽造成压力:NTP 服务端吃单核,带宽即使在注册时选择 384 kbps 也会被吃掉数 Mbps,因此各路 1 Mbps 小水管的学生机就不要考虑了。

具体的配置可以参考项目官网上的介绍,只需要搭建允许公网访问的 NTP 服务端,并把上游服务器设置成第 1 层的 NTP 服务器即可。在提交 IP、通过健康检查后,就会陆续有全球主机来问你现在几点了。

  • 资源要求:网络,固定 IP,公网可访问 UDP 123 端口
  • 连续性要求:有,需要极长期在线,超过一年为佳
  • 注意点:如果服务器在中国,建议上行带宽不少于 10 Mbps,选用高主频 CPU
  • 我参加了吗:参加了,Oracle 免费 VPS、Vultr

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注