Limit the size of retrieved stdout of a task to 1 GB. Note we receive all the
bytes transmitted by the worker but only return upto 1GB to the application. We
throw away the bytes beyond 1GB.
Remove the worker on failures when retrieving the results (stdout) of a task.
Describe the recommended practice when accessing the output (stdout) buffer of a
task.
Hit nd.edu webserver instead of cse.nd.edu.
If memory allocation for stdout buffer fails, we
drop the stdout read from the link and return an empty buffer.
If link_soak failed, it will corrupt the order of
the data we expect to read next on the link. This will cause failure and
disconnection. So remove the code for checking failure of link_soak.
Add RESULT_STDOUT_MISSING to result codes to signal missing stdout.
If the length of stdout exceeds 1 GB or if its memory allocation fails in
process_result(), set RESULT_STDOUT_MISSING. However, this failure must be
handled after we have retrieved all the outputs of the task. So don't return
with an app-level failure.
Change return type of process_available_results().
There is no necessity to return an integer since it handles failures and the
caller doesn't have to worry if it succeeded or failed.
Evict all output files of a task from remote cache on missing stdout or output
files.
Document what happens for stdout > 1 GB.
Add "truncated" message at the end of stdout.
Use floats to print messages for max stdout.
Merge pull request #361 from btovar/dpandiar-wqbigstdout

Gracefully handle failure to allocate memory for storing stdout of a task (2)
Allow minimum workers in wq pool to be set to zero.

As requested by Peter Sempolinksi
Disable mmaps for io (double counting)
Make exit event synchronous.
Execute command directly, rather than using sh

When using sh, the monitor would count one more fork (forking sh, and
then sh forking the task to be monitoring).
Merge branch 'rmonitor_sync_exit'

Fixes from the HPDC14 paper submission.