ledled 发表于 2008-12-5 15:03:28

因为断电开机造成GTV进度丢失...

偶本来在挂机看生化的,谁知某人收拾房间时将电闸关了,偶的电脑断电前一直开着GTV,重新开机后就出错丢失了进度,data.txt没损坏,tree.txt的阈值还在

各位救命啊,都算到80%+了...

[ 本帖最后由 ledled 于 2008-12-5 15:28 编辑 ]

ledled 发表于 2008-12-5 15:10:31

打开ckpt.txt一看,是以下内容:
-------------------------------------
0
0
0



--------------------------------------

貌似ckpt.txt这个文件损坏了,打开start.cmd还是gtv.exe出错...

[ 本帖最后由 ledled 于 2008-12-5 15:18 编辑 ]

ledled 发表于 2008-12-5 15:21:11

怎么替换都不行,只有重新算过了...

白算了三天三夜...

to fwjmath:能不能在写入ckpt.txt文件时先备份文件为ckpt.txt.old,如果有备份偶就不会这么倒霉了...

[ 本帖最后由 ledled 于 2008-12-5 15:25 编辑 ]

Julian_Yuen 发表于 2008-12-5 15:28:24

对此事保持关注,呵呵,丢失进度的确是个问题

fwjmath 发表于 2008-12-5 19:43:35

收到了~~~
这的确是个很严重的错误……
因为我明天有数学测验~~~今天晚上要复习~~~所以可能明天晚上才有新的版本~~~需要同时替换gtv.exe和gtvgui.exe~~~
我一定会非常重视这个问题的~~~

fwjmath 发表于 2008-12-5 19:44:34

按道理说这种事情应该很少发生~~~因为写入ckpt.txt的时间所占比例是很小的~~~

ledled 发表于 2008-12-5 19:52:08

回复 #6 fwjmath 的帖子

但我的E5200最快不到一分钟就算完0.01%的,不知fwjmath设定了多少分钟写入一次文件

fwjmath 发表于 2008-12-5 19:54:51

回复 #7 ledled 的帖子

已经在beta2的帖子里边更新了一个暂时的解决方案~~~只需要替换gtvgui.exe,每隔一分钟会自动备份~~~

我是设定了每万分之一写入一次的~~~平均下来是两三分钟一次~~~不到一分钟算完0.01%是对于某些区间而言的~~~总体来说还是有些区间是时间要长得多的~~~

JUST 发表于 2008-12-5 22:08:58

在写入的过程中断电肯定会出问题的,可以考虑降低写入频率


更好的方法是使用事务性写入,需要一个数据文件,一个日志文件
比较麻烦,我估计BOINC都不提供这种功能,反正Pi Segment没有做

Julian_Yuen 发表于 2008-12-5 23:41:57

我觉得只要能做到断电后从上一个存盘点继续算,就足够了

fwjmath 发表于 2008-12-6 00:04:46

回复 #10 Julian_Yuen 的帖子

这其实是难度比较大的事情……
现在正在做Beta3~~~会有两个备份存盘点~~~每分钟备份一次~~~
如果这还出错的话那我真的是没话说了……

Julian_Yuen 发表于 2008-12-6 00:21:15

哦,没去考虑过难度问题。话说从健壮的角度来说,感觉boinc下的一些项目在断电的情况下似乎表现还不错,当然,不排除出错的可能。

不需要绝对的保险,在相对容易的情况下得到尽可能大家都能接受的稳定度就够了

JUST 发表于 2008-12-6 01:02:21

回复 #11 fwjmath 的帖子

不要这么高的频度,CRT的I/O没有缓存的

反复对磁盘一个地方写不太好(主要是现在的硬盘也不太结实)

fwjmath 发表于 2008-12-6 01:11:50

回复 #13 JUST 的帖子

那大概什么频率比较合适呢?~~~
现在每一个WU主存盘点会在大概五天的时间里边写一万次~~~大概是两分钟写一次~~~存盘点备份两个都是每两分钟写一次~~~

BiscuiT 发表于 2008-12-6 21:10:51

还好更新了断电版。。(眼前一黑的感觉很过分。。囧

只是当次的计算时间没有被保存累计起来。。计算进度倒是保命了
页: [1] 2 3
查看完整版本: 因为断电开机造成GTV进度丢失...

论坛官方淘宝店开业啦~
欢迎大家多多支持基金会~