Tối ưu hóa tổ kiến song song cấp cao với các bộ khung thuật toán

International Journal of Computer & Information Sciences - Tập 49 Số 6 - Trang 776-801 - 2021
de Melo Menezes, Breno A.1, Herrmann, Nina1, Kuchen, Herbert1, Buarque de Lima Neto, Fernando2
1University of Münster, Münster, Germany
2University of Pernambuco, Recife, Brazil

Tóm tắt

Các thực hiện song song của các thuật toán trí tuệ tập hợp như tối ưu hóa tổ kiến (ACO) đã được sử dụng rộng rãi để rút ngắn thời gian thực thi khi giải quyết các bài toán tối ưu hóa phức tạp. Khi hướng đến môi trường GPU, việc phát triển các phiên bản song song hiệu quả của các thuật toán này bằng cách sử dụng CUDA có thể là một nhiệm vụ khó khăn và dễ xảy ra lỗi ngay cả với những lập trình viên có kinh nghiệm. Để khắc phục vấn đề này, mô hình lập trình song song của các Bộ khung Thuật toán đơn giản hóa các chương trình song song bằng cách trừu tượng hóa các đặc điểm cấp thấp. Điều này được thực hiện bằng cách định nghĩa các mẫu lập trình chung (ví dụ: map, fold và zip) mà sau đó sẽ được chuyển đổi thành mã song song hiệu quả. Trong bài báo này, chúng tôi cho thấy cách các bộ khung thuật toán được hình thành trong ngôn ngữ miền đặc thù Musket có thể giải quyết sự phát triển của một thực hiện song song của ACO và cách điều đó so với một thực hiện cấp thấp. Kết quả thực nghiệm của chúng tôi cho thấy Musket thích hợp cho việc phát triển ACO. Ngoài việc giúp lập trình viên dễ dàng xử lý các khía cạnh song song, Musket còn tạo ra mã hiệu suất cao với thời gian thực thi tương tự khi so sánh với các thực hiện cấp thấp.

Từ khóa

#tối ưu hóa tổ kiến #thuật toán trí tuệ tập hợp #lập trình song song #CUDA #bộ khung thuật toán #ngôn ngữ miền đặc thù #Musket

Tài liệu tham khảo

Talbi, E-G.: Metaheuristics. Wiley, Hoboken, NJ (2009) Kallioras, N.A., Kepaptsoglou, K., Lagaros, N.D.: Transit stop inspection and maintenance scheduling: A GPU accelerated metaheuristics approach. Transp. Res. Part C Emerg. Technol., 55, 246–260 (2015) Dorigo, M.: Optimization, Learning and Natural Algorithms[in Italian]. PhD thesis, Dipartimentodi Elettronica, Politecnico di Milano, Milan (1992) Cole, M.I.: Algorithmic Skeletons: Structured Management of Parallel Computation. Pitman London (1989) citation_journal_title=Proc. ACM Symp. Appl. Comput. Part; citation_title=Musket: a domain-specific language for high-level parallel programming with algorithmic skeletons; citation_author=C Rieger, F Wrede, H Kuchen; citation_volume=F147772; citation_publication_date=2019; citation_pages=1534-1543; citation_id=CR5 Wrede, F., Rieger, C., Kuchen, H.: Generation of high-performance code based on a domain-specific language for algorithmic skeletons. J. Supercomput. 0123456789 (2019) citation_journal_title=IEEE Comput. Intell. Mag.; citation_title=Ant colony optimization; citation_author=M Dorigo, M Birattari, T Stutzle; citation_volume=1; citation_issue=4; citation_publication_date=2006; citation_pages=28-39; citation_doi=10.1109/MCI.2006.329691; citation_id=CR7 Dorigo, M., Caro, G.D.: Ant colony optimization: a new meta-heuristic (1999) citation_journal_title=J. Oper. Res. Soc.; citation_title=Ant colony optimization and local search for bin packing and cutting stock problems; citation_author=J Levine, F Ducatelle; citation_volume=55; citation_issue=7; citation_publication_date=2004; citation_pages=705-716; citation_doi=10.1057/palgrave.jors.2601771; citation_id=CR9 Lee, S.Y., Bau, Y.-T.: An ant colony optimization approach for solving the Multidimensional Knapsack Problem. In: 2012 International Conference on Computer & Information Science (ICCIS), pp. 441–446. IEEE (2012) citation_journal_title=Int. J. Parallel Emergent Distrib. Syst.; citation_title=Accelerating ant colony optimisation for the travelling salesman problem on the GPU; citation_author=A Uchida, Y Ito, K Nakano; citation_volume=29; citation_issue=4; citation_publication_date=2014; citation_pages=401-420; citation_doi=10.1080/17445760.2013.842568; citation_id=CR11 citation_journal_title=J. Parallel Distrib. Comput.; citation_title=Enhancing data parallelism for ant colony optimization on GPUs; citation_author=JM Cecilia, JM García, A Nisbet, M Amos, M Ujaldón; citation_volume=73; citation_issue=1; citation_publication_date=2013; citation_pages=42-51; citation_doi=10.1016/j.jpdc.2012.01.002; citation_id=CR12 Menezes, B.A., Kuchen, H., Neto, H.A.A., de Lima Neto, F.B.: Parallelization strategies for GPU-based ant colony optimization solving the traveling salesman problem. In: 2019 IEEE Congress on Evolutionary Computation, CEC 2019 - Proceedings, pp. 3094–3101 (2019) Menezes, B.A.D.M., Pessoa, L.F.D.A., Kuchen, H., Neto, F.B.D.L.: Parallelization strategies for GPU- ased ant colony optimization applied to TSP. Adv. Parallel Comput., 36, 321–330 (2020) Aldinucci, M., Danelutto, M., Kilpatrick, P., Torquati, M.: Fastflow: high-level and efficient streaming on multi-core. Programming Multi-Core and Many-Core Computing Systems, Parallel and Distributed Computing (2017) citation_journal_title=J. Supercomput.; citation_title=Hybrid cpu-gpu execution support in the skeleton programming framework skepu; citation_author=T Öhberg, A Ernstsson, C Kessler; citation_volume=76; citation_issue=7; citation_publication_date=2020; citation_pages=5038-5056; citation_doi=10.1007/s11227-019-02824-7; citation_id=CR16 citation_journal_title=Int. J. High Perform. Comput. Networking; citation_title=Algorithmic skeletons for multi-core, multi-gpu systems and clusters; citation_author=S Ernsting, H Kuchen; citation_volume=7; citation_issue=2; citation_publication_date=2012; citation_pages=129-138; citation_doi=10.1504/IJHPCN.2012.046370; citation_id=CR17 citation_journal_title=Int. J. Parallel Prog.; citation_title=Data parallel algorithmic skeletons with accelerator support; citation_author=S Ernsting, H Kuchen; citation_volume=45; citation_issue=2; citation_publication_date=2017; citation_pages=283-299; citation_doi=10.1007/s10766-016-0416-7; citation_id=CR18 Benoit, A., Cole, M., Gilmore, S., Hillston, J.: Flexible skeletal programming with eskel. In: European Conference on Parallel Processing, pp. 761–770. Springer, Berlin (2005) Menezes, B.A.D.M., Herrmann, N.: Musket repository. https://github.com/wwu-pi/musket_dsl (2020) The Eclipse Foundation. Xtext documentation. https://eclipse.org/Xtext/documentation/ (2020) Riguzzi, F.: A survey of software metrics. Technical report (1996) Menezes, B.A.D.M., Herrmann, N.: Ant colony optimization project. https://github.com/brenoamm/ant-colony-optimization-project (2021). Accessed 24 March 2021 University of Waterloo. National traveling salesman problems. http://www.math.uwaterloo.ca/tsp/world/countries.html . Accessed 14 March 2018 Heidelberg University. Discrete and combinatorial optimization. https://www.iwr.uni-heidelberg.de/groups/comopt/software/TSPLIB95/XML-TSPLIB/instances/ . Accessed 14 March 2018 citation_journal_title=Eur. J. Oper. Res.; citation_title=Bin packing and cutting stock problems: mathematical models and exact algorithms; citation_author=M Delorme, M Iori, S Martello; citation_volume=255; citation_publication_date=2016; citation_pages=1-20; citation_doi=10.1016/j.ejor.2016.04.030; citation_id=CR26 citation_journal_title=J. Heuristics; citation_title=A hybrid grouping genetic algorithm for bin packing; citation_author=E Falkenauer; citation_volume=2; citation_publication_date=1996; citation_pages=5-30; citation_doi=10.1007/BF00226291; citation_id=CR27 Beasley, J.E.: OR-Library: distributing test problems by electronic mail. J. Oper. Res. Soc. pp. 1069–1072 (1990)