Quantcast

Maximum PC

It is currently Mon Oct 20, 2014 4:27 am

All times are UTC - 8 hours




Post new topic Reply to topic  [ 37 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: Group Project: Folding @ Home install
PostPosted: Tue Aug 10, 2004 8:26 am 
Professional Dork
Professional Dork
User avatar

Joined: Tue May 25, 2004 12:44 pm
Posts: 1246
Location: Cornhole County
http://www.maximumpc.com/forum/viewtopi ... 3144#23144

I created an app that intalls FAH on systems with the MPC team number integrated. If there is any interest in a community development effort to make this better, well here's our chance :)


Last edited by DEA on Fri Nov 05, 2004 12:24 pm, edited 2 times in total.

Top
  Profile  
 
 Post subject:
PostPosted: Tue Aug 10, 2004 8:31 am 
8086
8086
User avatar

Joined: Wed Jul 14, 2004 9:08 pm
Posts: 80
Multi-processor support?

That would involve starting multiple services each with their own working directory and setting process afinity (1 cpu per service).


Top
  Profile  
 
 Post subject:
PostPosted: Tue Aug 10, 2004 8:34 am 
Professional Dork
Professional Dork
User avatar

Joined: Tue May 25, 2004 12:44 pm
Posts: 1246
Location: Cornhole County
That would be easy to do.

Just add a checkbox for multiple system support.

Then have the installer basically run through twice, putting stuff in two different folders and creating two services and changing the machine ID in the cfg file.

I actually would like to create a sort of "advanced" panel that lets users have extra options if they want them.


Top
  Profile  
 
 Post subject:
PostPosted: Tue Aug 10, 2004 10:39 pm 
Bitchin' Fast 3D Z8000*
Bitchin' Fast 3D Z8000*
User avatar

Joined: Tue Jun 29, 2004 11:32 pm
Posts: 2555
Location: Somewhere between compilation and linking
We'd need some kind of public CVS - if it is really going to be a community project and not just a one man show. :)

I've been mulling over a floppy disk install that you could use to load multiple wu's onto non-networked pc's. Some kind of automated install and retrieve (w/ a 1800 second delay to make sure I'm the hell out of the store!).


Top
  Profile  
 
 Post subject:
PostPosted: Thu Aug 12, 2004 5:03 am 
Professional Dork
Professional Dork
User avatar

Joined: Tue May 25, 2004 12:44 pm
Posts: 1246
Location: Cornhole County
Edit: Didn't see this ^^^^^^^^

What the hell is CVS? I'm not up to speed on your moon-speak.


No interest in this?

I can post my source code if anyone is interested....


Top
  Profile  
 
 Post subject:
PostPosted: Thu Aug 12, 2004 5:50 am 
In the lab!
In the lab!
User avatar

Joined: Sun Jun 06, 2004 10:47 am
Posts: 831
Location: Secret Laboratory
CVS - Concurent Versioning System

basically a fance file server program that lets multiple people work on source code by letting people check in and out files.

If you want to serioussly do open dev work it might be worth setting up a sourceforge project. They'll give you free webspace, CVS, crappy message boards, maillists, bug tracking, etc...


Top
  Profile  
 
 Post subject:
PostPosted: Thu Aug 12, 2004 6:25 am 
INFINITE vCORE
INFINITE vCORE
User avatar

Joined: Mon Jun 14, 2004 6:16 am
Posts: 467
Location: Middletown, DE
Send me the code :)

My friend from www.digitallabs.net and I will be happy to participate.

There's a good chance we could host the file as well, if need be...

What about adding a simple wrapper to track current work unit status on all your boxes?


Top
  Profile  
 
 Post subject:
PostPosted: Thu Aug 12, 2004 6:33 am 
Professional Dork
Professional Dork
User avatar

Joined: Tue May 25, 2004 12:44 pm
Posts: 1246
Location: Cornhole County
Khan - I'll post the source code later today. I got a new workstation at work and I'm still setting it up.

Dexter wrote:
CVS - Concurent Versioning System

basically a fance file server program that lets multiple people work on source code by letting people check in and out files.

If you want to serioussly do open dev work it might be worth setting up a sourceforge project. They'll give you free webspace, CVS, crappy message boards, maillists, bug tracking, etc...


I'm not THAT serious. Besides, I don't want people hard coding in someone else's team number :P


Top
  Profile  
 
 Post subject:
PostPosted: Thu Aug 12, 2004 7:05 am 
Java Junkie
Java Junkie
User avatar

Joined: Mon Jun 14, 2004 10:23 am
Posts: 24226
Location: Granite Heaven
I'm happy to help, but I'm swamped at the moment.

I have a job interview / test tomorrow, and two more interviews next week along with an R&D exam ... so I'm studying my little butt off until someone hires me. :D

Once I get a real job, though, I can start slacking professionally and write some code. :lol:

(That was a joke, in case anyone here is interviewing me this week. :shock: )


Top
  Profile  
 
 Post subject:
PostPosted: Thu Aug 12, 2004 9:20 am 
Bitchin' Fast 3D Z8000
Bitchin' Fast 3D Z8000
User avatar

Joined: Mon Jun 14, 2004 4:04 pm
Posts: 985
Location: Earth
HK-47 wrote:
I'm not THAT serious. Besides, I don't want people hard coding in someone else's team number :P


:lol: that's the point of a CVS! You know, the entire group can see the code. BTW, what language did you use, I might be interested in the project myself.


Top
  Profile  
 
 Post subject:
PostPosted: Thu Aug 12, 2004 9:30 am 
Professional Dork
Professional Dork
User avatar

Joined: Tue May 25, 2004 12:44 pm
Posts: 1246
Location: Cornhole County
DJSPIN80 wrote:
HK-47 wrote:
I'm not THAT serious. Besides, I don't want people hard coding in someone else's team number :P


:lol: that's the point of a CVS! You know, the entire group can see the code. BTW, what language did you use, I might be interested in the project myself.


lol I guess if we can do it so that we can greenlight only people on OUR team, then it would work ;)

I wrote it in VB. Other people are welcome to rewrite it in inferior languages if they want :P


Top
  Profile  
 
 Post subject:
PostPosted: Thu Aug 12, 2004 9:49 am 
Bitchin' Fast 3D Z8000
Bitchin' Fast 3D Z8000
User avatar

Joined: Mon Jun 14, 2004 4:04 pm
Posts: 985
Location: Earth
HK-47 wrote:
I wrote it in VB. Other people are welcome to rewrite it in inferior languages if they want :P


Inferior languages? :roll: Last I checked, VB.NET was being thoroughly owned by C#. :lol: Just post the source code, before Revan disassembles you. :P


Top
  Profile  
 
 Post subject:
PostPosted: Thu Aug 12, 2004 9:56 am 
Professional Dork
Professional Dork
User avatar

Joined: Tue May 25, 2004 12:44 pm
Posts: 1246
Location: Cornhole County
DJSPIN80 wrote:
HK-47 wrote:
I wrote it in VB. Other people are welcome to rewrite it in inferior languages if they want :P


Inferior languages? :roll: Last I checked, VB.NET was being thoroughly owned by C#. :lol: Just post the source code, before Revan disassembles you. :P


I registered with Sourceforge and I'll look into that after I complete registration.

As for the source code, you can find it here.


Top
  Profile  
 
 Post subject:
PostPosted: Thu Aug 12, 2004 10:09 am 
In the lab!
In the lab!
User avatar

Joined: Sun Jun 06, 2004 10:47 am
Posts: 831
Location: Secret Laboratory
HK-47 wrote:
Khan - I'll post the source code later today. I got a new workstation at work and I'm still setting it up.

Dexter wrote:
CVS - Concurent Versioning System

basically a fance file server program that lets multiple people work on source code by letting people check in and out files.

If you want to serioussly do open dev work it might be worth setting up a sourceforge project. They'll give you free webspace, CVS, crappy message boards, maillists, bug tracking, etc...


I'm not THAT serious. Besides, I don't want people hard coding in someone else's team number :P


CVS prevents that. It has user controls to limit what people can do and it keeps track of every version change so you can easily see who made what chances and roll them back should they be bad...

I used to have a SF.net account. I'll have to see if it still exists.


Top
  Profile  
 
 Post subject:
PostPosted: Thu Aug 12, 2004 11:31 am 
Bitchin' Fast 3D Z8000
Bitchin' Fast 3D Z8000
User avatar

Joined: Mon Jun 14, 2004 4:04 pm
Posts: 985
Location: Earth
Quick question. Suppose I'm running a 2-CPU box, however, I know very little about installing F@H on SMP boxes. I know that you have to have a client for each CPU, and each instance must have a unique MachineID. However, what I'm wondering is will I have to have multiple Registry Entries? That is, if I have 4 CPU's, running 4 instances of F@H in 4 different directories, must I write the Regsitry Key 4 different times?


regkey.SetValue("Application", "FAH4Console.exe")
regkey.SetValue("AppParameters", "-service -local -advmethods -forcesse")
regkey.SetValue("AppDirectory", "c:\\%programfiles%\\folding[1-n]\\")

Any information would be great. I'm working on it, but I still need to implement the actual code, I just have the UI finished. Mine's set up so that all you have to do is:

1) enter your user name
2) Set the options available
3) Click the button and voila!


[/code]


Top
  Profile  
 
 Post subject:
PostPosted: Thu Aug 12, 2004 11:34 am 
Professional Dork
Professional Dork
User avatar

Joined: Tue May 25, 2004 12:44 pm
Posts: 1246
Location: Cornhole County
I haven't tried this yet. I will be on my system at home soon though.

But I think that what you'd do is create two services, folding1 and folding2 for example.

And you'd have to write a different client.cfg for each instance so that you can specify the machineID. But that's relatively easy and can be accomplished with loops.

One other thing. If you're gonna change it to FAH 5 console, make sure you change -forcesse to -forceasm.


Top
  Profile  
 
 Post subject:
PostPosted: Thu Aug 12, 2004 2:47 pm 
Bitchin' Fast 3D Z8000
Bitchin' Fast 3D Z8000
User avatar

Joined: Mon Jun 14, 2004 4:04 pm
Posts: 985
Location: Earth
HK-47 wrote:
I haven't tried this yet. I will be on my system at home soon though.

But I think that what you'd do is create two services, folding1 and folding2 for example.

And you'd have to write a different client.cfg for each instance so that you can specify the machineID. But that's relatively easy and can be accomplished with loops.

One other thing. If you're gonna change it to FAH 5 console, make sure you change -forcesse to -forceasm.



I have a working beta, but I couldn't think of how to work the shell commands in C#. So I hacked by using a separate batch file, you launch the batch file, it does the net start folding.


Top
  Profile  
 
 Post subject:
PostPosted: Fri Aug 13, 2004 3:15 am 
Bitchin' Fast 3D Z8000*
Bitchin' Fast 3D Z8000*
User avatar

Joined: Tue Jun 29, 2004 11:32 pm
Posts: 2555
Location: Somewhere between compilation and linking
HK-47 wrote:
Edit: Didn't see this ^^^^^^^^

What the hell is CVS? I'm not up to speed on your moon-speak.


No interest in this?

I can post my source code if anyone is interested....

I'm interested... but busy as hell and I don't plan on ever coding anything in VB (unless someone drops some serious cash in my lap). Deciding on a language isn't important at this point. We can use the message board here to communicate and cvs isn't necessary as long as people either post their code here or link to it (either is acceptable and posting it invites commentary from others which is a good thing). Besides, we need to do quite a bit of discussion about the overall functionality, features, reqs, design, etc before getting caught up in coding (do I sound like an instructor?).

Here are my initial design thoughts....

The main program will be a fah wrapper program (for lack of a better term) that implements various modules (in italics below). This program gets configuration info from a text file. A seperate gui program is used to generate the text file. This is very flexible allowing people to change the configuration by hand or with a gui - and makes debugging about 10x easier. Also, two or more gui's can be written in different languages if people are intested in writing them. You're not stuck having to use some gui libs that you don't like because the modules are written in C or VB or whatever.

The gui program is able to configure all module functionality. IMO, this seperation has some huge benefits:

First, the wrapper program and gui can be implemented in differnt languages. Indeed, seperate wrapper programs can be implemented for each platform. For example, a wrapper program can be written for linux in C, in vb for windows, python for the mac with a gui program for all platforms written in Java. This seperation provides a lot of language flexiblity and opens up the linux/mac platforms which is nice (especially since I want to see how fast dual G5's are!).

Second, we're seperating the things that change (the os dependent parts) from the things that stay the same (module configuration) which is always a good idea. If only a windows wrapper program were created, this seperation is still important because the modules are likely going to be different on different versions of windows, and if something changes in the future (it will!), we won't need to change the gui configuration program, only the wrapper modules.

Here are the modules I came up with....

start fah - simply starts the fah console or gui.

start on reboot - creates a registry key or adds far to the 'startup' folder. Maybe cron on a linux or mac system.

simple install - basically what you've been working on
and an advanced install - for dualies and to allow other installation options

Hide taskbar - a module to remove fah from the windows taskbar.

email - a module to email the user a notification when the client finishes a wu. Later, add functionality so that an email can be sent when 50%, or some other amount, is finished.

ftp partial wu's - this module will ftp the work done on an incomplete wu for people who are installing fah on computers that might get shutdown (the frequency to be set by the user).

email partial wu's - same as above, but via email.

hide directory - a module that hides the fah directory on the windows desktop. A lot of times, this is the only place I can create a directory and if I can somehow hide it... good. :)

I had a couple of other ideas.... I'll add them later as they pop back into my head. Of course, intitally, what we need are the start, install, hide and restart modules and a gui configuration program.


Top
  Profile  
 
 Post subject:
PostPosted: Fri Aug 13, 2004 3:17 am 
Bitchin' Fast 3D Z8000*
Bitchin' Fast 3D Z8000*
User avatar

Joined: Tue Jun 29, 2004 11:32 pm
Posts: 2555
Location: Somewhere between compilation and linking
defkhan1 wrote:
Send me the code :)

My friend from www.digitallabs.net and I will be happy to participate.

There's a good chance we could host the file as well, if need be...

What about adding a simple wrapper to track current work unit status on all your boxes?

What protocal or method did you have in mind?


Top
  Profile  
 
 Post subject:
PostPosted: Fri Aug 13, 2004 4:32 am 
Professional Dork
Professional Dork
User avatar

Joined: Tue May 25, 2004 12:44 pm
Posts: 1246
Location: Cornhole County
Gadget that seems really involved and way beyond my abilities :lol:

Basically what you're talking about there is a tool that controls FAH in everything it does. Start, stop, etc. all the way through.

Here all I had in mind was an advanced panel and writing my own service. ;)


DJSPIN80 wrote:

I have a working beta, but I couldn't think of how to work the shell commands in C#. So I hacked by using a separate batch file, you launch the batch file, it does the net start folding.


tools.shell doesn't work? I thought that was universal to the VS.NET environment.


Top
  Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 37 posts ]  Go to page 1, 2  Next

All times are UTC - 8 hours


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group

© 2014 Future US, Inc. All rights reserved.