Durante las últimas décadas, la industria de la informática ha sido un ciclo constante donde nuevo hardware, más rápido que el anterior, permite el desarrollo de software más complejo y con más requerimientos de recursos. Este nuevo software a su vez promueve el desarrollo de hardware aún más rápido. Para aumentar la velocidad de un software, la mejor estrategia ha sido comprar hardware más nuevo.
Este paradigma ha cambiado ahora que Intel introdujo en el 2006, por primera vez, un procesador nuevo más lento que los anteriores, pero con multiples cores (núcleos). Esto produjo la denominada crisis del multi-core: el software antiguo funciona mas lento en el hardware nuevo. Esta crisis significa que la única forma de aumentar la velocidad de un software con nuevo hardware, es escribir software paralelo.