lua-users home
lua-l archive

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


On Mon, Jul 8, 2013 at 8:23 PM, Philipp Kraus
<philipp.kraus@tu-clausthal.de> wrote:
> I use Boost.MPI for communication only, no network socket.
>
> Phil
>
>
> Am 08.07.2013 um 20:22 schrieb Gabriel Duarte:
>
> You can't use network sockets to do this instead?
>

It sounds to me like your best solution is to use an ffi type
solution, either the LuaJIT ffi, or luaffi or a libffi binding, as
these will let you do this (for structures with no pointers,
obviously). You could do the same with userdata but its less
convenient.

Justin


> 2013/7/8 Philipp Kraus <philipp.kraus@tu-clausthal.de>
>>
>> Thanks for these nice links, it is fine for another project, but in my
>> case a ORB structure should not be used.
>> I have two physical system which are connected by an infiniband network
>> (MPI), so I would like to transfer only
>> memoryblocks (a byte stream) between the two MPI processes. In each
>> process a LUA interpreter is running
>> and a object should be transfered in a fast way. My idea is to get a
>> object from the interpreter with its memory
>> block pointer and use memcpy for moving the object data from one process
>> to the other. In the new process
>> I would like to create a new object and point it to the copied memory
>> block.
>>
>> In my case the LUA script stores only the class definition and each
>> interpreter create some objects of the classes.
>> The C side calls on each object a method (like a event call):
>>
>> on each process
>>      for each o in object :
>>           o.do_something()
>>
>> The o should move between the two processes. So the ORB do some
>> serialization but I would like to move the memory block
>> from C side.
>>
>> Phil
>>
>>
>>
>> Am 08.07.2013 um 19:06 schrieb Gabriel Duarte:
>>
>> Two options:
>> http://www.tecgraf.puc-rio.br/~rcerq/luaorb/
>>
>> and:
>>
>> http://www.tecgraf.puc-rio.br/~maia/oil/
>>
>>
>> 2013/7/8 Philipp Kraus <philipp.kraus@flashpixx.de>
>>>
>>> Hello,
>>>
>>> I would like to transfer a LUA object between to interpreters. I have
>>> different running machines, on each process / machine runs equal LUA
>>> scripts, but I would
>>> like to move one object (data) from one machine to another machine. How I
>>> can get all memory blocks of an object?
>>> Or exists another idee?
>>>
>>> Phil
>>>
>>
>>
>>
>> --
>> Gabriel Duarte
>> Linux User #471185
>> Rio de Janeiro / RJ
>> http://genericdev.wordpress.com/
>>
>>
>> -----------------------------------------------------
>> Dipl.-Inf. Philipp Kraus
>> Clausthal University of Technology
>> Department of Informatics
>> Julius-Albert-Str. 4, Room 211
>> D-38678 Clausthal-Zellerfeld
>>
>> Phone: +49 - 5323 / 72-7109
>> EMail: philipp.kraus@tu-clausthal.de
>>
>>
>>
>>
>>
>
>
>
> --
> Gabriel Duarte
> Linux User #471185
> Rio de Janeiro / RJ
> http://genericdev.wordpress.com/
>
>
> -----------------------------------------------------
> Dipl.-Inf. Philipp Kraus
> Clausthal University of Technology
> Department of Informatics
> Julius-Albert-Str. 4, Room 211
> D-38678 Clausthal-Zellerfeld
>
> Phone: +49 - 5323 / 72-7109
> EMail: philipp.kraus@tu-clausthal.de
>
>
>
>
>