Solaris 10 새로운 기능

시스템 성능 향상

Solaris 10 8/07 릴리스에는 다음과 같은 시스템 성능 기능과 향상된 기능이 추가되었습니다.

SPARC: UltraSPARC T2 PCI Express Interface Unit 성능 카운터 데이터

UltraSPARC T2 시스템 PIU(PCI Express Interface Unit)에 busstat을 사용하여 덤프할 수 있는 성능 카운터가 내장되었습니다. busstat -l 명령의 출력은 해당 시스템에 대한 다음 장치를 표시합니다.

위에서 #은 인스턴스 번호입니다.

이 내장 성능 카운터의 주 사용 대상은 Sun 현장 서비스 직원입니다.

해시된 캐시 인덱스 모드 지원

해시된 캐시 인덱스 모드는 UltraSPARC T2 프로세서에서 사용할 수 있는 새로운 하드웨어 기능입니다. 하드웨어에서는 L2 캐시 인덱스를 계산하는 데 주소 비트를 더 많이 사용합니다. 결과적으로 큰 페이지에는 페이지 색이 더 많아집니다.

최적의 성능을 얻기 위해 Solaris 커널은 캐시를 공유하는 모든 스레드에서 사용되는 페이지 색의 개수를 최대화해야 합니다. Solaris 가상 메모리 하위 시스템은 이러한 새 하드웨어 기능을 지원하도록 확장되었습니다. 색 계산을 올바르게 하면 UltraSPARC T2 시스템에서 응용 프로그램의 성능 및 처리량 일관성이 향상됩니다.

다중 레벨 CMT 일정 계획 최적화

다중 레벨 CMT(Chip Multi-Threaded) 일정 계획 최적화 기능은 Solaris 커널에 플랫폼 독립적 메커니즘을 제공합니다. 이 메커니즘은 현재 CMT 프로세서 아키텍처의 CPU와 새로 나온 CMT 프로세서 아키텍처(예: Niagara II)의 CPU 간의 하드웨어 공유 관계와 관련된 다양한 성능을 검색하고 최적화합니다.

또한 커널의 스레드 스케줄러나 디스패처에서 다중 레벨의 CMT 로드 균형 조정 정책을 지원하도록 하여, 다양한 다중 스레드, 다중 코더, 다중 소켓 프로세서 기반 시스템의 시스템 성능을 향상시킵니다.

이 기능에 대한 자세한 내용은 OpenSolaris 성능 커뮤니티 웹 사이트(http://www.opensolaris.org/os/community/performance)를 참조하십시오.

프로세스 수 확장성

프로세스 수 확장 기능을 통해 Solaris OS의 프로세스 수 확장성이 향상됩니다. 현재 모든 UltraSPARC 시스템에는 최대 8192개의 컨텍스트가 지원됩니다. 프로세스 수가 8192개를 초과하면 프로세스 실행을 유지하기 위해 커널에서 컨텍스트를 제거합니다. 프로세스에서 컨텍스트를 제거하는 작업은 다음을 통해 이루어집니다.

이 절차는 자원 소모량이 매우 클 뿐만 아니라 프로세스 수가 8000개를 초과하면서 더욱 악화됩니다. 프로세스 수 확장 기능은 컨텍스트 관리를 완전히 재설계합니다. 컨텍스트는 전역 기반이 아닌 MMU 단위로 관리되므로 효율적인 TLB 비우기가 가능하고 컨텍스트 관리의 확장성을 향상시킵니다.

프로세스 수 확장 기능은 활성 프로세스가 8000개를 초과하거나 빠른 속도로 프로세스를 생성 및 삭제하는 작업 로드에 대한 처리 능력을 향상시키며, 많은 CPU를 사용하는 시스템에 특히 효과적입니다.

공유 메모리로의 MPSS 확장

공유 메모리에 대한 다중 페이지 크기 지원(multiple page size support, MPSS) 기능은 공유 메모리 매핑 시 대형 페이지를 지원하며 공유 메모리에 대형 페이지를 사용할 수 있는 OOB(Out-of-Box) 정책을 제공합니다. MPSS는 /dev/zerommap(1) 또는 MAP_ANON 플래그를 통해 생성된 공유 메모리 및 System V 공유 메모리에 대해 지원됩니다. 이 기능은 또한 해당 공유 메모리 세그먼트의 페이지 크기를 변경하는 memcntl(2)에 대한 지원을 추가합니다.

MPSS 지원은 /dev/zerommap(1), mmap(MAP_PRIVATE)에 의해 생성된 메모리에 대형 페이지를 사용하는 경우에도 확장되었습니다.