| Version 13 (modified by rider, 17 years ago) (diff) | 
|---|
船舶機械模擬程式加速
1.Roadmap
- Perpare DRBL-Kerrighed testbed
 - Config & tun Testbed
 - Choose OpenMP compiler
 - Test Stability of OpenMP Running in DRBL-Krg
 
2.Schedule
| Task | Complete | Ouput & Evaluation | 
| Perpare DRBL-Kerrighed Testbed | 2008-08-06 | 安裝說明文件和測試平台 | 
| Config & tun Testbed | ||
| Choose OpenMP Compiler | ||
| Test Stability of CpenMP Running in DRBL-Krg | 
3.Testbed information
- Software
 
| Name | Version | 
| debian | etch r3 | 
| Kerrighed | 2.3.0 | 
| DRBL | 
- Compiler
 
| Compiler | PATH | Comments | 
| Intel gcc | /opt/intel/cc/10.1.015 | http://0rz.tw/8e4AE | 
| Intel Fortran | /opt/intel/fc/10.1.015 | http://0rz.tw/654xd | 
- Features of the Intel OpenMP implementation
- OpenMP 2.5 conforming
 - Nested parallelism
 - Workqueuing extension to OpenMP
 - Interoperability with POSIX and Windows threads
 - OMP_DYNAMIC support
 - Performance analysis via Intel Thread Profiler
 - Error Checking with the Intel Thread Checker (see below)
 
 
4.Limitation of Running OpenMP in Kerrighed
- Features removed temporarily (Form 2.0.0 version)
- KerFS
 - Distributed threads
 - Checkpoint
 - Dynamic streams.
 
 - Solution:
- If we want to use OpenMP in Kerrighed, I think we must...
 
 
5.Kerrighed modules - Source Code Structure Analysis
- Gandalf module: Global memory management
- /kerrighed-2.3.0/libs/include/kerrighed_tools.h
 - /kerrighed-2.3.0/modules/tools/krg_services.h
 - /kerrighed-2.3.0/modules/mm/mmap_handler.h
/* Memory Part -> Memory Pool */ 
 - Aragon module: Global process management
- /kerrighed-2.3.0/modules/proc/distant_syscalls.c
 - /kerrighed-2.3.0/modules/scheduler/mosix_probe.c
 - /kerrighed-2.3.0/modules/tools/krg_arch.h
 - /kerrighed-2.3.0/modules/rpc/rpcid.h
 - /kerrighed-2.3.0/modules/epm/fork_delay.c
 - /kerrighed-2.3.0/modules/epm/migration.c
 - /kerrighed-2.3.0/modules/epm/procfs.c
/* Process Part -> MPI , OpenMP */ 
 - Elrond module: Synchronization tools for parallel applications
- /kerrighed-2.3.0/modules/epm/ghost_process_api.h
 
 - Gimli: 
- /kerrighed-2.3.0/libs/libkerrighed/libcomm.c
 - /kerrighed-2.3.0/libs/include/comm.h
 - /kerrighed-2.3.0/libs/include/kerrighed_tools.h
 - /kerrighed-2.3.0/modules/arch/um/krg_um.c
 - /kerrighed-2.3.0/tools/krg_services.h
 - /kerrighed-2.3.0/tools/krg_arch.h
 - /kerrighed-2.3.0/modules/fs/kerfs/dir_io_linker.c
 - /kerrighed-2.3.0/modules/fs/kerfs/inode_io_linker.c
 - /kerrighed-2.3.0/modules/fs/kerfs/file_io_linker.c 
 
 
All these distributed services are based on Gimli for their communications. Gimli is a service providing high performance communication inside the cluster and a complete abstraction of the communication system to kerrighed that makes it portable on various interconnection networks.
Reference
Attachments (2)
- Migration_OpenMP.pdf (431.2 KB) - added by rock 17 years ago.
 - 
    Intel_Extend_OpenMP_Cluster.pdf
       (214.8 KB) -
      added by rock 17 years ago.
                
Extending OpenMP to Clusters
 
Download all attachments as: .zip
