2.3 Alternatives to parallel programming