Cómo funciona el pool
No hay ningún servidor que simule. Simhive divide cada sim en lotes entre los PCs de los miembros, mide lo que entrega cada máquina en iteraciones de SimulationCraft y usa esa puntuación solo cuando el pool está saturado.
No hay ningún servidor que simule. Simhive en sí es un pequeño intermediario: lleva la lista de máquinas, reparte los lotes y guarda la puntuación. La potencia de cálculo son los PCs de los propios miembros. Todos ejecutan la misma app de Simhive, y esta hace dos cosas.
- Cuando simulas, tu trabajo se corta en lotes (un Droptimizer de 200 objetos se convierte en unas docenas de lotes) y se reparte entre todas las máquinas online; las más rápidas reciben lotes más grandes. Cada máquina simula su lote con SimulationCraft y devuelve los números; tu Simhive los une en un solo informe. Un Droptimizer que a solas tarda 20 minutos, en diez máquinas tarda un par.
- Cuando no, tu PC toma lotes para los demás, con los hilos que permitas, nunca mientras WoW está abierto (salvo que tú lo digas), nunca para otra cosa que SimulationCraft sobre texto plano. Tu propia máquina también ayuda con tus propias sims, como cualquier otra.
Nadie tiene que dejar un PC encendido. La app no hace nada mientras está cerrada, y un miembro que solo simula y nunca presta sigue siendo atendido; el último de la fila cuando hay mucha gente, nada más.
Límites #
Una sim puede ser larga (una carrera de mazmorra de 30 minutos no es problema), pero no infinita: como máximo 1800 s de combate, 200.000 iteraciones por perfil, un error objetivo no más fino de 0,05 %, 20 objetivos, 1000 profilesets y un presupuesto total de segundos simulados que rechaza la combinación que no terminaría en un tiempo razonable. Cada máquina corta un lote a los 20 minutos. Estas reglas se comprueban en el pool y otra vez en cada máquina; ningún cliente puede saltárselas.
Qué se mide, y cómo #
- La unidad son iteraciones de SimulationCraft de un combate de cinco minutos. Cada lote que devuelve una máquina dice cuántas iteraciones ejecutó y cuánto duraba el combate; una iteración de una ruta de mazmorra de 35 minutos cuenta siete veces más que una de Patchwerk, así que prestar tu tarde a sims de rutas se acredita por el trabajo, no por la cantidad. Ese número se apunta al miembro dueño de la máquina como aportado y al miembro de quien era la sim como usado. Las iteraciones son lo único que reporta cada lote y que nada puede inflar: una máquina rápida que devuelve un lote en 2 s y una lenta que necesita 20 s entregaron las mismas iteraciones. La rápida solo recibe más lotes, y por eso gana más por hora. El número de núcleos, la frecuencia o lo que una máquina diga de sí misma nunca entran en la puntuación.
- Guardia. Una máquina que está online y lista mientras el pool no tiene nada que repartir gana un pequeño crédito: el 5 % de lo que habría simulado a su velocidad medida. Premia estar ahí a las 3 de la madrugada sin premiarlo tanto como el trabajo real.
- La velocidad (it/s) se mide solo con lotes reales, como media móvil de lo que la máquina entregó de verdad, y sirve para dimensionar los lotes, no para puntuar. Hasta que una máquina ha hecho unos cuantos lotes reales, muestra «sin medir».
- Puntuación = aportado + guardia, en una ventana móvil de 30 días; los días más antiguos se caen. Tus propias máquinas simulando tus propios trabajos son neutrales: nada aportado, nada usado.
Qué hace la puntuación, y qué no #
Fuera de las horas punta no hace nada: quien simula recibe todo el pool. Solo cuando hay más trabajos en cola de los que el pool puede ejecutar a la vez, la puntuación los ordena. El peso de cada miembro es su puntuación más un margen gratuito de 150.000 iteraciones (más o menos un Droptimizer, para que un recién llegado no se quede atascado detrás de todos), y los lotes van a los trabajos en espera en proporción a peso × tiempo esperado. Quien más aporta es atendido antes, pero nadie espera para siempre. La puntuación nunca limita cuánto puedes simular, nunca bloquea a nadie y no hay nada que comprar.
Tu situación está en el panel Pool de tu app: puntuación, aportado, usado, guardia, puesto. La clasificación ordena a los miembros por lo que aportaron; nadie ve lo que otro simuló ni usó.
Una sola build de SimulationCraft para todos #
El pool fija un commit de SimulationCraft, que avanza cada noche, y cada máquina obtiene exactamente esa build de un canal público de builds, con checksum verificado, nunca del pool. Un Droptimizer repartido entre diez máquinas tiene que dar una sola respuesta, así que, por diseño, nadie puede quedarse en otra build.