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

Re: [MirageOS-devel] Building a sample File storage app



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 <kansi13@xxxxxxxxx> 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
the difference comes in the flush_page_buffer . Since I am using V1_LWT.FS I use
FS.write 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 <talex5@xxxxxxxxx> wrote:
On 6 February 2016 at 20:48, Vanshdeep Singh <kansi13@xxxxxxxxx> 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
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®.