| file dictionary.dml |
# database of protocol configurations and other reusable attributes
# supporting the model usa1b.dml
dictionary [
# AS boundary router
BGProuterGraph [graph [
ProtocolSession [ name bgp use SSF.OS.BGP4.BGPSession ]
ProtocolSession [ name ospf use SSF.OS.OSPF.sOSPF ]
ProtocolSession [ name socket use SSF.OS.Socket.socketMaster ]
ProtocolSession [ name tcp use SSF.OS.TCP.tcpSessionMaster ]
ProtocolSession [ name ip use SSF.OS.IP ]
]]
# AS-internal routers
routerGraph [graph [
ProtocolSession [name ospf use SSF.OS.OSPF.sOSPF]
ProtocolSession [name ip use SSF.OS.IP]
]]
server10Gb [
interface [id 0 bitrate 10000000000 latency 0.0]
graph [
ProtocolSession [
name server use SSF.OS.WWW.httpServer
port 80 # server's HTTP port
#client_limit 10 # max number of contemporaneously allowed clients
# if omitted, default is unlimited number
# distribution of the number of objects in a page request:
# if random variable = 0, round up to 1
# NOTE: the response to page request contains the 1st object
objects_in_page [
distribution [
name "Pareto" # distribution class name
k 0.6667 # scale (cutoff) parameter
alpha 1.2 # shape (exponent) parameter
]
]
# distribution of sizes of objects (in bytes)
# if random variable = 0, round up to 1
object_size [
distribution [
name "Pareto" # distribution class name
k 2000.0 # scale (cutoff) parameter
alpha 1.2 # shape (exponent) parameter
]
]
# distribution of server delays between request and response (in seconds)
response_delay [
distribution [
name "Exponential" # distribution class name
lambda 0.01 # mean = 1/lambda
]
]
# http_hdrsize 1000
_find .dictionary.httpsession.http_hdr_size
_find .dictionary.httpsession.show_report
_find .dictionary.httpsession.debug
]
ProtocolSession [name socket use SSF.OS.Socket.socketMaster]
ProtocolSession [name tcp use SSF.OS.TCP.tcpSessionMaster
_find .dictionary.tcpinit]
ProtocolSession [name ip use SSF.OS.IP]
]
]
client100Mb [
interface [id 0 bitrate 100000000 latency 0.0]
graph [
ProtocolSession [
name client use SSF.OS.WWW.httpClient
# earliest time to send the first request to server (seconds).
start_time 1000.0
# HTTP session arrival process in this client. The first session
# begins at start_time + inter_session_time (in seconds).
# Each session is with a server chosen uniformly at random from
# the servers specified in the .Net.traffic for this client.
inter_session_time [
distribution [
name "Exponential" # distribution class name
lambda 0.01 # mean = 1/lambda
]
]
# distribution of number of pages per session with selected server.
# if random variable = 0, round up to 1
pages_in_session [
distribution [
name "Exponential" # distribution class name
lambda 0.2 # mean = 1/lambda
]
]
# distribution of user-think-times (off-times) between consecutive
# in-session page requests, counted from the time when the previous
# page delivery is completed (in seconds). Mean =
inter_page_time [
distribution [
name "Pareto" # distribution class name
k 25.0 # scale (cutoff) parameter
alpha 2.0 # shape (exponent) parameter
]
]
# distribution of delays between consecutive requests in a session.
# counted from the time when the previous request was completed. (In seconds.)
inter_request_time [
distribution [
name "Pareto" # distribution class name
k 0.1667 # scale (cutoff) parameter
alpha 1.5 # shape (exponent) parameter
]
]
_find .dictionary.httpsession.http_hdr_size
_find .dictionary.httpsession.persistent
_find .dictionary.httpsession.show_report
_find .dictionary.httpsession.debug
]
ProtocolSession [name socket use SSF.OS.Socket.socketMaster]
ProtocolSession [name tcp use SSF.OS.TCP.tcpSessionMaster
_find .dictionary.tcpinit]
ProtocolSession [name ip use SSF.OS.IP]
]
]
tcpinit[
ISS 10000 # initial sequence number
MSS 1000 # maximum segment size
RcvWndSize 32 # receive buffer size
SendWndSize 32 # maximum send window size
SendBufferSize 128 # send buffer size
MaxRexmitTimes 12 # maximum retransmission times before drop
TCP_SLOW_INTERVAL 0.5 # granularity of TCP slow timer
TCP_FAST_INTERVAL 0.2 # granularity of TCP fast(delay-ack) timer
MSL 60.0 # maximum segment lifetime
MaxIdleTime 600.0 # maximum idle time for drop a connection
delayed_ack false # delayed ack option
fast_recovery true # implement fast recovery algorithm
show_report false # print a summary connection report
]
# the HTTP client-server protocol needs to agree on some things
httpsession [
http_hdr_size 1000 # nominal HTTP header size (virtual bytes) read from a socket
# before reading data (if indicated by http header)
persistent true # if true, one persistent TCP connection per session (HTTP1.1),
# if false,one TCP connection for each request/response (HTTP1.0).
show_report true # print client-server session summary report
debug false # print verbose client/server diagnostics
]
# interface specs
10Mb [
bitrate 10000000 # 10 million bits per second
latency 0.001 # 1 ms NIC latency, in seconds (on-card delay)
]
100Mb [
bitrate 100000000 # 100 million bits per second
latency 0.0001 # 0.1 ms NIC latency, in seconds (on-card delay)
]
1Gb [
bitrate 1000000000 # billion bits per second
latency 0.000001 # 1 us NIC latency, in seconds (on-card delay)
]
10Gb [
bitrate 10000000000 # 10 billion bits per second
latency 0.00000001 # 10 ns NIC latency, in seconds (on-card delay)
]
100Gb [
bitrate 100000000000 # 100 billion bits per second
latency 0.000000001 # 1 ns NIC latency, in seconds (on-card delay)
]
1Tb [
bitrate 1000000000000 # 1000 billion bits per second
latency 0.0000000001 # 0.1 ns NIC latency, in seconds (on-card delay)
]
serverPattern [
servers [port 80 nhi_range [from 0:1:2(0) to 0:1:5(0)]]
servers [port 80 nhi_range [from 1:1:2(0) to 1:1:5(0)]]
servers [port 80 nhi_range [from 2:1:2(0) to 2:1:5(0)]]
servers [port 80 nhi_range [from 3:1:2(0) to 3:1:5(0)]]
servers [port 80 nhi_range [from 4:1:2(0) to 4:1:5(0)]]
servers [port 80 nhi_range [from 5:1:2(0) to 5:1:5(0)]]
servers [port 80 nhi_range [from 6:1:2(0) to 6:1:5(0)]]
servers [port 80 nhi_range [from 7:1:2(0) to 7:1:5(0)]]
servers [port 80 nhi_range [from 8:1:2(0) to 8:1:5(0)]]
servers [port 80 nhi_range [from 9:1:2(0) to 9:1:5(0)]]
servers [port 80 nhi_range [from 10:1:2(0) to 10:1:5(0)]]
servers [port 80 nhi_range [from 11:1:2(0) to 11:1:5(0)]]
servers [port 80 nhi_range [from 12:1:2(0) to 12:1:5(0)]]
servers [port 80 nhi_range [from 13:1:2(0) to 13:1:5(0)]]
servers [port 80 nhi_range [from 14:1:2(0) to 14:1:5(0)]]
servers [port 80 nhi_range [from 15:1:2(0) to 15:1:5(0)]]
servers [port 80 nhi_range [from 16:1:2(0) to 16:1:5(0)]]
servers [port 80 nhi_range [from 17:1:2(0) to 17:1:5(0)]]
servers [port 80 nhi_range [from 18:1:2(0) to 18:1:5(0)]]
servers [port 80 nhi_range [from 19:1:2(0) to 19:1:5(0)]]
servers [port 80 nhi_range [from 20:1:2(0) to 20:1:5(0)]]
servers [port 80 nhi_range [from 21:1:2(0) to 21:1:5(0)]]
servers [port 80 nhi_range [from 22:1:2(0) to 22:1:5(0)]]
servers [port 80 nhi_range [from 23:1:2(0) to 23:1:5(0)]]
servers [port 80 nhi_range [from 24:1:2(0) to 24:1:5(0)]]
]
]
|