A couple of questions
Jonathan Shapiro (shap@cobra.cis.upenn.edu)
Sat, 19 Aug 1995 21:07:41 -0400
In thinking through the EROS implementation, I've come across two
detail questions. I'ld appreciate reactions.
In the implementation I have in mind, there appears to be a potential
conflict between the aging policy and the migrator. Specifically, one
would like the migrator to have some reasonable assurance of timely
completion, which imposes two requirements:
- If the migrator is running, it must be able to allocate
core frames for copying purposes.
- If the migrator is running, it must be able to allocate any
I/O descriptor data structures necessary to perform writes.
If we impose a known-deadline constraint, it may be necessary to
reserve frames and data structures.
The problem is that a system under heavy I/O load will make heavy use
of the ageing mechanism, which will in turn schedule write I/O's,
which compete with the migrator's ability to schedule write I/O.
The best solution I have thought of to date is rather ad hoc - when
the migrator is running, a low water mark is maintained for both I/O
request blocks and free frames. Only the migrator can allocate these
below the water mark.
Is there a clean solution to this?