멀티코어 프로세서, IT 업계의 새로운 도전 과제
서버와 PC칩의 성능을 향상시키기 위해 흔히 프로세싱 코어를 추가하는 방법을 사용한다. 그러나 아무리 프로세싱 코어의 수를 늘리더라도 결국 특정 하드웨어 및 프로그래밍 상의 문제들을 해결하지 못한다면 그 효과가 반감될 가능성이 높다. 이번 주 캘리포니아 산타 클라라에서 개최된 멀티코어 엑스포(Multicore Expo) 참가자들이 입을 모은 의견이다.
오늘날 개발, 출시되고 있는 소프트웨어들은 아직도 싱글-코어 칩을 기준으로 생산되고 있고, 이들을 보다 더 고성능 코어 칩들에서 활용하기 위해서는 재 보수, 또는 업데이트 작업들을 필수적으로 수행해야 한다.
린리 그룹(The Linley Group) 회장이자 수석 애널리스트인 린리 그웨넵(Linley Gwennap)은 최근 인텔, 선 마이크로시스템즈, 등 여러 칩 메이커들이 듀어-코어 이상의 칩들을 대거 생산하는 추세라며 이같이 밝혔다.
실제로 출시된 지 얼마 되지 않은 최신 제품들은 거의 대부분 최대 4개의 프로세서 코어를 보유, 운용하고 있고, 이는 CPU에서의 작업 속도를 더욱 빠르게 하는 동력으로 작용하고 있다. 그러나 코어가 더욱 늘어날수록 오히려 작업 속도나 효율이 도리어 감소할 가능성도 존재한다고 그는 주장했다. 더불어 가트너(Gartner)가 공개한 최신 보고서도 이러한 그의 주장을 뒷받침해주는 모양새다.
칩 메이커들과 시스템 설계 업체들은 최근 멀티코어 프로그래밍 환경 구축을 위해 프로그래머들을 대거 교육시키는 한편, 이들에게 보다 더 나은 툴을 제공해 주기 위해 노력하고 있다.
한 해 전, 인텔과 마이크로소프트는 멀티-코어 호환 문제를 해결하기 위해 관련 미국 대학 연구팀들에게 총 2,000만 달러를 투자할 것이라 밝히기도 했다. 주류 개발자들을 위한 멀티코어 프로그래밍 툴의 부재야 말로 오늘날 컴퓨팅 산업이 직면하고 있는 가장 큰 한계이자 도전이라고 그웨넵은 주장했다.
서로 다른 컴퓨팅 작업, 즉 수학 문제를 푸는 작업과 이미지를 렌더링 하는 작업을 각각 분류해 이를 동시에 수행할 수 있게 해주는 멀티 코어 기술은 더 이상 새로운 것이 아니다. 그러나 소위 병렬식 컴퓨팅(parallel computing)이라 불리는 이 모델은 고성능 컴퓨팅 환경에만 특화된 것으로 인식되어 왔다.
그러나 최근 인텔과 AMD는 칩 성능이 뛰어나면서도 전력 효율까지 뛰어난 제품들을 생산해 내기 시작했다. 단순히 작업 속도만을 늘리던 기존의 개발 양상에 변화를 준 것이다. 인텔은 현재 개발 중에 있는 네할렘-EX(Nehalem-EX) 칩에 8개의 코어를 장착할 예정이고, AMD는 한 술 더 떠 서버용 12코어 칩을 개발하고 있다. 그들은 더불어 멀티 스레드 기능까지 시도하고 있는데, 이는 코어들이 여러 줄의 코드에서 동시에 작업할 수 있도록 해주는 기술이다.
이와 같은 기술의 발전은 주류 애플리케이션들의 변화를 요구한다. 더 많은 코어를 보유한 칩에서도 원활이 작동할 수 있도록 만들어야 한다는 것이다.
그러나 이는 상당히 난해한 작업이고, 그 과정에서 불필요한 소프트웨어 버그를 양산할 가능성이 높다. 문제가 가장 흔하게 발생하는 부분이 있다면 바로 “레이스 컨디션(race conditions)”을 들 수 있는데, 특정 계산의 결과가 일정 순서에 의해 완료되는 다양한 작업들에 의해 결정되는 것을 의미한다. 만약 그 특정 순서가 지켜지지 않을 경우, 에러가 날 가능성이 높다.
몇몇 병렬 형 프로그래밍 툴은 지금도 시중에 나와 있다. 인텔의 패러랠 스튜디오 포 C 앤 C++ (Parallel Studio for C and C++)도 그 중 하나다. 이 밖에도 코드플레이(Codeplay), 폴리코어 소프트웨어(Polycore Software), 그리고 클릭 아츠(Clik Arts) 등이 그와 유사한 툴을 제작하고 있다. 더불어 시중에는 새로운 C-기반 병렬 형 프로그래밍 모델인 오픈CL(OpenCL)이 있는데, 크로노스 그룹(Khronos Group)에 의해 개발된 이 모델은 애플, 인텔, AMD, 엔비디아 등으로부터 적극적인 후원을 받고 있다.
그러나 현재 존재하는 툴들은 거의 대부분 아직 미완성 상태인 경우가 많다고 멀티코어 엑스포 참가자들은 밝혔다. 소프트웨어 컴파일러들은 병렬시킬 수 있는 코드를 인식한 후 프로그래머의 직접적인 명령이나 관여 없이 자동으로 병렬 작업을 수행할 수 있어야 한다고 임베디드 칩에 대한 성능 비교 프로그램을 제공하는 비영리 단체 EEMBC의 소프트웨어 엔지니어링 담당자 쉐이 갤-온(Shay Gal-on)은 말했다.
부족한 툴에도 불구하고, 몇몇 소프트웨어 기업들은 이미지, 동영상 프로세싱과 같은 단순한 컴퓨팅 작업들에 대한 병렬 형 코드를 생성해 내는데 상대적으로 두각을 나타냈다고 그웨넵은 말했다. 어도비는 포토샵을 수정, 특정 x86 코어에서도 확대 또는 이미지 필터링과 같은 특정 작업을 수행할 수 있도록 만드는데 성공했다. 이는 포토샵의 성능을 3배에서 4배 가량 향상시켰다고 그는 말했다.
그는 “비디오나 그래픽 관련 작업을 수행할 때, 이제는 각각 다른 세트의 픽셀들을 서로 다른 CPU에 할당할 수 있게 되었다. 병렬식 작업이 가능해 진 것”이라고 설명했다. 그러나 이보다 더 복잡한 작업의 경우, 컴퓨팅 작업의 순서를 파악해 이를 병렬 형태로 배열하고, 또 분류하는 절차 자체가 난해해진다.
이처럼 프로그래밍 부문에서 분명 많은 개선이 이루어질 필요가 있지만, 더불어 하드웨어 부문에서도 어느 정도의 변화가 요구된다. 메모리 대기 시간과 느린 버스 스피드 등과 같은 이슈들을 극복해야 하기 때문이다.
그웨넵은 “앞으로 칩 하나에 할당되는 CPU의 개수를 늘려가면 늘려갈수록 이를 뒷받침 해 줄만한 메모리 대역 폭이 필요해 진다”라고 말했다.
두 개 이상의 코어를 사용하는 환경에서 한 개의 메모리 캐시 또는 데이터 버스를 사용할 경우, 병목 현상이 발생할 수 있다. 즉, 코어가 많아도 별 효용이 없어지는 사태가 발생하는 것이다.
“CPU가 6개, 8개 있어도 결국 서로 작업 순서를 조정하고 또 소통하느라 작업은 제대로 진행하지 못하는 상황이 발생할 수 있다”라고 그는 말했다.
개발자들은 하드웨어와 소프트웨어 간의 기술 격차를 줄이고, 보다 더 나은 병렬 형 프로그램을 개발할 의무가 있다. 많은 수의 프로그래머들은 아직까지 최신 하드웨어 디자인 개발 속도를 따라잡지 못하고 있다고 갤-온은 말했다. 우선 서로가 보유한 데이터 시트부터 공개해, 칩 아키텍처에 대해 충분히 학습한 후, 그들의 코드가 어떻게 하면 더 좋은 성능을 창출해 낼 수 있을지 모색해야 한다고 그는 덧붙였다. editor@idg.co.kr
함께 보면 좋은 콘텐츠
Sponsored
Surfshark
“유료 VPN, 분명한 가치 있다” VPN 선택 가이드
ⓒ Surfshark VPN(가상 사설 네트워크, Virtual Private Network)은 인터넷 사용자에게 개인 정보 보호와 보안을 제공하는 중요한 도구로 널리 인정받고 있다. VPN은 공공 와이파이 환경에서도 데이터를 안전하게 전송할 수 있고, 개인 정보를 보호하는 데 도움을 준다. VPN 서비스의 수요가 증가하는 것도 같은 이유에서다. 동시에 유료와 무료 중 어떤 VPN을 선택해야 할지 많은 관심을 가지고 살펴보는 사용자가 많다. 가장 먼저 사용자의 관심을 끄는 것은 별도의 예산 부담이 없는 무료 VPN이지만, 그만큼의 한계도 있다. 무료 VPN, 정말 괜찮을까? 무료 VPN 서비스는 편리하고 경제적 부담도 없지만 고려할 점이 아예 없는 것은 아니다. 보안 우려 대부분의 무료 VPN 서비스는 유료 서비스에 비해 보안 수준이 낮을 수 있다. 일부 무료 VPN은 사용자 데이터를 수집해 광고주나 서드파티 업체에 판매하는 경우도 있다. 이러한 상황에서 개인 정보가 유출될 우려가 있다. 속도와 대역폭 제한 무료 VPN 서비스는 종종 속도와 대역폭에 제한을 생긴다. 따라서 사용자는 느린 인터넷 속도를 경험할 수 있으며, 높은 대역폭이 필요한 작업을 수행하는 데 제약을 받을 수 있다. 서비스 제한 무료 VPN 서비스는 종종 서버 위치가 적거나 특정 서비스 또는 웹사이트에 액세스하지 못하는 경우가 생긴다. 또한 사용자 수가 늘어나 서버 부하가 증가하면 서비스의 안정성이 저하될 수 있다. 광고 및 추적 위험 일부 무료 VPN은 광고를 삽입하거나 사용자의 온라인 활동을 추적하여 광고주에게 판매할 수 있다. 이 경우 사용자가 광고를 보아야 하거나 개인 정보를 노출해야 할 수도 있다. 제한된 기능 무료 VPN은 유료 버전에 비해 기능이 제한될 수 있다. 예를 들어, 특정 프로토콜이나 고급 보안 기능을 지원하지 않는 경우가 그렇다. 유료 VPN의 필요성 최근 유행하는 로맨스 스캠은 인터넷 사기의 일종으로, 온라인 데이트나 소셜 미디어를 통해 가짜 프로필을 만들어 상대를 속이는 행위다. 이러한 상황에서 VPN은 사용자가 안전한 연결을 유지하고 사기 행위를 방지하는 데 도움이 된다. VPN을 통해 사용자는 상대방의 신원을 확인하고 의심스러운 활동을 감지할 수 있다. 서프샤크 VPN은 구독 요금제 가입 후 7일간의 무료 체험을 제공하고 있다. ⓒ Surfshark 그 외에도 유료 VPN만의 강점을 적극 이용해야 하는 이유는 다음 3가지로 요약할 수 있다. 보안 강화 해외 여행객이 증가함에 따라 공공 와이파이를 사용하는 경우가 늘어나고 있다. 그러나 공공 와이파이는 보안이 취약해 개인 정보를 노출할 위험이 있다. 따라서 VPN을 사용하여 데이터를 암호화하고 개인 정보를 보호하는 것이 중요하다. 서프샤크 VPN은 사용자의 개인 정보를 안전하게 유지하고 해킹을 방지하는 데 유용하다. 개인정보 보호 인터넷 사용자의 검색 기록과 콘텐츠 소비 패턴은 플랫폼에 의해 추적될 수 있다. VPN을 사용하면 사용자의 IP 주소와 로그를 숨길 수 있으며, 개인 정보를 보호할 수 있다. 또한 VPN은 사용자의 위치를 숨기고 인터넷 활동을 익명으로 유지하는 데 도움이 된다. 지역 제한 해제 해외 여행 중에도 한국에서 송금이 필요한 경우가 생길 수 있다. 그러나 IP가 해외 주소이므로 은행 앱에 접근하는 것이 제한될 수 있다. VPN을 사용하면 지역 제한을 해제해 해외에서도 한국 인터넷 서비스를 이용할 수 있다. 따라서 해외에서도 안전하고 편리하게 인터넷을 이용할 수 있다. 빠르고 안전한 유료 VPN, 서프샤크 VPN ⓒ Surfshark 뛰어난 보안 서프샤크 VPN은 강력한 암호화 기술을 사용하여 사용자의 인터넷 연결을 안전하게 보호한다. 이는 사용자의 개인 정보와 데이터를 보호하고 외부 공격으로부터 사용자를 보호하는 데 도움이 된다. 다양한 서버 위치 서프샤크 VPN은 전 세계 곳곳에 여러 서버가 위치하고 있어, 사용자가 지역 제한된 콘텐츠에 액세스할 수 있다. 해외에서도 로컬 콘텐츠에 손쉽게 접근할 수 있음은 물론이다. 속도와 대역폭 서프샤크 VPN은 빠른 속도와 무제한 대역폭을 제공하여 사용자가 원활한 인터넷 경험을 누릴 수 있도록 지원한다. 온라인 게임, 스트리밍, 다운로드 등 대역폭이 필요한 활동에 이상적이다. 다양한 플랫폼 지원 서프샤크 VPN은 다양한 플랫폼 및 디바이스에서 사용할 수 있다. 윈도우, 맥OS, iOS, 안드로이드 등 다양한 운영체제 및 디바이스에서 호환되어 사용자가 어디서나 안전한 인터넷을 즐길 수 있다. 디바이스 무제한 연결 서프샤크 VPN은 무제한 연결을 제공하여 사용자가 필요할 때 언제든지 디바이스의 갯수에 상관없이 VPN을 사용할 수 있다.