티스토리 뷰

개발 정보

라이젠 2990WX 32-Core 빌드서버

무료한일상 2019. 1. 3. 10:21

회사에서 안드로이드 관련 일을 하고 컴퓨터에 대해서 조금 관심이 있기 때문에 빌드 서버에 관심이 많이 있었습니다.

처음 회사에서 사용한 빌드 서버는 인텔의 i7-4790이었습니다.

Dell 완제품으로 구입을 하였는데 이정도면 충분하리라 생각을 하였는데... 막상 업무를 시작해보니 오산이었습니다.

그래서 이리저리 알아보니 서버용으로 사용할 다중 코어는 제온, 2CPU 인데... 이런건 브랜드 제품일 경우 기본 가격이 상당하더군요. 그래서 다중 코어중에 그나마 가성비 좋다는 쓰레드 리퍼를 고민 하였지만 검색을 해봐도 리눅스 환경에서의 빌드 서버 성능에 관련된 정보가 부족하여 회사에 쓰레드 리퍼를 구입 해보자는 말을 할수가 없었습니다. 가성비가 좋다고는 하지만 그래도 실험적으로 사자고 할만한 가격은 아니였기도 하고 우분투가 설치 되는지, 빌드 서버 구축과 빌드가 잘 되는지도 몰랐구요. (다중 코어 활용을 잘 할지도... )

그러던중 이번에 AMD에서 체험을 해볼 수 있는 이벤트를 한다는 소식을 듣고 바로 신청을 해서 실제로 빌드 서버를 구성해서 비교를 해봤습니다. 그것도 쓰레드 리퍼 최상위 제품인 2990WX를 말이죠.


테스트 사양

CPU : AMD Ryzen Threadripper 2990WX 32-Core Processor

MB : MEG X399 CREATION

Memory : 32GB

처음 받은 테스트 시스템 입니다.

눈에 띄는건 쓰레드 리퍼용으로 나온 전용 쿨러가 딱!

같이 딸려온 그래픽 카드도 VEGA64라는 고성능 그래픽 카드이지만 회사에서 사용 용도가 CPU만 사용하는 용도라 돼지목에 진주 목걸이 입니다.


케이스도 참 거대했는데... 메인보드는 더 거대한 E-ATX 플랫폼이라 안타깝게도 S-ATA 포트들 반을 막아버리는 사태가 발생하였습니다.



안드로이드 SDK가 용량이 무지막지하게 큰 관계로 HDD를 최대한 사용할 예정이라 케이스 교체를 부탁 드렸습니다.


우선 보내기 전에 전원 넣고 켜보기!

요즘은 기본 케이스 팬도 LED를 지원해주는게 많아서 휘영찬란 합니다.

이렇게 잘 포장해서 퀵으로 보내드리고....


E-ATX 를 지원하는 케이스로 교체되어 왔습니다.

이전 케이스의 LED와 강화 유리가 빠졌지만 어차피 빌드 서버라 쿨링, HDD많이 달기가 더 중요하기에 만족 합니다.


우선 내장 SSD(M.2 NVMe)에 우분투 14.04를 설치해 줍니다.

SDK중에 오래된 버전의 경우 JDK버전때문에 어쩔 수 없이 14.04를 사용해야 하고, 이전에 사용하고 있는 빌드 서버와 최대한 같은 환경 구축을 위해서 버전을 선정 하였습니다.

하지만 출시된지 오래된 버전이기 때문에 최신 CPU인 2990WX를 지원해 줄지 살짝 걱정을 한것도 사실입니다.

인텔은 모르겠지만 AMD라...



결론은... 잘 설치 됩니다.

프로세서명도 잘 인식이 되고 따로 패치를 하지 않더라도 문제 없이 작동을 합니다.


htop를 실행해보면 오른쪽 창처럼 64 쓰래드 잘 인식하고 있는것을 볼수 있습니다.


윈도우 였다면 작업 관리자의 창이 화면을 가득 채웠을것 같습니다.

기존의 8칸 화면을 보다가 64칸을 보니 그저 입가에 웃음만


다만 그래픽 카드의 경우 우분투 16.04, 18.04버전은 공식 사이트에서 드라이버 지원을 해주는데 14.04는 없어서 그냥 기본 그래픽 드라이버로 사용을 하기로 결정 하였습니다. 화면만 확인 하면 되니까요.

안드로이드 빌드에 필요한 OPEN JDK를 설치해주고 각종 빌드에 필요한 프로그램들을 설치 해 줍니다.

우분투 업데이트 서버를 국내 다음카카오 서버로 교체해주면 업데이트 속도도 금방입니다.


시험삼아 작업하던 SDK를 SSD에 복사해서 빌드를 진행해 봤습니다.

코어 할당 옵션인 -j 에 매번 8만 입력 하다가 두근 두근 하면서 64를 입력하고 잠시뒤...



64 쓰래드가 모두 열일 하면서 정상적으로 작동 하는 것을 볼수 있었습니다.

그동안 빌드 작업은 HDD에서 하다가 테스트 삼아서 SSD에서 돌려봤는데 NVMe 버프까지 받아서 그런지 정말 놀랄만한 속도를 보여줬습니다.


보통 안드로이드 7.1을 풀빌드 하면 그냥 오전에 돌리면 점심먹고 오후에 확인하거나 퇴근하면서 돌렸는데 거기에 비하면 30분대면 장족의 발전이라고 생각 됩니다.

정확한 비교를 위해서 동일한 SDK를 기존의 빌드서버, 보조 빌드서버와 딜드 시간을 비교해 봤습니다.  


1번 타자 : 보조 빌드 서버 (인텔 i7-2600, 8쓰래드)

2번타자 : 이번 테스트의 주인공 (AMD Ryzen Threadripper 2990WX, 64 쓰래드)

3번 타자 : 기존의 주 빌드 서버 (인텔 i7-4790, 8쓰래드)


테스트 설정

모든 세팅은 순정 상태 입니다. ( OC 안함 )

사용한 SDK는 안드로이드 7.1 버전 입니다.

SDK는 모두 HGST HDD에서 작업 하였습니다.



우선 본적격인 안드로이드 빌드 전에 U-BOOT과 커널을 빌드해 줍니다.

이건 그렇게 시간이 걸리는 것이 아니라 비교하지는 않았지만... 위 사진을 보면 알 수 있듯이 1등은 역시 라이젠 입니다.


중간에 테스트 사진도 더 있지만 마지막 결과 사진 입니다.

1. i7-2600 : 1시간 54분 08초

2. 2990WX : 27분 06초

3. i7-4790 : 1시간 21분 06초

간단히 계산을 해봐도 대략적으로 기존 빌드 시간이 1/3로 줄어든것을 볼 수 있습니다.

이것을 보고 부장님이 당장 구입 하자고...



기존 상황에서 2명이 동시에 작업 할때에는 진짜 빌드 돌려놓고 언제 되나 확인 하고 했었는데 이젠 작업 속도가 3배는 빨라졌으니 쉬는 시간 없이 일도 열심히 ... 어라?


정말 급한 일 터졌을때 풀빌드 할일이 생기면 답답했는데 이젠 쓰래드 리퍼와 함께라면 두렵지 않을것 같습니다.

혹시 저처럼 안드로이드 빌드 서버 구축을 하고 싶은데 상업용 서버는 부담스럽고 하신분은 AMD Thredripper 를 한번 생각해 보시것이 어떨까 합니다.

정말 가성비로 쓰래드 리퍼를 따라올 다중 코어용 작업 CPU는 없을것 같습니다.


참조 (안드로이드 풀빌드)

안드로이드 8.0 : 36분 50초

같은 안드로이드 버전이라도 AP칩, SDK 별로 빌드시간은 차이가 나기 때문에 참조만 하시길 바랍니다.


결론

AMD Ryzen Thredripper에도 우분투 잘 깔립니다.

OPEN JDK 기반의 안드로이드 SDK 빌드 잘 됩니다.

상업용 빌드 서버 빼고 가성비 최고라고 생각 합니다.