최근 수정 시각 : 2021-10-12 10:43:54

수퍼시딩


파일:4OnqSNX.jpg

수퍼시딩(Superseeding)은 첫 번째 피어의 다운로드가 완성될 때까지 최초의 시드로부터 업로드되어야 하는 데이터의 양을 최소화하려고 시도하는 일부 비트토렌트 클라이언트의 기능이다. 이 기능은 존 호프만이 생각해냈으며 2003년에 BitTornado에서 처음으로 구현되었다. 이 기능은 단 하나의 시드만이 존재하는 상황에 사용하도록 설계되었다. 수퍼시딩은 비트토렌트 프로토콜을 위배하지 않으면서 구현할 수 있다.

처음에 최초 시드는 전체 파일의 모든 조각을 가지고 있다고 알리는 대신, 아무 조각도 가지고 있지 않다고 주장한다. 피어들이 접속하면, 시드는 다른 피어가 아직 가지지 못한 새로운 조각을 받았다고 한 피어에게 통지한다. 그리고 해당 조각을 그 피어에게 보낸다. 이후 시드는 그 피어가 다른 피어들에게 해당 조각을 다시 전달했다는 것을 확인하기 전까지는 그 피어에게 다른 조각을 보내지 않는다.

중복된 조각들을 업로드하는 것을 엄격하게 제한하는 것의 목적은 다른 피어들이 완성되기까지 한 명의 최초 전송자(super seeder)가 전송해야 하는 데이터의 양을 줄이는 것이다. 그러나 이것이 반드시 최초 시드가 더 적은 시간 내에 완성된다는 의미는 아니다. 최초로 한 명의 다운로드가 완료되기까지의 시간은 최초 전송자에 연결된 피어들의 업로드 비율에 의해 제한된다. 또, 시드는 조각들이 어떻게 분배되었는지에 대한 전역적인 정보는 가지고 있지 않으며, 시드에게 연결되어 있지 않은 다른 피어에게 조각을 전송하는 경우는 알 수 없다. 만약 성숙한 torrent 위의 시드들 다수가 수퍼시드 모드를 사용하고 있다면 그 torrent의 성능은 제약될 것이다.

수퍼시드 모드는 시드가 업로드 대역폭에 대해 바이트 단위로 돈을 지불하는 경우에 가장 유익하다. 이러한 경우 수퍼시드 모드는 토렌트를 시딩하는 데 필요한 비용을 최소화하는 효과가 있다. 그렇지 않은 경우 수퍼 시딩의 이점은 그리 명확하지 않다. 피어들의 설정과 그들의 업로드 속도의 한계량은 각각의 토렌트마다 매우 넓은 스펙트럼으로 분포하기 때문이다.

어떤 그룹의 테스트에서 수퍼 시딩은 업로드 비율을 약 20% 정도 절약하는 효과가 있음이 발견되었다. 시드의 업로드 속도가 각각의 피어들보다 높을 경우 가장 뛰어난 성능을 보인다. 하지만 이 방법이 최초 시더에게만 이점이 있는 방법은 아니다. 왜냐면 한 명의 시더가 여러 명의 미완성된 피어들에게 전송하는 제한적인 상황에서는 보통의 시딩 방법보다 효율적인 방법으로 여러 시드들을 만들기 때문이다. 이론적으로 최초 시더가 파일의 모든 부분을 일단 한 번씩 업로드하면 수 분 이내로 새로운 시드가 여러 개 나타나게 되기 때문에, 무리의 전체 업로드 속도가 크게 증폭되게 된다. 현실에서는 여러 이유들로 인해 다른 양상이 나타날 수 있다.

수퍼 시딩은 다운로드 클라이언트가 하나밖에 없을 때 지연에 빠지게 된다. 시더는 두번째 클라이언트가 데이터를 받기 전에 더 이상의 데이터를 보내지 않을 것이다. 이것을 없애기 위해 rTorrent는 확인을 기다리지 않고 설정에 따라 피어들에게 더 많은 조각들을 제공한다. 이것은 무리에 충분한 숫자의 피어들이 참가할 때까지 업로드 속도를 향상시킨다. Vuze는 지연 문제를 해결하기 위해 알려지지 않은 방법을 사용하지만, 여전히 업로드 속도가 제약당하게 된다. 다른 해법이나 시간제한을 사용하는 구현체들이 있는지는 알려지지 않았다. 단 하나의 클라이언트에게 업로드하고 있을 때는 수퍼 시딩을 끄는 것을 추천한다.