|   | 
    
      
        
         
        
        Dec. 2002 To-dos: 
        1. 
        λRAM - Benchmark 
        Experiments; 
        2. Further studying: DSM, VTK 
        Interaction, Data Mining, OO Programming; 
        3. Interaction in VTK; 
        
          
          
            | 
              Mon | 
            
              Tue | 
            
              Wed | 
            
              Thu | 
            
              Fri | 
            
              Sat | 
            
              Sun |  
          
            | 
                | 
            
                | 
            
                | 
            
                | 
            
                | 
            
                | 
            
              1 |  
          
            | 
              2 | 
            
              3 | 
            
              4 | 
            
              5 | 
            
              6 | 
            
              7 | 
            
              8 |  
          
            | 
              9 | 
            
              10 | 
            
              11 | 
            
              12 | 
            
              13 | 
            
              14 | 
            
              15 |  
          
            | 
              16 | 
            
              17 | 
            
              18 | 
            
              19 | 
            
              20 | 
            
              21 | 
            
              22 |  
          
            | 
              23 | 
            
              24 | 
            
              25 | 
            
              26 | 
            
              27 | 
            
              28 | 
            
              29 | 
           
          
            | 
              30 | 
            
              31 | 
            
                | 
            
                | 
            
                | 
            
                | 
            
                |   
        
        
        - Final Week 
          
        
          
            | 
            
             | 
           
          
            
            
              
                |  
                
                 
                * Three section: 1) implementation of mmap; 
                2) kiobuf mechanism  and 3) DMA I/O operations 
                
                * Three level page table in 
                Linux: PGD (page directory), PMD (page mid-level Directory) and 
                Page Table - referred in <asm/page.h> and <asm/pgtable.h>
                How to map virtual address to physical 
                memory  
                  
                
                 
                 
                   | 
               
             
             | 
           
         
        
         
          
            | 
            
             | 
           
          
            
            
              
                |  
                 
                1) λRAM borrows some idea from DSM, more 
                complicated than mmap 
                
                2) λRAM is a multi-level architecture 
                
                3) Latency is the more fatal to λRAM, since 
                λRAM fetch thru NIC from remote server 
                  
                
                More detail needed; but mmap is a good analog. 
                
                Reference - Linux Device Drivers, 2nd Edition 
                Chapter 13 - mmap and DMA. 
                
                  
                
                 
                 
                   | 
               
             
             | 
           
         
        
         
          
            | 
            
             | 
           
          
            
            
              
                |  
                 
                1) virtual memory allocation uses malloc(); the 
                latter - mmap() 
                
                2) DSM is just a mechanism which handles the 
                distributed memory on cluster as unified address space; besides 
                that, λRAM should prefecth the data from remote server on 
                the other side in the WAN. 
                
                3) no write operation in λRAM. how will 
                λRAM work if writing is required? - so that it is the almost 
                the same as DSM which will allocate virtual address space. 
                  
                
                To sum up, DSM provides a block of memory 
                (physical and virtual) for the processes; λRAM generates a 
                mapping from network transfer pipeline to address space. 
                  
                
                λRAM should work like mmap: 
                
                mmap - void* mmap(void*, size_t, ....) 
                
                LamdaRAM - LamdaRAM* LamdaMap(void*, size_t, 
                ....) 
                  
                  
                
                Reference 
                
                1. DSM -  
                
                2. Computer Architecture - A Quantitative 
                Approach, Ch8.4 
                
                  
                
                
                 
                 
                   | 
               
             
             | 
           
         
        
         
          
            | 
            
             | 
           
          
            
            
              
                |  
                
                   
                
                 
                 
                   | 
               
             
             | 
           
         
        
         
          
            | 
            
             | 
           
          
            
            
              
                |  
                
                   
                
                 
                 
                   | 
               
             
             | 
           
         
        
         
          
            | 
            
             | 
           
          
            
            
              
                |  
                
                   
                
                 
                 
                   | 
               
             
             | 
           
         
        
         
          
            | 
            
             | 
           
          
            
            
              
                |  
                
                   
                
                 
                 
                   | 
               
             
             | 
           
         
        
 
          
            | 
            
             | 
           
          
            
            
              
                |  
                
                   
                
                 
                 
                   | 
               
             
             | 
           
         
        
         
          
            | 
            
             | 
           
          
            
            
              
                |  
                
                   
                
                 
                 
                   | 
               
             
             | 
           
         
        
         
          
            | 
            
             | 
           
          
            
            
              
                |  
                 
                1. Using TCPServer to listen the Query request 
                
                2. Using TCPClient to send query request 
                
                3. Using rbudpSender to send data 
                
                4. Using rbudpReceive to receive data 
                
                  
                
                 
                 
                   | 
               
             
             | 
           
         
        
      |