O b j e c t S e r i a l i z a t i o n f o r M a r s h a l l i n g D a t a i n a

squawkpsychoticSoftware and s/w Development

Dec 2, 2013 (3 years and 8 months ago)

71 views

       
      
    ￿ ￿   ￿       
       
￿  ￿￿￿￿￿
  ￿￿ ￿  ￿￿￿ 
     ￿￿ ￿￿￿￿

            ￿￿   
          ￿  ￿       
           ￿         
            
￿  ￿            
         ￿      ￿
            
   ￿    ￿     ￿
            
  ￿       ￿ 
            ￿
￿   
      ￿  ￿￿￿ ￿￿ ￿     ￿
             
  ￿     ￿    ￿   ￿￿￿
     ￿￿            ￿
  ￿               
         ￿    ￿￿￿ ￿￿ ￿￿ ￿￿
                        ￿
           ￿      
     ￿            
   ￿       ￿￿ ￿￿
        ￿     
￿      ￿ ￿   ￿  ￿
          ￿  ￿      ￿
        ￿￿    ￿￿
           ￿    ￿
             ￿  ￿￿ ￿ ￿￿ ￿￿    
  ￿            ￿
           ￿        ￿ 
         ￿       
 ￿  ￿            
   ￿          
    ￿  ￿         
   ￿        ￿     
    ￿           ￿
                  ￿
   ￿￿￿￿         ￿       
                 ￿
 ￿            ￿
  ￿                  ￿  ￿
             ￿        
       ￿      
  ￿           ￿
               ￿        ￿
         ￿       
       ￿   ￿      
       ￿          ￿
        ￿       
    ￿￿
￿￿￿     ￿
               
       ￿        
     ￿￿ ￿￿             
          ￿      
          ￿       ￿
 ￿        ￿￿ ￿       
   ￿  ￿         ￿
     ￿   ￿         
 ￿   ￿          ￿
               
    ￿  ￿         
            
￿  ￿        ￿    
￿
￿￿￿   
                   ￿￿￿￿ 
                  
￿
      ￿￿￿ ￿ ￿￿￿￿          
    ￿    ￿￿￿ ￿ ￿￿ ￿￿        ￿
              ￿￿￿ ￿   
            ￿  ￿
  ￿￿ ￿￿￿              
  ￿
             ￿
   ￿  ￿￿￿ ￿   ￿      
     ￿￿￿ ￿￿        
      ￿      ￿   ￿   
   ￿             ￿
   ￿         ￿
￿      ￿      
      ￿￿  ￿￿   ￿ 
  ￿            
￿           ￿     
   ￿￿ ￿     ￿          
￿￿   ￿
                    
   ￿       ￿   ￿
            

￿
￿ 
             ￿  ￿
            ￿   
             ￿    
          ￿   ￿  ￿  
  ￿        ￿    ￿
￿               ￿    ￿
￿￿
              
        
 ￿  ￿  ￿  ￿
 ￿  ￿  ￿
 ￿  ￿  ￿  ￿
 ￿  ￿  ￿
                     
           ￿    ￿
           ￿  ￿      ￿ ￿
  ￿                
￿
                        ￿
              ￿  ￿    
         ￿
￿
   
     
￿

￿

￿ 

￿

￿

￿

￿  

￿

￿

 ￿￿           
  ￿￿              ￿  ￿
             ￿
     ￿            ￿
 ￿        ￿￿        
  ￿￿
                   
    ￿        ￿        
   ￿             ￿    
        ￿  ￿       


    ￿         
     ￿   ￿         ￿     
   ￿             ￿        ￿ 
    

         
  ￿      ￿      
           ￿ 
               ￿ ￿ ￿    
 

          ￿   ￿   ￿
     ￿￿
           ￿        
   ￿            
   ￿         ￿   
       ￿              
    ￿     ￿      ￿    
     ￿            ￿    ￿ 
           ￿ ￿      
               
 ￿    ￿       ￿￿
           

 ￿   ￿
        ￿           ￿   
  ￿  ￿          ￿
   ￿            
       

   ￿
￿
￿     
              
￿        ￿￿ ￿￿     ￿   ￿
          ￿    
            
 ￿                  
       
￿￿            ￿ 
   ￿             
      ￿ ￿ ￿          
      ￿￿    ￿   
     ￿
￿￿              
 ￿ ￿       ￿ ￿  ￿
  ￿               
               
         ￿   ￿     
    
 ￿
              
      ￿          
        ￿
 ￿         ￿    
         ￿       ￿
      ￿       ￿
           ￿     
             ￿ 
       ￿    ￿   ￿
       ￿
                   ￿
     ￿  ￿      
             ￿     
￿  ￿          ￿
                 
  ￿         ￿   ￿    
  ￿            
   ￿      ￿      
    ￿  ￿
        ￿   ￿  ￿     ￿
                 
 ￿   ￿  ￿  ￿            ￿
        ￿      ￿   ￿
      ￿             ￿  
￿    ￿￿        ￿      ￿ 
￿
           ￿    ￿
  ￿     ￿       ￿     
 ￿               
 ￿  ￿          ￿
    ￿                ￿  
   
              
 ￿              ￿   ￿
  ￿￿          
    ￿
                 
        ￿        ￿
          ￿       ￿
              ￿       
￿     ￿         ￿   
 ￿       
￿
￿ ￿  ￿   ￿
               
 ￿             ￿ 
    ￿       ￿   
         ￿    ￿ 
￿              
  
    ￿       
    
￿ ￿   ￿
           ￿     
        ￿
￿       ￿
 
               ￿  
             ￿    
              
 ￿                ￿  
                   
               ￿  ￿
           ￿    ￿
   
￿
￿
￿
                  ￿ 
 ￿￿ ￿       ￿    ￿    
      ￿            
        ￿           ￿ 
        ￿           
   ￿
￿
                      
          ￿       
      ￿￿￿ ￿￿   ￿    ￿
￿

￿
￿  
 ￿￿  ￿   ￿ ￿ ￿ ￿
￿
￿￿  ￿ ￿￿  ￿ ￿
￿ ￿
￿ ￿ ￿
 ￿￿  ￿   ￿ ￿ ￿ ￿
￿
￿￿  ￿ ￿￿  ￿ ￿
￿￿
￿ ￿ ￿
 ￿  ￿  
 ￿￿ ￿￿  ￿   ￿￿ ￿￿ ￿
￿
￿ ￿ ￿ ￿￿ ￿
￿ ￿
￿ ￿ ￿
 ￿￿ ￿￿  ￿   ￿￿ ￿￿ ￿
￿
￿ ￿ ￿ ￿￿ ￿
￿ ￿
￿ ￿ ￿
￿ ￿ 
￿
￿  
 ￿￿ ￿￿  ￿   ￿￿￿ ￿ ￿ ￿ ￿
￿
￿ ￿ ￿ ￿￿ ￿￿
￿ ￿
￿ ￿ ￿
 ￿￿ ￿￿  ￿   ￿￿￿ ￿￿ ￿
￿
￿ ￿ ￿ ￿￿ ￿￿
￿ ￿
￿ ￿ ￿
 ￿￿             ￿
 ￿￿ ￿          ￿￿     
                   
  ￿         
￿
   
￿               ￿  

￿
     ￿ ￿ ￿￿     ￿   
           ￿￿    
 ￿                 
    ￿￿
          ￿     
   


             ￿    
 

      ￿    


 
 

 ￿
   


         ￿    
          

￿ 
￿
￿
￿  ￿ 



￿
￿￿￿

￿￿￿￿ 
￿
￿
￿ 
￿
￿ ￿ 


￿ 


￿ 


￿ 
￿
￿￿￿

￿  ￿￿  ￿
￿ 
￿￿
￿ ￿ 
 

￿ 
 

￿  ￿
￿ 


￿ 


￿ 


￿ 
￿
￿￿￿
              ￿ ￿
                 ￿
     ￿     ￿    
   ￿ ￿   ￿     
    ￿
￿

 

￿ ￿￿￿￿￿ ￿  
￿

￿ ￿￿￿ ￿  
 

￿ ￿￿￿ ￿ 

 

￿ ￿￿￿￿￿ ￿  
￿

￿ ￿￿￿ ￿  
 

￿ ￿￿ ￿ 

 

￿ ￿ ￿ ￿￿￿ ￿ 


￿

￿ ￿ ￿ ￿￿ ￿ 


 

￿ ￿ ￿ ￿￿￿ ￿ 


￿

￿ ￿ ￿ ￿￿￿ ￿ 

  ￿￿         
 ￿  


       ￿  ￿  ￿  
 ￿  ￿       ￿
           ￿￿ ￿ ￿￿￿  ￿
       ￿￿￿￿￿   ￿  
        ￿￿￿ ￿       ￿￿ 
   ￿￿￿ ￿￿         
             ￿ ￿￿ 
          ￿   ￿
     ￿      
                ￿
  
 

 
 

       ￿    
     ￿￿￿￿ 
￿
￿  ￿  ￿￿  ￿
￿
￿   
        ￿    
￿ 
￿
￿
￿  
￿              
 ￿
 ￿      ￿      
               ￿  
     ￿  ￿      ￿￿￿  ￿￿￿￿￿    

￿ 
￿
￿
￿ 
￿￿￿￿ 
￿
￿
 
￿  ￿￿  ￿
           
￿      ￿￿       ￿   
         ￿
   ￿              ￿
     ￿     ￿￿       ￿
   ￿              ￿
   ￿             
        ￿      ￿
         ￿       
                  
        ￿    
         ￿       
 ￿              
              ￿
￿
                  
  ￿       ￿            
      ￿            
   ￿           ￿
￿
0 128 256 384 512 640 768 896 1024
N
0
50
100
150
200
250
300
millisecs
NON-SHARED MEMORY
BYTE
byte [N][N], MPI.OBJECT
byte [1][NxN], MPI.OBJECT
byte [NxN], MPI.BYTE
0 128 256 384 512 640 768 896 1024
N
0
50
100
150
200
250
300
millisecs
SHARED MEMORY
BYTE
byte [N][N], MPI.OBJECT
byte [1][NxN], MPI.OBJECT
byte [NxN], MPI.BYTE
0 128 256 384 512 640 768 896 1024
N
0
500
1000
1500
2000
2500
3000
3500
4000
4500
millisecs
NON-SHARED MEMORY
FLOAT
float [N][N], MPI.OBJECT
float [1][NxN], MPI.OBJECT
float [NxN], MPI.FLOAT
0 128 256 384 512 640 768 896 1024
N
0
500
1000
1500
2000
2500
3000
3500
4000
4500
millisecs
SHARED MEMORY
FLOAT
float [N][N], MPI.OBJECT
float [1][NxN], MPI.OBJECT
float [NxN], MPI.FLOAT
 ￿￿      ￿      ￿￿
  ￿ ￿        ￿  
 ￿  ￿   ￿      ￿￿
        ￿
            ￿     
 
 

 
 

   ￿ ￿     
               ￿
        ￿
￿        
    ￿￿￿ ￿           
      ￿        
            ￿   ￿
       ￿      ￿
￿
data Vector
send buffer
Array-
Stream
Output-
receive buffer
Sender
MPI_RECV
MPI_TYPE_STRUCT
MPI_SEND
write array elements
reconstruct objects
"data-less" byte stream
element data
MPI_TYPE_STRUCT
data Vector
Receiver
Stream
Input-
Array-
 ￿￿              ￿
￿ ￿ ￿￿ ￿      ￿  ￿
                  
              ￿   
              
 ￿       ￿￿￿ ￿￿   
    ￿
                 ￿
              ￿
￿    ￿           
                 ￿
             
            
          ￿  ￿￿￿  
      ￿            
 ￿          ￿   ￿   


               ￿
                
          ￿  ￿
         ￿￿
       
                  ￿
    ￿                
    ￿              ￿   
           ￿  ￿￿ 
  ￿  ￿          ￿  
                      ￿ 
￿￿
         
   ￿
    ￿   ￿ 
￿   ￿￿￿ 
￿    ￿  ￿
   ￿ ￿￿  ￿￿￿ ￿￿ ￿ ￿

￿￿￿        ￿￿￿

 


        
   ￿
    ￿   ￿ 
￿   ￿ 
  ￿   ￿￿￿   ￿ ￿￿ ￿ ￿
￿    ￿  ￿
  ￿

￿￿￿       ￿￿￿

 


 ￿￿        
      ￿        
         ￿       
                
                 
 ￿                
         ￿     ￿  ￿
￿                  
        ￿          
       ￿
         ￿
 ￿         ￿ ￿
 ￿           ￿   
     ￿     
       ￿￿
 ￿    ￿           ￿
  ￿          
     ￿   ￿ ￿    ￿ 
            ￿ ￿
  ￿          
 ￿      ￿  ￿   
￿￿
128 256 384 512 640 768 896 1024
N
0
50
100
150
200
250
300
millisecs
NON-SHARED
BYTE
byte [N][N], MPI.OBJECT
byte [1][NxN], MPI.OBJECT
128 256 384 512 640 768 896 1024
N
0
50
100
150
200
250
300
millisecs
SHARED MEMORY
BYTE
byte [N][N], MPI.OBJECT
byte [1][NxN], MPI.OBJECT
128 256 384 512 640 768 896 1024
N
0
500
1000
1500
2000
2500
3000
3500
4000
4500
millisecs
NON-SHARED MEMORY
FLOAT
float [N][N], MPI.OBJECT
float [1][NxN], MPI.OBJECT
128 256 384 512 640 768 896 1024
N
0
500
1000
1500
2000
2500
3000
3500
4000
4500
millisecs
SHARED MEMORY
FLOAT
float [N][N], MPI.OBJECT
float [1][NxN], MPI.OBJECT
 ￿￿ ￿            ￿
  ￿￿        ￿ ￿    ￿￿
         ￿ ￿ ￿      
  ￿ ￿  ￿           ￿
￿￿
   

 ￿￿   ￿       
              ￿
  
 

 
 

   ￿￿         ￿￿
              ￿
    ￿        ￿￿   ￿
        ￿       ￿
     ￿         
   ￿            ￿
       
￿
￿   ￿     
    ￿￿
        ￿￿     ￿
         ￿  
                ￿
   ￿   ￿      ￿
  ￿        ￿     ￿
     ￿         
      
￿
￿
￿ 
   ￿              ￿
            ￿       ￿  ￿
  ￿       ￿      ￿  
                  ￿
             ￿  ￿
           ￿  
                     ￿
        ￿ ￿       
  ￿        ￿      ￿
                 
           ￿    
            ￿￿￿ ￿￿      
￿    ￿ ￿       ￿
                
  ￿
             ￿
 ￿￿  ￿        ￿   ￿
     ￿        
￿
￿        ￿                  
    ￿
￿
            ￿        
 ￿            ￿       
  ￿   ￿   ￿          ￿￿
                 ￿
       ￿
￿￿
128 256 384 512 640 768 896 1024
N
0
50
100
150
200
250
300
millisecs
NON-SHARED
BYTE
byte [N][N], MPI.OBJECT
byte [1][NxN], MPI.OBJECT
128 256 384 512 640 768 896 1024
N
0
50
100
150
200
250
300
millisecs
SHARED MEMORY
BYTE
byte [N][N], MPI.OBJECT
byte [1][NxN], MPI.OBJECT
128 256 384 512 640 768 896 1024
N
0
500
1000
1500
2000
2500
3000
3500
4000
4500
millisecs
NON-SHARED MEMORY
FLOAT
float [N][N], MPI.OBJECT
float [1][NxN], MPI.OBJECT
128 256 384 512 640 768 896 1024
N
0
500
1000
1500
2000
2500
3000
3500
4000
4500
millisecs
SHARED MEMORY
FLOAT
float [N][N], MPI.OBJECT
float [1][NxN], MPI.OBJECT
 ￿￿    ￿         
￿   ￿￿        ￿ ￿ 
  ￿￿     ￿      ￿ ￿       
     ￿           ￿￿
￿￿
 ￿                ￿
   ￿    ￿            
          ￿    ￿       
         ￿     
        ￿ ￿ ￿    
      ￿   ￿     ￿      
￿  ￿         
    ￿      ￿      
    ￿            ￿   
￿          ￿         
              ￿         ￿
             ￿
         ￿
   ￿            
    ￿           ￿  
                   ￿
 ￿    ￿            
￿   ￿   ￿     
               ￿
          ￿     
   ￿            
          ￿    
            ￿
  ￿             ￿￿￿ ￿￿ 
         ￿ ￿      ￿
       ￿        ￿
        ￿ ￿ 
  ￿            ￿ 
             ￿￿ ￿     
 ￿              
     ￿ ￿   
￿
￿     ￿
 ￿          ￿      
 ￿             
 ￿ 
￿
￿
    ￿           ￿
           ￿   ￿ 
    ￿              
￿
     ￿￿ ￿              
              ￿    
          ￿     ￿        ￿
       ￿           
              ￿    ￿   
    ￿                  
           ￿
￿
          ￿         
      ￿           ￿     ￿
            ￿￿
￿￿
           ￿
       ￿     ￿   
     ￿          ￿    
 ￿             ￿    
     ￿        ￿  ￿￿
                  ￿￿ ￿ ￿￿ ￿￿
                    
￿     ￿                 
              ￿  
           ￿     ￿￿     ￿
            ￿      
    ￿            
 ￿      ￿          
        ￿           ￿
             ￿
     ￿                
     ￿         

 ￿
   ￿                
  ￿          ￿  
  ￿

￿￿￿   ￿     ￿ ￿   ￿    ￿   
￿   ￿        ￿      
     ￿    ￿￿￿ ￿    ￿￿￿￿￿
 ￿￿￿￿￿￿￿￿  ￿￿
￿￿￿     ￿  ￿  ￿ ￿   ￿  ￿  ￿
 ￿       ￿  ￿      ￿
  ￿ ￿￿￿￿￿￿￿￿￿ ￿￿￿￿￿
￿￿￿     ￿ ￿   ￿  ￿    ￿  
     ￿￿      ￿￿￿￿￿
 ￿￿￿￿￿￿￿ ￿ ￿  ￿  ￿  ￿
￿￿￿     ￿   ￿  ￿    ￿  ￿
￿   ￿     ￿          ￿￿
￿      ￿￿￿￿      ￿      ￿￿￿￿￿
 ￿￿￿￿  ￿￿￿
￿￿￿ ￿       ￿        
   ￿    ￿￿￿￿       ￿   ￿
 ￿￿￿￿￿
￿￿￿   ￿         
     ￿       
￿￿
    ￿    ￿￿￿ ￿    ￿￿￿￿￿
 ￿￿￿￿￿￿￿￿  ￿￿
￿￿￿  ￿  ￿ ￿         ￿    ￿￿￿￿
    ￿   ￿   ￿
  ￿￿￿￿ ￿   ￿￿￿￿￿￿￿￿￿   ￿        ￿
￿￿￿￿￿
￿￿￿ ￿ ￿   ￿ ￿        ￿
     ￿   ￿￿￿￿   ￿     ￿
   ￿  ￿￿￿￿￿
￿￿￿ ￿ ￿   ￿ ￿        ￿
      ￿   ￿￿￿￿￿   ￿    
   ￿      ￿￿￿￿￿
￿￿￿￿ ￿ ￿   ￿ ￿   ￿￿￿￿     ￿
   ￿   ￿   ￿￿￿￿ ￿   ￿￿￿￿￿￿
￿￿￿   ￿        ￿ ￿￿￿￿￿
￿￿￿￿   ￿  ￿￿       ￿ ￿
       ￿    ￿ 
  ￿￿￿￿     ￿   ￿
  ￿   ￿￿￿￿ ￿   ￿￿￿￿￿￿￿￿￿   ￿    
   ￿ ￿￿￿￿￿
￿￿￿￿      ￿        ￿       
￿ ￿      ￿￿￿￿      ￿
     ￿￿￿￿￿  ￿￿￿￿  ￿￿￿
￿￿￿￿  ￿   ￿   ￿ ￿   
    ￿    ￿￿￿￿    
￿   ￿   ￿   ￿￿￿￿ ￿  
￿￿￿￿￿￿￿￿￿   ￿        ￿ ￿￿￿￿￿
￿￿￿￿  ￿   ￿   ￿    ￿ 
        ￿    ￿￿￿￿       ￿
  ￿  ￿￿￿￿￿
￿￿￿￿       ￿ ￿  ￿ ￿
    ￿      ￿  ￿ ￿  ￿￿￿￿￿
 ￿￿￿￿￿￿  ￿   ￿
￿￿￿￿ ￿ ￿ ￿￿ ￿￿ ￿  ￿ ￿       ￿
     ￿    ￿ ￿￿￿￿￿￿￿￿￿￿ ￿￿￿￿￿
￿￿￿￿          ￿         
  ￿  ￿      ￿￿￿￿￿      ￿
￿      ￿   ￿  ￿￿￿￿￿
￿￿
￿￿￿￿  ￿   ￿    ￿  
￿      ￿    ￿￿￿￿       ￿   ￿
 ￿￿￿￿￿
￿￿￿￿   ￿          ￿       ￿￿￿￿
    ￿   ￿ ￿ ￿ ￿￿￿￿￿
￿￿