Creating a Schedule for Parallel Execution of Tasks Based on the Adjacency Lists

  • Yulia ShichkinaEmail author
  • Mikhail Kupriyanov
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11118)


The article presents a method for transforming algorithm’s information graph using adjacency lists. Algorithm’s information graph always has a large number of vertices. For most algorithms, this graph contains more than 100 vertices. Manual analysis of this graph for the presence of internal parallelism is very difficult. The proposed method does not use conventional adjacency matrix for storing information about the connections between vertices and the adjacency lists. Adjacency lists allow to store information about the graph in a compressed form. As a result, the researcher gets a schedule of the algorithm on a computer, allowing parallel execution. The presented method can be successfully applied to queries in databases, to the distribution of tasks between nodes of a wireless network, to solving problems with large volumes of data in the field of the Internet of things.


Parallel algorithm Information graph Graph width Adjacency list Algorithm schedule Optimization 



The paper has been prepared within the scope of the state project “Initiative scientific project” of the main part of the state plan of the Ministry of Education and Science of Russian Federation (task № 2.6553.2017/8.9 BCH Basic Part).


  1. 1.
    He, B., Tang, L., Xie, J., Wang, X., Song, A.: Parallel numerical simulations of three-dimensional electromagnetic radiation with MPI-CUDA paradigms. Math. Probl. Eng. 2015, 9 pages (2015). Article ID 823426Google Scholar
  2. 2.
    Qin, J., Lu, Y., Zhong, Y.: Parallel algorithm for wireless data compression and encryption. J. Sensors 2017, 11 pages (2017). Article ID 4209397Google Scholar
  3. 3.
    Gong, C., Bao, W., Tang, G., Jiang, Y., Liu, J.: A parallel algorithm for the two-dimensional time fractional diffusion equation with implicit difference method. Sci. World J. 2014, 8 pages (2014). Article ID 219580Google Scholar
  4. 4.
    Ma, X., Liu, S., Xiao, M., Xie, G.: Parallel algorithm with parameters based on alternating direction for solving banded linear systems. Math. Probl. Eng. 2014, 8 pages (2014). Article ID 752651Google Scholar
  5. 5.
    Hou, J., Lv, Q., Xiao, M.: A parallel preconditioned modified conjugate gradient method for large sylvester matrix equation. Math. Probl. Eng. 2014, 7 pages (2014). Article ID 598716Google Scholar
  6. 6.
    Yu, D.-X., Yang, Z.-S., Yu, Y., Jiang, X.-R.: Research on large-scale road network partition and route search method combined with traveler preferences. Math. Probl. Eng. 2013, 8 pages (2013). Article ID 950876Google Scholar
  7. 7.
    Amdahl, G.M.: Validity of the single processor approach to achieving large scale computing capabilities. In: Processings AFIPS Spring Joint Computer Conference, Reston, pp. 483–485. AFIPS Press, VA (1967)Google Scholar
  8. 8.
    Ware, W.: The ultimate computer. IEEE Spectrum 9, 84–91 (1972)CrossRefGoogle Scholar
  9. 9.
    Grama, A., Gupta, A., Karypis, G., Kumar, V.: Introduction to Parallel Computing, Second Edition. Addison Wesley, Reading (2003)Google Scholar
  10. 10.
    Gergel, V.P., Strongin, R.G.: Parallel Computing for Multiprocessor Computers. NGU Publ, Nizhnij Novgorod (2003). (in Russian)Google Scholar
  11. 11.
    Quinn, M.J.: Parallel Programming in C with MPI and OpenMP, 1st edn. McGraw-Hill Education, New York (2003)Google Scholar
  12. 12.
    Wittwer, T.: An Introduction to Parallel Programming, VSSD uitgeverij (2006)Google Scholar
  13. 13.
    Tiwari, A., Tabatabaee, V., Hollingsworth, J.K.: Tuning parallel applications in parallel. Parallel Comput. 35(8–9), 475–492 (2009)CrossRefGoogle Scholar
  14. 14.
    Mubarak, M., Seol, S., Qiukai, L., Shephard, M.S.: A parallel ghosting algorithm for the flexible distributed mesh database. Sci. Program. 21(1–2), 17–42 (2013)Google Scholar
  15. 15.
    Kruatrachue, B., Lewis, T.: Grain size determination for parallel processing. IEEE Softw. 5(1), 23–32 (1988)CrossRefGoogle Scholar
  16. 16.
    Lim, A.W., Lam, M.S.: Maximizing parallelism and minimizing synchronization with affine partitions. Parallel Comput. 24(3–4), 445–475 (1998)MathSciNetCrossRefGoogle Scholar
  17. 17.
    Meuer, H., Strohmaier, E., Dongarra, J., Simon, H.: Top500 supercomputing sites (2015)Google Scholar
  18. 18.
    Yang, T., Gerasoulis, A.: DSC: scheduling parallel tasks on an unbounded number of processors. IEEE Trans. Parallel Distrib. Syst. 5(9), 951–967 (1994)CrossRefGoogle Scholar
  19. 19.
    Darbha, S., Agrawal, D.P.: Optimal scheduling algorithm for distributed memory machines. IEEE Trans. Parallel Distrib. Syst. 9(1), 87–95 (1998)CrossRefGoogle Scholar
  20. 20.
    Liu, C.L., Layland, J.W.: Scheduling algorithms for multiprogramming in hard real-time environment. J. ACM 20(1), 46–61 (1973)MathSciNetCrossRefGoogle Scholar
  21. 21.
    Marte, B.: Preemptive scheduling with release times, deadlines and due times. J. ACM 29(3), 812–829 (1982)MathSciNetCrossRefGoogle Scholar
  22. 22.
    Burns, A.: Scheduling hard real-time systems: a review. Softw. Eng. J. 6(3), 116–128 (1991)MathSciNetCrossRefGoogle Scholar
  23. 23.
    Stankovic, J.A.: Implications of classical scheduling results for real-time systems. IEEE Computer Society Press (1995)Google Scholar
  24. 24.
    Darbha, S., Agrawal, D.P.: A task duplication based scalable scheduling algorithm for distributed memory systems. IEEE Trans. Parallel Distrib. Syst. 46(1), 15–27 (1997)zbMATHGoogle Scholar
  25. 25.
    Tzen, T.H., Ni, L.M.: Trapezoid self-scheduling: a practical scheduling scheme for parallel compilers. IEEE Trans. Parallel Distrib. Syst. 4, 87–98 (1993)CrossRefGoogle Scholar
  26. 26.
    Sinnen, O., Sousa, L.A.: Communication contention in task scheduling. IEEE Trans. Parallel Distrib. Syst. 16, 503–515 (2005)CrossRefGoogle Scholar
  27. 27.
    Wu, A.S., Yu, H., Jin, S., Lin, K.-C., Schiavone, G.: An incremental genetic algorithm approach to multiprocessor scheduling. IEEE Trans. Parallel Distrib. Syst. 15(9), 824–834 (2004)CrossRefGoogle Scholar
  28. 28.
    Kupriyanov, M.S., Shichkina, Y.A.: Applying the list method to the transformation of parallel algorithms into account temporal characteristics of operations. In: Proceedings of the 19th International Conference on Soft Computing and Measurements, SCM 2016, pp. 292–295., ISBN 978-146738919-8. 7519759
  29. 29.
    Shichkina, Y., Kupriyanov, M., Al-Mardi, M.: Optimization algorithm for an information graph for an amount of communications. In: Galinina, O., Balandin, S., Koucheryavy, Y. (eds.) NEW2AN/ruSMART -2016. LNCS, vol. 9870, pp. 50–62. Springer, Cham (2016). Scholar
  30. 30.
    Shichkina, Y., Degtyarev, A., Gushchanskiy, D., Iakushkin, O.: Application of optimization of parallel algorithms to queries in relational databases. In: Gervasi, O., et al. (eds.) ICCSA 2016. LNCS, vol. 9787, pp. 366–378. Springer, Cham (2016). Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  1. 1.Department of Computer Science and EngineeringSaint Petersburg Electrotechnical University “LETI”St. PetersburgRussia

Personalised recommendations