Nội dung được dịch bởi AI, chỉ mang tính chất tham khảo
Tối ưu hóa tổ kiến song song cấp cao với các bộ khung thuật toán
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ù #MusketTà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)
