2016-02-20 56 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

回答