Hi,
I tried running the my implementation directly on xen and performance was
much better (no idea why).
But I have run into new issues,
- Tried creating a disk of size 1000Mb using "fat create disk.img
102400KiB" and it returned
"fat: unimplemented" even though the disk was created. Then I tried running
it on the xen and got an
error after I ran the image on xen,
Fatal error: exception Fs.Make(B)(M).Fs_error(_)
Raised at file "src/core/lwt.ml", line 789, characters 22-23
...

- I also tried uploading a file with size around 30MiB onto a disk.img of
size 100MiB. The hanged
after writing 4Mb of data.


Any suggestion on how to deal with the above situations ?


Regards,
Vansh


On Thu, Feb 11, 2016 at 8:11 PM, Vanshdeep Singh <[email protected]> wrote:

> Hi Thomas,
> I am chosen to implement the disk in FAT format. Drawing inspiration from
> your code I
> have tried to do disk writing operations but instead of V1_LWT.BLOCK I
> have chosen to
> go wo with V1_LWT.FS because for the api but the write performance I get
> is very poor.
> I takes more than 11 sec to upload a 67Kb file. The file is uploaded
> quickly but the time
> taken to write to disk is long hence they delay.
>
> Much of my implementation is similar to this code
>
> https://github.com/0install/0repo-queue/blob/master/upload_queue.ml#L159-L172
> the difference comes in the *flush_page_buffer* . Since I am using
> V1_LWT.FS I use
> FS.write <https://github.com/mirage/mirage/blob/master/types/V1.mli#L889>
> call to write the data to the disk i.e.
>
>
>> *buffered_data *= Cstruct.sub page_buffer 0 !page_buffer_offset
>
> Fs.write fs path !file_offset *buffered_data *
>
>
>
> How can I improve the performance ?
>
> Note: I am testing this using --unix
>
>
> Regards,
> Vansh
>
> On Sun, Feb 7, 2016 at 11:28 PM, Thomas Leonard <[email protected]> wrote:
>
>> On 6 February 2016 at 20:48, Vanshdeep Singh <[email protected]> wrote:
>> > Hi,
>> > I am trying to build a sample file storage web app and I am need some
>> > directions
>> > on how to approach it, particularly I am trying to figure out how to do
>> > storage.
>> > Currently, I am drawing my insight from here and here (irmin). Any kind
>> of
>> > suggestion
>> > would be really helpful.
>> >
>> > NOTE: files of any size could be uploaded so I am aiming at streaming
>> > uploads/downloads.
>>
>> Hi Vansh,
>>
>> Currently, FAT is the only supported file-system on Mirage/Xen:
>>
>>   https://github.com/mirage/ocaml-fat
>>
>> If your needs are simpler then you could also implement your own
>> scheme. The file queue example you linked just stores the files
>> sequentially on the disk, which is fine for a queue.
>>
>> If you want to help build something better (e.g. to support Irmin),
>> the ocaml-btree project is under development:
>>
>>
>> http://lists.xenproject.org/archives/html/mirageos-devel/2016-01/msg00059.html
>>
>>
>> --
>> Dr Thomas Leonard        http://roscidus.com/blog/
>> GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA
>>
>
>
_______________________________________________
MirageOS-devel mailing list
[email protected]
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

Reply via email to