이미지
인텔 cpu 버그 대란에 대해 알아보자
2018-01-03 17:24:44 (7년 전)

어제 reddit에 인텔 cpu의 구조 자체에 큰 버그가 존재한다고 글이 올라왔었음.


그 내용을 요약해보면 이렇다


- 해당 버그는 인텔의 몇세대에 걸친 버그입니다.  인텔 한정으로, AMD는 영향없는 것으로 보입니다(다만 현재 커널패치에서는 AMD를 수정사항에서 제외하는 항목이 머지되지 않은 상태입니다. 즉 현 커널패치에서는 같이 성능이 떨어질 것으로 예상).



- 해당 버그는 Linux뿐만 아니라 Windows, MacOS 모두에 영향을 줍니다.

- 해당 버그는 엠바고로 인해 아직 전모가 밝혀지지는 않았습니다.

- 해당 버그는 인텔CPU의 버그로 인해 커널메모리 정보가 유저스페이스로 유출될 수 있는 결함입니다.

- 해당 버그로 인해 크게 공개되지는 않았지만 데이터센터/클라우드 업체 등에서는 상당한 물밑작업이 진행되었을 것으로 예상 됩니다.

- 해당 버그의 수정으로 인해 발생하는 성능손실은 각 OS와 기타등등에 따라 다르지만 대략 5~30% 정도로 알려져 있습니다.

- 해당 버그에 대응하는 리눅스 커널 패치는 이미 릴리즈 되었습니다.  

- PCID 기능이 적용된 신형 인텔 CPU에서는 해당 버그의 커널패치로 인한 성능저하가 완화되는 것으로 알려져 있습니다.

- 해당 버그에 대응하는 커널패치를 적용하고 테스트 해 보니....

   1. 파일시스템 I/O쪽은 성능이 반토막이 납니다.

   2. 컴파일러 벤치마크 중 initial setup 항목에서 15% 정도 성능이 저하 됩니다.

   3. 커널컴파일, 인코딩 등은 큰 영향이 없는 것으로 나타납니다.

   4. SQL 같은 DB 관련 벤치에서도 15% 정도 성능이 저하 됩니다.

   5. 데이터스트럭처서버라는 것에서 6% 정도 깨집니다. 


이를 간단하게 설명, 요약하자면


1. OS는 하나의 페이지 테이블로 커널 메모리 영역과 사용자 메모리 영역을 사용 


2. 이건 성능상 이득이지만 보안상 좋지 않기 때문에 커널 메모리 영역을 부팅때마다 무작위로 배치하는 KASLR이라는 기능을 사용 


3. 근데 시발 인텔 CPU의 버그 때문에 사용자 영역에서 KASLR이 적용된 커널 메모리를 훔쳐보는 것이 가능하다는 것이 밝혀짐 


4. 이 버그를 우회하기 위해 OS는 커널 메모리 영역과 사용자 메모리 영역의 페이지 테이블을 분리하는 패치를 단행 


5. 이렇게 급한 불은 껐는데 사용자 애플리케이션이 커널 기능(시스콜)을 사용할 때 다른 페이지 테이블을 참조하기 때문에 심각한 성능 저하가 발생. (포로닉스 벤치에서 파일시스템 성능이 유독 떨어지는 이유, 약 30~35%의 성능저하)




즉 패치를 적용하고 나면 




알고보니 진짜 문과였다고 한다....


참고글 

http://gall.dcinside.com/board/view/?id=pridepc_new3&no=7075222&page=1&exception_mode=recommend


https://www.seeko.co.kr/zboard4/zboard.php?id=freeboard&page=1&sn1=&divpage=17&sn=off&ss=on&sc=off&select_arrange=headnum&desc=asc&no=893850


유머게시판 : 86620건
닫기