【发布时间】:2015-03-31 16:00:16
【问题描述】:
我正在处理一个 HPC 项目。我的设计由 Java 和 C++ 大师和工人组成。我的基本实验是在java编写的master端生成一个9000x9000双元素矩阵,比如double[9000][9000],然后将其发送给一些用C++编写的客户端,进行计算并发送回master。我知道 Thrift 除了原始类型之外还支持列表、集合和容器。我可以执行以下步骤:
- 将矩阵转换为 master 列表
- 使用 Thrift 对其进行序列化
- 发送给工人
- 反序列化列表并转换为矩阵
- 进行计算并再次将结果转换为列表
- 序列化列表并发送回 java master
- 反序列化列表并转换为矩阵。
我认为这是一个漫长的旅程。有没有更好的方法来完成这项任务?
如何将矩阵表示为二进制?如果二进制表示是最好的选择,我怎样才能有效地从 double[][] 转换为二进制,反之亦然。
【问题讨论】: