Thuật toán xử lý ảnh, kết xuất video có thể thực hiện song song vì có nhiều khối dữ liệu độc lập nhau. Nhưng để nó chạy song song với hiệu suất cao thì không đơn giản, và không phải lúc nào cũng xử lý song song được. Rất nhiều các cơ sở dữ liệu nó rất lớn, gồm hàng tỉ các biến mảng phụ thuộc nhau hoàn toàn. Việc thay đổi giá trị biến này sẽ ảnh hưởng đến biến khác theo nguyên tắc tuần tự.
Ví dụ đơn giản nhất là việc mã hóa dữ liệu. Nếu việc mã hóa có thể giải mã song song tốc độ cao thì đó là thảm họa bảo mật. Bởi vậy người ta mới phải phức tạp hóa các thuật toán để đảm bảo thời gian giải mã đủ lâu để làm nản lòng bất kỳ tay hacker nào.
Hay như vấn đề duyệt web, trình duyệt có thể chia các khối dữ liệu vào nhiều core của CPU, nhưng đáng tiếc là các khối dữ liệu đó không đồng nhất với nhau, thời gian xử lý khác nhau, và có nhiều biến mảng phụ thuộc nhau, bắt buộc nhân xử lý này phải ngồi chơi đợi nhân xử lý bên kia hoàn thành mới tiếp tục được. Lập trình cho nó chạy song song mà thực ra nó không song song được.
Bởi vậy mới nói nhét nhiều core đôi khi không phải là giải pháp hay. Nếu dùng cho máy chủ thì OK, chứ mà để xử lý dữ liệu thì phải xem đó là loại dữ liệu gì, có xử lý song song được không, ấy mới là vấn đề.