Hi,
I was wondering what version of X10 you are using? When I run your
test program on some inputs I see
[dgrove@linchen samples]$ ./a.out 5
5 is done
Place: 0 msg_rx: 199/10 msg_tx: 193/8
Place: 0 put_rx: 0(&0)/0 put_tx: 28(&20)/1
Place: 0 get_rx: 0(&0)/0 get_tx: 0(&0)/0
Place: 1 msg_rx: 201/9 msg_tx: 207/11
Place: 1 put_rx: 28(&20)/1 put_tx: 0(&0)/0
Place: 1 get_rx: 0(&0)/0 get_tx: 0(&0)/0
[dgrove@linchen samples]$ ./a.out 500
500 is done
Place: 0 msg_rx: 199/10 msg_tx: 193/8
Place: 0 put_rx: 0(&0)/0 put_tx: 28(&2000)/1
Place: 0 get_rx: 0(&0)/0 get_tx: 0(&0)/0
Place: 1 msg_rx: 201/9 msg_tx: 207/11
Place: 1 put_rx: 28(&2000)/1 put_tx: 0(&0)/0
Place: 1 get_rx: 0(&0)/0 get_tx: 0(&0)/0
The bytes moved via asyncCopy show up in the put_rx and get_rx lines, and
do seem to be growing as expected as the input size grows.
--dave
Long Cheng <parach...@gmail.com> wrote on 03/04/2013 08:07:51 AM:
>
> I am trying to monitor the message send/receive between each place
> with X10_TRACE_RXTX for my codes, but it seems there is something
> wrong with the profiling results that: The RX bytes/TX bytes recorded
> by the network card is total different from that recorded by
> X10_TRACE_RXTX. In my test, the RX bytes/TX bytes recorded by the
> network card of a node (testing with multi-nodes) is about 2GB, but
> X10RT_RXTX shows only about 3MB per place (there are 12 places on that
> node).
>
> Then I run a simple test on a single node with 2 places, the code and
> the results are shown as below. It shows that the RX/TX of sending an
> array with size 10,000 is the same as 100,000,000. Then I just doubt
> that the X10_TRACE_RXTX can not catch the RX/TX of asyncCopy, is that
> right? Is there any method that can record the RX/TX between each
> place in this situation?
>
> Thanks in advance!
>
> Long
>
> public class test {
> public static def main(args: Array[String]) {
> val N:Int=Place.MAX_PLACES;
>
> val NUM:Int=Int.parseInt(args(0));
> val r:Region=0..(N-1);
> val d:Dist=Dist.makeBlock(r);
>
> val receive=DistArray.make[RemoteArray[Int]](d);
> var sent:Array[Int]=new Array[int](NUM);
> for(i in 0..(NUM-1)){
> sent(i)=i;
> }
>
> val p1=Place.place(1);
> at(p1){
> receive(here.id)= new RemoteArray(new Array
[int](NUM));
> }
> Array.asyncCopy( sent, at (p1) receive(here.id));
>
> Console.OUT.println(NUM+" is done");
> }
> }
>
>
> 10000 is done
> Place: 0 rx: 167/6 tx: 161/4
> Place: 1 rx: 189/5 tx: 167/6
> 100000 is done
> Place: 0 rx: 167/6 tx: 161/4
> Place: 1 rx: 189/5 tx: 167/6
> 1000000 is done
> Place: 0 rx: 167/6 tx: 161/4
> Place: 1 rx: 189/5 tx: 167/6
> 10000000 is done
> Place: 0 rx: 167/6 tx: 161/4
> Place: 1 rx: 189/5 tx: 167/6
> 100000000 is done
> Place: 0 rx: 167/6 tx: 161/4
> Place: 1 rx: 189/5 tx: 167/6
>
>
------------------------------------------------------------------------------
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> http://p.sf.net/sfu/appdyn_d2d_feb
> _______________________________________________
> X10-users mailing list
> X10-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/x10-users
>
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
X10-users mailing list
X10-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/x10-users