Thread-topic: mirage Xen microkernel monitoring in EC2
Hi,
Yep, same as OCaml: it makes sense to assign 1 core to a microkernel and use multiple microkernels if you want multiple cores running computations at once.
--
Dave Scott
On Sep 17, 2013, at 11:19 PM, "William Le Ferrand" <warnegia@xxxxxxxxx> wrote:
Hi, yes, they somehow do; at least each instance type has a well-specified kind of hardware tied to it.
I have another question: how the microkernel will handle multiple cpu's? Do we inherit the one-core-one-thread OCaml constraint? In that case, it only make sense to run the microkernel on "1 virtual core" instances, right?
Many thanks
william
On Tue, Sep 17, 2013 at 3:13 PM, David Scott
<scott.dj@xxxxxxxxx> wrote:
Hi,
The Mirage block and network drivers are in a position to monitor I/O throughput... but we've not fully instrumented them with performance counters yet; it's a bit of a work-in-progress. We should agree on a common interface soon to query the performance
counters and start baking them in.
I'm not totally sure how much you can tell about the underlying physical cpu -- normally on a xen system you would use a privileged hypercall to monitor that, on the host side. Perhaps AWS provides some APIs which expose this information?
Cheers,
Dave
On Tue, Sep 17, 2013 at 11:04 PM, William Le Ferrand
<warnegia@xxxxxxxxx> wrote:
Thanks Richard, thanks David.
Yes, basic application-level monitoring could be done via HTTP, but I was more interested in measuring I/O performance, bandwidth usage - I'm not sure if/how this can be measured from inside the microkernel. Is the microkernel even aware of the share of
the underlying cpu it has access to? (again - if this question makes sense :))
Cheers
William
On Tue, Sep 17, 2013 at 2:56 PM, David Scott
<scott.dj@xxxxxxxxx> wrote:
Hi,
I think the question does make sense :)
We're still working on the "mirari" tool which is intended to make both build and deployment easier. One idea is that "mirari list" would be able to enumerate and query the status of running Mirage instances-- this could be used for basic monitoring.
Before "mirari list" is ready, perhaps they could run some external monitoring tool like nagios? Such a tool could periodically check the health of the Mirage instance(s) by ping or perhaps a simple HTTP transaction (depending on how the specific Mirage
kernel is configured). Perhaps in future we should write an SNMP library for Mirage?
Another option would be to write a simple Mirage app to monitor another one by periodic ping/HTTP. Perhaps Mirage apps could be arranged in mutually-monitoring pairs. It might be better to start simpler than this though :)
Cheers,
Dave
On Tue, Sep 17, 2013 at 9:48 PM, William Le Ferrand
<warnegia@xxxxxxxxx> wrote:
Dear all,
What would be the best strategy to monitor a Mirage-brewed xen microkernel running in EC2?
I'm trying to convince a customer to try Mirage, and the first question they have is "how do we monitor this thing?". Xen has snmp support but it probably can't be activated in EC2.