A plea to open the queue.dat
Posted: Fri Jan 18, 2008 3:02 pm
Folding@Home is a great project with one of the most worthwhile causes, by using Open Source tools groundbreaking research is done and released into the open for all to benefit. Unfortunately the Folding@Home client and its data files as Closed Source as Microsoft junk. Some of the arguments for this are good, like the ability to guarantee the integrity of the research results. Others are not, like the Security Through Obscurity arguments.
I hereby make a plea to the Folding@Home staff, specifically Vijay Pande and Adam Beberg, to open the format of the queue.dat so that the enthusiastic 3rd party developers can build tools to monitor the FAH client which are as robust as the FAH client itself.
As is understood by all developers with much experience in the Folding@Home realm, the current data files which are human readable are too unreliable to build software around. The unitinfo.txt is the prime example in this case. Too often than we'd like it contains invalid or incorrect data, whereas the FAH client does have the correct data in its queue.dat. Another exaple is the FAHlog.txt, it is hard to parse and misses many of the useful bits of information contained in the queue.dat.
Because the queue.dat is such a useful and reliable source of data on a running FAH client it's used by all major Folding@Home client monitors. InCrease, the leading FAH client monitor on Mac OS X, has been using qd to parse the queue.dat for a long time, qd was ported to Mac OS X for that purpose. Recently the most popular FAH client on Windows & Linux, FahMon, incorporated code from qd to parse the queue.dat to finally have a reliable source of information. And I myself rewrote my platform independent and webbased client monitor, FCI, to use qd to parse the queue.dat and build upon that information. qd, in being the only tool to be able to read the queue.dat
has proven so useful that the code lives on even after its author has passed away (you're welcome).
I hope this illustrates the need of the community to have the ability to reliably monitor their FAH clients, and the limited resources we have to accomplish this. The FAH client itself does not provide in this need unfortunately.
This plea was triggered by the changes to the queue.dat since the release of the 5.91 & 6.00 FAH clients which write new data to the
queue.dat but which I haven't figured out yet, bytes 612-615 of each queue index being the last unknown bit (pun intended), all other new pieces of data I had the luck to being able to figure out. But this luck has run out.
All I ask is that you release the documentation of the queue.dat, the C struct you use to define it and the meaning of its members. Are they Big Endian, or Little Endian, or can it be both. How should the binary value be manipulated to make it into a useful form (e.g. for humans to read). I do not expect the full source of the FAH client to be released, as this is a futile endeavor (with good reasons, even though most Open Source authors don't agree), I only ask to open the parts we in the community need to work together with the client. Like how Microsoft is required by the EU now to document its protocols so 3rd parties can build software that seamlessly works together with it.
To put more weight behind this plea I also announce a challenge. If the Folding@home staff discards this plea like all others before it have, I will award a brand new 60GB Playstation 3 to the person who can tell me how to read the remaining field in the queue.dat. So that qd remains as useful to the community as it has always been. This is also in the best interest of the FAH staff looking at the amount of usage qfix receives, which is based on the knowledge that was gained in the development of qd. I cannot guarantee that qfix will not break the FAH client by writing invalid data to the queue.dat without proper understanding of the queue.dat (as I do now, and being the only person to take care of this software it's up to me to keep it working properly). I would hate for software which is distributed from my personal website, and thereby has my name and reputation attached to it, to harm the scientific research done by FAH, but I also refuse to let these immensely useful pieces of software wither and die, and leave the FAH community (the most valuable resource the project has IMHO) without these useful tools and have their abilities in this project set back in time to the point where we didn't have ways to work with the FAH client in these ways.
Vijay, please consider this request seriously. But be warned, I am fed up by the empty promises made by the FAH staff. The old FCF content, another invaluable resource to the community, is still unavailable to this same community, and this loss is not made up by the existence of foldingforum.org as much as I would like it to be. We also live without complete project lists, the other psummary pages are still not merged. The silliness continues, which I regard as a crying same and major loss to the community. The Folding@Home ecosystem can be so many times better, if we were able to work together in more ways than just running the FAH client. The community wants this badly, please help us help the project better.
I hereby make a plea to the Folding@Home staff, specifically Vijay Pande and Adam Beberg, to open the format of the queue.dat so that the enthusiastic 3rd party developers can build tools to monitor the FAH client which are as robust as the FAH client itself.
As is understood by all developers with much experience in the Folding@Home realm, the current data files which are human readable are too unreliable to build software around. The unitinfo.txt is the prime example in this case. Too often than we'd like it contains invalid or incorrect data, whereas the FAH client does have the correct data in its queue.dat. Another exaple is the FAHlog.txt, it is hard to parse and misses many of the useful bits of information contained in the queue.dat.
Because the queue.dat is such a useful and reliable source of data on a running FAH client it's used by all major Folding@Home client monitors. InCrease, the leading FAH client monitor on Mac OS X, has been using qd to parse the queue.dat for a long time, qd was ported to Mac OS X for that purpose. Recently the most popular FAH client on Windows & Linux, FahMon, incorporated code from qd to parse the queue.dat to finally have a reliable source of information. And I myself rewrote my platform independent and webbased client monitor, FCI, to use qd to parse the queue.dat and build upon that information. qd, in being the only tool to be able to read the queue.dat
has proven so useful that the code lives on even after its author has passed away (you're welcome).
I hope this illustrates the need of the community to have the ability to reliably monitor their FAH clients, and the limited resources we have to accomplish this. The FAH client itself does not provide in this need unfortunately.
This plea was triggered by the changes to the queue.dat since the release of the 5.91 & 6.00 FAH clients which write new data to the
queue.dat but which I haven't figured out yet, bytes 612-615 of each queue index being the last unknown bit (pun intended), all other new pieces of data I had the luck to being able to figure out. But this luck has run out.
All I ask is that you release the documentation of the queue.dat, the C struct you use to define it and the meaning of its members. Are they Big Endian, or Little Endian, or can it be both. How should the binary value be manipulated to make it into a useful form (e.g. for humans to read). I do not expect the full source of the FAH client to be released, as this is a futile endeavor (with good reasons, even though most Open Source authors don't agree), I only ask to open the parts we in the community need to work together with the client. Like how Microsoft is required by the EU now to document its protocols so 3rd parties can build software that seamlessly works together with it.
To put more weight behind this plea I also announce a challenge. If the Folding@home staff discards this plea like all others before it have, I will award a brand new 60GB Playstation 3 to the person who can tell me how to read the remaining field in the queue.dat. So that qd remains as useful to the community as it has always been. This is also in the best interest of the FAH staff looking at the amount of usage qfix receives, which is based on the knowledge that was gained in the development of qd. I cannot guarantee that qfix will not break the FAH client by writing invalid data to the queue.dat without proper understanding of the queue.dat (as I do now, and being the only person to take care of this software it's up to me to keep it working properly). I would hate for software which is distributed from my personal website, and thereby has my name and reputation attached to it, to harm the scientific research done by FAH, but I also refuse to let these immensely useful pieces of software wither and die, and leave the FAH community (the most valuable resource the project has IMHO) without these useful tools and have their abilities in this project set back in time to the point where we didn't have ways to work with the FAH client in these ways.
Vijay, please consider this request seriously. But be warned, I am fed up by the empty promises made by the FAH staff. The old FCF content, another invaluable resource to the community, is still unavailable to this same community, and this loss is not made up by the existence of foldingforum.org as much as I would like it to be. We also live without complete project lists, the other psummary pages are still not merged. The silliness continues, which I regard as a crying same and major loss to the community. The Folding@Home ecosystem can be so many times better, if we were able to work together in more ways than just running the FAH client. The community wants this badly, please help us help the project better.