본문 바로가기

사진

[번역] 라이트룸CC/6 멀티코어 성능


영어공부를 하지 않은지 어언 2년이 다되어 갑니다....

 군대에서 하는것도 없이 시간만 축내다가 뭐라도 해보자 해서

나중에 언젠간 읽겠지...하고 스크랩해두었던 라이트룸의 멀티코어성능에 대한 영어기사를 

번역해보고자 합니다. 사실 그렇게 어려운 글은 아닌데 아무리 어렵지 않다고 해도 

영어를 읽는건 정말 귀찮고 끔찍한 일 아니겠습니까? 수능영어도 잘 못했고,직독직해도 잘 못했던, 

진짜 미천한 실력이지만 그래도 최대한 자연스럽게 쓰려고 노력한거니 잘 읽어주셨으면 합니다.


모든 글과 사진은 


https://www.pugetsystems.com/labs/articles/Adobe-Lightroom-CC-6-Multi-Core-Performance-649/


이 글에서 따왔으며, 저는 전적으로 번역만 한 것입니다.



Introduction


 컴퓨터를 디자인 할 때, 선택해야 하는 수천가지의 여러 부품들이 있습니다. 각각의 부품들은 당신의 시스템에 다른 방식으로 

영향을 미치고, 당신이 사용하는 소프트웨어에 따라서 다른것들 보다 더 중요해 질 수도 있습니다. 라이트룸CC와 라이트룸6의 

경우에, 가장 중요한 부품은 CPU입니다. 그렇지만 수많은 CPU들이 각각 다른 스펙을 가지고 있기 때문에, 골라야 하는 선택지는 

굉장히 다양합니다.


 라이트룸에서 어떤 CPU가 가장 최상의 퍼포먼스를 보여줄까? 이것이 우리의 질문입니다.


 이 질문에 답을 내기 전에, CPU스펙에 대해 알고 가야할 중요한 두가지 사항이 있습니다.


1. 주파수(frequency)는 단 하나의 CPU코어가 1초동안 얼마나 많은 작업을 할수 있느냐에 대한 수치입니다. (간단히 말해 속도입니다.)


2. 코어의 개수(number of core)는 CPU안에 얼마나 많은 물리적 코어가 있는지에 대한 수 입니다. (동시에 얼마나 많은 작업을 할 수 있느냐)


 이것은 CPU아키텍쳐 사이의 차이는 고려하지 않았습니다. 하지만 이상적인 상황에서 똑같은 주파수를 가졌지만 코어의 수가 두배 차이나는

CPU들이 있다면, 그 둘의 성능은 정확히 두배일 것입니다. 안타깝게도, 멀티코어를 효율적으로 사용하도록 소프트웨어를 만드는 일은 

굉장히 어렵고, 때로는 거의 불가능하다고 여겨집니다. 사실 여러 코어를 가진 CPU들은 대체로 낮은 주파수를 가지고 있는 경향이 있고, 

이것은 당신이 사용하는 어플리케이션에 가장 적합한 CPU를 고르기 힘들게 만듭니다. 

 이 기사에서 우리는 라이트룸이 높은 주파수의 CPU와 여러 코어를 가진 CPU중에 어떤것이 좋은지 알아보고, 라이트룸에 가장 적합한 CPU를 

선택하는데 도움을 줄 것입니다. 당신이 우리의 테스트 절차와 각각의 벤치마크 결과를 건너뛰고 결과만을 알아보고 싶다면, 맨 마지막

conclusion파트만 읽으면 될 것입니다.





Test Setup


 라이트룸CC와 라이트룸6를 사용하는 여러 상황에서 얼마나 많은 코어를 사용하는지 결정하기 위해 우리는 여러가지 작업을 

수행하였고, 여러 수의 CPU코어 각각의 작업시간을 측정하였습니다.. 이 작업들은 라이트룸을 전문적으로 사용하는 우리 고객들을 

기반으로 결정되었습니다. 거대한 양의 코어를 라이트룸이얼마나 잘 사용하는지 결정하기 위해 우리는 다음과 같은 하드웨어를 

사용하였습니다.


Testing Hardware
Motherboard: Asus Z10PE-D8 WS
CPU: 2x Intel Xeon E5-2687W V3 3.1GHz Ten Core
RAM: 8x Kingston DDR4-2133 8GB ECC Reg.
GPU: NVIDIA GeForce GTX 980 4GB
Hard Drive: Samsung 850 Pro 512GB SATA 6Gb/s SSD
USB Import Drive: Kingston DataTraveler G4 USB 3.0 16GB
OS: Windows 8.1 Pro 64-bit
PSU: Antec HCP Platinum 1000W
Software: Lightroom CC 2015


 우리는 얼마나 많은 코어가 라이트룸에서 효율적으로 사용되는지 알아보길 원했기 때문에, 우리는 작업 관리자의 선호도세팅을 

통하여 라이트룸에 할당되는 코어의 수를 변경할 것입니다. 이 방법은 우리가 한개의 코어부터 스무개의 코어까지의 벤치마크를 

정확하게 하도록 만들어줍니다. 일관성을 위해서 우리는 여러 날동안 여러번의 작업을 수행하였습니다. 또한 AutoIt이라는 프로그램을 

통해서 라이트룸의 실행, CPU선호도 설정, 적절한 이미지의 가져오기(import), 세번의 벤치마크 작업, 그리고 카탈로그 삭제와 

다음 테스트를 위한 라이트룸 재시작을 일련의 과정으로 하는 스크립트를 프로그래밍하였습니다.


 데이터 분석을 위해서 우리는 라이트룸에 할당된 여러 수의 CPU코어들이 작업완료까지 얼마나 걸렸는지에 대한 결과를 제시할 것입니다.

결과에 따라서, 우리는 작업에 대한 병행효율성(소프트웨어가 얼마나 잘 멀티코어를 사용하는지)을 계산하기 위해서 암달의 법칙(Amdahl's Law)

을 사용할 것입니다. 암달의 법칙에 대하여 좀 더 자세히 알아보고 싶다면, Estimating CPU Performance using Amdahl's Law 기사를 참조.





Importing Images from USB


 SD카드와 USB드라이브 외장하드에서 이미지를 가져오는것은 당신이 라이트룸에서 하는 맨 처음의 과정입니다. 우리는 우리 테스트의 
시작을 그곳에서 하기로 결정하였습니다.
 

 위의 그래프에서 보듯이, 라이트룸으로 80장의 RAW파일 이미지를 불러오는 시간은 CPU코어에 좌지우지되지 않습니다. 하지만, 이것은 
우리가 CPU가 주된 병목현상의 원인이라고 생각하지 않은 작업중에 하나입니다. 대신, 우리가 사용하는 빠른 Kingston USB3.0 (연속 읽기속도 120MB/s)
조차도 usb드라이브가 성능을 제한하는 주요한 요소입니다. 우리는 이미지를 불러오는중에 각각의 CPU코어의 로드%를 봄으로써 가져오기가 
오직 단 하나의 코어만을 사용한다고 확신하였습니다. 당신이 매우 낮은 주파수를 가진 CPU와 높은 주파수의 CPU를 비교하는게 
아닌 이상, 높은 주파수의 CPU의 사용이 이미지 가져오기의 시간을 단축시키는데에는 도움이 되지 않습니다.




Exporting Images to Disk

 
 이미지 가져오기와 마친가지로, 그것들을 내보내는것은 모든 라이트룸 유저들이 사용하는 기능일것입니다. 당신이 만약 
CD/DVD에 바로 내보내기를 한다면 내보내기의 속도는 당신의 광 디스크의 속도에 의해 제한될 가능성이 있습니다. 하지만,
당신이 하드드라이브(인터넷과 이메일, 스토리지에 업로드를 하는것 또한)에 내보내기를 하고있다면 당신의 CPU가 내보내기의
속도를 제한할 가능성이 높아집니다.


가져오기와 다르게, 내보내기는 많은 수의 CPU코어를 사용할 수 있습니다. 또, 우리는 테스트 이미지 내보내기가 완료되는 시간이
당신이 내보내고 있는 드라이브와 크게 관련이 없다는것을 발견했습니다. 우리는 연속 쓰기 속도가 80MB/s인 드라이브 부터
1200MB/s인 드라이브 까지 다양한 종류의 드라이브를 가지고 테스트를 해보았지만, 가장 느린 드라이브와 가장 빠른 드라이브와의
차이는 2%에 불과하였습니다.

 이것 때문에, CPU의 속도는 라이트룸에서 이미지들을 내보내는 속도에 가장 중요한 요인입니다. 암달의 법칙에 기초하여, 우리는 
이미지 내보내기의 병렬효율이 97%가까이 된다는 것을 계산할 수 있었습니다. 이것은 많은 CPU코어를 가지고 있는 것이 굉장히 이익이라는
의미입니다. 하지만, 우리는 위 차트에서 11~20번째 코어에 해당되는 두번째 CPU가 사용되기 시작하면 병행효율이 97%에서 5%까지 
떨어진다는것을 짚고 넘어가야 합니다.

 다시말해 , 많은 수의 CPU코어는 라이트룸 내보내기에 굉장한 이익이지만, 그것은 오직 하나의 CPU로 라이트룸을 사용할 때만
해당된다는 것입니다. 일단 당신이 두번째 CPU를 사용하기 시작하면, 두번째 CPU를 사용함으로써 얻는 이익은 굉장히 낮습니다.
그 이유는 확실하지는 않지만, 우리는 두개의 CPU를 사용할 때 두개의 CPU가 서로 통할 수 있게 해주는 QPI링크에서 일어나는
병목현상이 가장 추정가능한 이유라고 보고있습니다.




Convert from RAW to DNG


라이트룸에 이미지들을 가져오기 한 후에, 당신은 RAW파일을 DNG파일로 바꾸기를 원할 수도 있습니다. 그것은 당신이 가진 이미지의
수에 따라 꽤 시간이 걸릴 수도 있는 일입니다. 


 DNG로 컨버팅하는것은 다중 CPU코어를 사용하는것이 이득인 것으로 나타났고, 약 69%정도의 효율을 보였습니다. 이미지 내보내기와 
마찬가지로 다중 코어를 사용해서 얻는 이익은 두번째물리적 CPU를 사용하기 시작하면 굉장히 줄어들었습니다. 이 상황에서는 단지 
병행효율성이 감소된것 뿐만아니라 두번째 CPU가 전혀 도움이 안된다는것을 보았습니다. 

 낮은 효율 때문에, 이미지들을 DNG로 컨버팅하기 위한 최고의 CPU는 상대적으로 높은(3.5GHz+)주파수에, 4~8코어를 가진 CPU들입니다.




Generate 1:1 Previews


1:1 프리뷰는 라이트룸의 라이브러리모듈에 있는 기능으로써, 이미지를 자유롭게 줌인/아웃하여 포커스가 맞았는지 안맞았는지 
확인할 수 있는 굉장히 실용적인 기능입니다. 1:1 프리뷰기능이 없으면, 이미지를 줌인하기 위해 풀사이즈의 RAW파일이나 DNG파일을 
라이트룸 내에서 로딩해야 하기때문에 3~5초 혹은 더 오래 걸릴것입니다. 하지만 프리뷰들이 미리 생성되어있다면, 이미지를 1초 혹은 
더 빨리 로딩할 수 있습니다.
 
 

 이 그래프 곡선의 모양은 DNG컨버팅 그래프와 굉장히 비슷해보이지만 대략 77%의 효율로 아주 약간 더 높습니다. 효율은 약 5코어에서부터
떨어지는데, 이것은 당신이 CPU를 선택하는데 큰 영향을 미치지는 않을것입니다. 이 77%의 병행효율은 이미지 내보내기의 다음으로
가장 높은 수치 입니다. 8~10개정도의 충분히 많은 코어는 분명 쓸모있지만, 적은 코어의 높은 주파수를 가진 CPU도 우선순위가 
될 수 있습니다. 




Generate Smart Previews

 
스마트 프리뷰가 라이트룸에서 100%필요하다고는 할 수 없지만 노트북, 혹은 데스크탑이라도 당신의 이미지가 담긴 외장메모리의 연결이
끊어진 상황이라면 굉장히 유용합니다. 


 1:1프리뷰 생성과는 다르게, 스마트 프리뷰 생성은 51%로 꽤 낮은 병행효율을 보입니다. 또한번 우리는 두번째 CPU가 이익이 되지
않는다는 것을 보았습니다. 그리고 이 낮은 효율을 보면, 두번째 CPU는 고사하고, 많은 CPU코어를 가지는것조차 측정되지 않을만큼
미미한 이익을 보인다는것을 알 수 있습니다.




Create HDR Image


 굉장히 쉽지만, 사실 HDR이미지를 만드는것은 라이트룸 내에서 여러과정을 거쳐서 만들어집니다. 당신이 합치고 싶은 이미지를 고른 후에,
당신은 생성되는 프리뷰를 보기위해 기다려야합니다. 그리고나서 당신이 원하는 세팅으로 값들을 조정한 후에, HDR이미지를 만들어낼 수 
있습니다.


 위의 차트를 보면 당신은 프리뷰를 만드는것(파란색 선)이 HDR이미지를 만드는것(빨간색 선)보다 더 오래 걸린다는것을 볼 수 있습니다.

프리뷰를 생성하는데에는 56%의 효율을 가지고 있고, HDR이미지를 만드는것을 75%의 효율을 가지고 있습니다. 그 두가지의 절차를

종합한 효율은 약 60%정도 입니다.


 위의 테스트들과 같이 두번째 CPU를 추가하는것은 성능향상에 전혀 도움이 되지 않았습니다. 오히려 HDR이미지를 만드는데에 

두번째 CPU의 사용은 5%정도의 시간증가를 가져왔습니다.





Create Panorama Image

 파노라마 사진을 만드는 것은 라이트룸CC와 라이트룸6에서 추가된 기능이라, 우리는 그것이 어떻게 동작하는지 굉장히 흥미있었습니다.
HDR이미지를 만드는것과 같이 두개의 단계가 있습니다. 프리뷰를 만들고, 새로운 파노라마 이미지를 만드는것입니다.


여기서는 프리뷰생성(파란선)이 파노라마 사진 생성(빨간선)보다 더 빨랐는데, 이것은 HDR이미지 만들기의 정확히 반대되는 상황입니다.
또한 이 단계들은 우리가 테스트한 것들 중에서 사진가져오기를 제외한 것들 중에서 가장 낮은 병렬 효율을 보였습니다. 프리뷰생성의 
효율은 약 47%정도이고, 파노라마사진을 만들어내는 효율은 겨우 41%정도 였습니다. 두가지 사항을 합한 효율은 44%정도 였는데, 
이것은 파노라마 이미지를 만드는데에 가장 좋은 성능을 내는 것은 2~3정도의 코어를 가지고 있는 높은주파수의 CPU라는 것입니다.




Facial Recognition


파노라마사진 생성외에도 최신 버전 라이트룸에는 얼굴인식을 지원합니다. 이것을 테스트하기위해서 우리는 32장의 이미지들안에
총 116명의 얼굴을 모두 다 감지하는데 걸리는 시간을 측정하였습니다.


두개의 CPU코어를 사용할 때에는 확실히 이점을 가질 수 있었지만, 그 지점을 넘어서는 순간 그 이점은 완벽하게 사라졌습니다.
병행효율을 계산해 보았을때 약 20%에 불과했는데, 그것은 아무것도 아닌거와 다름이 없었습니다. 다시말하면, CPU코어의 수는
라이트룸에서 얼굴인식의 속도를 개선하는데 거의 어떠한 역할도 해주지 못한다는 것입니다.




Conclusion

 
 우리의 테스트에 기반하여 라이트룸CC와 6의 멀티쓰레딩기능에 관한 두개의 굵직한 결론이 나왔습니다.

1. 라이트룸은 두개의 물리적 CPU를 잘 사용하지 못합니다. 사진들을 내보낼때, 당신은 두번째 물리적 CPU의 이점을 볼 수 있었으나,
그것의 효과는 굉장히 미약했습니다. 대부분의 다른 상황에서 물리적인 두번째 CPU는 썩 도움이되지 않았고, HDR과 파노라마 이미지 
생성에서는 오히려 5%정도의 성능하락이 있었습니다. 이것은 포토샵과 같은 다른 어플리케이션에서 두개의 CPU를 사용해서 그 
어플리케이션을 사용했을 때 나타났던 30~50%의 성능하락보다는 나은 결과이긴합니다만, 우리는 라이트룸에 두개의 CPU사용은 
이상적이지 않다고 확실히 말할 수 있습니다.

2. 라이트룸은 코어를 단 한개쓰고, 좀 적게 쓰고, 많이 쓰는 구성요소들이 섞여있습니다. 우리가 테스트한 것들의 병렬효율은 존재하지
않는것부터, 중간, 그리고 꽤 괜찮은것까지 이른다. 이것은 라이트룸 전반에서 가장 좋은 성능을 내는 단 하나의 CPU를 고르기 어렵게 만듭니다.


ActionParallel Efficiency
(higher is better - 1 is perfect)
Importing images from USB0
Exporting images to disk.97
Convert from RAW to DNG.69
Generate 1:1 Previews.77
Generate Smart Previews.51
Create HDR image.6
Create Panorama image.44
Facial Recognition.2

 대부분의 작업에서 우리는 꽤 낮은 병행효율(70%이하)을 테스트했습니다. 그것들은 여전히 더 많은 코어를 갖는것이 이익일 때도 있지만,

대부분의 상황에서 적은 수의 코어를 가지지만 높은 주파수를 가지고 있는 CPU가 당신에게 더 좋은 성능을 내 줄 수 있습니다. 하지만 

대부분의 라이트룸 사용자들이 사용하는 이미지 내보내기와 같은 기능에서는 높은 코어수를 가진 CPU가 높은 병행효율을 가지고있고, 

이것은 이미지 내보내기의 속도를 더 빠르게 만드는것을 가능하게 합니다. 당신을 위한 최고의 CPU를 고르는방법은 당신이 라이트룸의 

여러 작업중 어디에서 가장 오래 기다리는지를 파악하고 그 작업에 맞는 CPU를 찾는것이라고 할 수 있습니다.


 만약 당신이 디스크로 이미지를 내보내는데 시간을 가장 많이 할애한다면, 높은 코어를 가진 CPU가 당신에게 최고의 성능을 줄 것입니다. 

하지만 그외의 다른 작업에서 시간을 더 많이 할애 한다면, 적은 코어의 높은 주파수를 가진 CPU가 더 좋은 선택이 될 것입니다. 당신의 

작업흐름이 이미지 가져오기와 DNG로 컨버팅하기, 1:1프리뷰 만들기, 그것들중 절반을 디스크로 내보내는것으로 구성되어있다면, 그것들의 

병행효율은 약 75%정도일 것입니다. 이것을 기반으로 하여  the Intel Xeon E5-1680 V3 3.2GHz Eight Core 20MB 140W CPU가 

Intel Core i7-4790K 보다 약 6%정도 더 빠를것입니다.


 일단 당신이 파노라마 사진이나 HDR이미지를 만드는 작업을 추가하기 시작하면, 균형은 높은 코어의 CPU에서 높은 주파수의 CPU들로 움직이기

시작합니다. 당신의 사진들을 불러오고, 그것들은 DNG로 변환하며, 스마트프리뷰를 생성하고, 8장의 HDR이미지와 2장의 파노라마 사진들을

만들고, 또 당신이 불러온 사진들 중 10%정도의 소량의 사진들을 내보내는 것들의 종합적인 병행효율은 57%정도까지 떨어진다. 그렇게 

따진다면, 이 상황에서 가장 효율적인 CPU는 아마도  Intel Core i7 4790K 4.0GHz Quad Core 8MB 88W 일 것이다. 이 CPU는 저 용도에 가장 

알맞으며 빠르다. 또 400$정도밖에 되지않으므로 돈을 좀 아낄 수 있으며, 당신이 좀 더 빠른 메모리나 더 많은 RAM을 구매할 수 있는

여력을 만들어준다.




우리의 테스트에 따르면, 라이트룸에 적합한 네개의 CPU들이 있다.


Recommended CPUs for Lightroom CC/6
Intel Core i7 4790K 4.0GHz Quad Core 8MB 88W
Intel Core i7-5930K 3.5GHz Six Core 15MB 140W or
Intel Xeon E5-1650 V3 3.5GHz Six Core 15MB 140W

Intel Xeon E5-1680 V3 3.2GHz Eight Core 20MB 140W


 


 당신에게 맞는 최고의 CPU를 결정하는 일은 당신이 라이트룸에서 어떠한 기능을 사용하는지, 라이트룸 말고 어떤 또 다른 프로그램을 

사용하는지, 어떤 칩셋을 사용하고 싶은지, 얼마나 많은 램을 사용하는지와 같은 많은 요소들에 따라 달려있다.  Intel Core i7 4790K은 

다른 CPU들 보다 가장 싼 가격에 구매가 가능합니다. 사진 내보내기 부분에 있어서는 조금 떨어질지 몰라도, 대부분의 다른 요소에서 가장 

빠릅니다. 하지만 이 칩셋은 32GB의 RAM까지만 지원합니다. 이것은 라이트룸에 있어서는 굉장히 충분하지만, 당신이 다른 프로그램들에서

더 많은 RAM을 사용해야한다면 이 칩셋은  좋지 않은 선택이 될 것입니다.


 당신이 더 많은 RAM을 필요로 한다면, 하나의 더 좋은 옵션이 있습니다. Xeon E5-1680 V3은 내보내기를 기다리기 싫어하는 당신에게 좋은

선택이 될 것이며, 반면에 동일한 성능을 가지고있는 Xeon E5-1650 V3 와 Core i7-5930K는 굉장히 균형잡힌 옵션입니다.

'사진' 카테고리의 다른 글

ArgyllCMS로 프린터 프로파일링 하기  (7) 2018.01.13
D5 D700 간단비교  (0) 2016.11.24
촬상소자의 모든것! - 2편  (5) 2013.07.14
촬상소자의 모든것!(을 담으려고 노력한) 1편  (0) 2013.07.14
위엄 넘치는 수탉  (0) 2013.07.04