A parallel program is composed of simultaneously executing processes. Problem decomposition relates to the way in which the constituent processes are formulated.<ref>Ian{{Cite Foster, Designing and Building Parallel Programs, 1995, Sectionweb |title=2.2,"Partitioning",http|url=https://www.mcs.anl.gov/~itf/dbpp/text/node16.html |access-date=2024-03-21 |website=www.mcs.anl.gov}}</ref><ref>Blaise Barney, Introduction to Parallel Computing, "Partitioning", 2015, Lawrence Livermore National Laboratory, https://computing.llnl.gov/tutorials/parallel_comp/#DesignPartitioning {{Webarchive|url=https://web.archive.org/web/20130610122229/https://computing.llnl.gov/tutorials/parallel_comp/#DesignPartitioning |date=2013-06-10 }}</ref>