為了簡化平行程式的設計,所以不斷有幫助平行設計的各種平行程式設計模型被提出來。而其中最主要的共享記憶體模型大致有ANSI X3H5、POSIX 執行緒模型和OpenMP模型三種,其中又以OpenMP模型在目前最常被使用來設計平行程式。考慮到目前雖然不斷有OpenMP相關的系統被推出,然而主要都是給使用C/C++或則Fortran所設計的程式所使用,但對於JAVA的版本卻幾乎沒有。然而JAVA是一個被廣泛使用的系統開發所使用的程式設計語言。因此本論文將在OpenMP3.0規格的基礎上做相關研究並以JAVA去實作出對應系統。因為當前的OpenMP3.0規格是為了讓使用C/C++或則Fortran所設計的程式來使用所定義的,因此本論文將討論以JAVA實作時該做哪些調整,像是directive表示方式的修改,以符合原本定義。並且也將新增某些特性,像是foreach迴圈的平行化,以利於在使用JAVA所設計的程式中使用。同時在論文中也會提出一些利於系統運作的實作建議,最後則會討論使用本系統去做平行運算時所呈現出的一些效能數據。
For a topic of easy design, many parallel programming design models are offered, and the main shared memory models have ANSI X3H5、POSIX thread model and OpenMP model which is more often used to design parallel programs .Although many systems base on OpenMP have been offered, but the systems are mostly for C/C++ or Fortran and lack for JAVA .However JAVA is often applying for application system development, so in the paper we will do some research related to OpenMP3.0 specification and implement a corresponding system by JAVA. Because current OpenMP3.0 specification are for C/C++ or Fortran, so in the paper we will discuss what we adjust like the modification of directive format to match the original definition. And we will add some new characters like the parallelism of foreach to add utility rate in the programs designed by JAVA. In the end, we will also purpose some implementation suggestions for JAVA, and discuss the performance to the system base on the experimental data.