Comments (4)
One thing we talked about when housekeeping was being designed was representing housekeeping as a separate system job running as the flux user. I started to implement that but found it was more challenging than expected, and we needed something to staunch the bleeding on el cap. Maybe reviving that could address this issue without introducing unnecessary coupling between the original job and housekeeping.
from flux-core.
I haven't looked into how difficult this would be, but maybe flux resource status
could be augmented to show nodes that are currently in housekeeping? That might be more straightforward than trying to represent housekeeping as a job, and we do already support the ephemeral torpid
state in flux resource status
as a precedent.
I can't decide which is the "right" approach here though. Representing the housekeeping workload as a job is an attractive option, but since it isn't a job there would be so many "job" things that won't work it almost seems like it could possibly cause more trouble down the road...
from flux-core.
Hmm yeah, that is partly what made the job idea hard. Going all the way and making it a real job with all the trimmings seems like overkill.
from flux-core.
It is trivial to add a new housekeeping
state to flux resource status
, e.g.:
$ src/cmd/flux resource status
STATE UP NNODES NODELIST
avail ✔ 101 corona[171,173-186,188-194,196-207,213-214,219,221-230,232-250,252-253,255-259,261-269,272-275,277-278,280,282-285,287-290,292-294,296]
exclude ✔ 4 corona[81-82,211-212]
exclude* ✗ 1 corona260
housekeeping ✔ 2 corona[189-190]
drained* ✗ 7 corona[172,187,231,254,279,291,295]
drained ✔ 12 corona[195,215-218,220,251,270-271,276,281,286]
note that the avail
state in flux resource status
doesn't mean available to jobs now, but the nodes that are not excluded, drained, or in v0.66.0 and later, currently marked as torpid. So the avail
node set does include the housekeeping
node set, unless we think that should change?
Also, for some reason, flux resource status
doesn't currently support listing allocated
nodes, even though it has the information. If we enable that, then flux resource status -s all
could be used to display all states including any allocated
nodes (which includes those in housekeeping
)
At this point, I'm not sure if the above is helpful or not. It is easy to include it, and maybe put neither housekeeping
nor allocated
in the default output. To get full details you'll need to run flux resource status -s all
and then be cognizant of the fact that some of the sets may have some overlap.
I'm open to any feedback here.
from flux-core.
Related Issues (20)
- idea: allow compute nodes to be released by a job before the `clean` event
- avoid reissuing jobids after a crash
- feature request: submit a job to multiple queues
- content/content-sqlite: what to do on ENOSPC HOT 18
- kvs: call `content.flush` before checkpoint
- Flux not correctly binding a single GPU per task with `--gpus-per-task=1` HOT 5
- content: call `content.flush` within `content-checkout.put` HOT 5
- mismatched nodelist and node count after additional ranks added to R HOT 1
- Suggestion: change flux hostlist default behavior to read from stdin HOT 1
- config: add option for amending `Rv1` from `resource.config` with `scheduling` key from file HOT 2
- intermittent ci failure `not ok 25 - flux-uri mock testing of lsf resolver works`
- content: require backing store for checkpoint put
- flux-job: flux_kvs_lookup_get: Value too large for defined data type HOT 13
- docker: can't build docker images in flux-core
- flux cannot handle very large lines HOT 1
- kvs: do not allow appends that exceed maximum allowed value size
- kvs: ensure large values exceeding maximum rejected consistently HOT 2
- kvs: define maximum size
- shell: suggest user redirect to a file if stdout large
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from flux-core.