仿真模型可移植性规范的多核并行化研究
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
当前,计算机微处理器的发展已进入多核时代,并由多核向众核发展。传统桌面仿真软件在多核/众核平台上无法充分利用计算资源,显示出预期的加速性能。仿真软件并行化是提高计算资源利用率和仿真运行速度的有效方法。仿真模型可移植性规范(SMP2)是由欧洲航天局制定并在一批航天仿真和军事仿真项目中得到成功应用的开放仿真模型规范,但目前只支持串行仿真。开展SMP2规范的多核并行化研究,一方面可以提高SMP2仿真应用系统的运行速度,另一方面也为并行模型的设计、开发、集成与运行提供了一套更为成熟的框架。
     论文以提高SMP2仿真应用系统的运行速度和并行离散事件仿真的软件工程化水平为目标,围绕着“SMP2仿真引擎在多核计算机上如何并行化”、“SMP2仿真模型如何进行并行环境下的适应性改造”两大主题展开研究,解决了SMP2规范面向多核计算机进行并行化的相关理论问题与技术问题。具体研究内容包括以下几个方面:
     (1)为实现SMP2仿真引擎的并发运行,提出了并行SMP2(P-SMP2)的体系结构和P-SMP2的四层负载分配模型,分析了仿真模型在串并行条件下的一致性及不同时间同步协议下的一致性,提出了基于P-SMP2的建模仿真框架。
     (2)为有效集成时间同步协议、仿真服务、数据结构三个不同层次的各种算法,提出了基于插件的P-SMP2仿真引擎多算法集成机制,并讨论了采用三种时间同步协议实现逻辑进程插件的方法,以示范插件机制支持多种算法的能力。根据多核计算机的特点,对三种经典时间同步协议进行了优化。
     (3)讨论了P-SMP2仿真引擎在多核平台上的自动化负载均衡框架,并重点面向时间弯曲同步协议提出了基于Metis图划分工具的静态划分方案和基于优先调度的动态负载均衡方案。
     (4)为支持模型驱动的组件化P-SMP2仿真模型开发方法,研究了SMP2仿真模型组件间三种交互模式在并行环境下的改造方法,剖析了支撑基于模型驱动工程开发P-SMP2仿真模型组件的两项技术:基于Eclipse建模框架的领域建模环境快速开发方法与基于模板的代码生成方法。
     (5)在SMP2仿真引擎的基础上,采用OpenMP并行编程语言和Parallel Studio并行编程开发环境,设计并实现了P-SMP2仿真引擎原型系统。开发了卫星导航系统服务性能分析的应用实例,在具有8个处理器核的惠普计算机上运行该实例,P-SMP2仿真引擎较SMP2仿真引擎获得了5.8倍-6.3倍的加速比。
     论文的创新性工作主要体现在两大方面:以SMP2规范为例系统地提出了桌面仿真软件面向多核计算机的并行化解决方案;通过吸收SMP2规范与现代软件工程的优秀思想推动并行离散事件仿真在软件工程化方面的发展。围绕上述两个方面,论文的主要创新点可概括为下述四点:
     提出了一种基于模型层次多线程并行与四层负载分配模型的串行仿真软件多核并行化方法。论文基于并行离散事件仿真范式提出了面向模型层次多线程并行的P-SMP2体系结构,实现了SMP2仿真引擎的并发运行;提出了P-SMP2的四层负载分配模型,用于将模型实例分配到核上并行运行,能够很好地适应多核计算机非专用的特点。
     提出了一种基于插件的并行仿真引擎多算法集成机制。该机制在组件式结构的基础上引入了扩展、扩展点与插件组合方法,实现了运行前配置算法、支持新算法的嵌入、有效管理各种算法三大目标,能够有效集成时间同步协议、仿真服务、数据结构三个不同层次的各种算法,相比于已有的其它多算法集成机制,具有灵活性高、耦合性低、开发效率高、可维护性好的优势。
     提出了一种基于优先调度的动态负载均衡方案。时间弯曲协议现有的动态负载均衡方案通常采用基于逻辑进程迁移或模型实例迁移的方法。基于优先调度的动态负载均衡方案充分利用了多核计算机共享存储器及采用多线程并发运行的特点,无需迁移模型实例,易于实现。
     提出了一种模型驱动的组件化并行仿真模型开发方法。并行仿真模型现有的主要开发方法是根据仿真引擎对外提供的API手工编写代码。模型驱动的组件化并行仿真模型开发方法融合了组件化开发与模型驱动开发两种方法,可在很大程度上屏蔽开发并行仿真模型与串行仿真模型的差异,减少代码编写量,改善仿真模型的可移植性和可重用性。
     综上所述,论文针对SMP2仿真引擎的并行化与SMP2仿真模型的适应性改造提出了有效的解决方案。论文对其它桌面仿真软件的多核并行化在理论和实践上都具有一定的参考价值。
Currently, the development of computer microprocessors has stepped into the era of multi-core, and keeps going forward from multi-core to many-core. Traditional desktop simulation softwares can’t make full use of the computing capability provided by multi-core & many-core platforms and show the predicted performance. Parallelization of desktop simulation softwares is an efficient way to exploit higher usage of the computing capability and speed up the execution of simulation. Simulation Model Portability standard 2 (SMP2) is an open modeling & simulation specification published by the European Space Agency. It has been applied successfully to a series of projects in the aerospace simulation and the military simulation. However, it only supports the serial simulation. It will bring two-fold benefits to parallelize the SMP2 specification on the multi-core platform: i) this work will accelerate the running of SMP2-based simulations, and ii) it will provide a better framework for the design, development, integration and execution of parallel models.
     Aiming at speeding up the execution of SMP2-based applications and promoting the development of the Parallel Discrete Event Simulation (PDES) through software engineering approaches, this dissertation focuses on addressing how to parallelize the SMP2 simulation engine on multi-core computers and how to modify SMP2 simulation models to fit the parallel environment. It solves the related problems both in theory and in practice during the parallelization of the SMP2 specification on multi-core computers. The contents to research include the following parts:
     (1) To execute the SMP2 simulation engine in parallel, the architecture of Parallel SMP2 (P-SMP2) and the four-layer load distributing model of P-SMP2 are proposed. The consistency between serial simulation models and parallel simulation models as well as the consistency of simulation models for different synchronization protocols are analyzed. The modeling and simulation framework based on P-SMP2 is also presented.
     (2) In order to effectively integrate multiple algorithms on three different levels, i.e., synchronization protocol level, simulation service level and data structure level, a plug-in mechanism is proposed for the P-SMP2 simulation engine. The developing approach of plug-ins for logical processes using three synchronization protocols is discussed to demonstrate the capability of the plug-in mechanism to integrate multiple algorithms. These three synchronization protocols are optimized according to the features of multi-core computers.
     (3) The automated load balancing framework for the P-SMP2 simulation engine on multi-core computers is discussed. In the context of the Time Warp synchronization protocol, this dissertation presents a static partitioning scheme which uses a graph partitioning package called Metis and a dynamic load balancing scheme which uses the strategy of priority scheduling.
     (4) In order to support the model-driven & component-based development approach of P-SMP2 simulation models, three interaction patterns among SMP2 model components are modified to fit the parallel environment, two techniques of the model-driven engineering for developing P-SMP2 model components are also investigated: a rapid method based on the Eclipse Modeling Framework to develop a domain-specific modeling environment and a code generation method based on code templates.
     (5) On the basis of the SMP2 simulation engine, the P-SMP2 simulation engine prototype is designed and implemented with the OpenMP programming language and the Parallel Studio parallel programming development environment. The service performance simulation of satellite navigation systems is developed as a case study. It achieves a 5.8x-6.3x speedup on an HP computer with 8 processor cores.
     The creative work of this dissertation lies in two aspects: i) taking the SMP2 specification as an example, this dissertation presents a systemic solution for the parallelization of desktop simulation softwares on multi-core computers and ii) by introducing the advanced ideas of the SMP2 specification and the modern software engineering into PDES, it promotes the development of PDES through software engineering approaches. Around these two aspects, the primary contributions of this dissertation can be summarized as follows:
     This dissertation proposes a parallelization approach for serial simulation softwares on multi-core computers which exploits parallelism on the model level through multi-threading and distributes model instances to cores through a four-layer load balancing model. It puts forward the P-SMP2 architecture based on the formalism of PDES and the four-layer load distributing model for P-SMP2 which can fit the multi-core computers’feature of non-dedicated very well.
     This dissertation proposes a plug-in mechanism for a parallel simulation engine to integrate multiple algorithms. The plug-in mechanism introduces the means of extension point, extension and plug-in composition on the basis of the component structure. With this mechanism, algorithms can be configured before the execution of a simulation, new algorithms can be embedded into the simulation engine, and various algorithms can be managed effectively. The plug-in mechanism can integrate various algorithms on three different levels, i.e., synchronization protocol, simulation service and data structure. Compared with other integration mechanisms, it has advantages of high flexibility, low coupling, high development efficiency and good maintainability.
     This dissertation proposes a dynamic load balancing scheme which is based on the priority scheduling of logical processes. Existing dynamic load balancing schemes usually adopt migration-based methods which migrate logical processes or model instances from one processor to another. Multi-core computers use the shared memory communication model, and they exploit concurrency through multi-threading. The proposed scheme makes full use of these features, and it needs not migrate model instances, which makes it easy to implement.
     This dissertation proposes a model-driven & component-based development approach of parallel simulation models. Existing development approaches for parallel simulation models require modelers to manually write codes according to the API of simulation engines. The proposed approach combines component-based development and model-driven development. It can shield modelers from the difference between the development of serial models and the development of parallel models, reduce the amount of hand-written codes obviously, as well as improve the portability and reusability of simulation models.
     To sum up, this dissertation gives an effective solution for the parallelization of the SMP2 simulation engine and the modification of SMP2 simulation models in the parallel environment. The dissertation has reference values both in theory and in practice to the parallelization of other desktop simulation software on multi-core computers.
引文
[1] Pedretti K, Kelly S, Levenhagen M. Summary of Multi-Core Hardware and Programming Model Investigations[R]. Albuquerque, New Mexico: Sandia National Laboratories, 2008.
    [2] Asanovic K, Bodik R, Catanzaro B C, et al. The Landscape of Parallel Computing Research: A View from Berkeley[R]. Berkeley: University of California at Berkeley, 2006.
    [3] Borkar S. Thousand Core Chips—A Technology Perspective[C]// 44th Annual Design Automation Conference. San Diego, California: ACM, 2007: 746-749.
    [4] Manferdelli J L, Govindaraju N K, Crall C. Challenges and Opportunities in Many-Core Computing[J]. Proceedings of the IEEE, 2008,96(5): 808-815.
    [5] Intel Corporation. Tera-scale Computing[EB/OL]. http://techresearch.intel.com/ articles/Tera-Scale/1421.htm. 2009-12-01/2009-12-09.
    [6] Chao L, Azimi M, Wang P, et al. Tera-Scale Computing[J]. Intel Technology Journal, 2007,11(3): 173-262.
    [7] Vangali S, Howard J, Ruhi G, et al. An 80-Tile 1.28TFLOPS Network-on-Chip in 65nm CMOS[C]// 2007 IEEE International Solid-State Clircits Conference. San Fransisco, CA: IEEE Press, 2007: 98-99.
    [8] Sutter H. The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software[J]. Dr. Dobb's Journal, 2005,30(3): 16-22.
    [9] MathWorks. Using Simulink (Version 3)[M]. Natick, MA: MathWorks, 1999.
    [10] Krahl D. The EXTEND Simulation Environment[C]// Proceedings of the 2001 Winter Simulation Conference. Piscataway, NJ: IEEE Press, 2001: 217-225.
    [11] Krahl D. EXTEND: An Interactive Simulation Tool[C]// Proceedings of the 2003 Winter Simulation Conference. New Orleans, Louisiana: IEEE Press, 2003: 188-196.
    [12]王维平,朱一凡,李群,等. Sim2000:一个柔性仿真开发环境[J].系统仿真学报, 2000,12(1): 61-64.
    [13] Rice S V, Marjanski A. The SIMSCRIPT III Programming Language For Modular Object-Oriented Simulation[C]// Proceedings of the 2005 Winter Simulation Conference. Orlando, FL: IEEE Press, 2005: 621-630.
    [14]张彩娟. STK及其在卫星系统仿真中的应用[J].无线电通信技术, 2007,33(4): 45-46,61.
    [15] Zeigler B P, Praehofer H, Kim T G. Theory of Modeling and Simulation[M]. San Diego: Academic Press, 2000.
    [16] Chang X. Network Simulations with OPNET[C]// Proceedings of the 1999 Winter Simulation Conference. Phoenix, AZ: IEEE Press, 1999: 307-314.
    [17] Fritzson P, Aronsson P, Lundvall H, et al. The OpenModelica Modeling, Simulation, and Development Environment[C]// Proceedings of the 46th Conference on Simulation and Modeling. Trondheim, Norway: Tapir Academic Press, 2005: 83-90.
    [18] Chandy K M, Misra J. Distributed Simulation: A Case Study in Design and Verification of Distributed Programs[J]. IEEE Transactions on Software Engineering, 1979,5(5): 440-452.
    [19] Jefferson D R. Virtual Time[J]. ACM Transactions on Programming Languagesand Systems, 1985,7(3): 404-425.
    [20] Fujimoto R M. Parallel and Distributed Simulation Systems[M]. New York: John Wiley &Sons, Inc, 2000.
    [21] Nicol D, Liu J. Composite Synchronization in Parallel Discrete-Event Simulation[J]. IEEE Transactions on Parallel and Distributed Systems, 2002,13(5): 433-446.
    [22] EGOS-SIM-GEN-TN-0101, SMP 2.0 Component Model[S].
    [23] EGOS-SIM-GEN-TN-0100, SMP 2.0 Metamodel[S].
    [24] EGOS-SIM-GEN-TN-0102, SMP 2.0 C++ Mapping[S].
    [25] EGOS-SIM-GEN-TN-0099, SMP 2.0 Handbook[S].
    [26]李群,王超,王维平,等. SMP2.0仿真引擎的设计与实现[J].系统仿真学报, 2008,20(24): 6622-6626.
    [27]苏年乐,侯洪涛,李群,等.基于SMP2的卫星区域可见性仿真分析[J].系统仿真学报, 2008,20(9): 2253-2256.
    [28]雷永林,张伟,赵新,等.基于SMP2的导弹攻防对抗仿真系统研究[J].系统仿真学报, 2009,21(14): 4312-4316.
    [29] Eggers S J, Emer J S, Levy H M, et al. Simultaneous Multithreading: A Platform for Next-Generation Processors[J]. IEEE Micro, 1997,17(5): 12-19.
    [30] Tullsen D M, Eggers S J, Levy H M. Simultaneous Multithreading: Maximizing On-Chip Parallelism[C]// 22nd Annual International Symposium on Computer Architecture. Santa Margherita Ligure, Italy: ACM, 1995: 392-403.
    [31] Hammond L, Nayfeh B A, Olukotun K. A Single-Chip Multiprocessor[J]. Computer, 1997,30(9): 79-85.
    [32] Olukotun K. The Case for a Single-Chip Multiprocessor[J]. ACM SIGPLAN Notices, 1996,31(9): 2-11.
    [33]胡伟武,张民选.高性能通用微处理器研发现状及发展策略[J].中国计算机学会通讯, 2005,1(1): 1-18.
    [34]鲁建壮.单芯片多处理器关键技术的研究与实现[D].长沙:国防科学技术大学, 2005.
    [35] Marr D T, Binns F, Hill D L, et al. Hyper-Threading Technology Architecture and Microarchitecture[J]. Intel Technology Journal, 2002,6(1): 4-15.
    [36]黄国睿,张平,魏广博.多核处理器的关键技术及其发展趋势[J].计算机工程与设计, 2009,30(10): 2414-2418.
    [37] Microsoft Corporation. The Manycore Shift: Microsoft Parallel Computing Initiative Ushers Computing into the Next Era[Z]. Microsoft, 2007.
    [38] Pham D, Asano S, Bolliger M, et al. The Design and Implementation of a First-Generation CELL Processor[C]// 2005 IEEE International Solid-State Circuits Conference. San Francisco, CA: IEEE Press, 2005: 184-185.
    [39]侯锐.多核加速串行程序技术综述[J].信息技术快报, 2006,4(6): 1-13.
    [40] UPC Consortium. UPC Language Specifications V1.2[Z]. 2005.
    [41] Allen E, Chase D, Hallett J, et al. The Fortress Language Specification[Z]. Sun Microsystems, 2008.
    [42] Reinders J. Intel Threading Building Blocks[M]. USA: O'Reilly, 2007.
    [43] Gray J. The Manycore Shift: Microsoft Makes Parallel Computing Personal[Z]. Microsoft Corporation, 2008.
    [44] Huang Z, Chen W. Revisit of View-Oriented Parallel Programming[C]// 7th IEEEInternational Symposium on Cluster Computing and Grid. Rio de Janeiro, Brazil: IEEE Press, 2007: 801-810.
    [45] Johnson G W, Jennings R. LabVIEW Graphical Programming (Fourth Edition)[M]. New York: McGraw-Hill, 2006.
    [46] Nickolls J, Buck I, Garland M, et al. Scalable Parallel Programming with CUDA[J]. ACM Queue, 2008,6(2): 40-53.
    [47]陈国良,孙广中,徐云,等.并行计算的一体化研究现状与发展趋势[J].科学通报, 2009,54(8): 1043-1049.
    [48] Kasim H, March V, Zhang R, et al. Survey on Parallel Programming Model[C]// IFIP International Conference on Network and Parallel Computing. Shanghai: Springer-Verlag, 2008: 266-275.
    [49]乔海泉.并行仿真引擎及其相关技术研究[D].长沙:国防科学技术大学, 2006.
    [50] Fujimoto R M. Parallel and Distributed Simulation[C]// Proceedings of the 1999 Winter Simulation Conference. Phoenix, AZ: ACM, 1999: 122-131.
    [51]周喜明,吴悦,杨洪斌.时间偏差的并行离散事件模拟研究综述[J].计算机应用研究, 2004,21(11): 11-13.
    [52]赵会平.并行仿真技术及其在冷连轧动态仿真中的应用研究[D].沈阳:东北大学, 2003.
    [53]王学慧.并行与分布式仿真系统中的时间管理技术研究[D].长沙:国防科学技术大学, 2006.
    [54] Glazer D W, Trapper C. On Process Migration and Load Balancing in Time Warp[J]. Transactions on Parallel and Distributed Systems, 1993,4(3): 318-327.
    [55] Wilson L F, Nicol D M. Automated Load Balancing in SPEEDES[C]// Proceedings of the 1995 Winter Simulation Conference. Arlington, VA: IEEE Press, 1995: 590-596.
    [56] Gan B P, Low Y H, Jain S, et al. Load Balancing for Conservative Simulation on Shared Memory Multiprocessor Systems[C]// Proceedings of the 14th Workshop on Parallel and Distributed Simulation. Bologna, Italy: IEEE Press, 2000: 139-146.
    [57]陈进军,吴悦,杨洪斌.基于时间偏差的并行逻辑模拟的动态负载平衡[J].计算机工程与设计, 2005,26(6): 1463-1465.
    [58] Tay S C, Teo Y M, Ayani R. Performance Analysis of Time Warp Simulation with Cascading Rollbacks[C]// Proceedings of the 12th Workshop on Parallel and Distributed Simulation. Banff, Alberta, Canada: IEEE Press, 1998: 30-37.
    [59] Lim C C, Low Y H, Gan B P, et al. Performance Prediction Tools for Parallel Discrete-Event Simulation[C]// Proceedings of the 13th Workshop on Parallel and Distributed Simulation. Atalanta, Georgia: IEEE Press, 1999: 148-155.
    [60]胡四泉.并行和分布式仿真的建模和性能分析研究[D].北京:中国科学院软件研究所, 2003.
    [61] Rizvi S S, Elleithy K M, Riasat A. A New Mathematical Model for Optimizing the Performance of Parallel and Discrete Event Simulation Systems[C]// Proceedings of the 2008 Spring Simulation Multiconference. Ottawa, Canada: IEEE Press, 2008.
    [62] Balakrishnan V, Radhakrishnan R, Rao D M, et al. A Performance and Scalability Analysis Framework for Parallel Discrete Event Simulators[J]. SimulationPractice and Theory, 2001,8(8): 529-553.
    [63] Jefferson D. Virtual Time II: The Cancelback Protocol for Storage Management in Distributed Simulation [C]// 9th Annual ACM Symposium on Principles of Distributed Computation. Quebec City, Canada: ACM, 1990: 75-90.
    [64] Das S R, Fujimoto R M. A Performance Study of the Cancelback Protocol for Time Warp[C]// Proceedings of the 7th Workshop on Parallel and Distributed Simulation. San Diego, California: IEEE Press, 1993: 135-142.
    [65] Lin Y-B, Preiss B R. Optimal Memory Management for Time Warp Parallel Simulation[J]. ACM Transactions on Modeling and Computer Simulation, 1991,1(4): 283-307.
    [66] Chetlul M, Abu-Ghazaleh N, Radhakrishnan R, et al. Optimizing Communication in Time-Warp Simulators[C]// Proceedings of the12th Workshop on Parallel and Distributed Simulation. Banff, Alberta, Canada: IEEE Press, 1998: 64-71.
    [67] Pasquini R, Rego V. Optimistic Parallel Simulation over a Network of Workstations[C]// Proceedings of the 1999 Winter Simulation Conference. Phoenix, AZ: ACM, 1999: 1610-1617.
    [68] Damani O P, Wang Y-M, Garg V K. Optimistic Distributed Simulation Based on Transitive Dependency[C]// Proceedings of the 11th Workshop on Parallel and Distributed Simulation. Lockenhaus, Austria: IEEE Press, 1997: 90-97.
    [69] Tropper C. Parallel Discrete Event Simulation-Applications[J]. Journal of Parallel and Distributed Computing, 2002,62(3): 327-335.
    [70] Yaun G R. Efficient Large-Scale Computer And Network Models Using Optimistic Parallel Simulation[D]. Troy, New York: Rensselaer Polytechnic Institute, 2005.
    [71] Fujimoto R, Hunter M, Sirichoke J, et al. Ad Hoc Distributed Simulations[C]// Proceedings of the 21st International Workshop on Principles of Advanced and Distributed Simulation. San Diego, California: IEEE Press, 2007: 15-24.
    [72] Onggo B S S. Parallel Discrete-Event Simulation of Population Dynamics[C]// Proceedings of the 2008 Winter Simulation Conference. Miami, FL: IEEE Press, 2008: 1047-1054.
    [73] Fujimoto R, Perumalla K S, Riley G F. Network Simulation[M]. San Rafaelica: Morgan & Claypool, 2007.
    [74] Low Y-H, Lim C-C, Cai W, et al. Survey of Languages and Runtime Libraries for Parallel Discrete-Event Simulation[J]. Simulation, 1999,72(3): 170-186.
    [75] Steinman J S, Hardy D R. Evolution of the Standard Simulation Architecture[C]// 2004 Spring Simulation Interoperability Workshop. Paper ID: 04S-SIW-100, 2004.
    [76] Steinman J S, Park J, Walter B W, et al. A Proposed Open System Architecture for Modeling and Simulation[C]// 2007 Fall Simulation Interoperability Workshop. Paper ID: 07F-SIW-044, 2007.
    [77] Steinman J S. SPEEDES: A Unified Approach to Parallel Simulation[C]// Proceedings of the 6th Workshop on Parallel and Distributed Simulation. Newport Beach, California: IEEE Press, 1992: 75-83.
    [78] Steinman J S. The WarpIV Simulation Kernel[C]// Proceedings of the 19th Workshop on Principles of Advanced and Distributed Simulation. Monterey, California: IEEE Press, 2005: 161-170.
    [79] Martin D E, McBrayer T J, Wilsey P A. WARPED:A Time Warp Simulation Kernel for Analysis and Application Development[C]// 29th Hawaii InternationalConference on System Sciences. Hawaii: IEEE Press, 1996: 383-386.
    [80] Perumalla K S.μsik - A Micro-Kernel for Parallel/Distributed Simulation Systems[C]// Proceedings of the 19th Workshop on Principles of Advanced and Distributed Simulation. Monterey, California: IEEE Press, 2005: 59-68.
    [81] Wilmarth T L. POSE: Scalable General-Purpose Parallel Discrete Event Simulation[D]. Urbana: University of Illinois at Urbana-Champaign, 2005.
    [82] Liu J, Nicol D M. DaSSF 3.1 User's Manual[R]. Hanover, NH: Dartmouth College, 2001.
    [83] Das S, Fujimoto R M, Panesar K, et al. GTW: A Time Warp System for Shared Memory Multiprocessors[C]// Proceedings of 1994 Winter Simulation Conference. Orlanda, FL: IEEE Press, 1994: 1332-1339.
    [84] Perumalla K, Fujimoto R. GTW++ -- An Object Oriented Interface in C++ to the Georgia Tech Time Warp System[R]. Atlanta, GA: Georgia Institute of Technology, 1996.
    [85] Edward M, Felipe K, Veron R. ParaSol: A Multithreaded System for Parallel Simulation Based on Mobile Threads[C]// Proceedings of 1995 Winter Simulation Conference. Arlington, VA: IEEE Press, 1995: 690-697.
    [86] Teo Y M, Tay S C, Kong S T. Structured Parallel Simulation Modeling and Programming[C]// Proceedings of the 31st Annual Simulation Symposium. Boston, MA: IEEE Press, 1998: 135-142.
    [87] Teo Y M, Ng Y K. SPaDES/Java: Object-Oriented Parallel Discrete-Event Simulation[C]// Proceedings of the 35th Annual Simulation Symposium. San Diego, CA: IEEE Press, 2002: 242-252.
    [88] Carothers C D, Bauer D, Pearce S. ROSS: A High-Performance, Low Memory, Modular Time Warp System[C]// Proceedings of the 14th Workshop on Parallel and Distributed Simulation. Bologna, Italy: IEEE Press, 2000: 53-60.
    [89] Ronngren R, Liljenstam M, Ayani R, et al. Transparent Incremental State Saving in Time Warp Parallel Discrete Event Simulation[C]// Proceedings of the 10th Workshop on Parallel and Distributed Simulation. Philadelphia, Pennsylvania: IEEE Press, 1996: 70-77.
    [90] Lowry M C, Ashenden P J, Hawick K A. Distributed High-Performance Simulation using Time Warp and Java[R]. South Australia: University of Adelaide, 2000.
    [91] Martin D E, Wilsey P A, Hoekstra R J, et al. Redesigning the WARPED Simulation Kernel for Analysis and Application Development[C]// Proceedings of the 36th Annual Simulation Symposium. Orlando, Florida: IEEE Press, 2003: 216-223.
    [92]张耀程.通用并行离散事件仿真环境及相关技术研究[D].长沙:国防科学技术大学, 2008.
    [93]刘奥.基于HPC的并行仿真支撑环境原型系统研究与实现[D].长沙:国防科学技术大学, 2005.
    [94]姚益平,张颖星.基于并行处理的分析仿真解决方案[J].系统仿真学报, 2008,20(24): 6617-6621.
    [95] Sebastiao N, Nisio N D. E-40-07, a New Standard for Simulation Model Portability and its Implementation in SIMULUS[Z]. Paris, France: European Space Agency, 2008.
    [96] Sebastiao N, Reggestad V, Verrier D. ESOC Simulators: Past, Present andFuture[Z]. Paris, France: European Space Agency, 2008.
    [97] IEEE Std 1278.1-1995 & IEEE Std 1278.1a-1998, IEEE Standard for Distributed Interactive Simulation—Application Protocols[S].
    [98] IEEE Std 1278.2-1995, IEEE Standard for Distributed Interactive Simulation—Communication Services and Profiles[S].
    [99] IEEE Std 1516-2000, IEEE Standard for Modeling and Simulation (M&S) High Level Architecture (HLA)—Framework and Rules[S].
    [100] IEEE Std 1516.1-2000, IEEE Standard for Modeling and Simulation (M&S) High Level Architecture (HLA)——Federate Interface Specification[S].
    [101] IEEE Std 1516.2-2000, IEEE Standard for Modeling and Simulation (M&S) High Level Architecture (HLA)——Object Model Template (OMT) Specification[S].
    [102] Moller B, Morse K L, Lightner M, et al. HLA Evolved– A Summary of Major Technical Improvements[C]// 2008 Fall Simulation Interoperability Workshop. Paper ID: 08F-SIW-064, 2008.
    [103] SISO-STD-003-2006, Base Object Model (BOM) Template Specification[S].
    [104] SISO-STD-003.1-2006, Guide for Base Object Model (BOM) Use and Implementation[S].
    [105] Donald J, Martonosi M. An Efficient, Practical Parallelization Methodology for Multicore Architecture Simulation[J]. IEEE Computer Architecture Letters, 2006,5(2): 14-17.
    [106] Chen J, Annavaram M, Dubois M. SlackSim: A Platform for Parallel Simulations of CMPs on CMPs[J]. ACM SIGARCH Computer Architecture News, 2009,37(2): 20-29.
    [107] Wang K, Zhang Y, Wang H. Parallelization of IBM Mambo System Simulator in Functional Modes[J]. ACM SIGOPS Operating Systems Review, 2008,42(1): 71-76.
    [108] Bohrer P, Elnozahy M, Gheith A, et al. Mambo– A Full System Simulator for the PowerPC Architecture[J]. ACM SIGMETRICS Performance Evaluation Review, 2004,31(4): 8-12.
    [109] Hahanov V, Obrizan V, Gavryushenko A, et al. Parallel Logic Simulation using Multi-Core Workstations[C]// CADSM. Polyana, Ukraine: IEEE Press, 2007: 256-257.
    [110] Akhter S, Roberts J.多核程序设计技术——通过软件多线程提升性能[M].李宝峰,富弘毅,李韬译.北京:电子工业出版社, 2007.
    [111] Gupta A, Akyildiz I F, Fujimoto R M. Performance Analysis of Time Warp with Multiple Homogeneous Processors[J]. IEEE Transactions on Software Engineering, 1991,17(10): 1013-1027.
    [112] Steinman J S. SPEEDES: A Multiple-synchronization Environment for Parallel Discrete Event Simulation[J]. International Journal in Computer Simulation, 1992,2(3): 251-286.
    [113] Perumalla K S. Techniques for Efficient Parallel Simulation and their Application to Large-scale Telecommunication Network Models[D]. Atlanta: Georgia Institute of Technology, 1999.
    [114] Reiher P L, Jefferson D. Virtual Time Based Dynamic Load Management in the Time Warp Operating System[J]. Transactions of the Society for Computer Simulation, 1990,7(2): 91-120.
    [115] Glazer D W, Trapper C. On Process Migration and Load Balancing in Time Warp[J]. IEEE Transactions on Parallel and Distributed Systems, 1993,4(3):318-327.
    [116] Schlagenhaft R, Ruhwandl M, Sporrer C, et al. Dynamic Load Balancing of a Multi-Cluster Simulator on a Network of Workstations[C]// Proceedings of the 9th Workshop on Parallel and Distributed Simulation. Lake Placid, New York: IEEE Press, 1995: 175-180.
    [117] Wilson L F, Shen W. Experiments in Load Migration and Dynamic Load Balancing in SPEEDES[C]// Proceedings of the 1998 Winter Simulation Conference. Washington, DC: IEEE Press, 1998: 483-490.
    [118] Peschlow P, Honecker T, Martini P. A Flexible Dynamic Partitioning Algorithm for Optimistic Distributed Simulation[C]// 21st International Workshop on Principles of Advanced and Distributed Simulation. San Diego, California: IEEE Press, 2007: 219-228.
    [119] Choe M, Tropper C. On Learning Algorithms and Balancing Loads in Time Warp[C]// Proceedings of the 13th Workshop on Parallel and Distributed Simulation. Atlanta, GA: IEEE Press, 1999: 101-108.
    [120] Ronngren R, Ayani R. A Comparative Study of Parallel and Sequential Priority Queue Algorithms[J]. ACM Transactions on Modeling and Computer Simulation, 1997,7(2): 157-209.
    [121] Whitehead K. Component-based Development[M]. Boston: Addison Wesley, 2001.
    [122] Eclipse. Eclipse Home[EB/OL]. www.eclipse.org. 2009-12-07/2009-12-10.
    [123] Himmelspach J, Uhrmacher A M. Plug'n Simulate[C]// Proceedings of the 40th Annual Simulation Symposium. Norfolk, Virginia: IEEE Press, 2007: 137-143.
    [124] Czogalla R, Knaak N, Page B. Simulating the Eclipse Way: A Generic Experimentation Environment based on the Eclipse Platform[C]// Proceedings of the 20th European Conference on Modelling and Simulation. Bonn, Germany: 2006.
    [125] Nutaro J. On Constructing Optimistic Simulation Algorithms for the Discrete Event System Specification[J]. ACM Transactions on Modeling and Computer Simulation, 2008,19(1): 1-21.
    [126] Samadi B. Distributed Simulation: Algorithms and Performance Analysis[D]. Los Angeles: University of California, 1985.
    [127] Mattern F. Efficient Algorithms for Distributed Snapshots and Global Virtual Time Approximation[J]. Journal of Parallel and Distributed Computing, 1993,18(4): 423-434.
    [128] Bryant R E. Simulation of Packet Communications Architecture Computer System[R]. Cambridge, Massachusetts: Massachusetts Institute of Technology, 1977.
    [129] Chandy K M, Misra J. Asynchronous Distributed Simulation via a Sequence of Parallel Computations[J]. Communications of the ACM, 1981,24(11): 198-205.
    [130] Gan B P, Turner S J. An Asynchronous Protocol for Virtual Factory Simulation on Shared Memory Multiprocessor System[J]. Journal of Operational Research Society, 2000,51(4): 413-422.
    [131] Chi B Y, Jiang H. The Role of Partitioning in Time Warp Simulation[C]// Proceedings of the IEEE 1997 National Aerospace and Electronics Conference. Dayton, Ohion: IEEE Press, 1997: 222-230.
    [132] Cloutier J, Cerny E, Guertin F. Model Partitioning and the Performance of Distributed Timewarp Simulation of Logic Circuits[J]. Simulation Practice andTheory, 1997,5(1): 83-99.
    [133] Subramanian S. Study of a Multilevel Approach to Partitioning for Parallel Logic Simulation[C]// Proceedings of the 14th International Parallel and Distributed Processing Symposium. Cancun, Mexico: IEEE Press, 2000: 833-838.
    [134] Karypis G. METIS - Serial Graph Partitioning and Fill-reducing Matrix Ordering[EB/OL]. http://glaros.dtc.umn.edu/gkhome/metis/metis/overview. 2008-4-8/2009-12-14.
    [135] Karypis G, Kumar V. A Fast and High Quality Multilevel Scheme for Partitioning Irregular Graphs[J]. SIAM Journal on Scientific Computing, 1998,20(1): 359-392.
    [136] Karypis G, Kumar V. Multilevel k-way Partitioning Scheme for Irregular Graphs[J]. Journal of Parallel And Distributed Computing, 1998,48(1): 96-129.
    [137]严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社, 1997.
    [138] Buss A H. Component-based Simulation Modeling[C]// Proceedings of the 2000 Winter Simulation Conference. Orlando, Florida: IEEE Press, 2000: 964-971.
    [139] Chen G, Szymanski B K. Component-oriented Simulation Architecture: Toward Interoperability and Interchangeability[C]// Proceedings of the 2001 Winter Simulation Conference. Piscataway, NJ: IEEE Press, 2001: 495-501.
    [140] Radeski A, Parr S. Towards a Simulation Component Model for HLA[C]// 2002 Fall Simulation Interoperability Workshop. Paper ID: 02F-SIW-079: 2002.
    [141]卿杜政,李伯虎,孙磊,等.基于组件的一体化建模仿真环境(CISE)研究[J].系统仿真学报, 2008,20(4): 900-904.
    [142]雷永林.仿真模型重用理论、方法与异构集成技术研究[D].长沙:国防科技大学, 2006.
    [143]陈超.语境驱动的仿真模型可组合性测试方法研究[D].长沙:国防科技大学, 2007.
    [144]周东祥.多层次仿真模型组合理论与集成方法研究[D].长沙:国防科技大学, 2007.
    [145] Schmidt D C. Model-Driven Engineering[J]. Computer, 2006,39(2): 25-31.
    [146] Hammond J L. Improving Productivity and Quality with Domain-Specific Modeling[J]. Embedded Systems Design Europe, 2008,April: 22-25.
    [147] Soley R, OMG Staff Strategy Group. Model Driven Architecture[R]. Object Management Group, White Paper, 2000.
    [148] Miller J, Mukerji J. Model Driven Architecture(MDA)[R]. Architecture Board ORMSC, 2001.
    [149] Kleppe A, Warmer J, Bast W.解析MDA[M].鲍志云译.北京:人民邮电出版社, 2003.
    [150] Cuadrado J S, Molina J G. Building Domain-Specific Languages for Model-Driven Development[J]. IEEE Software, 2007,24(5): 48-55.
    [151]李群.仿真模型可移植性规范及其应用[M].北京:电子工业出版社, 2009.
    [152] Sprinkle J. Model-Integrated Computing[J]. IEEE Potentials, 2004,23(1): 28-30.
    [153] Sternbeig D, Budinsky F, Paternostro M, et al. EMF: Eclipse Modeling Framework, 2nd Edition[M]. Menlo Park, California: Addison-Wesley, 2008.
    [154] Eclipse. Graphical Modeling Framework[EB/OL]. http://www.eclipse.org/ modeling/gmf. 2009-11-26/2009-12-14.
    [155]王维平,雷永林,李群.基于MDA的DEVS/SMP2变换模型研究[J].系统仿真学报, 2008,20(22): 6033-6038.
    [156]龚建兴,张新宇,黄健,等.利用XMI实现基于BOM的仿真模型组件的交换[J].国防科技大学学报, 2006,28(6): 120-123.
    [157] FreeMarker. FreeMarker: Java Template Engine Library[EB/OL]. http://freemarker.org/index.html. 2009-12-08/2009-12-10.
    [158] Dagum L, Menon R. OpenMP: An Intustry Standard API for Shared-Memory Programming[J]. IEEE Computational Science and Engineering, 1998,5(1): 46-55.
    [159]多核系列教材编写组.多核程序设计[M].北京:清华大学出版社, 2007.
    [160] OpenMP Application Program Interface Version 3.0[Z]. OpenMP Architecture Review Board, 2008.
    [161] Ayguade E, Copty N, Duran A, et al. The Design of OpenMP Tasks[J]. IEEE Transactions on Parallel and Distributed Systems, 2009,20(3): 404-418.
    [162] Gamma E, Helm R, Johnson R, et al. Design Patterns: Elements of Reusable Object-Oriented Software[M]. Addison-Wesley, 1995.
    [163] Kaplan E D. GPS原理与应用[M].邱致和,王万义译.北京:电子工业出版社, 2002.
    [164] GSSF Team. Galileo System Simulation Facility– Algorithms and Models[R]. Darmstadt, Germany: VEGA Group, 2004.
    [165] Dennis Roddy.卫星通信(第三版)[M].张更新,刘爱军,张杭,等译.北京:人民邮电出版社, 2002.
    [166] Newman C. SQLite[M]. Indianapolis, IN: Sams Publishing, 2004.
    [167]苏年乐,王晓双,李群,等.基于Eclipse平台的导航仿真系统集成[J].计算机应用, 2008,28(3): 779-781.
    [168] Ewald R, Himmelspach J, Uhrmacher A M. An Algorithm Selection Approach for Simulation Systems[C]// 22nd Workshop on Principles of Advanced and Distributed Simulation. Roma, Italy: IEEE Press, 2008: 91-98.
    [169] Lynch E W, Riley G F. Hardware Supported Time Synchronization in Multi-Core Architectures[C]// 23rd Workshop on Principles of Advanced and Distributed Simulation. Lake Placid, New York: IEEE Press, 2009: 88-94.
    [170]吴恩华.图形处理器用于通用计算的技术、现状及其挑战术[J].软件学报, 2004,15(10): 1493-1504.
    [171] Perumalla K S, Aaby B G. Data Parallel Execution Challenges and Runtime Performance of Agent Simulations on GPUs[C]// Proceedings of the 2008 Spring Simulation Multiconference. Ottawa, Canada: IEEE Press, 2008: 116-123.
    [172] Wittman R L, Harrison C T. OneSAF: A Product Line Approach to Simulation Development[C]. Proceedings of the European Simulation Interoperability Workshop, 2001.
    [173] Verdesca M, Munro J, Hoffman M. Using Graphics Processor Units to Accelerate OneSAF: A Case Study in Technology Transition[J]. Journal of Defense Modeling and Simulation, 2006,3(3): 177-187.
    [174] Courty N, Musse S R. Simulation of Large Crowds in Emergency Situations Including Gaseous Phenomena[C]// Proceedings of the Computer Graphics International, New York: IEEE Press, 2005: 206-212.

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700