[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MirageOS-devel] Mirage questions from writing a REST service



On 29 July 2014 14:04, David Scott <scott.dj@xxxxxxxxx> wrote:
> Hi,
>
> Very enjoyable post!

Thanks :-)

> On 29 Jul 2014 13:04, "Thomas Leonard" <talex5@xxxxxxxxx> wrote:
>>
>> On 7 July 2014 10:08, Thomas Leonard <talex5@xxxxxxxxx> wrote:
>> > I'm writing a test Mirage service for queuing files. It's not using
>> > ThomasG's merge-queues - I'm just trying the low-level FS stuff first.
>> >
>>
>> I did some more tests and wrote the results up here:
>>
>>   http://roscidus.com/blog/blog/2014/07/28/my-first-unikernel/
>>
>> In summary:
>>
>> 1. Adding a block cache helped a bit, but it was still too slow.
>
> I think a cache would be helpful for many applications. It's always a bit
> painful to disable caching on linux-- O_DIRECT doesn't always work, and then
> you have to align all your buffers. I like the uncached-by-default behaviour
> of Mirage, but we should make it easier to turn caching back on.

Perhaps Mirage's block_of_file could take an argument to say whether
you want it cached. For testing, you often want caching on because
it's faster, while you want it off when benchmarking. For a real
system you might want it either way.

>> 2. Dropping FAT and writing directly to the SD card helped a lot.
>
> I think we should concentrate on a block backend for Irmin and label FAT as
> not part of the Mirage "core". FAT will always be useful for things like
> making a bootable disk image containing a kernel but it'll never be a
> drop-in replacement for a modern Linux filesystem :-)

Are there any concrete plans for this yet? A block backend for Irmin
would be ideal.

>> 3. It's now fast enough for my use, but still slower than I was expecting.
>
> It's very easy to make a small change which hammers performance. I think
> I'll concentrate on writing  performance tests which can run from a CI when
> I'm back.

That would be very useful. It might also show up places where ARM is
extra slow (e.g. x86 has optimised TCP checksumming, so perhaps we
should do something similar on ARM).


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.