Preview

Труды Института системного программирования РАН

Расширенный поиск

Исследование влияния использования параллелизма на производительность движка косимуляции в проекте INTO-CPS

https://doi.org/10.15514/ISPRAS-2016-28(2)-9

Аннотация

Кибер-физические системы часто включают в себя управляющие кибер-элементы, контролирующие физические объекты и взаимодействующие с ними. Анализ процессов в таких системах является сложной задачей из-за междисциплинарного характера этой области исследований. Моделирование и симуляция поведения составляющих систему компонентов, так называемая косимуляция, позволяет выявлять возможность нежелательного поведения. Интерфейс FMI (Functional Mock-up Interface) описывает стандартный интерфейс взаимодействия с составляющими компонентами, участвующими в такой косимуляции, и может поддерживать различные формализмы. Статья описывает исследование того, насколько различные возможности параллелизма в Scala (акторы, параллельные коллекции и футуры) увеличивают производительность существующего движка Co-Simulation Orchestration Engine, выполняющего косимуляцию. Исследование сопровождалось рефакторингом имеющегося кода с тем, чтобы реализация могла использовать преимущества параллельных возможностей. Для того, чтобы сравнить различные варианты реализации выполнялось по четыре тестовых косимуляции. В тестовых косимуляциях сравнивались параллельные реализации и исходная последовательная реализация, верифицировались результаты моделирования и получались оценки времени моделирования. Анализ показал, что в некоторых случаях параллелизм может использоваться для повышения производительности, но для того, чтобы достичь оптимальной производительности, необходимо комбинировать различные стратегии. На основе полученных результатов предлагаются будущие направления исследований.

Об авторах

С. Тул
Орхусский университет, Технический факультет
Дания


П. Г. Ларсен
Орхусский университет, Технический факультет
Дания


Список литературы

1. D. Broman, C. Brooks, L. Greenberg, E. Lee, M. Masin, S. Tripakis, and M. Wetter, “Determinate composition of fmus for co-simulation,” in 2013 Proceedings of the International Conference on Embedded Software, Sept 2013, pp. 1–12. ISBN: 978-1-4799-1443-2.

2. J. Bastian, C. Clauss, S. Wolf, and P. Schneider, “Master for Co-Simulation Using FMI,” in Proceedings of the 8th International Modelica Conference, 2011, pp. 115-120. DOI: 10.3384/ecp11063115.

3. FMI development group, “Functional mock-up interface for model exchange and co-simulation 2.0,” Modelica, Tech. Rep. Version 2.0, July 2014.

4. J. Fitzgerald, C. Gamble, P. G. Larsen, K. Pierce, and J. Woodcock, “Cyber-Physical Systems design: Formal Foundations, Methods and Integrated Tool Chains,” in FormaliSE: FME Workshop on Formal Methods in Software Engineering. Florence, Italy: ICSE 2015, May 2015, pp. 40-46. DOI: 10.1109/FormaliSE.2015.14.

5. D. Geer, “Chip makers turn to multicore processors,” Computer, vol. 38, no. 5, pp. 11–13, May 2005. DOI: 10.1109/MC.2005.160.

6. Typesafe Inc, “Akka scala documentation,” http://akka.io/docs/, Akka, September 2015, Release 2.4.0.

7. P. Haller, A. Prokopec, H. Miller, V. Klang, R. Kuhn, and V. Jovanovic, “Futures and promises - scala documentation,” http://docs.scala-lang.org/overviews/core/futures.html, (Visited on 05/03/2016).

8. A. Prokopec and H. Miller, “Parallel collections – overview - scala documentation,” http://docs.scala-lang.org/overviews/parallel-collections/overview.html, 2015, (Visited on 05/03/2015).

9. H. C. Baker, Jr. and C. Hewitt, “The incremental garbage collection of processes,” in Proceedings of the 1977 Symposium on Artificial Intelligence and Programming Languages. New York, NY, USA: ACM, 1977, pp. 55–59. [Online]. Available: http://doi.acm.org/10.1145/800228.806932. DOI: 10.1145/800228.806932.

10. C. Hewitt, P. Bishop, and R. Steiger, “A universal modular actor formalism for artificial intelligence,” in Proceedings of the 3rd International Joint Conference on Artificial Intelligence, ser. IJCAI’73. San Francisco, CA, USA: Morgan Kaufmann Publishers Inc., 1973, pp. 235–245. [Online]. Available: http://worrydream.com/refs/Hewitt-ActorModel.pdf.

11. G. A. Agha and W. Kim, “Actors: A unifying model for parallel and distributed computing,” Journal of Systems Architecture, vol. 45, no. 15, pp. 1263 – 1277, 1999. [Online].Available: http://www.sciencedirect.com/science/article/pii/S1383762198000678.

12. C. Thule, “Investigating Concurrency in the Co-Simulation Orchestration Engine for INTO-CPS,” Department of Engineering, Aarhus University, Finlandsgade 22, Aarhus N, 8200, Tech. Rep. ECE-TR-26, May 2016. [Online]. Available: http://ojs.statsbiblioteket.dk/index.php/ece/issue/archive.

13. N. Amalio, A. Cavalcanti, C. König, and J. Woodcock, “Foundations for FMI Co-Modelling,” INTO-CPS Deliverable, D2.1d, Tech. Rep., December 2015.

14. T. Hoare, Communicating Sequential Processes. Englewood Cliffs, New Jersey 07632: Prentice-Hall International, 1985.

15. T. Gibson-Robinson, P. Armstrong, A. Boulgakov, and A. Roscoe, “FDR3 — A Modern Refinement Checker for CSP,” in Tools and Algorithms for the Construction and Analysis of Systems, ser. LNCS, vol. 8413, 2014, pp. 187–201.

16. J. Fitzgerald, C. Gamble, R. Payne, P. G. Larsen, S. Basagiannis, and A. E. D. Mady, “Collaborative Model-based Systems Engineering for Cyber-Physical Systems - a Case Study in Building Automation”. INCOSE. Edinburgh, Scotland. July 2016.

17. Microsoft, “Acquiring high-resolution time stamps (windows),” https://msdn.microsoft.com/en-us/library/dn553408(v=vs.85).aspx, 2015, (Visited on 05/03/2016).

18. N. Wirth, “A plea for lean software,” Computer, vol. 28, no. 2, pp. 64–68, Feb 1995.

19. M. Reiser, The Oberon System: User Guide and Programmer’s Manual. New York, NY, USA: ACM, 1991.

20. H. Sutter, “A fundamental turn toward concurrency in software,” Dr. Dobb’s Journal, vol. 30, no. 3, pp. 16–23, 2005.

21. K. E. Harper, J. Zheng, and S. Mahate, “Experiences in initiating concurrency software research efforts,” in Proceedings of the 32Nd ACM/IEEE International Conference on Software Engineering – Volume 2, ser. ICSE ’10. New York, NY, USA: ACM, 2010, pp. 139–148. [Online]. Available: http://doi.acm.org/10.1145/1810295.1810316. DOI: 10.1145/1810295.1810316.

22. B. Agrawal, T. Sherwood, C. Shin, and S. Yoon, “Addressing the challenges of synchronization/communication and debugging support in hardware/software cosimulation,” in VLSI Design, 2008. VLSID 2008. 21st International Conference on VLSI Design (VLSID 2008), Jan 2008, pp. 354–361.

23. W. Bishop and W. Loucks, “A heterogeneous environment for hardware/ software cosimulation,” in Simulation Symposium, 1997. Proceedings., 30th Annual, Apr 1997, pp. 14–22.

24. D. Kim, Y. Yi, and S. Ha, “Trace-driven hw/sw cosimulation using virtual synchronization technique,” in Design Automation Conference, 2005. Proceedings. 42nd, June 2005, pp. 345–348.

25. D. Becker, R. K. Singh, and S. G. Tell, “An engineering environment for hardware/software co-simulation,” in In 29th ACM/IEEE Design Automation Conference, 1992, pp. 129–134.

26. T. Nipkow, M. Wenzel, and L. C. Paulson, Isabelle/HOL: A Proof Assistant for Higher-order Logic. Berlin, Heidelberg: Springer-Verlag, 2002.

27. Github, “Electron – Build cross platform desktop apps with JavaScript, HTML, and CSS”, version 1.2.2, http://electron.atom.io/, (Visited on 10/06/2016).


Рецензия

Для цитирования:


Тул С., Ларсен П.Г. Исследование влияния использования параллелизма на производительность движка косимуляции в проекте INTO-CPS. Труды Института системного программирования РАН. 2016;28(2):139-156. https://doi.org/10.15514/ISPRAS-2016-28(2)-9

For citation:


Thule C., Larsen P.G. Investigating Concurrency in the Co-Simulation Orchestration Engine for INTO-CPS. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2016;28(2):139-156. https://doi.org/10.15514/ISPRAS-2016-28(2)-9



Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)