Hi,
lately we've been discussing linear vs. quadratic growth of the cost map,
but at least I had no real feeling what this means in terms of bytes on
the wire, using our JSON encoding. So I made a short experiment that I
want to share:
1. Full cost map
I created a short program that creates a dummy full cost map for a given
number of pids, with random costs. For example for n=4 we get:
"map": {
"PID1": { "PID1": 46798, "PID2": 40641, "PID3": 79519, "PID4": 42365 },
"PID2": { "PID1": 38326, "PID2": 40822, "PID3": 39478, "PID4": 92488 },
"PID3": { "PID1": 20699, "PID2": 17894, "PID3": 23255, "PID4": 72587 },
"PID4": { "PID1": 98813, "PID2": 84046, "PID3": 77717, "PID4": 32574 }
}
For different values of n and with optional gzip compression I got:
costmap-10.json 1681
costmap-10.json.gz 538
costmap-50.json 40K
costmap-50.json.gz 12K
costmap-100.json 160K
costmap-100.json.gz 48K
costmap-500.json 4.1M
costmap-500.json.gz 1.3M
costmap-1000.json 17M
costmap-1000.json.gz 5.1M
costmap-5000.json 424M
costmap-5000.json.gz 133M
costmap-10000.json 1.7G
costmap-10000.json.gz 534M
2. Partial cost map
draft-ietf-alto-protocol-14, section 9.1.2.5. says: "An ALTO Server MAY
omit entries for which a Path Cost is not defined (e.g., both the Source
and Destination PIDs contain addresses outside of the Network Provider's
administrative domain)."
So for this experiment I assume that only "PID1" is within our
administrative domain and I produced a cost map like this (n=4):
"map": {
"PID1": { "PID1": 32856, "PID2": 31071, "PID3": 16000, "PID4": 84296 },
"PID2": { "PID1": 35004 },
"PID3": { "PID1": 88374 },
"PID4": { "PID1": 11789 }
}
resulting sizes:
costvector-10.json 457
costvector-10.json.gz 180
costvector-50.json 2377
costvector-50.json.gz 654
costvector-100.json 4779
costvector-100.json.gz 1230
costvector-500.json 24K
costvector-500.json.gz 6079
costvector-1000.json 52K
costvector-1000.json.gz 12K
costvector-5000.json 252K
costvector-5000.json.gz 60K
costvector-10000.json 508K
costvector-10000.json.gz 112K
Thanks
Sebastian
_______________________________________________
alto mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/alto