사용자 지정 애플리케이션에서 Amazon S3의 대량 데이터 다운로드 속도를 높이기 위해 Intel Core Duo CPU를 사용할 때 몇 개의 스레드를 실행할 수 있습니까?

사용자 지정 애플리케이션에서 Amazon S3의 대량 데이터 다운로드 속도를 높이기 위해 Intel Core Duo CPU를 사용할 때 몇 개의 스레드를 실행할 수 있습니까?

사용할 수 있는 최대 스레드 수를 어떻게 알 수 있나요? 저는 프로그래밍이 처음이어서 알아야 할 것이 무엇인지 알아내려고 노력하고 있습니다. Amazon S3에서 다운로드할 수 있는 파일이 950GB입니다. 나는 각각 해당 양의 절반을 다운로드하는 두 개의 스레드를 병렬로 실행하면서 사용할 수 있다고 생각했습니다.

내 애플리케이션을 멀티스레딩하여 Amazon S3에서 대량 데이터 다운로드 속도를 높이고 싶지만 내 컴퓨터가 멀티스레딩을 지원하는지 먼저 아는 것이 좋을 것입니다.

컴퓨터 사양:

  • 모델: MacBook(13인치, Mid 2010, A1342)
  • 프로세서:2.4GHz 인텔 코어 듀오
  • 메모리: 8GB 1067MHz DDR3
  • 소프트웨어: MacOS 시에라 10.12.6

프로세서가 매우 오래되고 단종되어 Intel 하이퍼스레딩을 지원하지 않습니다. 멀티스레딩에 좋은지는 잘 모르겠습니다. 하지만 멀티스레딩을 지원할 수 있다면 얼마나 많은 스레드를 지원할 수 있으며, 너무 많은 스레드를 사용하면 성능에 영향을 미치나요?

틀렸다면 정정해주세요. 하지만 읽어봤습니다.비하이퍼스레딩 코어는 스레드를 1개만 지원할 수 있습니다., 그래서 내 프로세서가 최대 2개의 스레드를 지원할 수 있고 그 이후에 더 많은 스레드가 있으면 효과가 미미할 것이라고 생각합니다.

답변1

귀하의 질문에는 몇 가지 잘못된 가정이 있으므로 여기서 명확히하겠습니다.

  1. 싱글코어 CPU에서도 멀티스레딩이 가능합니다.실행은 시간에 따라 분할되므로 특정 순간에 1개의 스레드가 활성화되지만 전체 스레드 실행은 병렬입니다.
  2. 멀티스레딩은 속도 향상과 동일하지 않습니다.순진하게 설계된 경우 멀티스레딩 앱은 항상 단일 스레드 앱보다 수십 배 또는 수백 배 느립니다.
  3. 99%의 경우 외부 네트워크에서 다운로드하는 것은 멀티스레딩에 의존하지 않습니다.NetAnts, ReGet 및 전화 접속 모뎀 시대의 기타 앱에 구현된 것처럼 다중 범위 HTTP 다운로드를 살펴보는 것이 가치가 있을 수 있습니다. 그러나 다양한 네트워크 정책 및 관련 서버로 인해 다중 범위 다운로드가 일반 다운로드보다 더 빠를 수 있다는 보장은 없습니다.

그래서 결국. 앱에서 측정항목을 반드시 수집해야 합니다. 가장 느린 작업이란 무엇입니까? 그런 다음 더 빠른 속도를 얻으려면 다시 디자인하십시오.

답변2

사용할 수 있는 최대 스레드 수를 어떻게 알 수 있나요?

Intel Core Duo에는 2코어 단일 스레드 프로세서가 있기 때문에 2개의 스레드가 있습니다. 각 코어에는 단일 스레드의 기능이 있습니다.

하지만 멀티스레딩을 지원할 수 있다면 얼마나 많은 스레드를 지원할 수 있으며, 너무 많은 스레드를 사용하면 성능에 영향을 미치나요?

2개의 스레드를 지원합니다.

그래서 내 프로세서가 최대 2개의 스레드를 지원할 수 있고 그 이후에 더 많은 스레드가 있으면 효과가 미미할 것이라고 생각합니다.

2개 이상의 스레드를 처리할 수 없습니다. 하드웨어로 인해 스레드를 2개만 생성할 수 있으므로 다중 스레드 응용 프로그램에는 스레드가 2개만 있습니다.

관련 정보