wiki:Osaka

Version 13 (modified by rider, 16 years ago) (diff)

--

船舶機械模擬程式加速

1.Roadmap

  1. Perpare DRBL-Kerrighed testbed
  2. Config & tun Testbed
  3. Choose OpenMP compiler
  4. Test Stability of OpenMP Running in DRBL-Krg


2.Schedule

Task CompleteOuput & 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
NameVersion
debian etch r3
Kerrighed 2.3.0
DRBL
  • Compiler
Compiler PATH Comments
Intel gcc /opt/intel/cc/10.1.015http://0rz.tw/8e4AE
Intel Fortran /opt/intel/fc/10.1.015http://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)

Download all attachments as: .zip