In terms of software, greater efficiency can be achieved by the provision of
suitable programming language features that enable users to explicitly identify
parallellism in their programs, or of suitable compilers that automatically detect
such parallelism. For example, modern programming languages such as java
have multithreading features that programmers can use to indicate portions of
their programs that can execute in parallel. Tereso, Mota and Lameiro (2006)
discuss an application of this for a DP problem