2016-02-20 62 views
1

我工作的一个项目,我在那里提供一种能够在分布式系统中,这是运行像这样运行Java矩阵乘法程序:如何让我的矩阵乘法Java代码更安全?

usage: java Coordinator maxtrix-dim number-nodes coordinator-port-num 

例如:

java blockMatrixMultiplication.Coordinator 25 25 54545 

下面是输出的样子快照:

enter image description here

我要扩展这个代码与S我有一种失败保险能力 - 并且很好奇我将如何在正在运行的矩阵乘法计算中创建检查点。总的想法是恢复到它在计算中的位置(但它不需要如此精细 - 刚刚恢复到开始,即row 0 column 0

我的第一个想法是使用日志文件(如Apache log4j ),我将在那里记录相关的矩阵状态。然后,如果我们在计算过程中强制关闭应用程序,我们可以恢复到合理的检查点。

我应该使用MySQL来完成这样一个任务吗(或者可能是一个更轻量级的数据库)?或者一个基本的日志文件(以及使用一些有用的Apache库)是否足够好?理解的任何提示,由于

源代码:

MatrixMultiple

Coordinator

Connection

DataIO

Worker

+1

建议您查看“Java持久性”主题。这方面有很多选择。我熟悉的两个是“JPA”(Java Persistence API)和“Hibernate”。基本上它们是将Java对象保存到数据库中或从数据库中“持久化”的机制。似乎他们可以在检查点机制中做很多繁重的工作。 –

+0

@JohnHascall - 好的,我将研究Java Persistence&Hibernate。所以如果我尝试手动创建日志文件可能不明智,使用这些库会有所帮助。非常感谢! – Coffee

+0

我很好奇JMX是否可以在这里帮助? – Coffee

回答