Just do IT
article thumbnail

시스템 성능 분석과 개선

   * 프로세서간 중재

   * 프로세서간 통신과 동기화

   * 캐시의 일관성

 

프로세서간 중재

   * 시스템 버스 VS 로컬 버스

      - 컴퓨터 시스템에는 요소들 사이의 정보 전송을 위한 다양한 단계의 여러 버스가 존재하며 CPU내에서도 레지스터와 ALU사이의 정보 전송을 위한 여러 내부 버스가 존재한다

      - 시스템 버스 (System bus) -> CPU, IOP(I/O Processor), Memory 같은 주요 요소를 연결하는 연결체계

      - 로컬 버스(Local bus) -> 메모리 버스(데이터, 주소 그리고 읽기/쓰기 정보 전송), I/O 버스 (입출력 장치로 정보 전송), 통신 전용버스 (특정 포트 정보, 해당 프로토콜 정보 등을 /수신)

      - 공유 메모리 멀티프로세서 시스템에서 자원의 효율적 분배와 상호 충돌을 재배할 있는 중재 프로세스는 전체 시스템 성능 향상에 지대한 영향을 미칠 밖에 없는 것이다.

 

   * 메모리 공유 멀티프로세서를 위한 시스템 버스 구조

   * 중재 Algorithm

      - 일반적으로 시스템 버스는 100여개의 신호라인으로 구성되고 명령라인에 의해 중재 논리가 성립된다 (ex. IEEE standard 796)

      - 직렬(daisy-chain) 중재 절차

      - 병렬 중재 논리

      - 동적 중재 논리

 

프로세서간 통신과 동기화

   * 프로세서 통신

      - 멀티 프로세서 시스템에 있는 다양항 프로세서들은 공통의 입출력 채널을 통하여 서로 통신한다

      - 공통 메모리 (IOP 연결된 자기 디스크 ) 역할

         > 공유 메모리 멀티프로세서 시스템에서 메모리의 일부를 모든 프로세서가 접근 있도록 할당한 공간

         > 기본적으로 우편함과 같이 프로세서들 사이에서 오가는 메시지의 집중지 역할을

         > 송신 프로세서 -> 요구, 메시지, 프로시저 저장 (상태 비트 : 수신 프로세서 지정 의미 있는 정보의 유무를 공지) <- 수신 프로세서 ('폴링' 방식에 의해 주기적 점검)

         > 보다 효율적인 방법은 인터럽트 신호를 통하여 송신 프로세서 -> 수신 프로세서

      - 멀티프로세서를 위한 운영체제의 종류

         > 주종(master-slave)모드

            (master) 프로세서 (OS기능 수행) <- (slave) 프로세서는 필요에 의한 인터럽트 요청

         > 분리 운영체제(separate operating system)

            모든 프로세서가 자신의 운영체제를 가지고 운영된다.

            이는 느슨한 결합 (loosely coupled) 시스템에 적합한 형태라고 한다

         > 분산 운영체제 (distributed operating system)

            부동 운영체제 (OS 특정 기능은 순간에 하나의 프로세서에서만 작동 된다), 운영체제가 여러 프로세서에 분산되어 있는 형태이다

 

   * 프로세서 동기화

      - 멀티 프로세서의 명령어 집합에는 함께 동작하는 프로세서와의 통신과 동기화를 구현하는 기본 명령어가 포함된다 

      - 동기화의 필요성

         > 처리될 작업들간 정확한 순서를 유지

         > 공용의 기록가능한 변수에 대한 상호배제(murual exclusive) 접근 보장

      - 멀티프로세서 시스템에서 자원의 동기화를 위해 가장 많이 활용되는 기법은 하드웨어적 접근 방법인 이진 세마포(semaphore) 이용하는 방법이다

 

캐시의 일관성

   * Cache 관련 정책

      - Cache 일관성 (cache coherence)

         > 공유 메모리 멀티프로세서 시스템에서도 프로세서는 로컬 메모리(일부 or 전부 cache) 운영한다

         > 이상의 경우 여러 개의 동일한 내용이 주기억장치나 로컬 메모리에 복사본으로 중복되어 저장는 경우가 발생할 있고 정확한 메모리 동작을 위해 내용들이 모두 동일하게 유지 되어야 한다는 정책

      - 메모리 쓰기 동작 메모리 갱신 정책

         > write-through 정책 : 쓰기동작의 발생 cache 기억 장치 모두를 갱신

         > write-back 정책 : Cache 갱신하고 다음에 메모리로 전달할 있도록 위치를 표시

 

   * cache 일관성에 대한 조건

      - cache 일관성 문제는 프로세스별로 개별적인 cache 가진 멀티프로세서에서 공통의 기록가능한 데이터가 필요하기 때문에 발생    

   * cache 일관성 문제에 대한 해결책

      - 프로세서에 개별적인 cache 허용하지 않고 주기억장치에 공용 cache 메모리를 두는 경우 - 근접성 원리에 위배, 평균 접근 시간을 증가시킨다

      - 캐시가능(cacheable) - 공유적이고 읽기 전용 데이터에 한해서 cache 저장되도록 하는 방안

      - 스누피 캐시 제어기(snoopy cache controller) - 기본적으로 버스에 부착된 모든 cache 대해 버스-감시 기능을 유지하도록 설계된 H/W 장치이다

 

출처 : 제로베이스

profile

Just do IT

@AmyG

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!