개요

Bernstein's Conditions은 두 instructions P1, P2에 대하여 다음 조건이 성립하는 경우를 말한다.

[math]I_1 \cap O_2 = \emptyset; O_1 \cap I_2 = \emptyset; O_1 \cap O_2 = \emptyset; [/math]

여기서 I1과 I2는 명령어의 input sets (즉, 소스 코드와 메모리)이며 O1과 O2는 그들의 아웃풋이다.

첫번째 두 조건은 P1과 P2의 인풋이 다른 명령어의 아웃풋에 영향을 미치는 경우 병렬화 시킬 수 없음을 의미한다. 마지막 조건은 두 명령어가 같은 위치에 결과를 저장하는 경우에는 병렬화 시킬 수 없음을 의미한다. 쉽게 말하면 두 조건이 서로에게 영향을 전혀 미칠 수 없음을 수학적으로 나타낸 조건이다.