精華區beta CSSE 關於我們 聯絡資訊
※ 引述《ccpz (....)》之銘言: : 剛剛看到台大的 25-queen 想到的 : 像那種一台主機算出一些結果(ex:質數,n-queen) : 之前又沒有算出來過,那是要如何驗證正確性呢? : 我想到的是同一台電腦多跑幾次,不知道有沒有別的方法? : 另外就是像seti 這類分散運算,要如何確保 client 回傳資料是正確的? : 不會有人惡意傳錯誤的資料回去? 確保分散運算結果的正確性的方法其實很多。 例如把傳回來的資料再送去別的機器驗證。 傳回來的資料也應該包括計算過程的資訊,使得主機可以做初步檢驗。 只要是需要大量運算的程序,一般都不缺乏過渡性質的計算資訊。 當然基本的訊息驗證也應當要做,正常來說,只要有適當的訊息驗證, 要做假資料的困難度就會提高許多(這也是雜湊函數很重要的原因)。 以及,同樣的計算可以給兩台以上的機器做。就看是否需要付出這樣的 計算成本。 為避免浪費運算資源,也可以區分機器的可信任度,例如對於已傳回過 正確結果的機器和新加入的機器,調整驗證程序的仔細程度。 分散式運算的困難,通常不在於計算程序的設計上。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.222.173.29