DtCraft通用分布式编程系统

联合创作 · 2023-09-29 13:27

DtCraft是一种基于数据并行流的通用分布式编程系统。 它提供了一种称为流图的新型强大编程模型,用于构建并行和分布式工作负载。 将应用程序转换为此框架后,内核将透明地为您执行作业分发。 您不必担心系统编程,可以专注于高级开发!



无论您是应用程序开发人员还是特定领域的工程师,都可以使用 DtCraft 来做:



  • 分布式编程 Distributed computing

  • 事件驱动编程 Event-driven programming

  • 网络编程 Network programming

  • 数据流处理 Data stream processing


示例代码:



#include <dtc/dtc.hpp>

using namespace std::literals; // for the use of string literal
using namespace dtc::literals; // for the use of memory literal

int main(int argc, char* argv[]) {

dtc::Graph G;

auto A = G.vertex();
auto B = G.vertex();

auto lambda = [] (dtc::Vertex& v, dtc::InputStream& is) {
if(std::string s; is(s) != -1) {
std::cout << "Received: " << s << '\n';
return dtc::Event::REMOVE;
}
return dtc::Event::DEFAULT;
};

auto AB = G.stream(A, B).on(lambda);
auto BA = G.stream(B, A).on(lambda);

A.on([&AB] (dtc::Vertex& v) { (*v.ostream(AB))("hello world from A"s); });
B.on([&BA] (dtc::Vertex& v) { (*v.ostream(BA))("hello world from B"s); });

G.container().add(A).cpu(1).memory(1_GB);
G.container().add(B).cpu(1).memory(1_GB);

dtc::Executor(G).run();
}

 

浏览 15
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报