Re: [boinc_dev] Long Term Debt and work fetch and overworked

2009-04-23 Thread Nicolás Alvarez
El Jue 23 Abr 2009 13:13:05 john.mcl...@sybase.com escribió:
 Whether the project is overworked or not should be determined by the
 max(long term debt for the resource, long term debt for the resource).

max(A, A) == A

Was one of those supposed to be long term debt for the *project*?
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] FastCGI (was: Work Scheduling pt 2)

2009-04-30 Thread Nicolás Alvarez
El Jue 30 Abr 2009 12:16:00 john.mcl...@sybase.com escribió:
  I have the feeling that nobody ever used the FastCGI scheduler correctly,
  that server admins compile it with FastCGI support as if that was all that
  needs to be done.

 I don't know enough about Fast CGI to have any hope of answering this.

With normal CGI, every time a client does a request, Apache starts the 
scheduler and gives it the data sent by the client through stdin. The 
scheduler gives the reply in stdout, and the webserver sends it back to the 
client. Then the scheduler CGI process dies, and obviously loses its DB 
connection.

With FastCGI, you can start up a dozen scheduler instances in advance. When a 
client does a request, Apache passes it to one of the scheduler processes 
running, using a special protocol. Once it's done, Apache sends the reply to 
the client, and that scheduler process is ready to handle a new request.

Since the scheduler processes are long-lived in the FastCGI case, they don't 
have to reconnect to the database every time, and they can also keep 
in-memory caches of stuff (such as the application list; if we didn't already 
have it in shared memory from the feeder, that is).

However, simply recompiling the scheduler with FastCGI support won't help 
anything. The webserver will still start one on every request and send it the 
POSTed data through stdin and expect a reply through stdout (which still will 
work since FastCGI handles that for compatibility reasons, but won't give you 
any performance advantage). The webserver has to be reconfigured to start up 
the FastCGI processes, setup a pipe for each, etc. I think mod_fastcgi isn't 
even installed by default.

Cross-posting to boinc_projects for the benefit of admins.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Work Scheduling (pt 2, Cooperative Scheduling?)

2009-04-30 Thread Nicolás Alvarez
El Jue 30 Abr 2009 12:19:05 john.mcl...@sybase.com escribió:
  And then there is CPDN trickle-based kill which is completely different.

 The

  server sends a trickle-down to that host, knowing it has that task. The
  application handles the trickle and quits, saying it finished processing.

 This only works for projects that implement trickle messages, which is, I
 believe, CPDN only at the moment.

Yes, and it's even application-specific. There is no kill trickle in BOINC; 
it's the CPDN application that handles a trickle with a particular content by 
pretending it finished processing.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Work Scheduling (pt 2, Cooperative Scheduling?)

2009-04-30 Thread Nicolás Alvarez
El Jue 30 Abr 2009 13:06:36 Martin escribió:
 Even if you use multiple separate download servers, you just simply have
 message sockets to your WU pool allocator process(es) to report what is
 successfully transferred and when. Similarly so for setting what URL is
 to point to what WU on the web server(s).

 (The web server system can be arranged to automatically default to
 download timeout page/response for timed out URLs.)

BURP uses download servers provided by volunteer users.

A few projects use download servers distributed across the world.

File downloads *must* work on plain old HTTP servers without having to
'call home'.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Work Scheduling (pt 2, Cooperative Scheduling?)

2009-04-30 Thread Nicolás Alvarez
El Jue 30 Abr 2009 13:39:18 Paul D. Buck escribió:
 Take the simplest example,

 The first stage of a task is the creation of the Result, which
 generates one or more Tasks.

 Neither of these are of interest or should be visible to the
 participant.  So, why are they in the running tasks and running
 results table?

Terminology: The project admin creates workunits, from which results are 
created. BOINC server has no Tasks.

These are also not of interest to the core client. The client shouldn't be 
aware of this replication mechanism, yet the workunit/result-separation 
implementation detail is exposed all the way to the *GUI*.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Work Scheduling (pt 2, Cooperative Scheduling?)

2009-04-30 Thread Nicolás Alvarez
El Jue 30 Abr 2009 13:45:38 Martin escribió:
 Then that is an Achilles heel for gaining feedback on what was accepted
 by the client...

 Apache can report what URL downloaded whatever, so that is one means of
 feedback for servers under direct project control.

 Another means could be that that the next client request also lists what
 was accepted last time. Rather messy and that would leave unaccepted WUs
 in limbo for too long.

 And then there is the even more messy WU abort...

 S...

 At present, how do the download servers know to delete
 downloaded/expired WUs if they can't 'phone home'?

That depends on the project.

If it's the same server, file_deleter deletes download files from the 
local 'download' directory. If it's a different server on the LAN, usually 
it's NFS-mounted, so file_deleter also issues a normal file delete.

BURP sends a request to mirror servers to tell them the file should be 
deleted. It's a completely custom request, and probably triggered by the 
mirror system, not the file deleter.

I don't know what einst...@home does for its geo-distributed download servers.

 What is done at present about WU failed downloads?

Nothing that involves the download servers.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Work Scheduling (pt 2, Cooperative Scheduling?)

2009-04-30 Thread Nicolás Alvarez
El Jue 30 Abr 2009 13:55:46 john.mcl...@sybase.com escribió:
  At present, how do the download servers know to delete
  downloaded/expired WUs if they can't 'phone home'?

 The Validator deletes the files.


The validator compares files and chooses a canonical result. The assimilator 
does something useful for those files (in the case of SETI, parses the XML 
file and loads data into a DB).

The file_deleter then deletes all uploaded files, except for the canonical one 
if there are still other results in progress (if replication  min_quorum) so 
they can be validated, and deletes download files unless there are other 
unsent or in-progress results.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Work Scheduling (pt 2, Cooperative Scheduling?)

2009-04-30 Thread Nicolás Alvarez
El Jue 30 Abr 2009 13:58:27 john.mcl...@sybase.com escribió:
 Once a day if there was no CPU request, or with the CPU request if there is
 one.  This is a substantially lower count than if every project is asked
 for a work proposal for every work request.

You're adding more every words than we were suggesting.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Work Scheduling (pt 2, Cooperative Scheduling?)

2009-04-30 Thread Nicolás Alvarez
El Jue 30 Abr 2009 13:32:01 Mikus Grinbergs escribió:
  [ And what if the
 result that's returned is useless because of a bug in the project's
 application? ]

And what if their output files are binary, a bug in the project's application 
causes invalid results, and sample_bitwise_validator marks it valid anyway?

[more on this later; this time I want to write a patch before reporting]
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Work Scheduling (pt 2, Cooperative Scheduling?)

2009-04-30 Thread Nicolás Alvarez
El Jue 30 Abr 2009 15:26:40 john.mcl...@sybase.com escribió:
 The two are at different layers in the protocol stack.

No news to me.

Using HTTP, we're *forced* to use individual requests, each sending complete 
information, and the server has to do eg. user/host lookup on every request. 
Using a stateful TCP protocol, we could authenticate once and do multiple 
things over the same connection. There, saved you some DB queries. And we 
could have server-client messages, probably useful to in-house low-latency 
use.

___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Work Scheduling (pt 2, Cooperative Scheduling?)

2009-04-30 Thread Nicolás Alvarez
El Jue 30 Abr 2009 15:35:10 Nicolás Alvarez escribió:
 El Jue 30 Abr 2009 15:26:40 john.mcl...@sybase.com escribió:
  The two are at different layers in the protocol stack.

 No news to me.

 Using HTTP, we're *forced* to use individual requests, each sending
 complete information, and the server has to do eg. user/host lookup on
 every request. Using a stateful TCP protocol, we could authenticate once
 and do multiple things over the same connection. There, saved you some DB
 queries. And we could have server-client messages, probably useful to
 in-house low-latency use.

Looks like I had already suggested this:
http://lists.ssl.berkeley.edu/pipermail/boinc_dev/2008-February/009823.html
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] A strange permission error.

2009-05-01 Thread Nicolás Alvarez

El 01/05/2009, a las 11:57, Eric Myers my...@spy-hill.net escribió:


On Fri, 1 May 2009, Alan Sun wrote:


file upload server: can't open file /opt/boinc_grid/upload/64/ 
sj_106_0_0:

Permission denied


The upload area uses directory fanout, with subdirectory names based  
on a
hash of the filename.  It is possible that the subdirectory 64 had  
not
yet been created, and could not be created because the  
file_upload_handler

does not have permission to do so. Check your permissions.


Or 64 is created and has bad permissions itself?___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Re: [boinc_dev] Work Scheduling (pt 2, Cooperative Scheduling?)

2009-05-01 Thread Nicolás Alvarez

El 30/04/2009, a las 13:13, john.mcl...@sybase.com escribió:




jm7

Nicolás Alvarez nicolas.alva...@gmail.com wrote on 04/30/2009 12:0 
5:33

PM:


Nicolás Alvarez nicolas.alva...@gmail.com
04/30/2009 12:05 PM

To

boinc_dev@ssl.berkeley.edu

cc

john.mcl...@sybase.com, Martin m_boinc...@ml1.co.uk

Subject

Re: [boinc_dev] Work Scheduling (pt 2, Cooperative Scheduling?)

El Jue 30 Abr 2009 12:45:44 john.mcl...@sybase.com escribió:



The server recorded that it was sent to client X in the DB during

the
initial connection.  It now has to unrecord that information in  
the

DB.

Sorry, there is DB access involved.


Nope.


It HAS to be recorded sometime, and since file downloads DO NO DB

ACCESS,
it CANNOT happen at that time.  The server does not know which  
host is

downloading any particular file, and cannot know.

A batch of WUs are given to whatever server process allocates  
them to
client requests as is the case now. That process only records  
back to

the db those WUs that are successfully downloaded by the client.


No DB access during file download.


The ack for a client taking a WU is the last ack of the download
indicating successful download.


No DB access during file download.

After that, /then/ the db is updated /just the once/ to say that  
the

host has that (or those) WU(s).


No DB access during file download.


I never said anything about files, I even explicitly said I wasn't

talking

about file downloads. I'm talking about a new concept of workunit

download

separate from the workunit request/assignment.

And yes, it would do DB access.

I may have gotten confused.  I thought that someone was claiming  
that it

***could*** be done without DB access, and be triggered by the file
download.


I also think that is what Martin was implying.



Some notes:

It has to be backwards compatible - client versions that do not do  
this

exist, and the server has to behave correctly.

We have been told many times before that only one trip to the  
scheduler is

allowed for scheduling a set of tasks.

What happens if the project assigns a dozen tasks.  10 or them  
download

instantly, but there is a delay getting the other two?

___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Re: [boinc_dev] A strange permission error.

2009-05-02 Thread Nicolás Alvarez
El Sáb 02 May 2009 14:14:58 Alan Sun escribió:
 If someone folder created and has bad permission itself, how can I avoid
 this? Is it a bug of the file_upload_handler component?

The documentation explains the upload directory should have setgid permissions 
so that subdirectories inherit its permissions.

Did you follow all the instructions here?
http://boinc.berkeley.edu/trac/wiki/ServerIntro#permissions
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Build documentation

2009-05-05 Thread Nicolás Alvarez
El Martes 05 May 2009 02:47:20 Paul D. Buck escribió:
 The windows build documentation as noted in page:
 http://boinc.berkeley.edu/trac/wiki/SourceCode implies that the source code
 can be completed by downloading the supplemental files from page:
 http://boinc.berkeley.edu/trac/browser/trunk/boinc_depends_win_vs2005 ; yet
 this link, if used in SVN indicates that this page is not WebDAV enabled.

Fixed.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Work Scheduling (pt 2, Cooperative Scheduling?)

2009-05-05 Thread Nicolás Alvarez
El Jue 30 Abr 2009 21:39:27 Rom Walton escribió:
 The problem with persistent connections is the overall memory consumed in
 just maintaining the connection.

 Even if you striped down the scheduler to a self contained daemon you still
 will have to deal with the basics of maintaining connection state for which
 ever clients are connected and however many connections need to be made to
 the database to service queries promptly.

 More memory in the database server will be allocated towards maintaining
 the increased number of connections.

 Eventually you'll be buying new machines to run the server farm, not
 because the servers couldn't handle it if the connections closed, but
 because the connections last so darn long.

Would it be significant compared to all the mysql_store_result calls done by 
every daemon, usually with a cap of 1000 rows? And with all the arrays of 
data objects that the new PHP DB abstraction layer creates on every query?

Primegrid once had a bit of downtime with its validator, and people couldn't 
see their list of pending credits. The DB code loads every row into an array 
of objects, then passes it to the presentation code, instead of streaming 
from the DB. There were so many pending results that pending.php failed 
with maximum memory usage reached.

Don't turn down ideas in the name of performance until the *current* 
performance problems (more like server resource sinks) are fixed.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Work Scheduling (pt 2, Cooperative Scheduling?)

2009-05-06 Thread Nicolás Alvarez
El Miércoles 06 May 2009 18:12:11 Rom Walton escribió:
 Now let us assume for a moment that all of our users have an Internet
 connection that is fast enough to download 20 s...@h workunits in 20 minutes.

 s...@h, on average, processes 10 scheduler requests a second. That comes out
 to 12,000 scheduler connections every 20 minutes, 12,000 connections would
 consume roughly 2.5GB of memory if MySQL were left at the default
 configuration.  That would be 2.5GB of memory that couldn't be allocated
 towards caching high use tables, or indexes.

12000 connections every 20 minutes says nothing about how many active 
connections you have at once. Why would the scheduler keep a connection to 
the DB during a whole 20 minutes? The scheduler seems to run and die in two 
seconds, and when it dies, there won't be a DB connection anymore.

With your numbers, if a connection lasts 3 seconds, there will be 30 
connections alive at a time. Which is 6.6 megabytes.

If fast enough to download 20 s...@h workunits in 20 minutes means it takes
20 minutes for a client to download a scheduler request, you're using a 
*completely* unrealistic situation, so your analysis isn't valid...
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] BOINC 6.6 for Linux?

2009-05-06 Thread Nicolás Alvarez
El Miércoles 06 May 2009 22:11:37 Paul D. Buck escribió:
 The problem is the package managers which don't seem to update but, I
 would guess, once or twice a year.
 [...]
 Not sure which one you want or how easy it is to install.  My
 recollection was that I could not get these to work for me so I
 suffered with the package install which though not up to date, at
 least works (still running whatever was installed).

Milos Jakubicek maintains the Fedora package. He thought lack of an official 
6.6 build in http://boinc.berkeley.edu/download_all.php meant it wasn't 
stable on Linux yet, that's why he was asking.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Work Scheduling (pt 2, Cooperative Scheduling?)

2009-05-08 Thread Nicolás Alvarez
What penalty, lowered daily quota? You have no idea how easy it is to make the 
server think I'm a new host.

Once, LHC was giving 2 tasks per request, and requested a delay of 10 minutes 
between requests. If you forced an update before the 10 minutes passed, it 
replied last RPC too recent and didn't give you work. By making it think I 
was a new host, the server thought it was my first request ever and gave me 2 
more tasks.

And it's not like adding a request/offer/accept facility to the protocol 
implies there will be a wizard in the GUI to automatically reject workunits 
with X characteristics. They'd have to edit the client code to (ab)use the 
protocol that way. And if people can do that, they might as well implement an 
auto-task-aborter *now*.

El Vie 08 May 2009 14:31:54 john.mcl...@sybase.com escribió:
 But currently, there is a penalty.

 jm7



  Nicolás Alvarez
  nicolas.alvarez@
  gmail.com To
  Sent by:  boinc_dev@ssl.berkeley.edu
  boinc_dev-bounces  cc
  @ssl.berkeley.edu
Subject
Re: [boinc_dev] Work Scheduling (pt
  05/08/2009 01:06  2, Cooperative Scheduling?)
  PM

 El Vie 08 May 2009 12:59:59 Rom Walton escribió:
  I mean if I'm a researcher for rose...@home and half my client base
  decides not to run a certain type of task because they don't think it
  doesn't do X, there by doubling the length of time for a CASP run to
  complete, I'm going to be annoyed.
 
  Or I'm working on my PHD thesis and I manage to only attract power
  crunchers who don't like a certain batch of tasks, how am I going to
  complete my research?

 If someone doesn't like a certain small batch of tasks, they already have
 the
 ability to abort the tasks.

 If someone doesn't like a certain big batch of tasks, they already have the

 ability to detach and contribute to another project.
 ___
 boinc_dev mailing list
 boinc_dev@ssl.berkeley.edu
 http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
 To unsubscribe, visit the above URL and
 (near bottom of page) enter your email address.


___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] How to enable reCAPTCHA if my url contains a port forwarding ?

2009-05-08 Thread Nicolás Alvarez
El Vie 08 May 2009 20:54:33 Kunsheng Chen escribió:
 Hello everyone,

 I posted a thread on how to enable CAPTCHA a week ago and many people gave
 me good ideas, thank you all for that.

 Now I did the following and tried to enable reCAPTCHA :

 http://boinc.berkeley.edu/trac/wiki/ProtectionFromSpam

 My urls is http://canis.csc.ncsu.edu:8009/anansi

 However I could only create keys with http://canis.csc.ncsu.edu otherwise
 it would keep reminding me my url is not a valid domain (the port is
 there).

 I put the keys in config.xml, however I could still create a new account
 without any CAPTCHA there, obviously it is not working... 

 I am wondering if anyone got the same problem befoer and could give me some
 idea again.

reCAPTCHA asks you for a domain name, not a URL prefix, 
so canis.csc.ncsu.edu should be correct.

Captchas don't protect against account creation. That's not possible, since 
users can create accounts using BOINC Manager (where it would be hard and 
would break compatibility to use captchas), and the command line tool 
boinccmd (where it's technically impossible to show a captcha).

Captchas just block profile creation, which is where advertising could appear. 
Try creating a profile for your new account.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


[boinc_dev] Trac ticket spam

2009-05-12 Thread Nicolás Alvarez
Can somebody please block user jingjing in Trac? He keeps adding dog 
training spam to random Trac tickets, and I'm going crazy deleting it 
because it keeps appearing.

I have no intentions of playing whack-a-mole all night :)
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Shared library versioning

2009-05-12 Thread Nicolás Alvarez

Does *anyone* currently use the shared library for the API?

Enviado desde mi iPod

El 12/05/2009, a las 06:36, Gabor Gombas gomb...@sztaki.hu escribió:


Hi,

For some time, BOINC can build shared libraries. Unfortunately it uses
the package version as library version, which is bad. Example: since  
at

least r16904, the SONAME of the API is libboinc_api.so.6, but
API/ABI-breaking changes were made to graphics2.h in r17405 abd  
gutil.h

in r17195, so the SONAME should be libboinc_api.so.8 by now.

There are two ways to fix this:

- Use a separate, distinct version number for every shared library.  
This

 gives the most flexibility for using the library, but it means that
 every change to the libraries must carefully analyzed for API/ABI
 compatibility.

- Use -release $(PACKAGE_VERSION) instead of -version-number
 $(LIBBOINC_VERSION) when linking the libraries. This way you don't
 have to care about API/ABI breakage but applications must be rebuilt
 for every new BOINC version.

Ideally the first method should be used at least for the libraries  
used

on the client side, but it means extra work when making changes.
Libraries used on the server side only could use the second method.

Gabor

--
-
MTA SZTAKI Computer and Automation Research Institute
   Hungarian Academy of Sciences
-
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Re: [boinc_dev] Reporting a lot of tasks at the same time

2009-05-14 Thread Nicolás Alvarez
El Jue 14 May 2009 06:51:40 Maureen Vilar escribió:
 (Max. upload size too small? I think, 4MB is the default for
 upload_max_filesize in PHP.INI)'

The scheduler is not PHP, so php.ini doesn't apply.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Reporting a lot of tasks at the same time

2009-05-14 Thread Nicolás Alvarez
El Jue 14 May 2009 07:58:28 Ian Hay escribió:
 Jorden van der Elst wrote on 14/05/2009 10:46:
  So how can we get these people to report their tasks? We're talking
  about around 60K in tasks that are still waiting to be reported
  (deadline of the 19th at max). Is there some crude way we can get
  people to report tasks in batches?

 The reported results are embedded in client_state.xml and they'd have to
 edit out the file_info, workunit and result sections for the
 results they're holding back then edit them back in.

  Or else if this is a database problem, where the database has a
  maximum amount of tasks it can take in one swoop, what should be
  changed to allow for a higher number of consecutive tasks to be
  reported at once?

 I'd guess the problem is DB_SCHED_RESULT_ITEM_SET::enumerate(), in which
 case there should be Batch query failed errors in the scheduler log.

 DB_SCHED_RESULT_ITEM_SET::enumerate() generates a SELECT on the result
 table with a WHERE name in (...) clause which includes every reported
 result name extracted from the scheduler request.

 If the problem is the size of that query the easiest solution would be
 to split that function (in db/boinc_db.cpp) to run the query in batches
 of, say, 500 results.

Or better, instead of processing all tasks in batches of 500, it should 
process no more than 500. The client will later do another request with the 
tasks that didn't get reported (the server reply says which tasks got 
processed).
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] [boinc_alpha] New crashs odditiy

2009-05-14 Thread Nicolás Alvarez
El Jue 14 May 2009 12:53:51 john.mcl...@sybase.com escribió:
 Was this with multiple copies of BOINC.exe running?  If so, then each of
 them would be attempting the same thing.

If you start a second boinc.exe, it will soon quit because it can't open the 
GUI RPC port.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Reporting a lot of tasks at the same time

2009-05-14 Thread Nicolás Alvarez
El Jue 14 May 2009 16:25:27 john.mcl...@sybase.com escribió:
 Does the client get informed about the tasks that were not correctly
 reported?  Or does the server loop through the tasks X at a time until the
 entire RPC is complete?

The server returns a report ack for every successfully-reported task. Look 
at a sched_reply_*.xml file after reporting.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] [Fwd: Problem with the parsing code in the forum?]

2009-05-15 Thread Nicolás Alvarez
And if you do, remember to close http://boinc.berkeley.edu/trac/ticket/594

El Miércoles 13 May 2009 13:05:09 David Anderson escribió:
 If anyone wants to tackle this, feel free.

  Original Message 
 Subject: Problem with the parsing code in the forum?
 Date: Tue, 12 May 2009 18:04:52 -0700
 From: Eric J Korpela korp...@ssl.berkeley.edu
 To: David Anderson da...@ssl.berkeley.edu

 Some people have a comma in their username, so clicking the link to pm
 them sets the field to 4325219 (Blanston, Gern) which results in the
 error Unknown user 'Gern)'

 Eric
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Reporting a lot of tasks at the same time

2009-05-15 Thread Nicolás Alvarez
El Jue 14 May 2009 16:03:59 David Anderson escribió:
 The scheduler is failing in memory allocation.
 According to my rough calculation,
 this is happening after allocating about 256MB
 given a request that reports 1800 completed jobs.

On my machine, a RESULT is 197560 bytes and a SCHED_RESULT_ITEM is 131664 
bytes. 1800 reported tasks need at least 678MB of memory, plus std::strings 
for every result name (for the acks).
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] [boinc_alpha] New crashs odditiy

2009-05-18 Thread Nicolás Alvarez

El 18/05/2009, a las 09:49, john.mcl...@sybase.com escribió:


Having a couple thousand files or directories in a directory can be a
problem.  On some systems, the more files and directories there are  
in a
directory, the slower file access is, and at some point, opening a  
file in
an overly large directory is a major problem.  In any case, the  
directories
still have to be cleaned out for re-use eventually (and to give the  
hard

disk space back).  The solutions that move the file to trash are OS
dependent (what function to spawn, and where to move the directory),  
and
BOINC does not ever need the data back, so they should be just  
deleted.


The suggestion was for using a directory called trash within BOINC  
data directory, not the Recycle Bin or similar. Once the old stuff  
is in the trash dir, it can be slowly deleted, while another app can  
immediately use the now-clean slot.



A
better solution would be to add a cleaning state to the slot and to
delete only X files total from all slots every pass through the  
polling

loop.

jm7



Gabor Gombas
gomb...@sztaki.h
 
u To

  Paul D. Buck
05/18/2009 02:08  p.d.b...@comcast.net
 
AM cc

  BOINC Dev Mailing List
  boinc_dev@ssl.berkeley.edu,
  Charlie Fenton
  charl...@ssl.berkeley.edu,
  john.mcl...@sybase.com, Jack  
Shultz

  jshu...@hydrogenathome.org
   
Subject
  Re: [boinc_dev]  
[boinc_alpha]   New

  crashs odditiy










On Fri, May 15, 2009 at 06:31:26AM -0700, Paul D. Buck wrote:


The down side to that is clean-up of completed tasks will be deferred
and slots will not be freed as fast as they are now.

Personally, I would make that trade in a heartbeat... I have lost too
many tasks to the too many restarts problem... and this looks to be
the real cause...

For one thing, I cannot think of a faster way to delete files on unix
systems. Does not mean that there is not a way ... but I have never
heard of it...

Hmm, how is this for simpler?  When the slot is done, and ready for
clean up, do a mv to a trash directory mv ./1 ./trash/datetime.
Next, create a clean slot of the right number. mkdir ./1


Or change the slot numbering: instead of reusing the same number
immediately, just number them sequentially, and wrap around after a
couple thousand.

IMHO the most important thing would be to do any I/O sensitive tasks
asynchronously.

Gabor

--
-
MTA SZTAKI Computer and Automation Research Institute
   Hungarian Academy of Sciences
-



___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Re: [boinc_dev] Work Scheduling (pt 2, Cooperative Scheduling?)

2009-05-18 Thread Nicolás Alvarez
El Vie 08 May 2009 12:59:59 Rom Walton escribió:
 I mean if I'm a researcher for rose...@home and half my client base
 decides not to run a certain type of task because they don't think it
 doesn't do X, there by doubling the length of time for a CASP run to
 complete, I'm going to be annoyed.

If they can't avoid running that type of task, they may detach altogether and 
not run any type of task from your project.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] boinc_dev Digest, Vol 60, Issue 38

2009-05-18 Thread Nicolás Alvarez
El Lunes 18 May 2009 14:52:34 Matthew Saunier escribió:
  I really can't believe the way ideas are constantly beaten down on
  this list. Please, look for something you agree with (as I did
  above), and write about that before making a post that indicates
  only that there are challenges to overcome. Such posts always
  convey the feeling that the topic at-hand is a bad idea, and they
  often seem to stifle any further constructive discussion on topics.
  And since there's really no harm in this one, and LOTS of potential
  GOOD in it, there's really no reason for anyone to refute the merit.

 Plus, not everyone runs Win32, or x86 - making the same compressed
 video render natively (and correctly) on all the platforms BOINC
 supports is a major task in itself, and adds to BOINC's dependency
 tree. Not to post just to be contrary, but that's the way it is.

He said the video would NOT be played in the manager, and I replied agreeing.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] BOINC All versions download page

2009-05-20 Thread Nicolás Alvarez
El Miércoles 20 May 2009 08:21:32 Richard Haselgrove escribió:
 I am sorely tempted to start polluting trac again, so we have a searchable
 index of the issues which otherwise are in danger of underflowing the LIFO
 stack which is David Anderson's inbox.

Please do. That's what it's for.

Just try not to file bugs of I upgraded and things seem not to be working 
right :) There should be a reasonable amount of information so that the 
problem can be reproduced.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Voice over for Mac OS X

2009-05-31 Thread Nicolás Alvarez
El Dom 31 May 2009 21:00:03 Charlie Fenton escribió:
 Unfortunately, WCG who designed and implemented the Simple View
 specified there should be no menus in Simple View other than the
 minimum required by the OS, so there is no indication of this
 shortcut.  The best I could do without violating this requirement is
 to include both shortcuts in the View menu in the Advanced View.

In other platforms, having no menu means having no menu bar taking space at 
all. In Mac, the menu bar is always there, so you might as well put useful 
things in it...
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Bad packets from all Boinc-related sites

2009-06-03 Thread Nicolás Alvarez
El Miércoles 03 Jun 2009 12:02:39 Scarecrow escribió:
 I haven't 'sniffed' the packets
 throughly, but it appears that they arrive with the SYN, ACK, FIN, URG, and
 PSH flags set.

So every single flag set? I don't know much about networking but that sounds 
*really* weird (in particular syn and fin are kind of mutually-exclusive)...
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] BOINC: client compilation under Windows using VS2008

2009-06-04 Thread Nicolás Alvarez
El Vie 29 May 2009 12:47:13 myle escribió:
 karse...@ceid.upatras.gr wrote:
  Hello,
 
  We are trying to compile the latest version of BOINC using VS2008 by
  following the exact procedure as described on
  [http://boinc.berkeley.edu/trac/wiki/CompileClient] but it fails. Could
  it be possible that these instructions are obsolete ? The same code
  copiles just fine under Linux.
 
  We are looking forward for a concrete answer.
 
  e.k

 Could someone update the guide here
 [http://boinc.berkeley.edu/trac/wiki/CompileClient]?

 I am sure that a lot of people are able to compile client under Windows.
 But for those who are willing to contribute it is a really hard task if
 these instructions don't fulfill their promise.

They were updated a week *before* you two asked. If something is wrong in the 
guide, please say exactly what. Update it isn't useful if, as far as we 
know, it's already up-to-date.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Offload task assignment to super server

2009-06-04 Thread Nicolás Alvarez
El Vie 08 May 2009 21:51:30 Martin escribió:
 Various projects seem to be now branching out to offering multiple
 projects within their one project base.

Which projects exactly? MilkyWay splitting its GPU app into a separate 
project? That just shows that either BOINC isn't good enough at handling both 
CPU and GPU apps in the same project, or the admins don't know how to make it 
work.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] BOINC: client compilation under Windows using VS2008

2009-06-04 Thread Nicolás Alvarez
El Jue 04 Jun 2009 14:53:44 Paul D. Buck escribió:
 When I tried the instructions it got a negative result.  In that I did
 not know how to fix the problems I cannot tell you what is wrong with
 the guide other than it does not work if you follow the recipe ... I
 suspect the same issue occurs here.

And negative result means what? I have yet to see anyone say, for example, 
in what part of the process they had a problem, or what compiler errors they 
got.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Bug in update_versions?

2009-06-08 Thread Nicolás Alvarez
El Lunes 08 Jun 2009 21:30:01 Jeremy Cowles escribió:
 Maybe I'm not understanding something, but under windows files must end in
 .bat to be executed as a batch file, correct?
 If this is the case, are batch files are not supported by update_versions?
 I ask because the reg-ex that parses executable names does not include .bat
 as an option. See: re_match_exec_filename(filepath) in update_versions for
 the reg-ex.

A batch file shouldn't be the main_application, so it doesn't matter for 
that. And Windows doesn't have Unix-like executable permissions, so that's 
off too. What other benefit would you get if update_versions detects a .bat 
as an executable file?
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Any idea about Compile BOINC Application in Windows with Visual C++ 6.0

2009-06-08 Thread Nicolás Alvarez
El Lunes 08 Jun 2009 21:50:19 Kunsheng Chen escribió:
 The thing is that it require Cygin1.dll to be under folder Windows/System32
 in client side. I think I could have a multiple bionc app (includes this
 cygwin1.dll). And in my app, just copy Cygwin1.dll to Windows/System32, but
 this seems weird somehow. Is that what you are saying ?

No, cygwin1.dll only has to be next to the .exe file. At least one project has 
used cygwin before.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Mac OS 10.6 Snow Leopard

2009-06-09 Thread Nicolás Alvarez
El Martes 09 Jun 2009 17:42:53 Patrick Wooldridge escribió:
 Hi. With the announcement that Mac OS 10.6 (Snow Leopard) will be
 released in September, I just wanted to recommend to those who are
 competent to do so, that a new version of the BOINC client for
 Macintosh be developed to take advantage of the enhanced
 multiprocessor support in Snow Leopard and perhaps at the same time
 incorporate use of the graphics processor. Thanks to all for your hard
 work and the continued success of the BOINC network.

The BOINC client does not use multiple processors. Project applications do.

I don't think any project would want to modify their apps to use the 
Mac-specific system for multithreading, since it wouldn't be portable to 
other platforms.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Bug in update_versions?

2009-06-09 Thread Nicolás Alvarez
El Martes 09 Jun 2009 14:20:09 David Anderson escribió:
 It would be possible to use code signing
 (WU files can have signatures, just like app version files).
 But this would defeat the ease-of-use goal.
 It's the same situation with single job submission.
 At least, in both cases, the time window of vulnerability is limited.

Input files can have signatures, and if the signature is there, it's checked. 
If an input file has an invalid signature (doesn't match public key), the 
file is rejected.

But what can a project admin do to enforce there has to be a valid signature 
on a certain file? If a project sends its Python scripts signed, what would 
stop a hacker from simply sending a workunit that doesn't have a signature at 
all in the Python script?

I think this is relevant to any project where the input file format 
is powerful enough to cause harm if it's maliciously created.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Bug in update_versions?

2009-06-09 Thread Nicolás Alvarez
El Martes 09 Jun 2009 18:28:52 Jeremy Cowles escribió:
 On Tue, Jun 9, 2009 at 2:07 PM, David Anderson 
da...@ssl.berkeley.eduwrote:
  Should we add that capability to the client?
  I suspect that it will open a DOS window each time it runs a batch file,
  which would rule it out for general use.

 You can use the STARTUPINFO struct to hide it (I assume this is already in
 place, since we dont see other apps launch), but the security problems
 combined with the extra overhead of modifying the client makes me wonder if
 it's worth while.

 PyMW could do away with the script by using a compiled executable as the
 main-app. All it really needs to do is find the Python interpreter and then
 launch it with a couple parameters.

I wrote a BOINC science app that *embeds* the Python interpreter, avoiding any 
kind of process-level wrapper (like the official WrapperApp) or launch script 
(like your .bat), and it even provides the Python code with functions like 
boinc.resolve_filename(). Release pending cleanup.

From what I have seen, using a process-level wrapper (launching a 
real worker app as a separate process and keeping track of it) causes 
enough problems to be annoying. My opinion is that it should be used if and 
only if the computation code cannot be modified to use the BOINC API, be it 
for legal or practical reasons (like it being closed source).
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Add country to forum profile

2009-06-10 Thread Nicolás Alvarez
El Miércoles 10 Jun 2009 19:47:24 David Anderson escribió:
 I'll do this if someone sends me an array
 that parallels the existing $countries array (see below)
 containing the 2-letter country codes used by the FamFamFam images
 -- David

Debian systems, maybe most Linux systems, already have that, even translated 
to multiple languages.

See, for example, /usr/share/xml/iso-codes/iso_3166.xml

iso_3166_entry
alpha_2_code=AF
alpha_3_code=AFG
numeric_code=004
name=Afghanistan
official_name=Islamic Republic of Afghanistan /
iso_3166_entry
alpha_2_code=AX
alpha_3_code=ALA
numeric_code=248
name=Åland Islands /
iso_3166_entry
alpha_2_code=AL
alpha_3_code=ALB
numeric_code=008
name=Albania
official_name=Republic of Albania /
[...]

Or maybe easier to parse, /usr/share/iso-codes/iso_3166.tab

AD  Andorra
AE  United Arab Emirates
AF  Afghanistan
AG  Antigua and Barbuda
AI  Anguilla
[...]

Country name translations to several languages are available in compiled 
gettext format, in:
/usr/share/locale/lang/LC_MESSAGES/iso_3166.mo

(The ISO3166 two or three letter code is what we should be using to store it 
in the database, anyway...)
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Changing master url

2009-06-11 Thread Nicolás Alvarez
El Jue 11 Jun 2009 14:15:21 Jeremy Cowles escribió:
 I created a project with an internal IP address (192.x.x.x) and now I want
 to test it with clients out on the internet. So I've changed the address to
 my public address (78.x.x.x) in project.xml and recreated the apps (xadd,
 update versions).
 Now clients can attach to the project using the public address, but they
 fail to receive workunits. When I turn on more detailed logging on the
 client, I continue to see the 192.x.x.x address, even though it says that
 the main URL is 78.x.x.x (on the client).

 Is there something I need to do to reset the client or the project? I cant
 find instances of 192.x.x.x in any of the configuration.

Changing a project master URL is not a trivial task. It's recommended that 
projects avoid keeping things prone to change in their project URLs, like 
using an IP address, or even putting the university they are in as part of 
the hostname (dock...@home had to change the URL twice or so because they 
changed university / organization / department / something). Thus, the best 
way is having a domain name just for that project. Good URLs don't change.

Even having multiple projects as boinc.example.org/project1 and 
boinc.example.org/project2 may be problematic if you eventually decide you 
want to move project2 to a different server. It's best to have 
project1.example.org and project2.example.org so they can (now or in the 
future) have different IP addresses. 

All that said, here is how you change a project URL:

1. Pick a *good* new URL according to the above recommendations, so that you 
will never need to change it again.
2. If the project was ever public, post news to let users now the URL will 
change.
3. If you have any tasks in progress or waiting to be sent, it's recommended 
you wait until they are all done before changing the URL. And/or abort the 
unsent tasks. You *could* edit the database to fix URLs for input files, to 
make the unsent workunits work once the URL is changed; but if users already 
have workunits on their computers, they will still have old URLs and you 
can't edit that.
4. Stop the project.
5. Replace URL everywhere in config.xml
6. Replace scheduler URL in html/users/schedulers.txt. Prefix should match the 
URL in cgi_url in config.xml.
7. If you have project-wide files, like logos for the simple GUI, replace 
download URLs in project_files.xml
8. Delete everything in html/cache, since cached pages may have links to the 
old URL, and users would get broken links for an hour or so. Don't delete the 
cache folder itself. rm -rf html/cache/*
9. Either create new application versions, or update the app_version table to 
have the new URLs:
UPDATE app_version SET xml_doc = 
REPLACE(xml_doc, http://old.example.com/;, http://new.example.org/;);
10. If you have forums, you may want to do a similar replacement on forum 
contents, in case users posted links to workunits / users / computers / 
something.
11. Start the project, send some test workunits,  and hope it works. Keep a 
copy of Murphy's Law - and other reasons why things go wrong handy.

[to be cleaned up and posted on the wiki]
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Command as main program w/out files

2009-06-12 Thread Nicolás Alvarez
El Vie 12 Jun 2009 15:50:03 Jeremy Cowles escribió:
 Agreed. Also, it would be nice to expose the suspend/quit/checkpoint api
 (boinc_status) into Python, or is this already available?

You don't need to notify the Python code when it's suspended, since it will be 
suspended at the process level anyway. The only time it matters is if your 
app starts another app, then the parent needs to handle a suspend message by 
suspending the child. The official WrapperApp already does this.

Your python code shouldn't need to know when a quit happens, for example to 
save data cleanly, because it's supposed to work with unclean quits anyway 
(like power outages). Save data atomically on checkpoints.

Those two items apply to BOINC applications in any language.

I could easily expose the checkpoint API on my Python wrapper if needed 
(easily but not quickly; I'm currently having a lot of distractions and 
interruptions)
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Idea on compiling boinc source in Cygwin

2009-06-12 Thread Nicolás Alvarez
El Sáb 13 Jun 2009 02:19:32 Kunsheng Chen escribió:
 boinc-client required libcurl 7.16 or later version while Cygwin only
 installs 7.15 there, so I have to disable it by ./configure
 --disable-client to pass ./configure command.  However even if I disable
 the client and made the command pass, when I run 'make' command after that,
 it reminds me ../lib/boinc_win.h includes 'share.h' and 'dgbhelp.h' which
 were not exists there.

I don't know what share.h is about, but for dbghelp.h, change it to include 
imagehlp.h instead.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Splitting libboinc?

2009-06-13 Thread Nicolás Alvarez
El Sáb 13 Jun 2009 09:39:16 Bernd Machenschalk escribió:
 Does this mean that now the lib can be compiled without curl and
 openssl? They shouldn't be needed for an App (at least not for the BOINC
 part).

curl was never needed to compile/link science apps. libboinc doesn't use curl, 
only the core client does.

You're right about openssl, though.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Command as main program w/out files

2009-06-13 Thread Nicolás Alvarez
El Sáb 13 Jun 2009 18:09:30 Jeremy Cowles escribió:
  El Vie 12 Jun 2009 16:21:06 David Anderson escribió:
   Jeremy Cowles wrote:
Agreed. Also, it would be nice to expose the suspend/quit/checkpoint
 
  api
 
(boinc_status) into Python, or is this already available?
  
   This page has a link to a python binding of the BOINC API:
   http://boinc.berkeley.edu/trac/wiki/PythonApps
   This is probably out of date but might be a good starting point.
 
  Here is my Python-BOINC wrapper. It *embeds* the Python interpreter,
  so the process-level wrapper isn't needed.
 
  http://bitbucket.org/nicolas17/pyboinc/

 So embedding the interpreter looks really straight forward, but how do you
 propose to handle the standard library?
 Some of it is platform specific and depends on compiled libraries, isn't
 that going to pose a problem for client distribution?

Well, each platform needs its own version of the interpreter anyway, so it's 
not much harder to add other platform-specific files.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Re: [boinc_dev] Command as main program w/out files

2009-06-14 Thread Nicolás Alvarez
El Sáb 13 Jun 2009 20:17:06 Jeremy Cowles escribió:
 Windows and Mac seem pretty straight forward and easy to compile in
 advance, but would you have to compile on the client for Linux or would you
 just make assumptions about what libraries are present?

At the moment I'm having bigger problems compiling it on Windows. The prebuilt 
Python libraries require msvcrt90.dll, which may not be on all computers, and 
either way it needs some manifest mess...

So I have to rebuild Python with a static CRT, which seems better in the long 
run than dynamically linking with an old-enough CRT.

Just installing Visual C++ 2008 was a task by itself...
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

[boinc_dev] Finding BOINC API from a build system

2009-06-14 Thread Nicolás Alvarez
I'm working on the build system for a science app. I'm having trouble with 
locating the BOINC API include files and compiled libraries.

If the library is installed, both miofile.h and boinc_api.h would be in 
eg. /usr/local/include/boinc/, but if it's not installed, the source dir has 
lib/miofile.h and api/boinc_api.h. Most of the time, the BOINC API 
isn't make installed.

I have *that* part working; I search in lib and api subdirs and I successfully 
find the include files in a non-installed source directory.

However, how do I find BOINC's config.h? If I look in the global search paths, 
I might end up finding the config.h from some other completely different 
program (like /usr/include/wx-2.8/wx/config.h if that happened to be in the 
path).
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Finding BOINC API from a build system

2009-06-15 Thread Nicolás Alvarez

El 15/06/2009, a las 08:48, Gabor Gombas gomb...@sztaki.hu escribió:


On Sun, Jun 14, 2009 at 10:01:26PM -0300, Nicolás Alvarez wrote:

However, how do I find BOINC's config.h? If I look in the global  
search paths,
I might end up finding the config.h from some other completely  
different
program (like /usr/include/wx-2.8/wx/config.h if that happened to  
be in the

path).


Why do you want to find it? You should never use config.h from some
other project in your program. It usually is a bad idea to install
config.h and reference config.h from public headers.


parse.h includes it, and probably others. I get a build error if I  
don't add the path to config.h to the search path  for include files  
(with -I).



I haven't checked, but if BOINC puts something in its config.h that
applications should also use, then it must be moved to some other  
header
with an unique name. You can use the AC_CONFIG_COMMANDS() autoconf  
macro

to generate such a header.

Gabor

--
-
MTA SZTAKI Computer and Automation Research Institute
   Hungarian Academy of Sciences
-
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Re: [boinc_dev] Upload server redirection

2009-06-16 Thread Nicolás Alvarez
El 16/06/2009, a las 10:50, Milo Thurston  
milo.thurs...@oerc.ox.ac.uk escribió:



Hello,
As you may have noticed, we've had a bit of server trouble of late.
One of our upload servers seems to be unfixable at the moment and I
wonder about the feasibility of updating the DNS records to point all
uploads to a working server. I don't see why this shouldn't work, but
if there is any reason I've missed I'd appreciate it if someone would
let me know.
Thanks,
Milo.


As long as both servers know the correct upload signature key, and the  
scheduler, validator and assimilator can see files uploaded via the  
other server, there won't be any problem.



---
Dr. Milo Thurston
http://climateprediction.net
http://www.oerc.ox.ac.uk




___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Re: [boinc_dev] Upload server redirection

2009-06-16 Thread Nicolás Alvarez
El Martes 16 Jun 2009 11:28:07 Milo Thurston escribió:
  and the scheduler, validator and assimilator can see files uploaded
  via the other server,

 Do you mind if I ask for clarification of what you mean in this case?

The normal way things work is: When a client reports a task, the scheduler 
needs to confirm that it already uploaded the output files. Then the 
validator needs to check if the uploaded files are valid, and, if there is 
replication, compare them to other results from the same workunit. Finally 
the assimilator has to read the files to make them do something useful for 
the project, like putting the results into a database.

A lot of this may be different for CPDN, because of trickles. I obviously have 
no idea how *your* backend stuff works ;)

No matter what server handles the file upload, the other daemons need access 
to the uploaded files. I don't really know how things have to be setup if you 
have more than one upload server. I guess it would easily work if all write 
to the same filesystem (which of course may be in a huge RAID of many disks).
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


[boinc_dev] About don't require that file upload URLs contain 'file_upload_handler'

2009-06-16 Thread Nicolás Alvarez
With files sent by the server via the file storage features, and not as part 
of workunits, when the project asks the client to upload a file, the upload 
URL is *added* to the list of URLs. So the file_info ends having the 
upload_when_present flag, and two URLs:

http://example.com/project/download/398/file1.zip
http://example.com/project_cgi/file_upload_handler

(I mentioned this in my giant BOINC file storage features message to 
boinc_projects)

With this change:
http://boinc.berkeley.edu/trac/changeset/18427
How does the client know which is the upload URL? Will it try to POST to the 
file1.zip URL?

[begin useless if-I-could-do-BOINC-from-scratch rant]

The problem is the current url element is used to give URLs, but they are 
handled in a completely different way depending on whether it's a download or 
an upload. That means the tag is ambiguous. For downloads, it's the URL of a 
file, and the client GETs it. For uploads, it's the URL of a program that 
accepts an upload, and the client POSTs custom protocol data to it.

Cleaner ways would have been:
- Use different tags for download and upload URLs, to remove the ambiguity. 
You can be sure it will never POST to a download URL, or try to GET from the 
file_upload_handler URL.
- Don't use a custom protocol; the same URL could be used to either GET or PUT 
data. Then, when I ask the client to download a file, I send it a 
data/file1.zip URL, and when I want it back, I tell it to upload, and it 
could PUT to that same URL.

[/useless rant]
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Command as main program w/out files

2009-06-16 Thread Nicolás Alvarez
El Martes 16 Jun 2009 15:24:42 Jeremy Cowles escribió:
   Windows and Mac seem pretty straight forward and easy to compile in
   advance, but would you have to compile on the client for Linux or would
 
  you
 
   just make assumptions about what libraries are present?
 
  At the moment I'm having bigger problems compiling it on Windows. The
  prebuilt
  Python libraries require msvcrt90.dll, which may not be on all computers,
  and
  either way it needs some manifest mess...
 
  So I have to rebuild Python with a static CRT, which seems better in the
  long
  run than dynamically linking with an old-enough CRT.

 Is it compiling now?  I tried to compile your code under windows, but I
 wasn't sure how to compile the BOINC api/lib under windows. If you got this
 working, can you tell me what you did?

 I know how to setup the VS project, it's currently importing the Python
 headers and libs correctly. It's just BOINC I'm having the trouble with
 (I'm sure it's just that I don't know what I'm doing).

Yes, it compiles on Windows, but the CMake script needs manual tweaking to 
tell it where the libs are. Which won't directly be a problem if you are 
creating a VS project yourself to compile my code.

To compile api/lib on Windows, use the Visual C++ projects in the win_build 
directory of BOINC repository.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Re: [boinc_dev] make clean leaves symlinks

2009-06-22 Thread Nicolás Alvarez
El Lunes 22 Jun 2009 16:23:46 Jeremy Cowles escribió:
 I am upgrading my BOINC install to the latest version, when running make
 clean and then following the typical setup procedure it fails when
 creating symlinks to libstdc++.a in the samples directory.
 After I manually removed the links, everything worked fine.

Also:
- Running _autosetup creates several Makefile.in files that are not in 
svn:ignore.

- Running configure creates a lot more files (Makefiles, boinc_path_config.py, 
etc) that aren't in svn:ignore either.

- Running make distclean doesn't delete most of those.

- make install tries to install stuff under /etc, ignoring my --prefix. 
Leave my system configuration alone thank you very much.

- make uninstall doesn't delete everything that make install installed.

- make dist doesn't work at all.

   - It says api_app.cpp doesn't exist (referred by api/Makefile.am).

   - If I remove the rules mentioning that file, it complains about several 
files referred in test/Makefile.am.

   - Rather than fixing that mess, I removed 'test' from the subdirs in the 
root makefile. It fails at samples/example_app, which is listed in SUBDIRS 
but it has a hand-written Makefile not supporting the standard automake 
rules, namely 'destdir'.

   - and it goes on.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] [Fwd: [BOINC] #924: Partial Transfer Fails]

2009-06-22 Thread Nicolás Alvarez
El Lunes 22 Jun 2009 17:13:52 David Anderson escribió:
 It's not clear to me how to solve this problem.
 Synopsis:
 - projects can configure their web server to send files in
a compressed form to clients that can handle it; see
http://boinc.berkeley.edu/trac/wiki/FileCompression
In modern (= 5.4) BOINC clients,
the client tells libCurl to handle such compression.
 - The client keeps track of the bytes transferred N,
and if a transfer fails and is retried,
it sends a Range: header telling the web server to skip the first N
 bytes. NOTE: N is a count of uncompressed bytes; as far as I can tell,
 libCurl tells us only how many uncompressed bytes it's read.
But when send Range:N to the server, it skips N compressed bytes,
which causes the error Kevin points out below.

 I can think of 3 solutions, 2 of which I don't know how to implement:

 1) If a file is compressed, always start the transfer from the beginning.
Problem: how does the client know if a file is compressed?
This is negotiated between libCurl and the server.
 2) Keep track of the number M of compressed bytes transferred,
and tell the server to skip M bytes on retries.
Problems:
a) libCurl doesn't tell us M, as far as I can tell.
b) I'm not sure that Apache supports this.
 3) Allow a no_partial_transfer flag in file_info elements,
telling the client to always start transfers from the beginning.

 Does anyone know how to implement 1) or 2), or have other ideas?
 If not, should I go ahead and implement 3)?

I'm discussing on IRC (for the n'th time) in what order HTTP expects range and 
content-encoding to happen. Are we supposed to get a piece of the compressed 
file, or a compressed piece of the original file?

In the former case, we *can't* let libcurl handle compression for us, since 
when we resume a transfer, we have to concatenate the new data to the partial 
*compressed* file. If libcurl handles content-encoding compression 
transparently, then the partial compressed data is never saved anywhere.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] [Fwd: [BOINC] #924: Partial Transfer Fails]

2009-06-22 Thread Nicolás Alvarez
El Lunes 22 Jun 2009 17:33:32 Kevin Reed escribió:
 I.e. I should add

 RequestHeader unset Range

 so that apache will not process the range request.  However, you can not
 set conditions on the RequestHeader like you can with Header so this would
 take effect for all download requests (we don't do this for all of our
 projects).   Any ideas out there?

In that case you should also make sure the response headers do *not* return 
Accept-Range: bytes. But I don't know if the client looks at this response 
header to know whether it can resume transfers...
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Re: [boinc_dev] Hi, there is a strange problem about the single job assimilation.

2009-06-26 Thread Nicolás Alvarez
El Vie 26 Jun 2009 14:04:18 Alan Sun escribió:
 Well, I think the first time I launched project is under user boincadm.
 Because I noticed this issue before. I want to make a test today, so I'm
 carefully on this.

 Well, under user root, the project works well, and those machines are in
 a internal network, so I think launch project as root is also accept for
 me.

 I just want to know why it cause the different result, for user boincadm
 and root. I will read that assimilator later and find out what exactly it
 does. The assimilator is used to move the result to a place, when it access
 or write something to somewhere, the file permission issue raised.

It's not about the very first time you run it, it's about having run it as 
root at least once at any moment. At that point file ownership would change 
and boincadm wouldn't work correctly anymore.

Or maybe you never set users and groups correctly to allow files written by 
Apache (which usually runs on its own account) to be read by boincadm.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Re: [boinc_dev] edit time to completion

2009-07-07 Thread Nicolás Alvarez
El Martes 07 Jul 2009 14:27:26 David Anderson escribió:
 The weighting is actually quadratic; i.e., when the job is half done
 the estimate is 75% from the dynamic and 25% from the static.

 However, I think I see a serious bug in the code (see below).
 Anyone else see it?

Last time I looked at this code, I thought something quite stupid was being 
done. Then I analyzed it more carefully and it turned out to be right, just 
written in a confusing way.

I'll try a second pass.

 // Returns the estimated CPU time to completion (in seconds) of this task.
 // Compute this as a weighted average of estimates based on
 // 1) the workunit's flops count
 // 2) the current reported CPU time and fraction done
 //
 double ACTIVE_TASK::est_time_to_completion(bool for_work_fetch) {
  if (fraction_done = 1) return 0;
  double wu_est = result-estimated_duration(for_work_fetch);
  if (fraction_done = 0) return wu_est;
  double frac_est = (elapsed_time / fraction_done) - elapsed_time;
  double fraction_left = 1-fraction_done;
  double wu_weight = fraction_left * fraction_left;
  double fd_weight = 1 - wu_weight;
  double x = fd_weight*frac_est + wu_weight*fraction_left*wu_est;
  return x;
 }

 double RESULT::estimated_duration(bool) {
  return
 estimated_duration_uncorrected()*project-duration_correction_factor; }

 double RESULT::estimated_duration_uncorrected() {
  return wup-rsc_fpops_est/avp-flops;
 }
 ___
 boinc_dev mailing list
 boinc_dev@ssl.berkeley.edu
 http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
 To unsubscribe, visit the above URL and
 (near bottom of page) enter your email address.


___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Cloud-like BOINC

2009-07-08 Thread Nicolás Alvarez
El Miércoles 08 Jul 2009 18:11:44 David Anderson escribió:
 but it's probably the wave of the future.

That sounds like hype-speak.

And apparently different people have different thoughts for what cloud is. 
Google's cloud view is that a web-based operating system that can only run 
web apps is the wave of the future (the recently-announced Google Chrome OS), 
where I'm not sure how BOINC would run at all...
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Optimizing uploads.....

2009-07-12 Thread Nicolás Alvarez
El Dom 12 Jul 2009 07:45:37 erbenton escribió:
 Re-read what i wrote, i think you misunderstood what i was saying.
 When you have a bunch of files in the Ready to Report state and you
 click on
 the project update button they seem to upload all at once vs the
 Transfer tab where
 they seem to upload 1 at a time

I think you misunderstand how BOINC works, or at least its terminology, 
because you're talking about a different process than everyone else in this 
thread.

Files aren't in ready to report state, tasks are.

Ready to report tasks aren't uploaded, they are reported.

In the transfers tab, you see the output *files* belonging to workunits being 
uploaded. When you click update, workunits whose files were already 
uploaded are reported to the server, all at once, possibly also getting new 
work at the same time.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Optimizing uploads.....

2009-07-12 Thread Nicolás Alvarez
El Dom 12 Jul 2009 09:16:36 Martin escribió:
 Note that some control of incoming bandwidth can be achieved by merely
 delaying the server response to a request. So... delay a request until
 some time limit and then issue a deny regardless to kick that requesting
 client into a backoff count?

When hosting a project on a home machine (with a residential Internet 
connection), I once wrote a script that turned off file uploads if there were 
more than N file_upload_handler processes running (= more than N uploads in 
progress at once).
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Optimizing uploads.....

2009-07-12 Thread Nicolás Alvarez
El Dom 12 Jul 2009 19:32:14 Mikus Grinbergs escribió:
 I understand that for a project with more than 10 active
 clients, situations will arise where the servers are the bottleneck,
 and need to be protected from overload.  But I have a
 philosophical problem with restraining the _clients_ when it is the
 _servers_ that get overloaded.  To my mind, if a project cannot
 afford the hardware to service 10 clients, then it should not
 *accept* 10 clients.


 I myself do not run the way an average BOINC participant does -- I
 run off-line.  Once a day I connect my client machines to the
 internet, squirt work up and down - and disconnect.  If a 'ready'
 result gets backed off instead of being uploaded during this
 squirt -- it has to wait until tomorrow's connection for the
 upload to be tried again.  If that makes the result miss its
 deadline - TOO BAD - I consider it the fault of the project for not
 accepting the upload, not my fault for not having the kind of
 connection that would wait around for the server to get 'ready'.

 And there are many projects which throttle the assignment of work
 (by enforcing a minimum interval between work requests from the
 same client).  Little do these projects realize that my multiple
 client_machines are ready and willing to perform lots more crunching
 for them -- but they never see any follow-on requests from me, since
 I have already disconnected before their minimum interval expires.


 I realize that you have to design for the average participant.
 But as long as BOINC supports specifying an 'interval between
 connects' of more than 24 hours, I for one will definitely make use
 of the way-of-doing-work that offers.  Please keep in mind the
 implications -- for any proposal that relies on backing off before
 retrying -- of the possibility of a connection that, rather than
 going idle, will simply close down (for the next 24 hours, or more).

Maybe there should be a setting called simply: I have a permanent Internet 
connection.

If the user has a permanent connection, throttle if needed to lower server 
load, as is being discussed between Martin and Lynn. If the user is on 
dialup, upload as much as you can while you can!

Or maybe the client should try to automatically figure out whether the user 
has intermittent Internet; otherwise users with a permanent connection could 
set the setting to say they don't have one just to force immediate uploads, 
causing unnecessary server load.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Optimizing uploads.....

2009-07-12 Thread Nicolás Alvarez
El Dom 12 Jul 2009 20:58:00 Lynn W. Taylor escribió:
 If every work unit went out, was out for a few hours, and then returned,
 24/7/365, the problem I'm talking about does not exist -- the flow is even.

The problem I had involved no outages. A few hundred workunits went out, were 
out for a few hours, then the majority tried to come back at the same time. 
My project was running on a home Internet connection, so two or three users 
could be enough to saturate the project bandwidth.

But increase the numbers and it could happen to a real project too.
A project without a constant stream of work. It sends a bunch of workunits, 
clients get them and go quiet for a while. If most take around the same time 
to finish, you get a DDoS when they try to upload.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Unzipping, client side

2009-07-14 Thread Nicolás Alvarez
You don't need to unzip. Python supports reading modules from inside a  
zip archive since 2.3.


Enviado desde mi iPod

El 14/07/2009, a las 04:01, Jeremy Cowles jeremy.cow...@gmail.com  
escribió:


I am trying to package the Python standard library with an  
application.


I assume zipping it is the best way to go about this. So once  
zipped, does
BOINC provide a mechanism for unzipping files on the client side or  
is this

something that has to be done by the app?

--
Jeremy
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Re: [boinc_dev] Unzipping, client side

2009-07-14 Thread Nicolás Alvarez
El Martes 14 Jul 2009 12:10:38 Carl Christensen escribió:
 well since presumably you can't use boinc_zip I guess either distribute
 zip/unzip executables for each platform, or use the zipfile module for
 python (does that get back to the problem of using various python libs
 within boinc though?)

You could get a bootstrap problem that way; you have to ensure the zipfile 
module and all its dependencies are *not* in the .zip archive!
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] [boinc_projects] Catastrophe is looming; desperately need advice

2009-07-14 Thread Nicolás Alvarez
El Martes 14 Jul 2009 09:41:10 Carl Christensen escribió:
 with boinc credits the simple rule is there's no pleasing anyone.  I
 actually think that if my GPU does 10 times the work of a CPU that I should
 get 10 times the credit (which I think is what you or the noisier credit
 people are complaining about)?  at the very least, that promotes better
 energy efficiency for a project in addition to faster turnaround times for
 a workunit.

That's correct. If a GPU is 10x faster you should get 10x credits per day, 
which is accomplished by simply giving the same credits per task no matter 
the processor.

But here's scenario #3, following my message from yesterday:

Project A gives 12 credits per task. The task takes four hours on a certain 
CPU, so a user running exclusively that project will get 72cr/day (again, 
this is a fictional situation; let's ignore whether this rate is reasonable 
compared to other current real projects). Other projects give 72cr/day too, 
so cross-project credit parity is okay.

The project manages to optimize the app so it takes *three* hours on this CPU. 
And to ensure credits are kept in sync with other projects, they lower 
credits per task to 9, so the user still gets 72cr/day. That is, they choose 
the second option as described in my scenario 2.

So far so good.

Suppose this project, still giving 9 cr/task, makes a GPU app. The task takes 
three hours on the CPU, and the new GPU app takes 1 hour on a certain GPU 
model. Credits per task are the same for both. So a user running fulltime on 
that GPU will get 216cr/day (or more, if he *also* runs the CPU app).

Now, the project finds a way to speed it up further on CPUs. Task goes down to 
2 hours on that CPU, and 1 hour on the GPU. What do they do with credits now?

Option 1: project lowers credits to 6 per task so that, taking two hours per
task, that CPU still gets 72 cr/day. But then GPUs will get 144 cr/day. Why
do GPU users get less than before, if their app is the same? (was 216/day)

Option 2: project leaves credits at 9 per task. GPUs still get 216 cr/day. CPU
now gets 108 cr/day. People say it's overgranting, and it's true, the same CPU
gets close to 72 cr/day in every other project, but 108 cr/day in this one.



Even more: think what would have happened if they had released the GPU app 
before doing the *first* CPU optimization (that is, if they had released the 
1h GPU app while having a 4h CPU app), or if they had released the GPU app 
after doing both CPU optimizations.

Is there any good reason for credits to be different depending on what was 
released first?
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Release Notes for 6.6.36 incorrect

2009-07-14 Thread Nicolás Alvarez
Aren't release notes in the Wiki? You can fix them yourself...

El Martes 14 Jul 2009 16:35:43 Richard Haselgrove escribió:
 If you have multiple login accounts for the computer, I believe you have to
 repeat step (3) (heeding the warning in step (4)) for each separate user
 account.


 - Original Message -
 From: William bcdecbi...@yahoo.com
 To: boinc_dev@ssl.berkeley.edu
 Sent: Tuesday, July 14, 2009 8:08 PM
 Subject: [boinc_dev] Release Notes for 6.6.36 incorrect

  The Release Notes for BOINC 6.6.36 are incorrect with respect to the
  directions for creating a silent installation.  Those directions apply to
  a much older version of BOINC.
 
  The incorrect (outdated) directions are:
 
  -
  To run BOINC invisibly, choose the Protected application execution
  option, then delete the BOINC shortcut from the Start/Programs/BOINC and
  Start/Programs/Startup menus (locate BOINC in each menu, right-click,
  select Delete). You can still run the BOINC Manager by going to
  C:\Program Files\BOINC and double-clicking on boincmgr.exe
  -
 
  The correct directions are:
 
  -
  To run BOINC invisibly,
 
  1) Install options screen - click Advanced, uncheck Screensaver and check
  Protected Application Execution.
  2) After restart, click Advanced View.
  3) Select menu item Advanced  Options, uncheck Run Manager at Login,
  uncheck Enable Manager Exit Dialog, move Network Reminder Interval slider
  to 120, click OK.
  4) Select menu item File  Exit.   [Note: If you simply use the X button
  to close the window, none of your changes will be saved and the
  installation will fail to be silent!]
  5) In Start  Programs, right-click the BOINC folder and select Delete.
  6) Reboot.  If you see a BOINC system tray icon, the BOINC Manager
  screen, or any other indication of non-silent installation, repeat these
  steps as needed.
  -
 
 
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Optimizing uploads.....

2009-07-16 Thread Nicolás Alvarez
El Jue 16 Jul 2009 16:44:45 David Anderson escribió:
 The following change should have a big impact (I hope):

  - client: changed file upload logic
  Old: each upload attempt consists of two HTTP requests:
  the 1st to get the current file size on server,
  the 2nd to upload the remainder of the file.
  Problem:
  a) if the upload server is overloaded and requests
  are succeeding with probability X,
  then the chance of both requests succeeding is X^2.
  So e.g. a per-request success rate of 0.1
  becomes an overall success rate of 0.01.
  b) the get file size request can be avoided in some cases.
  New:
  If we've already queried the file size
  and haven't uploaded any additional bytes,
  don't query the file size again.

  client/
  pers_file_xfer.cpp

Another:

If the file is smaller than a certain threshold (eg. 4KB), don't EVER bother 
sending the first request asking for the file size. When the file is so 
small, sending that first request wastes more resources than needlessly 
sending the entire file when in fact only a few bytes were left.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] [boinc_projects] Catastrophe is looming; desperately need advice

2009-07-21 Thread Nicolás Alvarez
El Martes 21 Jul 2009 16:54:01 Martin escribió:
 My thought is that we must have a semantic shift so that what is
 usefully utilised is rewarded, and not just *time spent* (perhaps busyly
 uselessly spinning wheels) on whatever hardware.

The GPU and CPU apps don't necessarily make the same amount of floating point 
operations. If someone optimizes one of the two apps so that it can do the 
same with (slightly?) less calculations, and you grant credits per flops, 
then GPU and CPU get different credits for doing the exact same task (meaning 
same input, same output). If that happens, credits aren't really 
reflecting work done, in my opinion.

By the way, credits are already defined proportional to flops: 1/100th day of 
CPU time on a computer that does both 1000 double-precision MIPS and 1000 
integer MIPS. In other words, a 1 GigaFLOP machine, running full time, 
produces 100 units of credit in 1 day.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] [boinc_projects] Catastrophe is looming; desperately need advice

2009-07-22 Thread Nicolás Alvarez
El Miércoles 22 Jul 2009 09:43:52 john.mcl...@sybase.com escribió:
 Rank is rather hopeless as a metric.  I dedicate 1% of computing power to
 some projects and I am in the top few.  On others I dedicate 33% of
 computing power and I am not in the top thousand.

If you want to get into the top few quickly, you'd crunch for projects in the 
former group; that is, those with the least users. But if many people do 
that, then the project will start getting more users, and it will be harder 
for everybody to stay in the top few. So they may move to another that still 
has few users.

So it would distribute computing power across projects, which is what we want, 
isn't it?
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Some CUDA related questions

2009-07-22 Thread Nicolás Alvarez
El Miércoles 22 Jul 2009 06:25:11 Oliver Bock escribió:
 Sending sigkill (ctrl-c) to an application that is currently running a
 kernel on the GPU may not result in a clean shutdown of the process as the
 kernel may continue running for a long time afterwards on the GPU. In such
 cases, a system restart may be necessary before running further CUDA or
 graphics applications.

SIGKILL is the one signal that is impossible to block by an application; the 
kernel will really kill the app and the app can do nothing to avoid it. BOINC 
doesn't use it to terminate applications. (by the way, ctrl-c is sigint, not 
sigkill)

On Unix, when the client asks a science app to quit, the science app will call 
plain old exit(). Cleanup functions configured with atexit() will be called.

On Windows, the science app kills itself with 
TerminateProcess(GetCurrentProcess())
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] credit goals

2009-07-22 Thread Nicolás Alvarez
El Miércoles 22 Jul 2009 14:35:37 David Anderson escribió:
 Nicolás Alvarez wrote:

  So it would distribute computing power across projects, which is what we
  want, isn't it?

 Not exactly.  We want projects that are doing better or more important
 science (as judged by volunteers) to get more computing power.
 The main criterion for choosing a project should be its scientific merit,
 not how much credit it grants.
 This goal is called credit neutrality.

f...@home's GPU app is 3 times faster than its CPU app.
b...@home's GPU app is 4 times faster than its CPU app.

How can you satisfy all of these?
1. credits per day in CPU app same for both projects
2. credits per day in GPU app same for both projects
3. within each project, same WU should give same credits no matter the 
processor used

(Currently, we are completely ignoring #2)
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] credit goals

2009-07-22 Thread Nicolás Alvarez
El Miércoles 22 Jul 2009 21:17:02 Martin escribió:
  How can you satisfy all of these?
  1. credits per day in CPU app same for both projects
  2. credits per day in GPU app same for both projects
  3. within each project, same WU should give same credits no matter the
  processor used
 
  (Currently, we are completely ignoring #2)

 Credits per day does not make sense across different hardware with
 very different capabilities and across different projects.

1. and 2. were, of course, comparing the same CPU/GPU from the same computer.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] credit goals

2009-07-23 Thread Nicolás Alvarez
El Jue 23 Jul 2009 10:10:06 john.mcl...@sybase.com escribió:
 A few thoughts:

 There is no guarantee that any two computation devices (general sense here)
 will be equally efficient at a particular computation.  The CPU and GPU in
 a single box may very well have different efficiencies, and should be
 treated as separate computation devices for credit comparisons.

Okay, let me re-write that.

I meant that in goal 1, I was comparing a CPU in one project with the *same* 
CPU in the other project, and in goal 2 I was comparing a GPU in one project 
with the same GPU in the other project. *Not* that the CPU and the GPU had to 
be in the same computer, or that I was comparing CPU with GPU.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Some CUDA related questions

2009-07-23 Thread Nicolás Alvarez
El Jue 23 Jul 2009 05:18:33 Oliver Bock escribió:
 On Wednesday 22 July 2009 19:31:24 Nicolás Alvarez wrote:
  El Miércoles 22 Jul 2009 06:25:11 Oliver Bock escribió:
   Sending sigkill (ctrl-c) to an application that is currently running a
   kernel on the GPU may not result in a clean shutdown of the process as
   the kernel may continue running for a long time afterwards on the GPU.
   In such cases, a system restart may be necessary before running further
   CUDA or graphics applications.
 
  SIGKILL is the one signal that is impossible to block by an
  application; the kernel will really kill the app and the app can do
  nothing to avoid it.

 I suppose you mean the BOINC client (not the kernel) killing the app...?
 That's the problem: *if* a CUDA kernel, or its controlling host application
 respectively, isn't supposed to be killed (because of the problems
 described above) this behavior by the BOINC client *might* cause problems.

No, I meant the *operating system's kernel* would kill the process if another 
app sends that process a SIGKILL signal, without giving it any opportunity to 
do any app-specific cleanup.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Problem compiling filesys.h (win32)

2009-07-30 Thread Nicolás Alvarez
El Jue 30 Jul 2009 17:19:56 Jeremy Cowles escribió:
 I am trying to include filesys.h in a project using the BOINC API and I'm
 getting the following errors (only under win):
 error C2146: syntax error : missing ';' before identifier 'handle'
 boinc\lib\filesys.h 111
 error C4430: missing type specifier - int assumed. Note: C++ does not
 support default-int boinc\lib\filesys.h 111
 error C4430: missing type specifier - int assumed. Note: C++ does not
 support default-int boinc\lib\filesys.h 111


 On the middle line of the following block (filesys.h:111):

 #if defined(_WIN32)  !defined(__CYGWIN32__)
 HANDLE handle;
 #else


 The code seems fine to me. Also, it compiles when I am building BOINC from
 source - it only fails in this project.

filesys.h is using HANDLE without including Windows API headers first; relying 
on the fact that all .cpp files using the header already include it 
themselves. That's wrong; header users shouldn't need to care about things 
the header depends on.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Team page team join link and stats links

2009-07-31 Thread Nicolás Alvarez
El Vie 31 Jul 2009 19:53:22 David Anderson escribió:
 John 37309 wrote:
  I only just noticed a few minutes ago that if you are logged out of a
  project, the link to join a team does not appear on the team page of a
  project any more, don't really know how long its been like that. Can this
  be fixed please so the Join team link is always there, logged in or
  not? I'm always logged in so thats why i did not notice until now.

 This would introduce a cross-site scripting vulnerability.

Why would it?
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] File immutability between platforms?

2009-08-03 Thread Nicolás Alvarez
El Lunes 03 Ago 2009 20:58:11 Jeremy Cowles escribió:
 I currently have two files:
 linux/python26.zip
 win/python26.zip

 These files each have distinct contents (i.e. win has .dll files and Linux
 has .so files), if I install these files as follows:

 apps/pymw/pymw_1.00_i686-pc-linux-gnu/python26.zip
 apps/pymw/pymw_1.00_windows_intelx86.exe/python26.zip

 Will BOINC think they are the same file or will it keep them separate?

They will overwrite each other when you run update_versions; both will end up 
in the same place of the PROJECT/download/ hierarchy.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] File immutability between platforms?

2009-08-03 Thread Nicolás Alvarez
El Lunes 03 Ago 2009 21:15:36 Jeremy Cowles escribió:
 2009/8/3 Nicolás Alvarez nicolas.alva...@gmail.com

  El Lunes 03 Ago 2009 20:58:11 Jeremy Cowles escribió:
   Will BOINC think they are the same file or will it keep them separate?
 
  They will overwrite each other when you run update_versions; both will
  end up
  in the same place of the PROJECT/download/ hierarchy.

 Yeah, that's what I figured. So I guess the standard way to work around
 this is to embed the platform in the filename?

Yes, and preferably also a version number, in case tomorrow you notice you 
missed a file from the zip.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Re: [boinc_dev] Progress Thru Processors Launched

2009-08-05 Thread Nicolás Alvarez
El Miércoles 05 Ago 2009 09:35:30 Maureen Vilar escribió:
 It appears to me that the alpha-testing process (which to my knowledge no
 CPDN moderators participated in) was not thorough enough to throw up all
 the problems likely to be experienced by Boinc-naive prospective members.
 I've italicised aspects of the PtP installation process that I think should
 be changed or improved.

I still couldn't even register because PTP doesn't work if my Facebook name 
has international characters.

And my name has only an á character. A user called 李翔 recently posted on PTP 
wall, so there is definitely a need for international support...
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Re: [boinc_dev] *SPAM* Re: Spam on Trak tickets

2009-08-11 Thread Nicolás Alvarez
El Martes 11 Ago 2009 13:00:41 Jorden van der Elst escribió:
 Isn't it possible to truly lock tickets when they're locked (only
 those with an admin tag can reopen them or add comments), or otherwise
 add a recaptcha to writing any comment on any ticket?

It's reasonable for *users* to reopen tickets if they find the bug still 
exists.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Problem compiling head rev

2009-08-13 Thread Nicolás Alvarez
I think it's related to the proxy code changes. Can you get a  
backtrace of that segfault?


Enviado desde mi iPod

El 13/08/2009, a las 12:18, Eric Myers my...@spy-hill.net escribió:


On Wed, 12 Aug 2009, Jeremy Cowles wrote:


 Is anyone else having this  problem or is it just me?


I've also seen some problems lately with the head, but I didn't look
closely until you posted.  But my problem is different.   The code
compiles, but the apps, both concat and upper_case as well as hello,  
yello

etc. fail to run correctly in standalone mode.The return code for
concat and upper_case is 193.   It looks like hello has a SIGSEGV.
I can post a full log if it would help.

This is on both FC4 and F8 machines.  Kathryn, have you seen this too?

It's been doing this for the past 3 or 4 days now.   I usually ignore
such things unless they stick around, because they are often due to
work in progress.   But some change a few days ago seems to have  
broken

running apps standalone, even when everything compiles.

-Eric


--
Eric Myersmy...@spy-hill.net  503-564-4169

PGP Key #6E2D2259/RSA: BA39 1D46 5EC3 0D59 C2AC 6FCB F920 4DC8
PGP Key #E519EAC3/DSS: D15B 9A50 B1ED 2947 EC29 B0F6 EA61 FB6E E519  
EAC3


___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Re: [boinc_dev] AMD Core Math Library (ACML) redis tribution; faster FFTs

2009-08-14 Thread Nicolás Alvarez
El Vie 14 Ago 2009 06:39:08 Bruce Allen escribió:
 Hi Eric,

 Thanks -- this is very helpful. Before going forward,  I have a
 question.  It sounds as if s...@home is distributing an executable that
 statically links the FFT libs. Is that correct? My understanding of the
 licensing issues is that if the linking to FFT libs is done dynamically
 at run-time on the hosts, rather than statically, then there are no
 GPL/non-GPL compatibility issues.  In other words, a dynamic executable
 of pure-GPL code is allowed to dynamically link at run-time to a
 proprietary non-GPL library.

No, I don't think so. For the GPL, static vs dynamic linking is irrelevant. 
You should have the right to modify, under GPL-compatible terms, all of the 
code that ends up running within the same process, except libraries that come 
with the operating system such as libc (or msvcrt).
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] AMD Core Math Library (ACML) redis tribution; faster FFTs

2009-08-14 Thread Nicolás Alvarez
El Vie 14 Ago 2009 13:00:41 Nicolás Alvarez escribió:
 El Vie 14 Ago 2009 06:39:08 Bruce Allen escribió:
  Hi Eric,
 
  Thanks -- this is very helpful. Before going forward,  I have a
  question.  It sounds as if s...@home is distributing an executable that
  statically links the FFT libs. Is that correct? My understanding of the
  licensing issues is that if the linking to FFT libs is done dynamically
  at run-time on the hosts, rather than statically, then there are no
  GPL/non-GPL compatibility issues.  In other words, a dynamic executable
  of pure-GPL code is allowed to dynamically link at run-time to a
  proprietary non-GPL library.

 No, I don't think so. For the GPL, static vs dynamic linking is irrelevant.
 You should have the right to modify, under GPL-compatible terms, all of the
 code that ends up running within the same process, except libraries that
 come with the operating system such as libc (or msvcrt).

See:
http://www.fsf.org/licensing/licenses/gpl-faq.html#GPLIncompatibleLibs
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] [Fwd: Re: [BOINC] #139: Project-by-project network disable (similar to communications deferred)]

2009-08-14 Thread Nicolás Alvarez
El Vie 14 Ago 2009 15:04:51 Lynn W. Taylor escribió:
 It seems to me that the big fear is the two-week timer: if a work unit
 can't be uploaded in two weeks, it's going to be thrown away, causing
 irreparable harm to the project and a tragic hit to the cruncher's RAC.

 It'd probably help to make that two-week timer a whole lot longer (4
 months??), just to reduce the perceived danger -- and the pressure to
 replace a server.

Right. As mo.v mentioned, two weeks is NOT plenty of time to obtain funding 
for a new upload server, order it, take delivery and install it.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] AMD Core Math Library (ACML) redistribution; faster FFTs

2009-08-16 Thread Nicolás Alvarez
El Dom 16 Ago 2009 18:06:27 Bruce Allen escribió:
 Thanks for the note and for the link.  Does this mean for example that
 GPLd code is not allowed to link to the CUDA libraries (which are
 non-GPL and not normally distributed with the OS)?

The libraries don't have to be GPL. They can also be a *more liberal* license, 
such as LGPL or BSD.

A GPL program, however, normally can't be linked to a proprietary library, 
unless the program has an exception on its license saying the copyright 
holder explicitly allows linking to that one proprietary library. Or a GPL 
library could say proprietary programs are allowed to link to it but only if 
they use a certain subset of API functions.

 Does this mean that GPL programs can  
 not display on an NVIDIA graphics card (since they need to send data to
 an NVIDIA device driver, not distributed as part of the OS?).

A device driver isn't linked to the program that uses it; they interact via 
IPC. Otherwise, it wouldn't be legal for proprietary programs to run on 
Linux, since they are making syscalls to the Linux kernel, which is GPL.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] AMD Core Math Library (ACML) redistribution; faster FFTs

2009-08-16 Thread Nicolás Alvarez
El Dom 16 Ago 2009 18:40:15 Bruce Allen escribió:
 Hi Nicolás,

  Thanks for the note and for the link.  Does this mean for example that
  GPLd code is not allowed to link to the CUDA libraries (which are
  non-GPL and not normally distributed with the OS)?
 
  The libraries don't have to be GPL. They can also be a *more liberal*
  license, such as LGPL or BSD.

 I was asking specifically about the CUDA libraries:
 http://developer.download.nvidia.com/compute/cuda/2_2/toolkit/docs/cudaprof
_eula.pdf This license expressly does NOT include any source code and
 forbids efforts such as reverse engineering to recontruct the source code. 
 So it is not 'more liberal' than GPL.

 My question is, can GPL code be linked against the CUDA library?  I
 assume from what you wrote previously, that the answer is 'no' but
 wanted to confirm it.

The answer is no, *unless* the GPL program has an exception allowing linking 
to the CUDA library. And then, any GPL library used by that program needs a 
similar exception.

  Does this mean that GPL programs can
  not display on an NVIDIA graphics card (since they need to send data to
  an NVIDIA device driver, not distributed as part of the OS?).
 
  A device driver isn't linked to the program that uses it; they interact
  via IPC. Otherwise, it wouldn't be legal for proprietary programs to run
  on Linux, since they are making syscalls to the Linux kernel, which is
  GPL.

 I'm confused about this point.

 On Linux, device drivers are executable code blocks that can be
 dynamically loaded into the running kernel.  This is essentially the
 same mechanism by which a running program loads a library.  The kernel
 (GPL in the case of Linux) has to load a '.ko' object file.  If this is
 (for example) a proprietary device driver from NVIDIA, this would appear
 to violate GPL as you have described it.

The Linux kernel has an exception allowing proprietary modules, but with many 
restrictions. For example, they can only use a subset of kernel APIs, and 
they must call a function to declare they are proprietary, which sets a 
global tainted flag in the kernel. If your kernel crashes, the error will 
say whether it's tainted, and you're unlikely to get help if it was (since 
people will immediately blame the proprietary module for the crash).

 [As far as I know, data is not passed by a program to a kernel device
 driver via IPC (which usuallly involves sockets).  Data is passed by a
 program to a device driver on the stack.  The device driver code is then
 executed by the kernel in 'kernel mode' rather than in 'user mode'. Data
 in the heap is usually explicitly copied from the process memory segment
 (userland) to kmalloc()d space in the kernel context (kernel space).
 But since I'm a physicist and not a computer scientist I could be wrong
 about this.]

Whether programs are linked to the kernel, and whether a system call 
(talking to the kernel itself or to a loaded driver) is 'legally' equivalent 
to a function call between a program and a library, is in fact subject of 
some debate; so don't quote me on the subject :)
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] AMD Core Math Library (ACML) redis tribution; faster FFTs

2009-08-17 Thread Nicolás Alvarez
El Lunes 17 Ago 2009 20:56:27 Eric J Korpela escribió:
 2)  Is IMKL or ACML covered by the GPL v2 clause However, as a
 special exception, the source code distributed need not include
 anything that is normally distributed (in either source or binary
 form) with the major components (compiler, kernel, and so on) of the
 operating system on which the executable runs, unless that component
 itself accompanies the executable.  or the GPL v3 clause I posted
 earlier (if the license is v2 or later)?

 If the Intel compiler is required in order to use IMKL and an AMD
 compiler is required to use ACML, you could probably make the claim
 that it is allowed, especially if those libraries are included by
 default in any builds with that compiler.   If you can link to these
 libraries using a stock GCC or Visual-C++ compiler, then that claim
 gets more difficult to make.

For this point, I think you should ask licensing at fsf dot org.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] boinc_cvs Digest, Vol 57, Issue 17

2009-08-18 Thread Nicolás Alvarez
El Martes 18 Ago 2009 19:50:52 Kamran Karimi escribió:
 This works fine if the app treats such argument as optional. So BOINC apps
 should just ignore any command line options they don't understand. Projects
 can change the name of these arguments on the server, so a clash can be
 avoided.

Exactly, so now you're putting yet another requirement on BOINC applications. 
For apps to work in BOINC, they have to ignore arguments they don't 
understand (so a typo in a project-provided command line switch won't be 
noticed, it may just calculate the wrong thing), or they have to ignore the 
specific set of arguments used by BOINC for its own purpose (--device and 
now --num_threads), which means devs have to know what they are.

It's much simpler if you could say: what you put in command_line in the WU 
template or in create_work is passed to the science app untouched.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Re: [boinc_dev] boinc_cvs Digest, Vol 57, Issue 17

2009-08-18 Thread Nicolás Alvarez
El Martes 18 Ago 2009 20:13:19 Lynn W. Taylor escribió:
 There is no reason to *not* correctly handle surprising command line
 options.

There is no reason for the client to mess with data given by the project 
before handing it to the app. What next, the client adding tags to XML input 
files used by apps, and people defending it because apps should correctly 
handle surprising tags?
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Re: [boinc_dev] boinc_cvs Digest, Vol 57, Issue 17

2009-08-18 Thread Nicolás Alvarez
El Martes 18 Ago 2009 20:45:19 Lynn W. Taylor escribió:
 No, I don't.

 It seems that you're arguing that the BOINC science applications should
 be fragile -- that they should expect a pristine and unchanging
 environment and not try to anticipate the inevitable errors.

 I can't say it better than Jon Postel: be conservative in what you do,
 be liberal in what you accept from others.

By adding command line arguments on top of what the project asks for, the 
BOINC client is not being conservative...
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Re: [boinc_dev] boinc_cvs Digest, Vol 57, Issue 17

2009-08-18 Thread Nicolás Alvarez
El Martes 18 Ago 2009 20:53:50 Lynn W. Taylor escribió:
 Nicolás Alvarez wrote:
  El Martes 18 Ago 2009 20:45:19 Lynn W. Taylor escribió:
  No, I don't.
 
  It seems that you're arguing that the BOINC science applications should
  be fragile -- that they should expect a pristine and unchanging
  environment and not try to anticipate the inevitable errors.
 
  I can't say it better than Jon Postel: be conservative in what you do,
  be liberal in what you accept from others.
 
  By adding command line arguments on top of what the project asks for, the
  BOINC client is not being conservative...

 My point is not about what BOINC should do, but that a science
 application that expects a perfect, pristine, unmolested command line is
 asking for trouble.

The robustness principle is often misunderstood. The idea is that, given 
invalid input data, it shouldn't *crash*. Which doesn't mean it should behave 
as if the invalid data wasn't there.

a...@home, for example, crashes with a segmentation fault if given --nthreads 
without following it with a number (that's a custom parameter given by the 
project). It would be more robust if it printed an error message to stderr 
saying the command line is incorrect, and called exit(1). But it wouldn't be 
a good idea if it continued ignoring --nthreads and using a default number of 
threads.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Re: [boinc_dev] Distributed data functions

2009-08-19 Thread Nicolás Alvarez
El Miércoles 19 Ago 2009 19:37:45 Mark Pottorff escribió:
 I've been reviewing BOINC server code and the BOINC server VM. All of the
 distributed data command line programs indicate they should be run from the
 project root directory, however I don't find them there.

 If found request_file_list, get_file, send_file, and delete_file all in the
 /boinc/sched subdirectories. This was true both in the RHEL environment
 where I built from source, and in the VM image distributed by berkeley.

 I was just wondering where the problem lays, in the doc or in my
 environments. It would seem the program wouldn't know which project to add
 WU and mth rows to unless it were run from within the project's directory
 structure. Indeed if I run from that directory I get: Can't parse
 ../config.xml: fopen() failed

 So I'm thinking perhaps the build is flawed and should be moving the
 compiled programs in to the project's /bin directory?? And then the doc
 should be revised to show each being run from the project root with a
 ./bin/ prefix on the program name?

 I did get it to work by doing the following from project root:
 ../../boinc/sched/send_file -host_id 1 -file_name test_filexfer
 but I don't believe that was the intended use.

 Also, the documentation states that the client will acknowledge a
 successful download, and upload, but it does not indicate how such
 acknowledgment is made. How does the server know when the download of the
 actual data file has been completed to the client? And why wouldn't one
 want an acknowledgment that the client has completed a file deletion?

They should be run from the project root directory means that the project 
root directory has to be the current directory when you run them. It's the 
same for most commands. These tools just happen not to be installed into the 
project's bin directory.

Either way, most of the distributed data functionality is broken. I did just 
enough fixing to successfully send a file to a client and get it back, and 
described it in the message BOINC file storage features to boinc_projects 
(29/05/2009), which seems to have been ignored.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] [boinc_alpha] Linux 32bit 6.6.36 manager won't start client

2009-08-22 Thread Nicolás Alvarez
El Jue 11 Jun 2009 11:04:13 Kathryn Marks escribió:
 On Thu, Jun 11, 2009 at 10:37 PM, Jorden van der Elst 
els...@gmail.comwrote:
  Hi Rom,
 
  Why did all of the 6.6.36 versions go out as recommended versions
  without even testing them?
  Now we're getting reports in that BOINC Manager won't start the client
  when you run the boinc-manager script, plus an apparent key library
  file is missing on starting BM on 32bit Linux. it works correctly on
  64bit Linux.

 I'm on 64 bit Fedora 10 currently.  The run_manager script starts the
 manager but the manager fails to start the client.  This is in a clean
 install in ~/kathryn/BOINC (directory created by the .sh).

Almost two months later, still no new 6.6 with this fixed. I guess PTP and ATI 
are more important (or hyped) than getting Linux BOINC to *work at all*.

Code to detect if the client is running, for non-Windows:

sprintf(path, %s/%s, (char *)wxGetApp().GetDataDirectory().char_str(), 
LOCK_FILE_NAME);
if (file_lock.lock(path)) {
running = true;
} else {
file_lock.unlock(path);
}

file_lock.lock() tries to open() the file and then lock it with fcntl(). If 
that fails, then the client is assumed to be running and locking the file 
exclusively. Even if the failure is not actually because of exclusive locking 
by another process. Nobody ever looks at errno.

Here's the code that fills in the variable later returned by GetDataDirectory,
on Linux (that is, after removing Win-only and Mac-only code):

void CBOINCGUIApp::DetectDataDirectory() {
}

The string is initialized to wxEmptyString, so after this code (or lack 
thereof), it will stay empty. Empty string + /lockfile = /lockfile, which 
is a file in the filesystem root. I have confirmed with strace that this is 
the path the manager is trying to open().

Since the manager doesn't run as root (at least I'd hope nobody is that 
stupid), it cannot open() a file in the filesystem root. Since 
FILE_LOCK::lock fails, the client is assumed to be running, and it's not 
started again. And then this happens:

maelcum hi. i just upgraded from 6.4.something to the latest version and now 
the manager doesn't show any projects anymore.
maelcum it's as if i didn't have any accounts.
maelcum this is on linux.
maelcum what can i do?
[...]
PovAddict go to Messages
PovAddict look for a line starting with Data directory:
maelcum messages is 100% empty
PovAddict o_o
PovAddict then it's not running at all, I'd say...
maelcum okay, that's a start

This was fixed in r18420 by first checking if the lockfile exists, but 
citing a rare race condition. (Obviously committed before even testing if 
it compiled, since r18421 added a missing parenthesis). It was then ported to 
the 6.8 branch, but not to 6.6.

Can we now have a working 6.6 for Linux please?
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] No Binary in boinc 6.6.36

2009-08-27 Thread Nicolás Alvarez
El Jue 27 Ago 2009 15:32:52 Eric J Korpela escribió:
 I still get all the binaries.

 Do they correctly end up in the stage/${prefix}/bin directory if you
 do a make stage?

 This is the preferred method of making files for a binary package
 rather than building under a chroot.

But then you get files thrown directly into your system's /etc no matter what 
the stage directory is.

-- 
Nicolas
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Segfault in boinc_get_init_data.

2009-08-27 Thread Nicolás Alvarez
El Jue 27 Ago 2009 15:46:23 Eric J Korpela escribió:
 On Thu, Aug 27, 2009 at 11:43 AM, Eric J Korpela wrote:
  Does anyone know what has changed in PROXY_INFO that causes segfaults
  when boinc_get_init_data is called?  Did someone change the
  init_data.xml format?  If so, is a segfault the best way to react if a
  field is missing?  There was a time when the file wasn't required to
  exists at all.
 
  The first stack dump is if init_data.xml doesn't exist.
 
  #0  0x029524ce in std::string::assign () from /usr/lib/libstdc++.so.6
  #1  0x029525e4 in std::string::operator= () from /usr/lib/libstdc++.so.6
  #2  0x08116a47 in PROXY_INFO::operator= (this=0x821ead4,
  new_...@0x8264cf4) at proxy_info.cpp:192
  #3  0x0810e65f in APP_INIT_DATA::copy (this=0x821d600, a...@0x8263820)
 at app_ipc.cpp:102
  #4  0x0810e7a4 in APP_INIT_DATA::operator= (this=0x821d600, a...@0x8263820)
 at app_ipc.cpp:70
  #5  0x0810a595 in boinc_get_init_data (app_init_da...@0x821d600)
 at boinc_api.cpp:644
  #6  0x0804d102 in main (argc=1, argv=0xbfecacb4) at main.cpp:259
 
  The second is if it does...
 
  #0  0x029524ce in std::string::assign () from /usr/lib/libstdc++.so.6
  #1  0x029525e4 in std::string::operator= () from /usr/lib/libstdc++.so.6
  #2  0x08116a47 in PROXY_INFO::operator= (this=0x821ead4,
  new_...@0x8264cf4) at proxy_info.cpp:192
  #3  0x0810e65f in APP_INIT_DATA::copy (this=0x821d600, a...@0x8263820)
 at app_ipc.cpp:102
  #4  0x0810e7a4 in APP_INIT_DATA::operator= (this=0x821d600, a...@0x8263820)
 at app_ipc.cpp:70
  #5  0x0810a595 in boinc_get_init_data (app_init_da...@0x821d600)
 at boinc_api.cpp:644
  #6  0x0804d102 in main (argc=1, argv=0xbfecacb4) at main.cpp:259
 
 Oops the second stack dump.  (When app_info.xml does exist) should be

 #1  0x08116c0a in PROXY_INFO::clear (this=0x8264cf4) at proxy_info.cpp:168
 168 socks_server_name.clear();
 (gdb) where
 #0  0x0295212f in std::string::clear () from /usr/lib/libstdc++.so.6
 #1  0x08116c0a in PROXY_INFO::clear (this=0x8264cf4) at proxy_info.cpp:168
 #2  0x08116ef4 in PROXY_INFO::parse (this=0x8264cf4, i...@0xbfbb0810)
 at proxy_info.cpp:93
 #3  0x0810d811 in parse_init_data_file (f=0x9cef730, a...@0x8263820)
 at app_ipc.cpp:260
 #4  0x0810b442 in boinc_parse_init_data_file () at boinc_api.cpp:598
 #5  0x0804d0f6 in main (argc=1, argv=0xbfbb0994) at main.cpp:258


parse_init_data clears the APP_INIT_DATA structure using memset, corrupting 
the internal structure of the std::string members.

-- 
Nicolas
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Distributed data functions

2009-08-28 Thread Nicolás Alvarez
El Vie 28 Ago 2009 16:55:04 David Anderson escribió:
 Currently the client doesn't do this.
 But it should and someday it may,
 which is why that statement is there.

Right, the documentation shouldn't say what the client does, but what client 
behavior the server can rely on.

-- 
Nicolas
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] [boinc_alpha] Card Gflops in BOINC 6.10

2009-08-28 Thread Nicolás Alvarez
El Sáb 29 Ago 2009 00:30:44 Josef W. Segur escribió:
 First thoughts:

 Whetstones don't measure peak performance, more like minimum performance.
 The benchmark is of very basic funtionality and does not take advantage
 of improved architectures, instruction sets, etc.

It would take advantage of advanced instruction sets if the C++ compiler uses 
them.

What it doesn't do is use significant amounts of memory. It all fits in the 
CPU cache, so it would give *higher* performance than a real app.

-- 
Nicolas
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


  1   2   3   4   >