Escenarios experimentales
David Verón · Nicholas Jara · Ingeniería en Informática, FP-UNA
Tutor: D.Sc. Ing. Diego P. Pinto-Roa · reunión 23 · 07/09/2026
| Decisión | Valor | Por qué |
|---|---|---|
| Topologías | nobel-us (14/21), janos-us (26/42), janos-us-ca (39/61), de SNDlib [SNDlib 2010] | Reales, citables y con coordenadas publicadas. Las anteriores se habían transcrito a mano de una figura y no existen como archivo. |
| Costo de enlace | 2.5 por unidad de ancho de banda | El costo de un enlace es proporcional al ancho de banda que transporta, no a su longitud. Xu et al. 2021; EVNFP 2015; SFCaaS 2022; CPVNF 2018. |
| Retardo de enlace | La distancia en kilómetros entre los extremos de cada enlace, utilizando la fórmula de haversine | El retardo se toma como la distancia entre los nodos: SNDlib publica las coordenadas, pero no el retardo. [Sinnott 1984] |
| Costo de VNF | Activación constante 20 y uso proporcional al ancho de banda (comprime 7, neutro 10, amplifica 13) | La activación se cobra una sola vez por nodo, no por sesión [Cohen et al. 2015; Malandrino et al. 2019; Kiji et al. 2020; Ren et al. 2020; Ma et al. 2020; Guo et al. 2022], y el uso depende del ancho de banda del flujo [Xu et al. 2021; Cai et al. 2022]. |
| Peticiones | una por nodo, destinos aleatorios entre el 5–20 % de los nodos, ancho de banda 20 por sesión. Una petición por nodo da 14 / 26 / 39 sesiones en cada dataset respectivamente | El rango de destinos sigue a [Xu et al. 2019; Ren et al. 2020]. El ancho de banda va en las mismas unidades que la capacidad de enlace, así que cada sesión ocupa 20/C de cada enlace que usa. Una petición por nodo hereda el criterio de [García 2025]. |
| Tipos de VNF | tres tipos en tercios exactos, según lo que la función le hace al tráfico: comprime (el ancho de banda baja de 20 a 14), neutro (sigue en 20) o amplifica (sube a 26) | Al pasar por el VNF el ancho de banda cambia, así que los enlaces entre el origen y el VNF transportan una tasa y los enlaces entre el VNF y los destinos transportan otra, y el costo de reservar capacidad para el respaldo depende de dónde queda el VNF. Los factores 0.7, 1.0 y 1.3 vienen de [Moré 2025], y Ma et al. [Ma 2019] midieron 0.8 en un compresor zlib y 1.3 en un codificador BCH. |
| Nodos habilitados para VNF | un conjunto fijo por topología, elegido por mayor grado nodal y mayor centralidad de intermediación | Una VNF necesita cómputo y almacenamiento, que el operador despliega en sitios determinados y no en cada nodo [ETSI GS NFV 002], así que el conjunto habilitado es un dato de la instancia y no una variable del algoritmo. El criterio es el de Gupta et al., «on the basis of their nodal degree ... and central location with respect to traffic flows» [Gupta et al. 2018], y responde a que por los nodos centrales pasan más flujos, lo que evita desvíos del camino más corto [Gupta et al. 2017; Ahvar et al. 2017]. El grado empata mucho acá, 10 de los 14 nodos de nobel-us tienen grado 3, así que el desempate va por centralidad de intermediación [Freeman 1977; Brandes 2001]. |
| Conjunto de peticiones | 30 conjuntos de destinos por escenario | Se generan 30 conjuntos de destinos al azar (mismos orígenes, misma topología y misma carga), en vez de quedarse con un único caso, para medir la variabilidad de la instancia. Los mismos 30 conjuntos se usan para los 3 algoritmos [Alhussein 2020; Ma et al. 2020]. |
| Carga | cuartos de C100: 100, 75, 50 y 25 % (C100 = nobel-us 240, janos-us 480, janos-us-ca 700) | Pasos iguales de 25 puntos. Los cuatro niveles caen en cuatro regímenes distintos de bloqueo, mientras que una grilla de mitades desperdicia el último (red saturada). |
| Comparación con/sin protección | misma instancia y misma capacidad, cambia solo el modo | Lo que se quiere medir es el costo de proteger. Si entre los dos modos cambiara cualquier otra cosa, la diferencia dejaría de ser atribuible a la protección. Con topología, peticiones y capacidad idénticas, toda la brecha en bloqueo y en costo es el precio del respaldo. |
Figura 1: topologías sobre sus coordenadas reales. El tamaño de cada nodo es su grado, o sea cuántos enlaces salen de él. En azul, los nodos habilitados para alojar una VNF, elegidos por mayor grado nodal y, entre los que empatan en grado, por mayor centralidad de intermediación.
| Red | Nodos | Enlaces | Grado mín | Grado medio | km mín–máx | Sesiones |
|---|---|---|---|---|---|---|
| nobel-us | 14 | 21 | 2 | 3.00 | 262–2837 | 14 |
| janos-us | 26 | 42 | 2 | 3.23 | 149–1145 | 26 |
| janos-us-ca | 39 | 61 | 2 | 3.13 | 132–1202 | 39 |
El nivel de carga se controla exclusivamente con la capacidad de los enlaces C. Las peticiones quedan fijas y los cuatro niveles son cuartos de la capacidad holgada C100 de cada red. Con y sin protección se corre sobre la misma capacidad, que es lo que hace comparables los dos modos.
C100 es la capacidad más baja en la que la red todavía admite una solución sin ninguna sesión bloqueada, con y sin protección. Se estima evaluando 300 soluciones al azar por capacidad, más la de todos los VNF activos, y la capacidad pasa si alguna llega a cero bloqueo. Al ser un muestreo el valor es una cota superior, porque el algoritmo evolutivo busca de forma dirigida y llega más abajo. Las 300 muestras quedan fijas para que el número sea reproducible.
Figura 2: sesiones bloqueadas en cada nivel de carga, tomando el mínimo sobre los individuos evaluados. En naranja sin protección, en azul con protección. La franja donde solo bloquea la azul es el costo de capacidad de proteger. La tabla de abajo da los mismos números, con C la capacidad de enlace de cada nivel.
| Nivel | nobel-us | janos-us | janos-us-ca | ||||||
|---|---|---|---|---|---|---|---|---|---|
| C | sin prot. | con prot. | C | sin prot. | con prot. | C | sin prot. | con prot. | |
| 100 % | 240 | 0 | 0 | 480 | 0 | 0 | 700 | 0 | 0 |
| 75 % | 180 | 0 | 2 | 360 | 0 | 6 | 525 | 0 | 7 |
| 50 % | 120 | 0 | 6 | 240 | 0 | 12 | 350 | 0 | 17 |
| 25 % | 60 | 5 | 10 | 120 | 10 | 19 | 175 | 12 | 28 |
Se parte del archivo nativo de SNDlib. Se pliegan los arcos dirigidos a enlaces no dirigidos, el retardo de cada enlace es la distancia en km entre sus extremos y el costo es 2.5 por unidad de ancho de banda (proporcional al flujo). Sobre esa base, el generador crea una petición por nodo, cada nodo es la fuente de la suya. Para cada una elige al azar la cantidad de destinos (5–20 % de los nodos, mínimo 2) y cuáles son, más el tipo de VNF que le toca. Los nodos habilitados para VNF son un conjunto fijo por topología, el mismo en los 30 conjuntos de destinos y en las 4 capacidades, elegido por mayor grado nodal y desempatando por mayor centralidad de intermediación.
Para no depender de un único sorteo, se generan 30 conjuntos de destinos por escenario: en cada uno se eligen al azar los destinos (mismos orígenes, misma topología y misma carga). Los mismos 30 conjuntos se usan para los 3 algoritmos y para las 4 capacidades, y sobre ellos se reportan media, desvío y diagramas de caja por métrica.
Cadena completa: scripts/sndlib_to_base.py → scripts/generate_instance.py → scripts/select_instance_reu22.py → scripts/calibrate_reu22.py. Puntajes y curvas en docs/reu22/seleccion_*.json y calib_*.json.