@@ -46,6 +46,8 @@ public class CommWindow extends GenericGraphWindow
46
46
private double [][] receivedByteCount ;
47
47
private double [][] externalRecv ;
48
48
private double [][] externalBytesRecv ;
49
+ private double [][] externalNodeRecv ;
50
+ private double [][] externalNodeBytesRecv ;
49
51
private int [][] hopCount ;
50
52
private double [][] avgHopCount ;
51
53
private double [][] avgPeHopCount ;
@@ -74,6 +76,8 @@ public class CommWindow extends GenericGraphWindow
74
76
private Checkbox receivedBytes ;
75
77
private Checkbox recvExternal ;
76
78
private Checkbox recvExternalBytes ;
79
+ private Checkbox recvExternalNode ;
80
+ private Checkbox recvExternalNodeBytes ;
77
81
private Checkbox hopCountCB ;
78
82
private Checkbox peHopCountCB ;
79
83
@@ -146,15 +150,27 @@ public void itemStateChanged(ItemEvent ae){
146
150
setXAxis ("Processor" , peList );
147
151
super .refreshGraph ();
148
152
}else if (cb == recvExternal ){
149
- setDataSource ("Rate of Msgs Received Externally " , externalRecv , this );
153
+ setDataSource ("Rate of External Msgs Received" , externalRecv , this );
150
154
setPopupText ("externalRecv" );
151
- setYAxis ("Rate of Messages Received Externally " , "" );
155
+ setYAxis ("Rate of External Messages Received" , "" );
152
156
setXAxis ("Processor" , peList );
153
157
super .refreshGraph ();
154
158
} else if (cb == recvExternalBytes ){
155
- setDataSource ("Rate of Bytes Received Externally " , externalBytesRecv , this );
159
+ setDataSource ("Rate of External Bytes Received" , externalBytesRecv , this );
156
160
setPopupText ("externalBytesRecv" );
157
- setYAxis ("Rate of Bytes Received Externally" , "" );
161
+ setYAxis ("Rate of External Bytes Received" , "" );
162
+ setXAxis ("Processor" , peList );
163
+ super .refreshGraph ();
164
+ } else if (cb == recvExternalNode ) {
165
+ setDataSource ("Rate of Node External Msgs Received" , externalNodeRecv , this );
166
+ setPopupText ("externalNodeRecv" );
167
+ setYAxis ("Rate of Node External Messages Received" , "" );
168
+ setXAxis ("Processor" , peList );
169
+ super .refreshGraph ();
170
+ } else if (cb == recvExternalNodeBytes ) {
171
+ setDataSource ("Rate of Node External Bytes Received" , externalNodeBytesRecv , this );
172
+ setPopupText ("externalNodeBytesRecv" );
173
+ setYAxis ("Rate of Node External Bytes Received" , "" );
158
174
setXAxis ("Processor" , peList );
159
175
super .refreshGraph ();
160
176
} else if (cb == hopCountCB ) {
@@ -201,6 +217,8 @@ private void scaleHistogramData(double newUnit) {
201
217
receivedByteCount [pIdx ][ep ] *= scale ;
202
218
externalRecv [pIdx ][ep ] *= scale ;
203
219
externalBytesRecv [pIdx ][ep ] *= scale ;
220
+ externalNodeRecv [pIdx ][ep ] *= scale ;
221
+ externalNodeBytesRecv [pIdx ][ep ] *= scale ;
204
222
}
205
223
}
206
224
unitTime = newUnit ;
@@ -267,6 +285,20 @@ public String[] getPopup(int xVal, int yVal){
267
285
unitTimeStr ,
268
286
_format .format (externalBytesRecv [xVal ][yVal ]*timeInterval /unitTime ));
269
287
rString [3 ] = "Processor = " + xAxis .getIndexName (xVal );
288
+ } else if (currentArrayName .equals ("externalNodeRecv" )) {
289
+ rString [1 ] = "EPid: " + a .getEntryNameByIndex (yVal );
290
+ rString [2 ] = String .format ("Rate = %s messages/%s (%s messages)" ,
291
+ _format .format (externalNodeRecv [xVal ][yVal ]),
292
+ unitTimeStr ,
293
+ _format .format (externalNodeRecv [xVal ][yVal ]*timeInterval /unitTime ));
294
+ rString [3 ] = "Processor = " + xAxis .getIndexName (xVal );
295
+ } else if (currentArrayName .equals ("externalNodeBytesRecv" )) {
296
+ rString [1 ] = "EPid: " + a .getEntryNameByIndex (yVal );
297
+ rString [2 ] = String .format ("Rate = %s B/%s (%s bytes)" ,
298
+ _format .format (externalNodeBytesRecv [xVal ][yVal ]),
299
+ unitTimeStr ,
300
+ _format .format (externalNodeBytesRecv [xVal ][yVal ]*timeInterval /unitTime ));
301
+ rString [3 ] = "Processor = " + xAxis .getIndexName (xVal );
270
302
} else if (currentArrayName .equals ("avgHopCount" )) {
271
303
rString [1 ] = "EPid: " + a .getEntryNameByIndex (yVal );
272
304
rString [2 ] = String .format ("Rate = %s hops/%s (%s hops)" ,
@@ -319,10 +351,11 @@ private void createLayout() {
319
351
sentBytes = new Checkbox ("Bytes Sent To" , cbg , false );
320
352
receivedMsgs = new Checkbox ("Msgs Recv By" , cbg , false );
321
353
receivedBytes = new Checkbox ("Bytes Recv By" , cbg , false );
322
- recvExternal = new Checkbox ("External Msgs Recv By" , cbg ,
323
- false );
324
- recvExternalBytes = new Checkbox ("External Bytes Recv By" , cbg ,
325
- false );
354
+ recvExternal = new Checkbox ("External Msgs Recv By" , cbg , false );
355
+ recvExternalBytes = new Checkbox ("External Bytes Recv By" , cbg , false );
356
+ recvExternalNode = new Checkbox ("Node External Msgs Recv By" , cbg , false );
357
+ recvExternalNodeBytes = new Checkbox ("Node External Bytes Recv By" , cbg , false );
358
+
326
359
327
360
if (MainWindow .BLUEGENE ) {
328
361
hopCountCB = new Checkbox ("Avg Hop Count (EP)" , cbg , false );
@@ -336,6 +369,8 @@ private void createLayout() {
336
369
receivedBytes .addItemListener (this );
337
370
recvExternal .addItemListener (this );
338
371
recvExternalBytes .addItemListener (this );
372
+ recvExternalNode .addItemListener (this );
373
+ recvExternalNodeBytes .addItemListener (this );
339
374
if (MainWindow .BLUEGENE ) {
340
375
hopCountCB .addItemListener (this );
341
376
peHopCountCB .addItemListener (this );
@@ -348,6 +383,8 @@ private void createLayout() {
348
383
Util .gblAdd (checkBoxPanel , receivedBytes , gbc , 3 ,0 , 1 ,1 , 1 ,1 );
349
384
Util .gblAdd (checkBoxPanel , recvExternal , gbc , 4 ,0 , 1 ,1 , 1 ,1 );
350
385
Util .gblAdd (checkBoxPanel , recvExternalBytes , gbc , 5 ,0 , 1 ,1 , 1 ,1 );
386
+ Util .gblAdd (checkBoxPanel , recvExternalNode , gbc , 6 ,0 , 1 ,1 , 1 ,1 );
387
+ Util .gblAdd (checkBoxPanel , recvExternalNodeBytes , gbc , 7 ,0 , 1 ,1 , 1 ,1 );
351
388
352
389
if (MainWindow .BLUEGENE ) {
353
390
Util .gblAdd (blueGenePanel , hopCountCB , gbc , 0 ,0 , 1 ,1 , 1 ,1 );
@@ -424,6 +461,8 @@ private void getData(long startTime, long endTime, SortedSet<Integer> pes){
424
461
receivedByteCount = new double [pes .size ()][];
425
462
externalRecv = new double [pes .size ()][];
426
463
externalBytesRecv = new double [pes .size ()][];
464
+ externalNodeRecv = new double [pes .size ()][];
465
+ externalNodeBytesRecv = new double [pes .size ()][];
427
466
if (MainWindow .BLUEGENE ) {
428
467
hopCount = new int [pes .size ()][];
429
468
} else {
@@ -438,7 +477,12 @@ private void getData(long startTime, long endTime, SortedSet<Integer> pes){
438
477
LinkedList <Runnable > readyReaders = new LinkedList <Runnable >();
439
478
int pIdx = 0 ;
440
479
for (Integer nextPe : pes ){
441
- readyReaders .add ( new ThreadedFileReader (nextPe , pIdx , startTime , endTime , sentMsgCount , sentByteCount , receivedMsgCount , receivedByteCount , externalRecv , externalBytesRecv , hopCount ) );
480
+ readyReaders .add (new ThreadedFileReader (nextPe , pIdx , startTime , endTime ,
481
+ sentMsgCount , sentByteCount ,
482
+ receivedMsgCount , receivedByteCount ,
483
+ externalRecv , externalBytesRecv ,
484
+ externalNodeRecv , externalNodeBytesRecv ,
485
+ hopCount ));
442
486
pIdx ++;
443
487
}
444
488
0 commit comments