Commit Graph

14 Commits

Author SHA1 Message Date
David Anderson 01b78c714a Remote job submission: allow efficient batch query
The batch query call used by Condor (query_batch_set(), in the C++ API)
returned info about all the jobs in the set of batches,
even those that hadn't changed.
This is potentially inefficient - a query might return info
about 10,000 jobs, only a few (or none) of which have changed state
since the last call.

Solution: add a "min_mod_time" parameter to the call.
Only jobs that have changed state since that time are reported.
Also, add a "server_time" field to the return,
giving the current time on the server
(in case there's clock skew between client and server)

Also, fix some text scrambling introduced in previous checkin;
there must have been a gremlin in my vim.
2014-01-16 10:24:10 -08:00
David Anderson 590bbf517a Client: for VM apps, use rsc_memory_bound as the working set size.
On Windows, the working-set size reported by the OS for VM apps is too low.
Apparently the RAM usage is in fact roughly the VM size.
This can lead to running multiple VM apps,
which use more RAM than is available, causing performance problems.
Solution: use workunit.rsc_memory_bound as the working set size for VM apps.
(Note: for now, a VM app is one where the plan class includes "vbox").
2013-10-22 22:21:13 -07:00
David Anderson 438cd78b13 Remote job submission: add C++ APIs for query_batches() and query_batch()
- Add program (tools/remote_submit_test.cpp) for testing C++ API for remote job submission.
- Rename Condor-specific API to query_batch_set().
2013-10-22 15:27:34 -07:00
David Anderson 03cc6849c7 remote job submission: add C++ interface to estimate_batch function 2013-10-21 23:40:30 -07:00
David Anderson 7336bfd9ba Remote job submission, C++ API: simplify 2013-10-08 17:36:45 -07:00
David Anderson 2a2c9c4ad8 remote job submission: add notion of "expire time" for batches (for Condor)
- Batches now have optional "expire time".
  If this time passes and the batch is not retired, abort and retire it.
- Add script "expire_batches" which enforces the above.
  Run it as a periodic task.
- Add a web RPC for setting the expire time of a batch
  (it can be changed multiple times)
- Add a C++ interface for this RPC
- Add a BOINC_SET_LEASE command to the BOINC GAHP
  ("lease" is Condor term for expire time)
2013-09-17 13:35:55 -07:00
David Anderson 213bb934a7 Condor interface changes
BOINC_QUERY_BATCHES now prints, for each queried batch,
    a count of jobs followed by the jobs
BOINC_ABORT_JOBS takes a list of jobs, which may belong to different batches.
    The handler for this looks up the batches and makes sure
    the jobs belong to the user.
2013-05-30 23:38:33 -07:00
David Anderson ff261cb6df Condor interface: bug fixes; add request_gen script; add retire_batch command 2013-05-30 09:44:58 -07:00
David Anderson a78705a8d4 - client emulator: ignore non-CPU-intensive apps
- remote job submission:
    - prefix error messages with "BOINC server:"
      so higher levels can tell where the error is coming from
    - "get templates" RPC can take job name instead of app name
- Condor interface
    - add BOINC_SELECT_PROJECT function
    - BOINC_SUBMIT no longer has info about output files
    - Change BOINC_FETCH_OUTPUT semantics
2013-03-22 22:04:35 -07:00
David Anderson d95da0f75c - Condor integration:
- change "query_batch" to "query_batches"; allow multiple batches
    - add "ping server" web RPC and GAHP function
    - change BoincDb::get() so that it generates XML error message if needed
2013-03-22 10:25:39 +01:00
David Anderson bd8ecb1b00 - Condor integration:
- add Web RPC for querying a completed job (returns status,
        stderr out, run times, etc.)
    - support Jaime's changes to GAHP protocol
    - support for zipped output files
2013-03-15 13:38:44 +01:00
David Anderson 72d38818b4 - BOINC/Condor stuff
- C++ interfaces to remote functions: add error_msg argument,
    so caller can get textual description of error
2013-03-07 11:31:39 +01:00
David Anderson 29444b3edb - remote job submission: add a web RPC for getting an app's templates
(can use this to consistency-check job submission info)
2013-03-07 11:31:38 +01:00
David Anderson d6c92d870c - Code cleanup for remote job submission
- Add abort_jobs operation to BOINC GAHP
- Change batch-related RPCs so that you can identify batch
    either by database ID or name
2013-03-05 17:15:18 +01:00