caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* Marshalling problem?
@ 2008-02-28 20:46 Thomas Fischbacher
  0 siblings, 0 replies; only message in thread
From: Thomas Fischbacher @ 2008-02-28 20:46 UTC (permalink / raw)
  To: Caml mailing list


I encounter a rather weird problem when marshalling a complicated highly
networked data structure to send it over the net (yes, it's brute, but
that allows me to get an issue solved very quickly which I will refine
later on in the future).

Basically, the actual sending of a large chunk of data over the net
(using MPI_Send/MPI_Recv and serialization) works fine. But the
deserialisation seems to get in trouble (on x86-32) when the data
is more than 16 MB. Strange enough, If I do not rely on CamlMPI's
internal serialization of ML values, but do this of my own and
serialize to a bigarray beforehand, the process that just has
serialized the data can deserialize it again. If I load that data
into some other process - either via the net or by intermediately
writing to a file, I get either a segfault or an internal failure
exception from the deserializer.

Seems as if some initialization may have been omitted somewhere which
gets done by first using the serializer...

I put an image file (large) as well as some code to demonstrate the
deserialization problem on the web at:

http://nmag.soton.ac.uk/tf/ocaml-marshal/

The ba.master data array just contains that data that were sent across
the network by my master MPI process, and received in the same form by
my slave MPI process.

Now I am not 100% sure yet I identified the problem correctly  --
but I am about 90% confident by now.

Oh, by the way, this is using 3.09.2.

-- 
best regards,
Thomas Fischbacher
t.fischbacher@soton.ac.uk


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2008-02-28 20:35 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-02-28 20:46 Marshalling problem? Thomas Fischbacher

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).