La mejor maquina para correr PowerFactory
Actualización — 13 de abril de 2026
Probé una quinta VM (c4-highmem-2) con el mismo CPU que la ganadora y resultó 28% más lenta. No sé por qué todavía — tengo una hipótesis pero no la verifiqué. Ver detalles ↓
Día 33 / 60
La mejor máquina para correr PowerFactory es la que tenga el procesador con la mayor frecuencia posible.
Llevaba semanas evitando esta pregunta: en que máquina debería correr PowerFactory?
Voy a ser honesto: asumía que más cores y más RAM era mejor. Usé la que me recomendaron por defecto, una c2d-standard-16 con 16 cores y 64 GB de RAM. Nunca lo había medido.
Así que hice lo que debería haber hecho hace semanas: un benchmark sistemático. 5 máquinas, 25 flujos de potencia cada una, multiples corridas. Misma base de datos del CEN (~2.600 barras del SEN), misma versión de PowerFactory, apoyado por Don Nelson.
Las máquinas
| VM | CPU | vCPUs | RAM | Disco |
|---|---|---|---|---|
| n2-standard-4 | Intel 2.2 GHz | 4 | 16 GB | pd-ssd |
| c2-standard-4 | Intel 3.1 GHz | 4 | 16 GB | pd-ssd |
| c2-standard-8 | Intel 3.1 GHz | 8 | 32 GB | pd-ssd |
| c2d-standard-16 | AMD 3.5 GHz | 16 | 64 GB | pd-ssd |
| c4-highcpu-4 | Intel Emerald Rapids ~4.2 GHz | 4 | 8 GB | Hyperdisk |
| c4-highmem-2 (actualización) | Intel Emerald Rapids ~4.2 GHz | 2 | 15 GB | Hyperdisk |
Todas corren PowerFactory 2024 SP1 en GCP, con Spark 0.3.1 ejecutando los flujos. No alcance a sacar los datos completos de la n2-standard-4, pero es la más lenta por lejos — los resultados son de las otras 4. La c4-highmem-2 la probé despues de publicar el post, los detalles estan en la actualización al final.
Resultados
El gráfico habla solo:
La c4-highcpu-4 con 4 cores y 8 GB de RAM promedia 2.19 segundos por flujo. La c2d-standard-16 — la que yo estaba usando — con 16 cores y 64 GB promedia 2.72. Cuatro veces más recursos, 20% más lenta.
¿Por qué? PowerFactory es single-threaded para resolver flujos de potencia. Lo único que importa es la frecuencia del core. Más RAM no sirve. Más cores no sirven. Los 15 cores extra que estaba pagando no hacían absolutamente nada.
| VM | Promedio | Mejor | Peor | Variación |
|---|---|---|---|---|
| c2-standard-4 | 3.903s | 3.704s | 4.136s | ~11% |
| c2-standard-8 | 3.603s | 3.597s | 3.608s | <1% |
| c2d-standard-16 | 2.724s | 2.707s | 2.742s | <1% |
| c4-highcpu-4 | 2.192s | 2.165s | 2.239s | <3% |
Otro dato que confirma la tesis: la c2-standard-8 (8 cores) es solo 3% más rápida que la c2-standard-4 (4 cores). Misma frecuencia, el doble de cores, rendimiento prácticamente idéntico. Los cores extra no sirven para nada aqui.
Thermal throttling
La c2-standard-4 tiene un problema: se calienta. En la segunda corrida, los primeros 13 flujos promedian 3.7 segundos, pero del flujo 14 en adelante saltan a 4.6 segundos. El CPU baja la frecuencia para no sobrecalentarse.
La línea roja es la c2-standard-4: se ve claramente el salto despues del flujo 13. La c4-highcpu-4 (verde) y la c2d-standard-16 (azul) se mantienen planas. La c4 no solo es más rápida — es consistente.
Esto importa. Cuando corres un estudio completo con multiples escenarios, necesitas que cada flujo tome lo mismo. Si la máquina se throttlea a la mitad, tus tiempos se vuelven impredecibles y tus estimaciones de costo no sirven.
Los otros tiempos
El flujo de potencia no es lo único que toma tiempo. Antes de resolver, Spark tiene que cargar la base de datos y activar el escenario. Estos tiempos también varían entre máquinas.
Tiempo de carga
Cargar la base de datos del CEN (~2.600 barras) es I/O puro: leer el archivo de disco y parsearlo en memoria.
La c4-highcpu-4 con Hyperdisk carga en 8.3 segundos, un 33% más rápido que las c2 con pd-ssd (~12s). El tipo de disco importa aca.
Un dato interesante: en algunas corridas el load time se disparo a 80-130 segundos. Eso pasa cuando el cache de disco esta frio — la primera vez que la VM lee el archivo. En corridas consecutivas el SO lo mantiene en cache y baja a los tiempos normales.
Tiempo de activación
Activar el escenario (caso de estudio + variacion de operación) es lo que le dice a PowerFactory "quiero simular este estado del sistema".
Lo mismo aca: la c4 activa en ~1.95 segundos vs ~2.7s de la c2-standard-4. La diferencia es menor en terminos absolutos pero se nota que la frecuencia del CPU impacta cada operación.
La c2d-standard-16 tuvo un outlier de 10.2 segundos en una corrida. No tengo explicación clara, posiblemente contention en la VM compartida.
Pipeline completo
Juntando todo — carga + activación + solver — se ve la diferencia end-to-end:
| VM | Carga | Activacion | Solver | Total |
|---|---|---|---|---|
| c2-standard-4 | 12.2s | 2.7s | 92.6s | 107.5s |
| c2-standard-8 | 12.0s | 2.5s | 89.9s | 104.5s |
| c2d-standard-16 | 9.1s | 2.2s | 68.0s | 79.4s |
| c4-highcpu-4 | 8.3s | 2.0s | 54.1s | 64.3s |
La c4-highcpu-4 completa los 25 flujos en 64 segundos end-to-end. La c2-standard-4 toma 107. La c4 gana en cada fase.
Costo
En la práctica mantengo las máquinas prendidas por hora. Lo que importa es cuanto rinde cada dolar.
| VM | Precio/hora | Flujos/hora |
|---|---|---|
| c2-standard-4 | $0.2088 | ~922 |
| c2-standard-8 | $0.4176 | ~999 |
| c2d-standard-16 | $0.7264 | ~1.322 |
| c4-highcpu-4 | $0.1701 | ~1.642 |
La c4-highcpu-4 cuesta $0.17/hr y hace ~1.642 flujos por hora. La c2d-standard-16 que estaba usando cuesta $0.73/hr y hace ~1.322. Pagaba 4.3x más por hora por 20% menos rendimiento.
Estaba quemando plata. Literalmente.
Computo infinito
En una postulacion a OpenAI preguntaron: si tuvieras computo infinito, que harias? En ese momento no supe responder bien. Ahora lo entiendo.
Simularía el sistema eléctrico en sus infinitas posibilidades para aprender de el. Contingencias, ajuste de protecciones, escenarios de operación, variaciones de demanda. Cada combinación posible. Una máquina corriendo 24/7 generando conocimiento.
La c4-highcpu-4 que estoy usando cuesta $0.1701/hr. Corriendo 24/7:
$0.1701/hr × 24 hr × 30 días = $122.47/mes
~1.642 flujos/hr × 24 hr × 30 días = ~1.182.240 flujos/mes
Pero si lo único que importa es la frecuencia del core y voy a tener la máquina prendida 24/7, la mejor opción no es una VM — es un Intel i9-14900K que corre a 6.0 GHz en turbo. Si el solver escala linealmente con frecuencia, cada flujo bajaría de ~2.19s a ~1.53s. 43% más rápido.
El mejor PC para correr PowerFactory
| Procesador | Intel i9-14900K — 6.0 GHz turbo | ~$460 |
| RAM | 16 GB DDR5 | ~$200 |
| Disco | SSD 120 GB (basta) | ~$20 |
| Placa madre | ASUS Prime Z690-P (LGA 1700 DDR5) | ~$120 |
| Fuente | MSI MAG A650BN 650W 80+ Bronze | ~$60 |
| Total | ~$860 |
La c4-highcpu-4 corriendo 24/7 cuesta ~$122/mes. Este PC se paga solo en ~6 meses.
El computo no es barato. Pero es lo que hay que hacer. Para que una AGI entienda el sistema eléctrico, alguien tiene que generar los datos. Un PC corriendo 24/7 simulando contingencias, corriendo flujos, ajustando protecciones. Eso es lo que voy a hacer.
Actualización — 13 de abril de 2026
Probé una quinta VM: c4-highmem-2
Despues de publicar este post me quedo una duda: si lo unico que importa es la frecuencia del core, ¿que pasa si bajo los vCPUs a la mitad? Teoricamente deberia ser igual de rapido y mas barato.
Probé con c4-highmem-2: mismo CPU que c4-highcpu-4 (Intel Emerald Rapids 4.2 GHz turbo), pero solo 2 vCPUs y 15 GB de RAM.
| VM | vCPU | Promedio | Precio/hr | Costo/1.000 |
|---|---|---|---|---|
| c4-highcpu-4 | 4 | 2.192s | $0.1701 | $0.09 |
| c4-highmem-2 | 2 | 2.810s | $0.1263 | $0.10 |
28% más lenta con el mismo CPU. Eso no lo esperaba. Si solo importa la frecuencia del core, dos VMs con el mismo Intel Emerald Rapids a 4.2 GHz deberían correr practicamente igual.
Hipótesis (no verificada): en GCP, los vCPUs son hyperthreads, asi que 2 vCPUs podrian estar compartiendo un solo core físico. Si ese fuera el caso, el solver de PowerFactory estaria compitiendo con el OS (Windows) y el servidor de Spark por el mismo core, y perderia tiempo en context switches.
Pero es solo una hipotesis. Puede ser otra cosa: diferencias de memoria (15 GB vs 8 GB, distintas latencias de acceso), el comportamiento del scheduler de GCP, el tipo de disco, o algo especifico del SKU c4-highmem-2. No lo medí.
Lo que me llevo (tentativo): bajar de 4 vCPUs en GCP para correr PowerFactory no salio como esperaba. Hasta entender por que, me quedo con c4-highcpu-4 como baseline. Si alguien sabe la razon real, escribeme.