문제

새로운 Intel i7 쿼드 코어 프로세서가있는 PC를 구축하고 있습니다. HyperThreading을 켜면 작업 관리자에 8 개의 코어가보고됩니다.

내 동료 중 일부는 하이퍼 스레딩이 시스템을 신뢰할 수 없게 만들고이를 끄는 것이 좋습니다.

좋은 사람들 중 누구라도 저와 나머지 Stockoverflow 사용자를 깨달을 수 있습니까?

계속해서 : 나는 HyperThreading을 지속적으로 사용하고 있었고 그 자리에 있습니다. 불안정성이 없습니다. 사용 중입니다 :

  • Microsoft Server 2008 64 비트
  • Microsoft SQL Server 2008 64 비트
  • Microsoft Visual Studio 2008
  • 서버를 분리합니다
  • 많은 컨트롤 (Telerik, Dundas, Rebex, Resharper)
도움이 되었습니까?

해결책

추상화가 매우 낮고 OS는 작업을 제공하기위한 다른 CPU로 간주하기 때문에 안정성은 영향을받지 않을 것입니다. 그러나 성능은 또 다른 문제입니다.

모든 정직에서 나는 이것이 여전히 사실인지 말할 수는 없지만 적어도 HT 지원 CPU가 처음 나왔을 때 적어도 일부 응용 프로그램에는 알려진 문제가있었습니다. 예를 들어, MySQL 및 Java Application과 같은 다중 스레드 앱은 HT가 활성화 될 때 성능이 떨어지는 것으로 알려져 있습니다. 적어도 서버 측 엔터프라이즈 애플리케이션의 특정 사용 사례에 대해서는 항상 제거 할 것을 권장합니다.

이것이 더 이상 문제가되지 않을 수 있으며, 데스크탑 환경에서는 대부분의 사용 사례에 문제가되지 않습니다. CPU에서 작업을 분할하는 능력은 일반적으로 CPU가 크게 활용 될 때보다 반응적인 응용 프로그램으로 이어질 것입니다. 그러나 앱이 이미 데이터베이스 서버의 경우와 같이 앱이 이미 크게 스레드되고 CPU 집약적 인 경우 컨텍스트 전환 및 오버 헤드가 방해가 될 수 있습니다.

다른 팁

내 머리 꼭대기에서 나는 동료들이 이것을 말할 수있는 몇 가지 이유를 생각할 수 있습니다.

  • 하이퍼 스레딩에서 SQL 성능에 관한 몇 가지 기사. 나는 그것이 너무 많은 컨텍스트 전환 또는 캐시 스 래싱을 수행한다고 생각합니다. 정확히 기억할 수 없습니다.

  • 일찍 싱글 Proc에서 멀티 프로로 가거나 대부분의 사람들이 하이퍼 스레드 된 Procs의 가능성이 높아서 많은 스레딩 문제를 공개했습니다. 그들이 전에 본 적이없는 인종 조건, 교착 상태 등. 코드 문제이지만 일부 사람들은 Procs를 비난했습니다.

그들은 멀티 코어/멀티 프로에 대해 동일한 주장을하고 있습니까?

나에 관해서는, 나는 4 년 동안 하이퍼 스레드 상자를 개발해 왔으며, 문제만이 내 자신의 제작에 대한 UI 교착 상태 문제였습니다.

하이퍼 스레딩은 주로 다른 CPU와는 달리 스레드를 동일한 CPU로 발송할 때 스케줄러 동작/성능에 주로 차이를 만듭니다 ...

스레드 사이의 인종 조건을 처리하지 않는 잘못된 코딩 된 응용 프로그램에서 표시됩니다 ...

그래서 그것은 일반적으로 나쁜 디자인/코드입니다 .... 그것은 실패 모드 조건을 찾습니다.

신뢰할 수 없는? 나는 그렇게 의심한다. 내가 생각할 수있는 하이퍼 스레딩의 유일한 단점은 사실입니다. OS가 그것을 알지 못하는 경우, 다른 물리적 프로세서가 유휴 상태 일 때 하나의 물리적 프로세서에서 두 개의 스레드를 예약 할 수있어 성능 저하가 발생할 수 있습니다.

SQL Server가 자체 스케줄러를 가지고 있기 때문에 일부 쿼리에 대한 SQL Server 및 HyperThreading에 문제가 있었으며 Maxdop 1은 다음을 해결합니다.

Windows가 어떤 학위에도 불안정한 경우에, HyperThreading이 크게 기여할 가능성은 거의 없을 것입니다 (또는 지금까지 큰 뉴스를 만들었을 것입니다.)

나는 몇 년 동안 하이퍼 스레딩 PC를 가지고있었습니다. 그다지 많은 코어는 아니지만 나에게 잘 작동했습니다.

동료들이 잘못을 증명하기 위해 테스트 데이터가 있었으면 좋겠지 만,이 시점에서 내 의견에 비해 내 의견 일뿐입니다. ;)

하이퍼 스레드 CPU의 스레드는 동일한 캐시를 공유하므로 여러 CPU 아키텍처가 할 수있는 캐시 일관성 문제로 어려움을 겪지 않습니다. 그러나 소프트웨어의 개발자가 여러 CPU를 염두에두고 프로그래밍하는 경우 읽기 시맨틱 (IIRC, 그 용어)으로 작성해야합니다. 즉, 모든 쓰기는 즉시 캐시에서 플러시됩니다.

내가 아는 한, OS의 관점에서 볼 때, 하이퍼 스레딩은 실제 다중 코어를 갖는 것과는 다른 것으로 보이지 않습니다. OS의 관점에서 볼 때 차이는 없습니다. 격리되어 있습니다.

따라서 Hyperthreading의 "Extra Cores"가 "실제"(엄격하게 기술적 인 의미에서)가 아니며 "실제"CPU 코어의 전체 성능이 없다는 사실 외에도 나는 그것이 될 수 없다는 것을 알 수 없습니다. 덜 신뢰할 수 있습니다. 아마도 드문 경우에는 느리지 만 신뢰할 수는 없습니다.

물론, 그것은 당신이 실행중인 것에 달려 있습니다. 나는 일부 응용 프로그램이 CPU와 "다운 & 더러운"일 수 있고 하이퍼 스레딩이 그들을 혼동 할 수 있다고 생각하지만 아마도 드물다.

나는 나 자신이 몇 년 동안 하이퍼 스레딩으로 PC를 운영 해 왔으며 안정성 문제가 보이지 않았다.

더 구체적인 데이터가 없어서 죄송합니다!

나는 i7 시스템을 소유하고 있으며 아무런 문제가 없었습니다.

여러 코어와 함께 작동하면 하이퍼 스레딩과 함께 작동합니다.

짧은 대답 : 예.

거의 모든 질문과 마찬가지로 긴 대답은 "의존"입니다. OS, 소프트웨어, CPU 개정 등에 따라 다릅니다. 저는 개인적으로 소프트웨어를 제대로 작동시키기 위해 두 번의 하이퍼 스레딩을 비활성화해야했습니다 (Synergy 응용 프로그램과 함께 2 개, Windows NT 4.0 설치 프로그램이 포함). 마일리지는 다를 수 있습니다.

처음부터 여러 HT 코어를 감지하는 Windows 설치 (일부 관련 드라이버 등을로드)를 설치하는 한 항상 "사실"후에 "및 다시 활성화 할 수 있습니다". 해결할 수없는 특정 소프트웨어에 기괴한 안정성 문제가있는 경우 HT를 비활성화하여 영향을 미치는지 확인하는 것은 어렵지 않습니다.

솔직히 말해서 일상적인 사용의 99.99%에서 잘 작동하기 때문에 시작하기 위해 비활성화하지 않을 것입니다. 그러나 그렇습니다. 때때로 기괴한 행동을 유발할 수 있으므로 길에서 매우 이상한 문제를 해결하는 경우 배제하지 마십시오.

개인적으로, 나는 Hyperthreading이 문제를 일으키지는 않지만 실제로 그렇게 많은 도움이되지 않는다는 것을 알았습니다. 프로세서의 .1을 추가로 갖는 것과 같을 수 있습니다. 직장에서 HT 기계에서 CPU가 50%이상으로 거의 볼 수는 없습니다. HT가 i7과 같은 새로운 프로세서로 더 나은지는 모르겠지만 낙관적이지는 않습니다.

SQL Server에 대한 몇 가지 보고서를 듣는 것 외에는보고 할 수있는 모든 것이 긍정적입니다. HT ON이있는 무거운 멀티 스레드 앱에서 약 25% 더 나은 성능을 얻습니다. 문제를 해결 한 적이 없으며 1 세대 HT 프로세서를 사용하고 있습니다 ...

파티에 늦었지만 미래의 추천을 위해;

현재 SQLServer와 관련하여 문제가 있습니다. 기본적으로 내 이해는 동일한 프로세서에서 하이퍼 스레딩을 통해 동일한 L1 & L2 캐시를 공유하며, 이는 둘 사이에 문제가 발생할 수 있습니다. Citrix는 또한 내가 읽는 내용 에서이 문제가있는 것으로 보입니다.

Slava OK는 a 좋은 블로그 게시물 그 위에.

나는 여기있다 매우 늦었지만 Google을 통해이 페이지를 찾았습니다. 나는 매우 미묘한 문제를 발견했을 것입니다. 2003 서버를 실행하는 i7 950을 가지고 있으며 훌륭합니다. 처음에 나는 BIOS에 하이퍼 스레딩을 남겼지 만 약간의 테스트와 밀어내는 동안 Carrette의 "Crashme"라는 프로그램을 실행했습니다. 이 프로그램은 프로세스를 산란하고 쓰레기를 먹이고 실행하여 OS를 충돌 시키려고합니다. 내 듀얼 Opteron 설정은 문제없이 영원히 실행했지만 950은 한 시간 안에 추락했습니다. 내가 바보 같은 일을하지 않으면 다른 것에 충돌하지 않았으므로 매우 놀랍습니다. 변덕스럽게 나는 HT를 끄고 프로그램을 다시 실행했다. 밤새도록, 심지어 여러 인스턴스도 실행됩니다. 한 가지 일화는 그다지 의미가 없지만 시도해보고 무슨 일이 일어나는지 확인하십시오. 또한 HT가 꺼지는 경우 프로세서가 주어진 하중에서 약간 더 차가운 것으로 보입니다. ymmv.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top