2011-05-03 12 views
7

¿Cuál es el número óptimo de nodos en un enjambre de BitTorrent? Creo que hay una forma matemática de expresar la cantidad más eficiente de nodos. Para ser sincero, tengo un problema con solo tener un número empírico de X, sin algún rigor para respaldarlo.¿Cuál es el número óptimo de nodos en un enjambre de BitTorrent?

Según this specification el número es 30.

"Nota del implementador: Hasta 30 pares se montón, el cliente oficial versión 3, de hecho, forma única manera activa nuevas conexiones si tiene menos de 30 pares y rechazará conexiones si tiene 55. Este valor es importante para el rendimiento. Cuando una pieza nueva tiene descarga completada, los mensajes HAVE (consulte a continuación) deberán enviarse a la mayoría de los pares activos. Como resultado, el costo del tráfico de difusión crece en proporción directa al número de pares. Por encima de 25, los nuevos pares son altamente poco probable que aumente la velocidad de descarga. diseñadores de interfaz de usuario se recomienda encarecidamente a hacen de esta oscura y difícil de cambiar ya que es muy raro para ser útil hacer así."

La sobrecarga de esta cita hace referencia es a HAVE messages.

+1

Lo mejor que puede hacer, en mi humilde opinión, es escribir un simulador de bittorrent rápido y sucio en código y jugar con los números. –

+3

Este problema no se trata de lo más eficiente, se trata de elegir un equilibrio adecuado. Más pares significa mejores probabilidades de alcanzar la velocidad máxima de descarga. Más pares significa más tráfico de difusión y, por lo tanto, se utilizan más recursos. La pregunta es cómo intercambias esos dos. Dado que el tráfico de transmisión aumenta linealmente, mientras que el beneficio marginal de agregar otro nodo disminuye exponencialmente, habrá un punto en el que la compensación será clara. – btilly

+1

Lo mejor que se puede hacer es definir "óptimo". Además, querrá distinguir entre el número de nodos y el número de pares, porque está preguntando sobre uno, pero proporcionando citas sobre otro. –

Respuesta

3

significa número de nodos en un enjambre. Parece que se refiere al número total de participantes en un enjambre, pero su cita se refiere a la cantidad de nodos a los que debe conectarse. Asumamos que la pregunta es la última.

Usted tampoco especificó qué medida de rendimiento usar ¿Qué significa eficiente para ti?

Si óptimo significa el número más bajo de bytes de sobrecarga por byte de carga útil, desea 1 conexión (o quizás 0 conexiones).

Supongamos que quiere maximizar su tasa de descarga. La respuesta a esta pregunta (cuántos pares debo conectar para maximizar mi tasa de descarga) es:

El número más bajo de pares que saturará su enlace descendente.

Ahora, ¿qué significa esto? Bueno, depende del enjambre y de la capacidad que tengan otros pares, y depende de cuántas copias distribuidas haya en el enjambre.

La otra pregunta que también debe resolverse es, ¿a cuántos pares debería subir? La respuesta en este caso es:

El mayor número de pares puede dividir su capacidad de carga entre, por lo que todos ellos siguen un movimiento de vaivén, o el número más pequeño que se saturará el enlace descendente

Tenga en cuenta que la división no necesita ser parejo, vea el bittyrant paper para más detalles.

Ahora, necesita al menos tantas conexiones para deshacer.

El truco para conseguir una buena velocidad de descarga en su mayoría se reduce a enviar lo suficientemente rápido a los compañeros para que corresponder, pero preferiblemente no más rápido que eso. Si hay capacidad de carga extra, se debe usar para hacer que otro igual corresponda. Estar conectado con muchos compañeros significa que puede encontrar buenos socios comerciales un poco más rápido, y se verá menos afectado por la alta rotación en enjambres.

+0

+1 para el periódico, pero para ser honesto, el resto de su publicación es la única que hace la pregunta. ¿Por qué publicar una pregunta en mi pregunta cuando tienes exactamente la misma información con la que estoy tratando? Esta no es una buena base para una respuesta SO. – rook

1

Si se refiere al número óptimo de nodos en el enjambre, es probable que en algún lugar alrededor infinito. Dado que cada leecher se combina mejor con 1 semilla que tiene la misma velocidad de carga que la velocidad de descarga de los leechers.

Si se refiere al número óptimo de nodos a los que se conecta como un leecher, este número no se puede encontrar (o es extremadamente difícil), porque depende de demasiadas variables. Las variables a considerar:

  • número de nodos en enjambre (1 - 1000)
  • semilla/sanguijuela ración de cada nodo (0 - 10.000%)
  • latencia de cada nodo (1 ms - 1s)
  • conexiones activas max de cada nodo (0 - 1000)
  • velocidad de subida máximo de cada nodo (1 kb/s - 1000mb/s)
  • max velocidad de descarga de cada nodo (1 kb/s - 1000mb/s)
  • tamaño del torrente (1 KB - 1 tb)
  • rastreador inteligencia (difícil de cuantificar)
  • torrente tamaño de la pieza (1 kb - 4MB)
  • piezas torrente (1 - 10000)

Así por nodo hay al menos una millones de configuraciones posibles, luego cada otro nodo también tiene estas opciones. Entonces hay 1,000,000^1000 configuraciones posibles para un enjambre con 1000 nodos.

Cuando hay una gran cantidad de nodos de baja velocidad, es probable que desee conectarse a una gran cantidad de nodos.
Cuando hay una gran cantidad de nodos de alta velocidad, es probable que desee conectarse a sólo 1 o 2 nodos.

Cuestiones relacionadas