파일과 네트워크, 시스템 호출과 인터럽트에 사용되는 코어의 개수를 결정하는 알고리즘은 아래 그림과 같다. 각 항목은 CPU사용량의 임계값을 가지고 코어 수를 늘리거나 줄이는 것을 반복하도록 되어있고, 이는 주기적으로 모니터링하고 사용량을 계산하는 커널 모듈에 의하여 동작된다.
코어 파티셔닝의 3가지 정책은 각각 Single-socket, Per-socket, Cross-socket이라는 이름을 가지고 있고, 이들은 코어 파티셔닝이 CPU소켓을 사용하는 방식에 차이가 있다. Single-socket 정책은 시스템 호출 문맥을 하나의 NUMA 노드에 속한 코어에만 친화도를 갖도록 한다. 이를 통해서 I/O 스택의 지역성을 높이는 것을 목적으로 한다. 대상이 되는 NUMA 노드는 I/O 장치와 가까운 (1-hop) 거리를 갖도록 결정한다. Per-socket 정책은 시스템 호출을 요청한 쓰레드가 수행되고 있는 NUMA 노드 내에서 시스템 호출 문맥이 코어 친화도를 갖도록 한다. 이 정책은 I/O 스택의 지역성을 분산시키지만, 사용자 수준 I/O 버퍼에 대한 지역성을 높일 수 있다. Cross-socket 정책은 Single-socket 정책과 유사하지만, I/O 장치와 가까운 NUMA 노드의 코어로만 I/O 대역폭을 충분히 활용하기 어려울 경우에 다른 NUMA 노드의 코어에 추가적으로 친화도 설정이 가능하도록 한다. 따라서 Single-socket 정책 보다 I/O 스택의 지역성을 낮출 수 있는 반면 병렬성을 높일 수 있다.
시스템 호출 문맥을 하나의 소켓에 속한 코어들에 친화도를 가지도록 하여 I/O 스택의 지역성을 향상시킨다.
Single-socket Core Partitioning과 유사한 정책이지만, 하나의 소켓을 이용하여 I/O 작업을 충분히 동작시킬 수 없을 때 다른 소켓의 코어에 추가적으로 친화도를 설정하는 방법이다. 친화도가 분산되어 지역성이 다소 낮아질 수 있으나 병렬성을 높일 수 있다.
시스템 호출을 요청한 스레드가 동작하고 있는 소켓내에서 친화도를 가지도록 한다. 이 정책은 유저 영역 I/O 버퍼의 지역성을 향상시킨다.
100GB데이터를 이용한 하둡 맵 리듀스 응용(WordCount)을 슬레이브 노드의 개수를 3개에서 6개까지 조절하며 수행한다. 이상적인 성능 향상은 노드의 수에 비례하여 성능이 향상되는 것 이지만 현실적으로 확장성 문제로 인하여 그러한 성능 향상은 보이지 못한다. 하지만 코어 파티셔닝을 적용하여 최대 1.56배의 속도 향상을 관찰 할 수 있었고, Cross-socket 정책을 사용할 때 가장 큰 속도 향상을 보였다.
또한 아파치 웹 서버에 Jmeter를 이용한 부하 테스트를 통하여 Http web server throughput을 측정하는 실험을 통해 I/O의 성능 향상 정도를 측정했다. 이때 사용된 코어 파티셔닝은 Per-socket Core Partitioning 이고, 최대 51%의 throughput 향상이 있었다.