From 1257d3aedee08331a547101b371da12379a69624 Mon Sep 17 00:00:00 2001 From: valcarce Date: Wed, 25 Mar 2020 15:45:45 +0100 Subject: [PATCH] Add main code, configuration and documentation. --- README.md | 69 +++++ config/config_agent.json | 7 + config/config_environment.json | 11 + config/config_sacred.json | 12 + setup.py | 14 + wireless/__init__.py | 6 + wireless/agents/__init__.py | 0 wireless/agents/proportional_fair.py | 42 +++ wireless/agents/random_agent.py | 21 ++ wireless/agents/round_robin_agent.py | 41 +++ .../doc/TimeFreqResourceAllocation-v0.pdf | Bin 0 -> 244221 bytes wireless/envs/__init__.py | 1 + .../envs/time_freq_resource_allocation_v0.py | 272 ++++++++++++++++++ wireless/scripts/launch_agent.py | 106 +++++++ wireless/test/__init__.py | 0 wireless/test/test_tfrav0.py | 100 +++++++ wireless/utils/__init__.py | 0 wireless/utils/misc.py | 15 + wireless/utils/prop_model.py | 25 ++ 19 files changed, 742 insertions(+) create mode 100644 README.md create mode 100644 config/config_agent.json create mode 100644 config/config_environment.json create mode 100644 config/config_sacred.json create mode 100644 setup.py create mode 100644 wireless/__init__.py create mode 100644 wireless/agents/__init__.py create mode 100644 wireless/agents/proportional_fair.py create mode 100644 wireless/agents/random_agent.py create mode 100644 wireless/agents/round_robin_agent.py create mode 100644 wireless/doc/TimeFreqResourceAllocation-v0.pdf create mode 100644 wireless/envs/__init__.py create mode 100644 wireless/envs/time_freq_resource_allocation_v0.py create mode 100644 wireless/scripts/launch_agent.py create mode 100644 wireless/test/__init__.py create mode 100644 wireless/test/test_tfrav0.py create mode 100644 wireless/utils/__init__.py create mode 100644 wireless/utils/misc.py create mode 100644 wireless/utils/prop_model.py diff --git a/README.md b/README.md new file mode 100644 index 0000000..dc56e37 --- /dev/null +++ b/README.md @@ -0,0 +1,69 @@ +# Wireless Suite + +## Overview +Wireless Suite is a collection of problems in wireless telecommunications. + +Comparing research results in telecoms remains a challenge due to the lack of standard problem implementations against +which to benchmark. +To solve this, Wireless Suite implements some well-known problems, built as Open-AI Gym compatible classes. +These are intended to establish performance benchmarks, stimulate reproducible research and foster quantitative +comparison of algorithms for telecommunication problems. + +## Getting started +The code has been tested to work on Python 3.7 under Windows 10. + +1. Get the code: + ``` + git clone https://github.com/nokia/wireless-suite.git + ``` + +2. Use `pip` to install the package: + ``` + pip install --upgrade pip + pip install . + ``` +3. Modify the script *scripts/launch_agent.py* to execute an environment of your choosing and obtain performance results. + +## Provided problems + +### TimeFreqResourceAllocation-v0 +This environment simulates a OFDM resource allocation task, where a limited number of frequency resources are to be +allocated to a large number of User Equipments (UEs) over time. +An agent interacting with this environment plays the role of the MAC scheduler. On each time step, the agent must +allocate one frequency resource to one of a large number of UEs. The agent gets rewarded for these resource allocation +decisions. The reward increases with the number of UEs, whose traffic requirements are satisfied. +The traffic requirements for each UE are expressed in terms of their Guaranteed Bit Rate (if any) and their Packet +Delay Budget (PDP). + +You are invited to develop a new agent that interacts with this environment and takes effective resource allocation +decisions. +Four sample agents are provided for reference in the *wireless/agents* folder. +The performance obtained by the default agents on the default environment configuration is: +* Random -69590 +* Round Robin -69638 +* Round Robin IfTraffic -3284 +* Proportional Fair -9595 + +Note that the above average rewards are negative values. The best performing agent is thus the Round Robin IfTraffic. + +Additional details about this problem are provided in document *wireless/doc/TimeFreqResourceAllocation-v0.pdf* + +#### Evaluation +The script *wireless/scripts/launch_agent.py* runs 16 episodes with a maximum of 65536 time steps each, and collects the reward +obtained by the agent on each time step. The result is calculated as the average reward obtained in all time steps on +all episodes. + +## How to contribute +There are two main ways of contributing to Wireless Suite: + +1. **Implementing new problems**: The first version of Wireless Suite contains only one problem implementation. New +problems can be easily added as simple variations of the first one (e.g. by changing its parameters), or by introducing +fully new problem implementations (e.g. Adaptive Modulation and Coding, Open Loop Power Control, Handover optimization, +etc). + +2. **Implementing new agents**: Ideally, new agent contributions shall perform better than the default ones. + +## References +1. [Open AI Gym Documentation](http://gym.openai.com/docs/) +2. [How to create new environments for Gym](https://github.com/openai/gym/blob/master/docs/creating-environments.md) +3. [Sacred Documentation](https://sacred.readthedocs.io/en/stable/index.html) diff --git a/config/config_agent.json b/config/config_agent.json new file mode 100644 index 0000000..70c1cfb --- /dev/null +++ b/config/config_agent.json @@ -0,0 +1,7 @@ +{ + "agent": { + "agent_type": "round robin", + "t_max": 65536, + "n_episodes": 16 + } +} diff --git a/config/config_environment.json b/config/config_environment.json new file mode 100644 index 0000000..20fe052 --- /dev/null +++ b/config/config_environment.json @@ -0,0 +1,11 @@ +{ + "env": { + "n_ues": 32, + "n_prbs": 25, + "buffer_max_size": 8, + "eirp_dbm": 13, + "f_carrier_mhz": 2655, + "max_pkt_size_bits": 41250, + "non_gbr_traffic_mean_interarrival_time_ttis": 10 + } +} diff --git a/config/config_sacred.json b/config/config_sacred.json new file mode 100644 index 0000000..738cfd6 --- /dev/null +++ b/config/config_sacred.json @@ -0,0 +1,12 @@ +{ + "sacred": { + "sacred_host": "127.0.0.1", + "sacred_port": "27017", + "sacred_user": "sacred_user", + "sacred_pwd": "sacred_pwd", + "sacred_db": "sacred0000", + "n_metrics_points": 128, + "experiment_name": "Random" + }, + "seed": 0 +} diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..3a2b51b --- /dev/null +++ b/setup.py @@ -0,0 +1,14 @@ +""" +© 2020 Nokia +Licensed under the BSD 3 Clause license +SPDX-License-Identifier: BSD-3-Clause +""" +from setuptools import setup + +setup(name='wireless_suite', + version='1.0', + packages=['wireless_suite'], + license='„2020 Nokia. Licensed under the BSD 3 Clause license. SPDX-License-Identifier: BSD-3-Clause', + description='Modules for executing wireless communication problems as OpenAI Gym environments.', + install_requires=['gym', 'numpy', 'scipy', 'sacred', 'pytest'] + ) diff --git a/wireless/__init__.py b/wireless/__init__.py new file mode 100644 index 0000000..494cca8 --- /dev/null +++ b/wireless/__init__.py @@ -0,0 +1,6 @@ +from gym.envs.registration import register + +register( + id='TimeFreqResourceAllocation-v0', + entry_point='wireless.envs:TimeFreqResourceAllocationV0', +) diff --git a/wireless/agents/__init__.py b/wireless/agents/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/wireless/agents/proportional_fair.py b/wireless/agents/proportional_fair.py new file mode 100644 index 0000000..462a005 --- /dev/null +++ b/wireless/agents/proportional_fair.py @@ -0,0 +1,42 @@ +""" +© 2020 Nokia +Licensed under the BSD 3 Clause license +SPDX-License-Identifier: BSD-3-Clause +""" +from .random_agent import RandomAgent +import numpy as np + + +class ProportionalFairAgent(RandomAgent): + def __init__(self, action_space, n_ues, buffer_max_size): + RandomAgent.__init__(self, action_space) + self.t = 0 # Current time step + + self.K = n_ues # Number of UEs + self.L = buffer_max_size # Maximum number of packets per UE buffer + self.n = np.zeros(n_ues) # Number of past PRB assignments for each UE + + def act(self, state, reward, done): + s = np.reshape(state[self.K:self.K*(1 + self.L)], (self.K, self.L)) # Sizes in bits of packets in UEs' buffers + buffer_size_per_ue = np.sum(s, axis=1) + + e = np.reshape(state[self.K*(1 + self.L):self.K*(1 + 2*self.L)], (self.K, self.L)) # Packet ages in TTIs + o = np.max(e, axis=1) # Age of oldest packet for each UE + + qi_ohe = np.reshape(state[self.K + 2 * self.K * self.L:5 * self.K + 2 * self.K * self.L], (self.K, 4)) + qi = np.array([np.where(r == 1)[0][0] for r in qi_ohe]) # Decode One-Hot-Encoded QIs + + # Extract packet delay budget for all UEs + b = np.zeros(qi.shape) + b[qi == 3] = 100 + b[qi == 2] = 150 + b[qi == 1] = 30 + b[qi == 0] = 300 + + priorities = (1+o)/b * buffer_size_per_ue / (1 + self.n) + + action = np.argmax(priorities) + self.n[action] += 1 + + self.t += 1 + return action diff --git a/wireless/agents/random_agent.py b/wireless/agents/random_agent.py new file mode 100644 index 0000000..ceee3a9 --- /dev/null +++ b/wireless/agents/random_agent.py @@ -0,0 +1,21 @@ +""" +© 2020 Nokia +Licensed under the BSD 3 Clause license +SPDX-License-Identifier: BSD-3-Clause +""" + + +class RandomAgent: + """ + The world's simplest agent! + + See: https://github.com/openai/gym/blob/master/examples/agents/random_agent.py + """ + def __init__(self, action_space): + self.action_space = action_space + + def act(self, state, reward, done): + return self.action_space.sample() + + def seed(self, seed=0): + self.action_space.seed(seed) diff --git a/wireless/agents/round_robin_agent.py b/wireless/agents/round_robin_agent.py new file mode 100644 index 0000000..6df9082 --- /dev/null +++ b/wireless/agents/round_robin_agent.py @@ -0,0 +1,41 @@ +""" +© 2020 Nokia +Licensed under the BSD 3 Clause license +SPDX-License-Identifier: BSD-3-Clause +""" +from .random_agent import RandomAgent +import numpy as np + + +class RoundRobinAgent(RandomAgent): + def __init__(self, action_space, n_ues, buffer_max_size): + RandomAgent.__init__(self, action_space) + self.t = 0 # Current time step + + self.K = n_ues # Number of UEs + self.L = buffer_max_size # Maximum number of packets per UE buffer + + def act(self, state, reward, done): + action = self.t % self.K + self.t += 1 + return action + + +class RoundRobinIfTrafficAgent(RoundRobinAgent): + def __init__(self, action_space, n_ues, buffer_max_size): + RoundRobinAgent.__init__(self, action_space, n_ues, buffer_max_size) + + def act(self, state, reward, done): + action0 = self.t % self.K + + s = np.reshape(state[self.K:self.K*(1 + self.L)], (self.K, self.L)) + buffer_size_per_ue = np.sum(s, axis=1) + + action = action0 + while buffer_size_per_ue[action] == 0: + action = (action + 1) % self.K + if action == action0: + break + + self.t += 1 + return action diff --git a/wireless/doc/TimeFreqResourceAllocation-v0.pdf b/wireless/doc/TimeFreqResourceAllocation-v0.pdf new file mode 100644 index 0000000000000000000000000000000000000000..075ef46901399a4c5fff792d80992a81774b809e GIT binary patch literal 244221 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¬mdCm0FEa^ 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 z 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 literal 0 HcmV?d00001 diff --git a/wireless/envs/__init__.py b/wireless/envs/__init__.py new file mode 100644 index 0000000..54aa8b6 --- /dev/null +++ b/wireless/envs/__init__.py @@ -0,0 +1 @@ +from wireless.envs.time_freq_resource_allocation_v0 import TimeFreqResourceAllocationV0 diff --git a/wireless/envs/time_freq_resource_allocation_v0.py b/wireless/envs/time_freq_resource_allocation_v0.py new file mode 100644 index 0000000..8dfdd25 --- /dev/null +++ b/wireless/envs/time_freq_resource_allocation_v0.py @@ -0,0 +1,272 @@ +""" +© 2020 Nokia +Licensed under the BSD 3 Clause license +SPDX-License-Identifier: BSD-3-Clause +""" +import random +from math import floor, ceil + +import numpy as np +from gym import spaces, Env +from scipy import constants + +from ..utils.misc import calculate_thermal_noise +from ..utils.prop_model import PropModel + + +class TimeFreqResourceAllocationV0(Env): + metadata = { + 'render.modes': ['human', 'rgb_array'] + } + + bw_mhz = 5 # System bandwidth + max_pkt_size_bits = 5096 + x_max_m = 1000 + y_max_m = 1000 + + SINR_COEFF = 8 # Rho coefficient to map SINR to spectral efficient. See G. Piro 2011 paper. + + def __init__(self, n_ues=32, n_prbs=25, buffer_max_size=32, eirp_dbm=13, f_carrier_mhz=2655, + max_pkt_size_bits=41250, it=10, t_max=65536): + super().__init__() + self._seed = None + self.K = n_ues # Number of UEs + self.Nf = n_prbs # Number of Physical Resource Blocks (PRBs) + self.L = buffer_max_size # Maximum number of packets per UE buffer + self.it = it # Mean inter-packet arrival time for Non-GBR traffic + self.EIRP_DBM = eirp_dbm + self.f_carrier_mhz = f_carrier_mhz # Carrier frequency + self.max_pkt_size_bits = max_pkt_size_bits + self.t_max = t_max + self.tti_max = ceil(t_max/n_prbs) + + self.bts_pos = [self.x_max_m / 2, self.y_max_m / 2] + self.propagation_model = PropModel(self.f_carrier_mhz) + self.n_mw = calculate_thermal_noise(self.bw_mhz * 1E-6) + + self.low = np.array([0] * self.K + # CQI + [0] * self.K * self.L + # Size (in bits) of packets in UEs' buffers + [0] * self.K * self.L + # Age (in ms) of packets in UEs' buffers + [0, 0, 0, 0] * self.K + # QoS Identifier classes (ohe) of all UEs + [0]) # Index of the current PRB being allocated + self.high = np.array([15] * self.K + # CQI + [self.max_pkt_size_bits] * self.K * self.L + # Size (in bits) of packets in UEs' buffers + [self.tti_max] * self.K * self.L + # Age (in ms) of packets in UEs' buffers + [1, 1, 1, 1] * self.K + # QoS Identifier classes (ohe) of all UEs + [self.Nf - 1]) # Index of the current PRB being allocated + self.observation_space = spaces.Box(self.low, self.high, dtype=np.uint32) + + self.action_space = spaces.Discrete(self.K) + self.reward_range = (0, 1) + + # Features of observation vector + self.cqi = None + self.s = None # Sizes in bits of all packets in each UE's buffer + self.e = None # Ages in TTIs of all packets in each UE's buffer + self.qi = None + self.p = 0 + + # Internal state features + self.t = 0 # Time step + self.tti = 0 # Transmission Time Interval (TTI) counter + self.ue_pos = None # UE positions in meters + self.ue_v_mps = None # UE speeds in meter/second + self.ue_dir = None # UE move direction in radians + self.spectral_efficiency = None + self.tti_next_pkt = None # TTI of next incoming packet for each UE + + self.seed() + self.reset() + + assert self.K % 4 == 0, "K must be a multiple of 4 in order to have the same number of UEs per QoS class." + + def reset(self): + self.cqi = np.zeros(shape=(self.K,), dtype=np.uint8) + self.s = np.zeros(shape=(self.K, self.L), dtype=np.uint32) + self.e = np.zeros(shape=(self.K, self.L), dtype=np.uint32) + self.qi = np.concatenate((np.repeat(np.array([[0, 0, 0, 1]]), self.K // 4, axis=0), + np.repeat(np.array([[0, 0, 1, 0]]), self.K // 4, axis=0), + np.repeat(np.array([[0, 1, 0, 0]]), self.K // 4, axis=0), + np.repeat(np.array([[1, 0, 0, 0]]), self.K // 4, axis=0)) + ) + np.random.shuffle(self.qi) + self.p = 0 + + self.t = 0 + self.tti = 0 + self.ue_pos = np.random.uniform([0, 0], [self.x_max_m, self.y_max_m], size=(self.K, 2)) # Place UEs + self.ue_v_mps = np.random.normal(1.36, scale=0.19, size=(self.K,)) # UE walking speeds in m/s + self.ue_dir = np.random.uniform(0, 2 * constants.pi, size=(self.K,)) # UE move direction in radians + self.spectral_efficiency = np.zeros(shape=(self.K,)) + self.tti_next_pkt = np.random.randint(8, size=(self.K,)) # TTI of first transmission for each UE + self._recalculate_rf() + self._generate_traffic() + self._update_state() + + return np.array(self.state) + + def seed(self, seed=0): + random.seed(seed) + np.random.seed(seed) + self.propagation_model.seed(seed=seed) + self._seed = seed + + def step(self, action): + assert self.action_space.contains(action), f"{action} ({type(action)}) invalid" + + # Execute action + if np.sum(self.s[action, :]) > 0: # If packets exist in UE's buffer + # Find oldest packet in UE's buffer + mask = (self.s[action, :] > 0) + subset_idx = np.argmax(self.e[action, mask]) + l_old = np.arange(self.L)[mask][subset_idx] + + assert self.s[action, l_old] > 0, f"t={self.t}. Oldest packet has size {self.s[action, l_old]} " +\ + f"and age {self.e[action, l_old]}. " +\ + f"User has {np.sum(self.s[action, :])} bits in buffer." # Sanity check + tx_data_bits = floor( + self.spectral_efficiency[action] * self.bw_mhz / self.Nf * 1E3) # Bits that can be transmitted + while tx_data_bits > 0 and self.s[action, l_old] > 0: # While there are packets & available capacity + if tx_data_bits >= self.s[action, l_old]: # Full packet transmission + tx_data_bits -= self.s[action, l_old] + self.s[action, l_old] = 0 + self.e[action, l_old] = 0 + l_old = np.argmax(self.e[action, :]) # Find oldest packet in UE's buffer + else: # Partial packet transmission + self.s[action, l_old] -= tx_data_bits + break + + reward = 0 + self.t += 1 # Update time-step + self.p = self.t % self.Nf # Update PRB counter + if self.p == 0: + reward = self._calculate_reward() + self.tti += 1 # Update TTI counter + self.e[self.s > 0] += 1 # Age buffer packets + self._generate_traffic() + self._move_ues() + self._recalculate_rf() + + self._update_state() + done = bool(self.t >= self.t_max) + return np.array(self.state), reward, done, {} + + def render(self, mode='human', close=False): + pass + + def _calculate_reward(self): + r_gbr = 0 + r_non_gbr = 0 + + for u, qi in enumerate(self.qi): + gbr_delayed_pkts = np.array([]) + non_gbr_pkts = np.array([]) + non_gbr_delayed_pkts = np.array([]) + if np.array_equal(qi, [0, 0, 0, 1]): + gbr_delayed_pkts = np.where(self.e[u, :] > 100)[0] + elif np.array_equal(qi, [0, 0, 1, 0]): + gbr_delayed_pkts = np.where(self.e[u, :] > 150)[0] + elif np.array_equal(qi, [0, 1, 0, 0]): + gbr_delayed_pkts = np.where(self.e[u, :] > 30)[0] + elif np.array_equal(qi, [1, 0, 0, 0]): + non_gbr_delayed_pkts = np.where(self.e[u, :] > 300)[0] + non_gbr_pkts = np.where(self.s[u, :] > 0)[0] + + if gbr_delayed_pkts.size > 0: + r_gbr += np.sum(self.s[u, gbr_delayed_pkts]) + + if non_gbr_delayed_pkts.size > 0: + r_non_gbr += np.sum(self.s[u, non_gbr_delayed_pkts]) + if non_gbr_pkts.size > 0: + r_non_gbr += np.sum(self.s[u, non_gbr_pkts]) + + return -r_gbr - r_non_gbr + + def _move_ues(self): + d_m = self.ue_v_mps * 1E-3 # Moved distance in meters + delta_x = d_m * np.cos(self.ue_dir) + delta_y = d_m * np.sin(self.ue_dir) + + for u, pos in enumerate(self.ue_pos): + if pos[0] + delta_x[u] > self.x_max_m or pos[0] + delta_x[u] < 0: + delta_x[u] = -delta_x[u] + self.ue_dir[u] = np.random.uniform(0, 2 * constants.pi) # UE move direction in radians + if pos[1] + delta_y[u] > self.y_max_m or pos[1] + delta_y[u] < 0: + delta_y[u] = -delta_y[u] + self.ue_dir[u] = np.random.uniform(0, 2 * constants.pi) # UE move direction in radians + + self.ue_pos[:, 0] += delta_x + self.ue_pos[:, 1] += delta_y + + def _recalculate_rf(self): + distances_m = np.linalg.norm(self.ue_pos - self.bts_pos, axis=1) + pathloss_db = self.propagation_model.get_free_space_pl_db(distances_m, shadowing_db=6) + rx_pwr_dbm = self.EIRP_DBM - pathloss_db # Received power + self._calculate_spectral_efficiency(rx_pwr_dbm) + self._spectral_efficiency_to_cqi() + + def _calculate_spectral_efficiency(self, rx_pwr_dbm): + interference_dbm = -105 # Constant interference level throughout the coverage area + + p_mw = (10 ** (rx_pwr_dbm / 10)) # Rx power in mw + interference_mw = 10 ** (interference_dbm / 10) + + sinr = p_mw / (self.n_mw + interference_mw) + se = np.log2(1 + sinr / self.SINR_COEFF) # DL spectral efficiency in bps/Hz + + self.spectral_efficiency = np.clip(se, 0, 9.6) # Define an upper bound for the spectral efficiency. + + def _spectral_efficiency_to_cqi(self): + # As per Table 7.2.3-1 in TS 36.213 Rel-11 + self.cqi[np.where(self.spectral_efficiency <= 0.1523)] = 0 + self.cqi[np.where((0.1523 < self.spectral_efficiency) & (self.spectral_efficiency <= 0.2344))] = 1 + self.cqi[np.where((0.2344 < self.spectral_efficiency) & (self.spectral_efficiency <= 0.3770))] = 2 + self.cqi[np.where((0.3770 < self.spectral_efficiency) & (self.spectral_efficiency <= 0.6016))] = 3 + self.cqi[np.where((0.6016 < self.spectral_efficiency) & (self.spectral_efficiency <= 0.8770))] = 4 + self.cqi[np.where((0.8770 < self.spectral_efficiency) & (self.spectral_efficiency <= 1.1758))] = 5 + self.cqi[np.where((1.1758 < self.spectral_efficiency) & (self.spectral_efficiency <= 1.4766))] = 6 + self.cqi[np.where((1.4766 < self.spectral_efficiency) & (self.spectral_efficiency <= 1.9141))] = 7 + self.cqi[np.where((1.9141 < self.spectral_efficiency) & (self.spectral_efficiency <= 2.4063))] = 8 + self.cqi[np.where((2.4063 < self.spectral_efficiency) & (self.spectral_efficiency <= 2.7305))] = 9 + self.cqi[np.where((2.7305 < self.spectral_efficiency) & (self.spectral_efficiency <= 3.3223))] = 10 + self.cqi[np.where((3.3223 < self.spectral_efficiency) & (self.spectral_efficiency <= 3.9023))] = 11 + self.cqi[np.where((3.9023 < self.spectral_efficiency) & (self.spectral_efficiency <= 4.5234))] = 12 + self.cqi[np.where((4.5234 < self.spectral_efficiency) & (self.spectral_efficiency <= 5.1152))] = 13 + self.cqi[np.where((5.1152 < self.spectral_efficiency) & (self.spectral_efficiency <= 5.5547))] = 14 + self.cqi[np.where(5.5547 < self.spectral_efficiency)] = 15 + + def _generate_traffic(self): + for u, qi in enumerate(self.qi): + if self.tti == self.tti_next_pkt[u]: + buffer_gaps = np.where(self.s[u, :] == 0)[0] # Find slots for packets in the queue. + if buffer_gaps.size == 0: # Large negative rwd unnecessary b/c rwd is already max due to full buffer. + print(f"Buffer overflow. Disregarding new GBR (Conversational Voice) packet for UE {u}.") + g = None + else: + g = buffer_gaps[0] # First available slot in buffer + self.e[u, g] = 0 # Set the age of this new packet to 0 + + if np.array_equal(qi, [0, 0, 0, 1]): # 3: GBR (Conversational Voice) + if buffer_gaps.size > 0: + self.s[u, g] = 584 + self.tti_next_pkt[u] = self.tti + 20 + elif np.array_equal(qi, [0, 0, 1, 0]): # 2: GBR (Conversational Video) + # TODO: Use perhaps a more complex video traffic model such as the Markov-modulated Gamma model. + if buffer_gaps.size > 0: + self.s[u, g] = 41250 + self.tti_next_pkt[u] = self.tti + 33 + elif np.array_equal(qi, [0, 1, 0, 0]): # 1: Delay Critical GBR + if buffer_gaps.size > 0: + self.s[u, g] = 200 + self.tti_next_pkt[u] = self.tti + 20 + elif np.array_equal(qi, [1, 0, 0, 0]): # 0: Non-GBR + # Inspired by: https://www.nsnam.org/docs/models/html/applications.html?highlight=traffic%20model + if buffer_gaps.size > 0: + self.s[u, g] = min(max(1, np.random.geometric(1 / 20000)), self.max_pkt_size_bits) + self.tti_next_pkt[u] = self.tti + np.random.geometric(1 / self.it) + + if buffer_gaps.size > 0: + assert 1 <= self.s[u, g] <= self.max_pkt_size_bits, f"Packet size {self.s[u, g]} out of range." + + def _update_state(self): + self.state = np.concatenate((self.cqi, self.s.flatten(), self.e.flatten(), self.qi.flatten(), [self.p])) diff --git a/wireless/scripts/launch_agent.py b/wireless/scripts/launch_agent.py new file mode 100644 index 0000000..3f9cf64 --- /dev/null +++ b/wireless/scripts/launch_agent.py @@ -0,0 +1,106 @@ +""" +© 2020 Nokia +Licensed under the BSD 3 Clause license +SPDX-License-Identifier: BSD-3-Clause +""" +import gym +import numpy as np +import json + +from sacred import Experiment +from sacred.observers import MongoObserver + +from wireless.agents.random_agent import RandomAgent +from wireless.agents.round_robin_agent import * +from wireless.agents.proportional_fair import * + +# Load agent parameters +with open('config/config_agent.json') as f: + ac = json.load(f) + +# Configure experiment +with open('config/config_sacred.json') as f: + sc = json.load(f) # Sacred Configuration + ns = sc["sacred"]["n_metrics_points"] # Number of points per episode to log in Sacred + ex = Experiment(ac["agent"]["agent_type"]) + ex.add_config(sc) + ex.add_config(ac) +mongo_db_url = f'mongodb://{sc["sacred"]["sacred_user"]}:{sc["sacred"]["sacred_pwd"]}@' +\ + f'{sc["sacred"]["sacred_host"]}:{sc["sacred"]["sacred_port"]}/{sc["sacred"]["sacred_db"]}' +# ex.observers.append(MongoObserver(url=mongo_db_url, db_name=sc["sacred"]["sacred_db"])) # Uncomment to save to DB + +# Load environment parameters +with open('config/config_environment.json') as f: + ec = json.load(f) + ex.add_config(ec) + + +@ex.automain +def main(_run): + n_eps = _run.config["agent"]["n_episodes"] + t_max = _run.config['agent']['t_max'] + n_sf = t_max//_run.config['env']['n_prbs'] # Number of complete subframes to run per episode + log_period_t = max(1, (n_sf//ns)*_run.config['env']['n_prbs']) # Only log rwd on last step of each subframe + + rwd = np.zeros((n_eps, t_max)) # Memory allocation + + # Simulate + for ep in range(n_eps): # Run episodes + env = gym.make('TimeFreqResourceAllocation-v0', n_ues=_run.config['env']['n_ues'], + n_prbs=_run.config['env']['n_prbs'], buffer_max_size=_run.config['env']['buffer_max_size'], + eirp_dbm=_run.config['env']['eirp_dbm'], f_carrier_mhz=_run.config['env']['f_carrier_mhz'], + max_pkt_size_bits=_run.config['env']['max_pkt_size_bits'], + it=_run.config['env']['non_gbr_traffic_mean_interarrival_time_ttis']) # Init environment + env.seed(seed=_run.config['seed'] + ep) + + # Init agent + if ac["agent"]["agent_type"] == "random": + agent = RandomAgent(env.action_space) + agent.seed(seed=_run.config['seed'] + ep) + elif ac["agent"]["agent_type"] == "round robin": + agent = RoundRobinAgent(env.action_space, env.K, env.L) + elif ac["agent"]["agent_type"] == "round robin iftraffic": + agent = RoundRobinIfTrafficAgent(env.action_space, env.K, env.L) + elif ac["agent"]["agent_type"] == "proportional fair": + agent = ProportionalFairAgent(env.action_space, env.K, env.L) + else: + raise NotImplemented + + reward = 0 + done = False + state = env.reset() + for t in range(t_max): # Run one episode + # Collect progress + if t_max < ns or (t > 0 and (t+1) % log_period_t == 0): # If it's time to log + s = np.reshape(state[env.K:env.K * (1 + env.L)], (env.K, env.L)) + qi_ohe = np.reshape(state[env.K+2*env.K*env.L:5*env.K + 2*env.K*env.L], (env.K, 4)) + qi = [np.where(r == 1)[0][0] for r in qi_ohe] # Decode One-Hot-Encoded QIs + for u in range(0, env.K, env.K//2): # Log KPIs for some UEs + _run.log_scalar(f"Episode {ep}. UE {u}. CQI vs time step", state[u], t) + _run.log_scalar(f"Episode {ep}. UE {u}. Buffer occupancy [bits] vs time step", np.sum(s[u, :]), t) + _run.log_scalar(f"Episode {ep}. UE {u}. QoS Identifier vs time step", qi[u], t) + + action = agent.act(state, reward, done) + state, reward, done, _ = env.step(action) + + # Collect progress + if t_max < ns or (t > 0 and (t+1) % log_period_t == 0): + _run.log_scalar(f"Episode {ep}. Rwd vs time step", reward, t) + + rwd[ep, t] = reward + if done: + break + if (ep*t_max + t) % log_period_t == 0: + print(f"{(ep*t_max + t)*100/(n_eps*t_max):3.0f}% completed.") + + env.close() + + if n_eps > 1: + rwd_avg = np.mean(rwd, axis=0) + for t in range(t_max): + if t_max < ns or (t > 0 and (t+1) % log_period_t == 0): # If it's time to log + _run.log_scalar(f"Mean rwd vs time step", rwd_avg[t], t) + + result = np.mean(rwd) # Save experiment result + print(f"Result: {result}") + return result diff --git a/wireless/test/__init__.py b/wireless/test/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/wireless/test/test_tfrav0.py b/wireless/test/test_tfrav0.py new file mode 100644 index 0000000..81e9db0 --- /dev/null +++ b/wireless/test/test_tfrav0.py @@ -0,0 +1,100 @@ +""" +© 2020 Nokia +Licensed under the BSD 3 Clause license +SPDX-License-Identifier: BSD-3-Clause +""" +import pytest +import random +import gym +import numpy as np + + +@pytest.fixture +def env(): + env = gym.make('TimeFreqResourceAllocation-v0') # Init environment + yield env + + +@pytest.fixture +def env64(): + env = gym.make('TimeFreqResourceAllocation-v0', n_ues=64) # Init environment + yield env + + +class TestTfraV0: + def test_reproducibility(self, env64): + env64.seed(seed=1234) + states = [] + rewards = [] + dones = [] + for action in list(range(64)): + state, reward, done, _ = env64.step(action) + states.append(state) + rewards.append(reward) + dones.append(done) + + env = gym.make('TimeFreqResourceAllocation-v0', n_ues=64) # Init environment + env.seed(seed=1234) + for action in list(range(64)): + state, reward, done, _ = env.step(action) + np.testing.assert_array_equal(state, states[action]) + assert reward == rewards[action] + assert done == dones[action] + + def test_variability(self, env64): + env64.seed(seed=1234) + states = [] + rewards = [] + dones = [] + for action in list(range(64)): + state, reward, done, _ = env64.step(action) + states.append(state) + rewards.append(reward) + dones.append(done) + + env = gym.make('TimeFreqResourceAllocation-v0', n_ues=64) # Init environment + env.seed(seed=12345) + for action in list(range(64)): + state, reward, done, _ = env.step(action) + if not np.array_equal(state, states[action]): + return + if reward != rewards[action]: + return + if done != dones[action]: + return + + pytest.fail("Different seeds produced the same results.") + + def test_state_features(self): + n_ues = 64 + n_steps = 512 + env = gym.make('TimeFreqResourceAllocation-v0', n_ues=n_ues, eirp_dbm=7) # Low power to have some CQI=0 + env.seed(seed=1234) + + state, _, _, _ = env.step(0) # Get state to measure its length + states = np.zeros((n_steps, len(state)), dtype=np.uint32) # Memory pre-allocation + for t in range(n_steps): + action = random.randint(0, n_ues-1) + state, _, _, _ = env.step(action) + states[t, :] = state + + # Check CQI range + assert states[:, :n_ues].min() == 0 + assert states[:, :n_ues].max() == 15 + assert 0 < states[:, :n_ues].mean() < 15 + assert states[:, :n_ues].std() > 1 + + # Check size (in bits) of packets in UEs' buffers + assert states[:, n_ues:n_ues + n_ues * env.L].min() == 0 + assert states[:, n_ues:n_ues + n_ues * env.L].max() >= 41250 + assert states[:, n_ues:n_ues + n_ues * env.L].mean() > 100 + + # Check age (in ms) of packets in UEs' buffers + assert states[:, n_ues + n_ues * env.L:n_ues + 2*n_ues * env.L].min() == 0 + assert states[:, n_ues + n_ues * env.L:n_ues + 2 * n_ues * env.L].max() > 10 # Less n_prbs yield higher ages + + # TODO: Maybe also check QI + + # Check PRB counter + assert states[:, -1].min() == 0 + assert states[:, -1].max() == env.Nf-1 diff --git a/wireless/utils/__init__.py b/wireless/utils/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/wireless/utils/misc.py b/wireless/utils/misc.py new file mode 100644 index 0000000..49720ae --- /dev/null +++ b/wireless/utils/misc.py @@ -0,0 +1,15 @@ +""" +© 2020 Nokia +Licensed under the BSD 3 Clause license +SPDX-License-Identifier: BSD-3-Clause +""" +from scipy import constants + + +def clip(value, min_value, max_value): + return max(min(value, max_value), min_value) + + +def calculate_thermal_noise(bw_mhz): + t0_kelvin = 290 + return constants.Boltzmann * t0_kelvin * bw_mhz * 1E6 * 1000 diff --git a/wireless/utils/prop_model.py b/wireless/utils/prop_model.py new file mode 100644 index 0000000..83ef6fd --- /dev/null +++ b/wireless/utils/prop_model.py @@ -0,0 +1,25 @@ +""" +© 2020 Nokia +Licensed under the BSD 3 Clause license +SPDX-License-Identifier: BSD-3-Clause +""" +import numpy as np +from scipy import constants + + +class PropModel: + """ + Propagation Model class + It can be used to define more complex prop models in the future + """ + + def __init__(self, f_mhz, n=2): + self.f_mhz = f_mhz + self.n = n # Attenuation exponent + + def get_free_space_pl_db(self, d_m, shadowing_db=0): + noise = np.random.normal(scale=shadowing_db, size=d_m.size) + return self.n * 10 * np.log10(4 * constants.pi * d_m * self.f_mhz * 1E6 / constants.c) + noise + + def seed(self, seed=0): + np.random.seed(seed)