Разделение данных и асинхронная обработка для повышения производительности встроенного программного обеспечения на многокодных процессорах
Ключевые слова:
повышение производительности встроенного программного обеспечения, многоядерные процессы, многопоточность, разделение данных, асинхронная обработкаАннотация
Сегодня обеспечение информационной безопасности крайне неизбежно и актуально. Мы также наблюдаем активное развитие встраиваемых IoT-систем. В результате основное внимание уделяется исследованиям по обеспечению информационной безопасности встроенного программного обеспечения, особенно в задаче повышения скорости процесса шифрования. Однако исследованиям по оптимизации встроенного программного обеспечения на многоядерных процессорах для обеспечения информационной безопасности и повышения производительности встроенного программного обеспечения не уделялось особого внимания. В статье предлагается и развивается метод повышения производительности встроенного программного обеспечения на многоядерных процессорах на основе разделения данных и асинхронной обработки в задаче шифрования данных. Данные используются глобально для извлечения любыми потоками. Данные разбиты на разные разделы, также программа устанавливается по многопоточной модели. Каждый поток обрабатывает раздел разделенных данных. Размер каждой части данных пропорционален скорости обработки и размеру кэша ядра многоядерного процессора. Потоки работают параллельно и не нуждаются в синхронизации, но необходимо совместно использовать глобальную общую переменную для проверки состояния выполнения системы. Наше исследование встроенного программного обеспечения основано на безопасности данных, поэтому мы протестировали и оценили метод с несколькими блочными шифрованиями, такими как AES, DES и т. д. На Raspberry Pi3. В нашем результате средний показатель повышения производительности составил около 59,09%. В частности, наши экспериментальные результаты с алгоритмами шифрования показали: AES - 51,78%, DES - 57,59%, Triple DES - 66,55%.
Литература
2. Lim, G. and Suh, S.-B. User-Level Memory Scheduler for Optimizing Application Performance in NUMA-Based Multicore Systems. IEEE 5th International Conference on Software Engineering and Service Science. 2014. 10.1109/ICSESS.2014.6933553.
3. Wei, X., Ma, L., Zhang, H. & Liu, Y. Multi-core, Multi-thread based Optimization Algorithm for Large-scale Traveling Salesman Problem. Alexandria Engineering Journal 60, 2021, pp. 189-197.
4. Khalib, Z.I.A., Ng, H.Q. Elshaikh, M., and Othman, M.N., Optimizing Speedup on Multicore Platform with OpenMP Schedule Clause and Chunk Size, IOP Conference Series. 2020. Materials Science and Engineering 767, 012037.
5. Lingampalli, S., Mirza, F., Raman, T. and Agonafer, D. Performance Optimization of Multi-core Processors using Core Hopping - Thermal and Structural. Proc. of the 28th Annual IEEE Semiconductor Thermal Measurement and Management Symposium (SEMI-THERM). 2012. pp. 112-117.
6. Gunther, N.J., Subramanyam, S., and Parvu, S. A Methodology for Optimizing Multithreaded System Scalability on Multi-cores. Programming Multi-core and Many-core Computing Systems. 2011. CoRR abs/1105.4301.
7. Rengasamy, V., Fu, T.-Y., Lee, W.-C., and Madduri, K. Optimizing Word2Vec Performance on Multicore Systems. Proceedings of the Seventh Workshop on Irregular Applications. 2017. Architectures and Algorithms. Association for Computing Machinery. New York. NY. USA.
8. Wipe, E., Miller, J.E., Choi, I., Yeung, D. Amarasinghe, S.P., and Agarwal, A. Multicore Performance Optimization Using Partner Cores. 2011. in Michael McCool & Mendel Rosenblum. 'HotPar'. USENIX Association.
9. Zhou, Y., He, F., Hou, N., and Qiu, Y. Parallel Ant Colony Optimization on Multi-core SIMD CPUs. Future Generation Computer Systems 79. 2018. pp. 473-487.
10. Emmi, M., Lal, A., and Qadeer, S. Asynchronous Programs with Prioritized Task-buffers. SIGSOFT FSE. 2012. 48.
11. Emmi, M., Ganty, P., Majumdar, R., Rosa-Velardo, F. Analysis of Asynchronous Programs with Event-Based Synchronization ESOP 2015: Programming Languages and Systems. 2015. pp. 535-559.
12. Kornaros, G. Multi-Core Embedded Systems. CRC Press. 2010. Inc., USA.
13. Bodake, V. and Gawande, R.M. A Review on An Encryption Engines For Multi Core Processor Systems. IOSR Journal of Electronics and Communication Engineering (IOSR-JECE). e-ISSN: 2278-2834. p-ISSN: 2278-8735. pp. 38-46.
14. Polychroniou, O. and Ross, K.A. A Comprehensive Study of Main-memory Partitioning and its Application to Large-scale Comparison- and Radix-sort. Print SIGMOD. 2014. pp. 755–766.
15. Schuhknecht, F.M., Khanchandani, P., and Dittrich, J. On the Surprising Difficulty of Simple Things: the case of radix partitioning. VLDB. 8(9): 2015. pp. 934–937.
16. Wu, L., Barker, R.J., Kim, M.A., and Ross, K.A. Navigating Big Data with High-throughput, Energy-efficient Data Partitioning. Print SIGARCH. volume 41. 2013. pp. 249–260.
17. Wang, Z., He, B., and Zhang, W. A Study of Data Partitioning on OpenCL-based FPGAs. In FPL. 2015. pp. 1–8.
18. Ke, Q., Prabhakaran, V., Xie, Y., Yu, Y., Wu, J., Yang, J. Optimizing Data Partitioning for Data-Parallel Computing. Hot Topics in Operating Systems (HotOS XIII) | May 2011. Published by USENIX.
19. Cieslewicz, J. and Ross, K. Data Partitioning on Chip Multiprocessors. DaMoN '08: Proceedings of the 4th international workshop on Data management on new hardware June 2008. pp. 25–34. DOI: 10.1145/1457150.1457156.
20. Zhong, Z.et al. Data Partitioning on Heterogeneous Multicore and Multi-gpu Systems Using Functional Performance Models of Data-parallel Applications in Cluster. 2012. pp. 191–199.
21. Kara, K., Giceva, J., and Alonso, G. FPGA-based Data Partitioning. Proceedings of the 2017 ACM International Conference on Management of Data. May 2017. pp. 433–445. DOI: 10.1145/3035918.3035946.
22. Zhong, Z., Rychkov, V., and Lastovetsky, V. Data Partitioning on Multicore and Multi-GPU Platforms Using Functional Performance Models. IEEE Transactions on Computers. Volume 64. Issue 9. Sept. 1 2015. Doi: 10.1109/TC.2014.2375202.
23. Alanazi, H.O., Zaidan, B.B., Zaidan, A.A., Jalab, H.A., Shabbir, M., and Al-Nabhani, Y. New Comparative Study Between DES, 3DES and AES. J. of computing. volume 2. issue 3. March 2010. ISSN 2151-9617.
24. Farooq, U. and Faisal Aslam, M. Comparative Analysis of Different AES Implementation Techniques for Efficient Resource Usage and better Performance of an FPGA. Journal of King Saud University - Computer and Information Sciences. Volume 29. Issue 3. July 2017. pp. 295-302.
25. Sen, K. and Viswanathan, M. Model Checking Multithreaded Programs with Asynchronous Atomic Methods. In CAV. 2006. pp. 300–314.
26. Kidd, N., Jagannathan, S., and Vitek, J. One Stack to Run Them all: Reducing Concurrent Analysis to Sequential Analysis under Priority Scheduling. In SPIN ’10: Proc. of the 17th International Workshop on Model Checking Software. volume 6349 of LNCS, Springer. 2010. pp. 245–261.
27. Lian, X., Huang, Y., Li, Y., and Liu, J. Asynchronous Parallel Stochastic Gradient for Nonconvex Optimization. NIPS 2015: pp. 2737-2745.
28. Alba, E. and Troya, J.M. Analyzing Synchronous and Asynchronous Parallel Distributed Genetic Algorithms, Future Generation Computer Systems. Volume 17. Issue 4. January 2001. pp. 451–465.
Опубликован
Как цитировать
Раздел
Copyright (c) Minh Quang Le
Это произведение доступно по лицензии Creative Commons «Attribution» («Атрибуция») 4.0 Всемирная.
Авторы, которые публикуются в данном журнале, соглашаются со следующими условиями: Авторы сохраняют за собой авторские права на работу и передают журналу право первой публикации вместе с работой, одновременно лицензируя ее на условиях Creative Commons Attribution License, которая позволяет другим распространять данную работу с обязательным указанием авторства данной работы и ссылкой на оригинальную публикацию в этом журнале. Авторы сохраняют право заключать отдельные, дополнительные контрактные соглашения на неэксклюзивное распространение версии работы, опубликованной этим журналом (например, разместить ее в университетском хранилище или опубликовать ее в книге), со ссылкой на оригинальную публикацию в этом журнале. Авторам разрешается размещать их работу в сети Интернет (например, в университетском хранилище или на их персональном веб-сайте) до и во время процесса рассмотрения ее данным журналом, так как это может привести к продуктивному обсуждению, а также к большему количеству ссылок на данную опубликованную работу (Смотри The Effect of Open Access).