#include "msg/msg.h"
#include "surf/surf_private.h"
+#define INMEGA (1024*1024)
+
int host(int argc, char *argv[]);
XBT_LOG_NEW_DEFAULT_CATEGORY(remote_io,
MSG_file_close(file);
- if (argc > 2){
+ if (argc > 5){
file = MSG_file_open(argv[2], NULL);
filename = MSG_file_get_name(file);
XBT_INFO("Opened file '%s'",filename);
- XBT_INFO("Try to write 100KiB to '%s'",filename);
- write = MSG_file_write(file, 100*1024);
- XBT_INFO("Have written %llu bytes to '%s'. Offset is now at: %llu",write,filename,
- MSG_file_tell(file));
+ XBT_INFO("Try to write %llu MiB to '%s'",
+ MSG_file_get_size(file)/1024,
+ filename);
+ write = MSG_file_write(file, MSG_file_get_size(file)*1024);
+ XBT_INFO("Have written %llu bytes to '%s'.",write,filename);
msg_host_t src, dest;
src= MSG_host_self();
dest = MSG_get_host_by_name(argv[3]);
- XBT_INFO("Move '%s' (of size %llu) from '%s' to '%s'", filename,
+ if (atoi(argv[5])){
+ XBT_INFO("Move '%s' (of size %llu) from '%s' to '%s'", filename,
+ MSG_file_get_size(file), MSG_host_get_name(src),
+ argv[3]);
+ MSG_file_rmove(file, dest, argv[4]);
+ } else {
+ XBT_INFO("Copy '%s' (of size %llu) from '%s' to '%s'", filename,
MSG_file_get_size(file), MSG_host_get_name(src),
argv[3]);
- MSG_file_rmove(file, dest, argv[4]);
+ MSG_file_rcopy(file, dest, argv[4]);
+ }
}
return 0;
int main(int argc, char **argv)
{
int res;
+ unsigned int cur;
+ xbt_dynar_t storages;
+ msg_storage_t st;
MSG_init(&argc, argv);
MSG_create_environment(argv[1]);
MSG_function_register("host", host);
MSG_launch_application(argv[2]);
+ storages = MSG_storages_as_dynar();
+ xbt_dynar_foreach(storages, cur, st){
+ XBT_INFO("Init: %llu MiB used on '%s'",
+ MSG_storage_get_used_size(st)/INMEGA,
+ MSG_storage_get_name(st));
+ }
+
res = MSG_main();
+ xbt_dynar_foreach(storages, cur, st){
+ XBT_INFO("Init: %llu MiB used on '%s'",
+ MSG_storage_get_used_size(st)/INMEGA,
+ MSG_storage_get_name(st));
+ }
+ xbt_dynar_free_container(&storages);
+
XBT_INFO("Simulation time %g", MSG_get_clock());
if (res == MSG_OK)
return 0;
$ ${bindir:=.}io/remote$EXEEX ${srcdir:=.}/examples/platforms/remote_io.xml \
${srcdir:=.}/examples/platforms/deployment_remote_io.xml "--log=root.fmt:[%10.6r]%e(%i@%5h)%e%m%n"
+> [ 0.000000] (0@ ) Init: 12 MiB used on 'Disk1'
+> [ 0.000000] (0@ ) Init: 2280 MiB used on 'Disk2'
> [ 0.000000] (1@alice) Opened file 'c:\Windows\setupact.log'
> [ 0.000000] (2@ bob) Opened file '/scratch/lib/libsimgrid.so.3.6.2'
> [ 0.000000] (3@ carl) Opened file '/scratch/lib/libsimgrid.so.3.6.2'
> [ 0.001469] (4@ dave) Seek back to the begining of the stream...
> [ 0.001469] (4@ dave) Offset is now at: 0
> [ 0.001469] (4@ dave) Opened file 'c:\Windows\Professional.xml'
-> [ 0.001469] (4@ dave) Try to write 100KiB to 'c:\Windows\Professional.xml'
-> [ 0.003130] (4@ dave) Have written 102400 bytes to 'c:\Windows\Professional.xml'. Offset is now at: 102400
-> [ 0.003130] (4@ dave) Move 'c:\Windows\Professional.xml' (of size 102400) from 'dave' to 'carl'
+> [ 0.001469] (4@ dave) Try to write 31 MiB to 'c:\Windows\Professional.xml'
> [ 0.003559] (1@alice) Have read 101663 from 'c:\Windows\setupact.log'. Offset is now at: 101663
> [ 0.003559] (1@alice) Seek back to the begining of the stream...
> [ 0.003559] (1@alice) Offset is now at: 0
-> [ 0.276607] (3@ carl) Have read 12710497 from '/scratch/lib/libsimgrid.so.3.6.2'. Offset is now at: 12710497
-> [ 0.276607] (3@ carl) Seek back to the begining of the stream...
-> [ 0.276607] (3@ carl) Offset is now at: 0
-> [ 0.387328] (2@ bob) Have read 12710497 from '/scratch/lib/libsimgrid.so.3.6.2'. Offset is now at: 12710497
-> [ 0.387328] (2@ bob) Seek back to the begining of the stream...
-> [ 0.387328] (2@ bob) Offset is now at: 0
-> [ 0.387328] (2@ bob) Opened file '/scratch/doc/simgrid/examples/platforms/g5k.xml'
-> [ 0.387328] (2@ bob) Try to write 100KiB to '/scratch/doc/simgrid/examples/platforms/g5k.xml'
-> [ 0.390517] (2@ bob) Have written 102400 bytes to '/scratch/doc/simgrid/examples/platforms/g5k.xml'. Offset is now at: 102400
-> [ 0.390517] (2@ bob) Move '/scratch/doc/simgrid/examples/platforms/g5k.xml' (of size 102400) from 'bob' to 'alice'
-> [ 0.394819] (0@ ) Simulation time 0.394819
\ No newline at end of file
+> [ 0.276315] (3@ carl) Have read 12710497 from '/scratch/lib/libsimgrid.so.3.6.2'. Offset is now at: 12710497
+> [ 0.276315] (3@ carl) Seek back to the begining of the stream...
+> [ 0.276315] (3@ carl) Offset is now at: 0
+> [ 0.387036] (2@ bob) Have read 12710497 from '/scratch/lib/libsimgrid.so.3.6.2'. Offset is now at: 12710497
+> [ 0.387036] (2@ bob) Seek back to the begining of the stream...
+> [ 0.387036] (2@ bob) Offset is now at: 0
+> [ 0.387036] (2@ bob) Opened file '/scratch/doc/simgrid/examples/platforms/g5k.xml'
+> [ 0.387036] (2@ bob) Try to write 16 MiB to '/scratch/doc/simgrid/examples/platforms/g5k.xml'
+> [ 0.528029] (4@ dave) Have written 32646144 bytes to 'c:\Windows\Professional.xml'.
+> [ 0.528029] (4@ dave) Move 'c:\Windows\Professional.xml' (of size 32646144) from 'dave' to 'carl'
+> [ 0.819921] (2@ bob) Have written 17436672 bytes to '/scratch/doc/simgrid/examples/platforms/g5k.xml'.
+> [ 0.819921] (2@ bob) Copy '/scratch/doc/simgrid/examples/platforms/g5k.xml' (of size 17436672) from 'bob' to 'alice'
+> [ 1.843786] (0@ ) Init: 60 MiB used on 'Disk1'
+> [ 1.843786] (0@ ) Init: 2297 MiB used on 'Disk2'
+> [ 1.843786] (0@ ) Simulation time 1.84379
<argument value = "/scratch/doc/simgrid/examples/platforms/g5k.xml"/>
<argument value = "alice"/>
<argument value = "c:\Windows\Platforms\g5k.xml"/>
+ <argument value = "0"/>
</process>
<process host="carl" function="host">
<argument value = "/scratch/lib/libsimgrid.so.3.6.2"/>
<argument value = "c:\Windows\Professional.xml"/>
<argument value = "carl"/>
<argument value = "/scratch/mailbox/Professional.xml"/>
+ <argument value = "1"/>
</process>
</platform>