Seti Enhanced Credit Fair?

Message boards : Number crunching : Seti Enhanced Credit Fair?
Message board moderation

To post messages, you must log in.

Previous · 1 · 2 · 3 · 4 · 5 . . . 23 · Next

AuthorMessage
Grant (SSSF)
Volunteer tester

Send message
Joined: 19 Aug 99
Posts: 13396
Credit: 208,696,464
RAC: 304
Australia
Message 298111 - Posted: 7 May 2006, 2:10:59 UTC - in response to Message 298070.  


How does the .jpg file affect the crunching times/credit claims?


Sorry, I guess I could have been more clear. :) I was explaining the error results that were reported by that host, not trying to explain the credits...

Eric

No worries, Pappa beat you to it on this occasion.
:-)
Grant
Darwin NT
ID: 298111 · Report as offensive
Profile The Gas Giant
Volunteer tester
Avatar

Send message
Joined: 22 Nov 01
Posts: 1904
Credit: 2,646,654
RAC: 0
Australia
Message 298127 - Posted: 7 May 2006, 2:23:09 UTC - in response to Message 297708.  

I have one system with several Seti Enhanced work units crunched. The CPU time varies by more than 50% in completion of the units, but the claimed credit is exactly the same at 19.05. How can this be right if the metrics come from the work?

http://setiathome.berkeley.edu/results.php?hostid=1958599

Looks like I'll wait longer before allowing my computer to download e-wu's. I didn't think we would see the sort of credit issues that have arisen here with this release. BUGGER!

Live long and crunch.
ID: 298127 · Report as offensive
Profile Pappa
Volunteer tester
Avatar

Send message
Joined: 9 Jan 00
Posts: 2562
Credit: 12,301,681
RAC: 0
United States
Message 298148 - Posted: 7 May 2006, 2:45:56 UTC - in response to Message 298127.  

The Gas Giant

As I mentioned in a previous thread, because the workunits take longer and depending on the computers you get paired with you will see a slow down in credit. Once everyone starts completing and returning Enahnced Results then credits equalize out... That is one of the things that is being looked at...

So letting Seti 5.12 Enhanced happen is actually a "Good Thing" those that wait will suffer a credit penaltity of thier own making... The best thing if you have multiple machines is start one/day... Then the ones a couple of days ago will be making up for the ones that you are transitioning now...

Pappa

I have one system with several Seti Enhanced work units crunched. The CPU time varies by more than 50% in completion of the units, but the claimed credit is exactly the same at 19.05. How can this be right if the metrics come from the work?

http://setiathome.berkeley.edu/results.php?hostid=1958599

Looks like I'll wait longer before allowing my computer to download e-wu's. I didn't think we would see the sort of credit issues that have arisen here with this release. BUGGER!

Live long and crunch.


Please consider a Donation to the Seti Project.

ID: 298148 · Report as offensive
Profile [HWU] GHz & CO. - BOINC.Italy
Volunteer tester
Avatar

Send message
Joined: 1 Jul 02
Posts: 139
Credit: 1,466,611
RAC: 0
Italy
Message 298166 - Posted: 7 May 2006, 3:13:15 UTC - in response to Message 297801.  
Last modified: 7 May 2006, 3:22:47 UTC

How is the equation used to calcolate the claimed credit with the new client? It's based only on the number of FFTs performed?


I don't know the formula or ratio—they've done a fair bit of tinkering with it to make it come out with similar earning rates, on average, to other projects—but yes.

See this message from Eric Korpela, posted a few months back in the Test Project forum, showing the kind of analysis that's been done to develop the formula.


That link it's very interesting!

If the credits for the same WU are equal for all hosts, why in this case the pending credits fot one host are less?
wuid=76676710

That host is using an old BOINC client, v4.45. Clients earlier than v5.2.6 (? or so) can only claim credit according to time-&-benchmarks, ignoring an app's reported Flop count; there's been talk of cutting them off at some point in the future, when Enhanced has become 'the only game in town'.


Ok, thanks for the explanation !

GHz
BOINC.Italy
ID: 298166 · Report as offensive
Profile [HWU] GHz & CO. - BOINC.Italy
Volunteer tester
Avatar

Send message
Joined: 1 Jul 02
Posts: 139
Credit: 1,466,611
RAC: 0
Italy
Message 298171 - Posted: 7 May 2006, 3:21:45 UTC - in response to Message 297815.  


How is the equation used to calcolate the claimed credit with the new client? It's based only on the number of FFTs performed?


The application keeps a running total of the number of floating point operations performed. The application reports credit for 3.35 times this number of floating point operations. (3.35 was chosen to make the median credits/hour to equal what the non-enhanced application was reporting).

Eric


Thanks Eric, I like the new method, but I have 2 other questions:

-How the total number of floating point operations it's calculated? That calculation can slow down the client?

-What can happen with optimized client? If they are not only recompiled but they have code optimization (like crunch3r's client), the claimed credits can change?
GHz
BOINC.Italy
ID: 298171 · Report as offensive
Profile The Gas Giant
Volunteer tester
Avatar

Send message
Joined: 22 Nov 01
Posts: 1904
Credit: 2,646,654
RAC: 0
Australia
Message 298174 - Posted: 7 May 2006, 3:28:46 UTC - in response to Message 298148.  

The Gas Giant

As I mentioned in a previous thread, because the workunits take longer and depending on the computers you get paired with you will see a slow down in credit. Once everyone starts completing and returning Enahnced Results then credits equalize out... That is one of the things that is being looked at...

So letting Seti 5.12 Enhanced happen is actually a "Good Thing" those that wait will suffer a credit penaltity of thier own making... The best thing if you have multiple machines is start one/day... Then the ones a couple of days ago will be making up for the ones that you are transitioning now...

Pappa

I have one system with several Seti Enhanced work units crunched. The CPU time varies by more than 50% in completion of the units, but the claimed credit is exactly the same at 19.05. How can this be right if the metrics come from the work?

http://setiathome.berkeley.edu/results.php?hostid=1958599

Looks like I'll wait longer before allowing my computer to download e-wu's. I didn't think we would see the sort of credit issues that have arisen here with this release. BUGGER!

Live long and crunch.



Yeah, but a computer crunches multiple different wu's taking between 7000s and 12000s and claims exactly the same amount for each wu, then something is wrong!
ID: 298174 · Report as offensive
W-K 666 Project Donor
Volunteer tester

Send message
Joined: 18 May 99
Posts: 17850
Credit: 40,757,560
RAC: 67
United Kingdom
Message 298201 - Posted: 7 May 2006, 4:34:18 UTC - in response to Message 297708.  

I have one system with several Seti Enhanced work units crunched. The CPU time varies by more than 50% in completion of the units, but the claimed credit is exactly the same at 19.05. How can this be right if the metrics come from the work?

http://setiathome.berkeley.edu/results.php?hostid=1958599

I have a theory that the problem of variable time for units with the same AR is possibly a hardware problem.

There have been comments from other users with multi-cpu machines, more than 2 cpu's that they are not as efficient. A few users have tried restricting cpu numbers and found no loss of throughput.
It is presumed that the problem arises when all the cpu's are trying to access main memory, one or more of the cpu's has to wait. I don't no if there is a priority system for the cpu's to access memory.
It has also been noted that, even with, 2 * cpu systems, efficiency can increase if cpu affinity is employed and each cpu crunches different projects.

So it might be worth a little experiment for a few hours to change your cpu setting to 2 and/or 3 cpu's and note times thoughput etc.

Over on Beta with single cpu system which is my main computer for use at home the times for units with the same ar was very consistent. I did;
14 units, ar=0.567 min, time 12,785 sec, max time 12,983
10 units, ar=2.83 min, time 2,706 sec, max time 2,736
14 units, ar=1.87 min, time 2,962 sec, max time 3,053

Andy
ID: 298201 · Report as offensive
Mike Gelvin
Avatar

Send message
Joined: 23 May 00
Posts: 92
Credit: 9,298,464
RAC: 0
United States
Message 298216 - Posted: 7 May 2006, 4:56:19 UTC - in response to Message 297878.  

Please point it out to me. ;)
All I see there are the Linux versions... None for Windows (2003).


Use CVS and execute command "cvs -d :pserver:anonymous:@alien.ssl.berkeley.edu:/home/cvs/cvsroot checkout boinc"


ID: 298216 · Report as offensive
Mike Gelvin
Avatar

Send message
Joined: 23 May 00
Posts: 92
Credit: 9,298,464
RAC: 0
United States
Message 298222 - Posted: 7 May 2006, 5:01:51 UTC - in response to Message 298201.  

I have one system with several Seti Enhanced work units crunched. The CPU time varies by more than 50% in completion of the units, but the claimed credit is exactly the same at 19.05. How can this be right if the metrics come from the work?

http://setiathome.berkeley.edu/results.php?hostid=1958599

I have a theory that the problem of variable time for units with the same AR is possibly a hardware problem.

There have been comments from other users with multi-cpu machines, more than 2 cpu's that they are not as efficient. A few users have tried restricting cpu numbers and found no loss of throughput.
It is presumed that the problem arises when all the cpu's are trying to access main memory, one or more of the cpu's has to wait. I don't no if there is a priority system for the cpu's to access memory.
It has also been noted that, even with, 2 * cpu systems, efficiency can increase if cpu affinity is employed and each cpu crunches different projects.

So it might be worth a little experiment for a few hours to change your cpu setting to 2 and/or 3 cpu's and note times thoughput etc.

Over on Beta with single cpu system which is my main computer for use at home the times for units with the same ar was very consistent. I did;
14 units, ar=0.567 min, time 12,785 sec, max time 12,983
10 units, ar=2.83 min, time 2,706 sec, max time 2,736
14 units, ar=1.87 min, time 2,962 sec, max time 3,053

Andy



My CPUs DO use cpu affinity. This is a multiprocessor machine (2 hyperthreaded Xeons) and the BOINC app I use has been modified to use cpu affinity... but I still dont see why the same machine should take 50% longer on one work unit vs another if its doing the "EXACT SAME WORK".

ID: 298222 · Report as offensive
Profile Pappa
Volunteer tester
Avatar

Send message
Joined: 9 Jan 00
Posts: 2562
Credit: 12,301,681
RAC: 0
United States
Message 298242 - Posted: 7 May 2006, 5:22:48 UTC - in response to Message 298171.  
Last modified: 7 May 2006, 5:28:05 UTC

Ghz & Co.

This will be long, take a moment to read it...

I can answer one part of the question. I am one of Crunch3r's Beta Testers... I am one of the limited/controlled few that tested Optimized Enhanced Beta... Crunch3r wants to insure that the optimized application meets all Result Validation first... Otherwise claimed credits means nothing...

Now while all the Optimized Testers names are not published. You can go to the Seti Enhanced Beta, Number Crunching Forum and look for any of my conversations and click on my name to go see the about a dozen computers that I used for testing. If you click on my name here you will find some of the same computers here... In any case when you select a specific computer you can see the credit claimed... The Results of the Quorum...

I do have to say due to the number of machines I have, there are some still running the optimized 5.11 enhanced beta app.. I will be clearing those out shortly... As there are problems with compiling Otpimized Enhanced 5.12 application, it is not ready for testing here...

All that said I have two passions here... The first is Seti... That is from when the wife convinced me that it was worthwhile! The second is Donations to keep Seti Alive...

I guess that over the last 6 months, I have been the "poster child" for both Donations and Seti Enhanced Beta... But I am not alone!

Many that you see here trying to help are spending hours in both Beta and here to insure they give the "best most accurate information" that is available... WHERE WERE YOU? To push beyond that is unfair and you will only get half baked answers... Those that are helping have spent countless hours testing, they have an idea... "We" still do not have all the answers...

So as I have mentioned, I have multiple BOINC Core Clients in testing... and want to insure that as things settle down a month from now, that Users are getting the best that they can...

More than that, if you have a "specific" problem please include a copy of the Message Log. That will help figure out the error.

The other part is we now have people asking qeustions that decided to wait until Seti Enhanced was released... You had the chance to help so You would Know... You ignored that... GO READ THE SETI ENHANCED BETA NUMBER CRUNCHING FORUM then come back to ask intelligent questions!

Pappa


How is the equation used to calcolate the claimed credit with the new client? It's based only on the number of FFTs performed?


The application keeps a running total of the number of floating point operations performed. The application reports credit for 3.35 times this number of floating point operations. (3.35 was chosen to make the median credits/hour to equal what the non-enhanced application was reporting).

Eric


Thanks Eric, I like the new method, but I have 2 other questions:

-How the total number of floating point operations it's calculated? That calculation can slow down the client?

-What can happen with optimized client? If they are not only recompiled but they have code optimization (like crunch3r's client), the claimed credits can change?


Please consider a Donation to the Seti Project.

ID: 298242 · Report as offensive
W-K 666 Project Donor
Volunteer tester

Send message
Joined: 18 May 99
Posts: 17850
Credit: 40,757,560
RAC: 67
United Kingdom
Message 298332 - Posted: 7 May 2006, 6:30:38 UTC - in response to Message 298222.  
Last modified: 7 May 2006, 6:31:22 UTC

My CPUs DO use cpu affinity. This is a multiprocessor machine (2 hyperthreaded Xeons) and the BOINC app I use has been modified to use cpu affinity... but I still dont see why the same machine should take 50% longer on one work unit vs another if its doing the "EXACT SAME WORK".

You might be using affinity but they are all running the same application. Try running different projects. My dual P3 runs Seti and Einstein and I have checked several times and certainly the Seti with Einstein combination is about 15% more efficient for Seti compared to a Seti/Seti setup.

And as I also said, people have reported that their throughput using less than the maximum cpu's hasn't decreased.
I cannot confirm or disprove this claim as I do not have access to a multi-cpu computer, wish I did, but with all the cpu's trying to access the same memory along the same path says there has to be some delays. The main thing slowing modern computers is memory. If it wasn't there would be no difference in performance with different sizes of L2 cache on similar cpu's. In a contest of cpu vs cpu I would back my year old Pent M 1.86 GHz (L2 = 2MByte) against all but the very fastest cpu's including yours.
I see your times for the 4.11/4.18 units are 4000+ seconds. This Pent M does a 4.11/4.18 unit in 1860s average. So for a 3.06 Quad cpu machine it is not even twice as fast as mine.

Please try my suggestion, of only using two or three cpu's, for a few hours and see what the results are.

Also to back up Pappa's comments on the Beta Trial. It is still not finished we are still trying to solve a timer problem with Win9x machines, and in the last 12 hours I have resurrected a P2 300Mhz win98 and added it to the trial.

Andy
ID: 298332 · Report as offensive
ABT Chuck P
Volunteer tester
Avatar

Send message
Joined: 15 May 99
Posts: 91
Credit: 316,669
RAC: 0
United States
Message 298341 - Posted: 7 May 2006, 6:49:20 UTC - in response to Message 298242.  

[quote]Ghz & Co.

This will be long, take a moment to read it...

<snip>

The other part is we now have people asking qeustions that decided to wait until Seti Enhanced was released... You had the chance to help so You would Know... You ignored that... GO READ THE SETI ENHANCED BETA NUMBER CRUNCHING FORUM then come back to ask intelligent questions!

Pappa

Some nerve there Pappa. Blame folks for not participating in a Beta project then expect them to go read those boards. This project gets more lame by the moment.


ID: 298341 · Report as offensive
KB7RZF
Volunteer tester
Avatar

Send message
Joined: 15 Aug 99
Posts: 9549
Credit: 3,308,926
RAC: 2
United States
Message 298343 - Posted: 7 May 2006, 6:54:14 UTC - in response to Message 298341.  
Last modified: 7 May 2006, 6:55:07 UTC

[quote]Ghz & Co.

This will be long, take a moment to read it...

<snip>

The other part is we now have people asking qeustions that decided to wait until Seti Enhanced was released... You had the chance to help so You would Know... You ignored that... GO READ THE SETI ENHANCED BETA NUMBER CRUNCHING FORUM then come back to ask intelligent questions!

Pappa

Some nerve there Pappa. Blame folks for not participating in a Beta project then expect them to go read those boards. This project gets more lame by the moment.



Theres been a wealth of information passed between these boards and the Beta boards. Pappa has been one big advocate in making sure people know about it. He's been one hell of a driving force over there. Seeing as the person he addressed has a volunteer tag, why couldn't he have read the boards, and asked there? Obviously he is testing the BETA version correct?

If the project is so lame, then why continue? You remind me a lot like azwoody, sit and complain, then point fingers, and do more complaining. Don't like it, leave. The hostility on these boards have been absolutely ridiculous.
ID: 298343 · Report as offensive
ABT Chuck P
Volunteer tester
Avatar

Send message
Joined: 15 May 99
Posts: 91
Credit: 316,669
RAC: 0
United States
Message 298344 - Posted: 7 May 2006, 6:56:02 UTC - in response to Message 298343.  
Last modified: 7 May 2006, 7:09:33 UTC

[quote]Ghz & Co.

This will be long, take a moment to read it...

<snip>

The other part is we now have people asking qeustions that decided to wait until Seti Enhanced was released... You had the chance to help so You would Know... You ignored that... GO READ THE SETI ENHANCED BETA NUMBER CRUNCHING FORUM then come back to ask intelligent questions!

Pappa

Some nerve there Pappa. Blame folks for not participating in a Beta project then expect them to go read those boards. This project gets more lame by the moment.



Theres been a wealth of information passed between these boards and the Beta boards. Pappa has been one big advocate in making sure people know about it. He's been one hell of a driving force over there. Seeing as the person he addressed has a volunteer tag, why couldn't he have read the boards, and asked there? Obviously he is testing the BETA version correct?

If the project is so lame, then why continue? You remind me a lot like azwoody, sit and complain, then point fingers, and do more complaining. Don't like it, leave. The hostility on these boards have been absolutely ridiculous.

As I have a volunteer tag, big whoop. As you've mentioned the hostility on the boards is rediculous.

He could have asked in Beta but chose to ask here in its released forum. My Seti resource share will be taking another hit thanks to your response.

ID: 298344 · Report as offensive
Grant (SSSF)
Volunteer tester

Send message
Joined: 19 Aug 99
Posts: 13396
Credit: 208,696,464
RAC: 304
Australia
Message 298385 - Posted: 7 May 2006, 7:44:01 UTC - in response to Message 298242.  

The other part is we now have people asking qeustions that decided to wait until Seti Enhanced was released... You had the chance to help so You would Know... You ignored that... GO READ THE SETI ENHANCED BETA NUMBER CRUNCHING FORUM then come back to ask intelligent questions!

So people that used Seti classic had no right to ask questions about Seti Classic because they didn't help with it's development? So people that used Seti classic had no right to ask questions about Seti BOINC because they didn't help with it's development?
Sorry, i strongly disagree with that mindset.
Grant
Darwin NT
ID: 298385 · Report as offensive
Profile StokeyBob
Avatar

Send message
Joined: 31 Aug 03
Posts: 848
Credit: 2,218,691
RAC: 0
United States
Message 298422 - Posted: 7 May 2006, 8:15:42 UTC

I haven't been around much lately and I'm not sure if I want to go through all of the previous post on two different boards. Maybe when one of you gets it all figured out you can explain whats been happening in maybe a paragraph or two.

I'm just kidding sort of. Actually I think I will just take it easy running the old SETI and see how things go for a little while.
ID: 298422 · Report as offensive
Profile RePhLeX

Send message
Joined: 3 Dec 05
Posts: 76
Credit: 128,962
RAC: 0
United Kingdom
Message 298557 - Posted: 7 May 2006, 11:32:18 UTC - in response to Message 298422.  

I haven't been around much lately and I'm not sure if I want to go through all of the previous post on two different boards. Maybe when one of you gets it all figured out you can explain whats been happening in maybe a paragraph or two.

I'm just kidding sort of. Actually I think I will just take it easy running the old SETI and see how things go for a little while.



Basically as it stands, i used to get 33 points per hour, im now getting 12. Ok its early days, but thats what ive seen on my pc. Obviously when the optimized versions come out it will go back up again, but i doubt whether it will get up over 30 again.

:D


ID: 298557 · Report as offensive
Ingleside
Volunteer developer

Send message
Joined: 4 Feb 03
Posts: 1546
Credit: 15,832,022
RAC: 13
Norway
Message 298568 - Posted: 7 May 2006, 11:51:33 UTC - in response to Message 298222.  

My CPUs DO use cpu affinity. This is a multiprocessor machine (2 hyperthreaded Xeons) and the BOINC app I use has been modified to use cpu affinity... but I still dont see why the same machine should take 50% longer on one work unit vs another if its doing the "EXACT SAME WORK".



Well, if you takes a look on BOINC alpha, not now there every wu is 1-minute, but earlier when they was using SETI@Home as application, you'll find multiple computers with over 30% variation in reported cpu-time. This is 30% variation for running the exact same wu multiple times on the exact same computer.

Also, as some years running "classic" has taught anyone with dual/HT-computers, running 1 instance at a time gives maybe 5h cpu-time while if you runs 2 instances at the same time the reported cpu-time suddenly is 6h or for HT maybe 7-8h or something.


With 4 instances at once, there's even more chances for 1 instance being slowed-down by the other instances, since SETI@Home is memory-intensive and they'll therefore battle for the same limited memory-bandwith.

If you've also added multiple projects into the mix, some projects is not using very much memory-bandwith but more raw cpu-power, so 1 other project can be enough to speed-up all the seti-processes you're running alongside. Or for that matter, if the computer isn't just sitting there crunching seti & dust-bunnies, but also doing other things, the "other things" can be enough to influence crunch-times in seti significantly.


A really bad example of how memory-bandwith can influence crunch-times is someones dual/HT-Xeon, running CPDN. (not my computer, so don't know full specs)

Instances: model1, model2, model3
1 instances: 2.626 s/TS.
2 instances: 3.667 s/TS, 3.632 s/TS.
3 instances: 5.441 s/TS, 5.339 s/TS, 5.349 s/TS.
4 instances: 7.554 s/TS, 7.500 s/TS, 7.564 s/TS.

This means:
1 instances: 3.05 trickles/day
2 instances: 4.38 trickles/day
3 instances: 4.46 trickles/day
4 instances: 4.24 trickles/day

Meaning, only 40-45% more production by running 2 or more models, compared to only running 1, and only 5% variation between running 2, 3 and 4 models...



Coming back to Seti_Enhanced, a look on one of my computers shows upto 9.7% variation in cpu-time for same claimed credit, but knowing this is a dual-cpu sharing with multiple projects and with "smp-penalty" somewhere between 5% and 10%, this is as expected.


So, while there is some variation in crunch-times between Seti_Enhanced wu with same angle-range and therefore same claimed credit, this variation is likely around 5%.

Your own 50% variation on the other hand is very likely due to your own hardware...
ID: 298568 · Report as offensive
Astro
Volunteer tester
Avatar

Send message
Joined: 16 Apr 02
Posts: 8026
Credit: 600,015
RAC: 0
Message 298586 - Posted: 7 May 2006, 12:21:35 UTC

Are the credits fair??

That's the question here. The first thing needed to figure this out is the intent of the Boinc developers. Dr. Anderson answered this when he was asked about enhanced credit by Eric K. Dr. Anderson stated that "parity between projects is the most important". he said nothing about comparisons between seti and SE. We would have to campare the cobblestones/hour for every project and compare them. This would have to exclude any optimized Core Client use, as they (so far) have only adjusted the mechanisms used to claim credit.

If a project grants credit that is close to that of the other projects, then it IS fair.

Ever consider that you may have been claiming too much earlier, and should be grateful you actually got some of those claims granted?


ID: 298586 · Report as offensive
Profile Siran d'Vel'nahr
Volunteer tester
Avatar

Send message
Joined: 23 May 99
Posts: 7373
Credit: 44,181,323
RAC: 238
United States
Message 298615 - Posted: 7 May 2006, 13:18:53 UTC - in response to Message 298341.  
Last modified: 7 May 2006, 13:19:23 UTC

....
Pappa

Some nerve there Pappa. Blame folks for not participating in a Beta project then expect them to go read those boards. This project gets more lame by the moment.

Before you join the rest of the special people on my ignore list: STFU and go away!!!! YOU are NOT an asset to this or any other BOINC project. As someone else, here, said, you act as azwoody does. Now, enjoy and have a good time in the new place I have set aside just for you and the other numbskulls on these boards. PLONK!!!! (-:<

CAPT Siran d'Vel'nahr XO - L L & P _\\//
USS Vre'kasht NCC-33187
Winders 10 OS? "What a piece of junk!" - L. Skywalker
"Logic is the cement of our civilization with which we ascend from chaos using reason as our guide." - T'Plana-hath
ID: 298615 · Report as offensive
Previous · 1 · 2 · 3 · 4 · 5 . . . 23 · Next

Message boards : Number crunching : Seti Enhanced Credit Fair?


 
©2022 University of California
 
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.