-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGELOG
367 lines (346 loc) · 12.1 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
AXIOM NIC Changelog
==============================================================================
The following is the list of the main tags of the repository:
## axiom-v1.2 (14/03/2018)
* axiom-nic
+ support latest FORTH bitstream (20180313)
* GASNet
+ fix issues with gasnet barriers
## axiom-v1.1 (06/03/2018)
* NANOS
+ fix issues on out of order packets (patch from BSC)
* All sub-projects
+ fix mrproper in Makefiles
* axiom-nic
+ discard errors on not mandatory resources (eg. GPIO debug)
* User space applications
* axiom-init
+ fix discovery algorithm
* ompss_evimm
+ use 64bit matrix elements
## axiom-v1.0 (07/02/2018)
* All sub-projects
+ final version of AXIOM SW Stack
+ add systemd service to start AXIOM daemons automatically
+ removed files and submodules related to QEMU emulation
+ change build system for all submodules
+ support FORTH bitstream 20180205 64bit aligned
* axiom-nic
+ update control register layout (new FORTH bitstream)
+ add sysfs parameters and info
+ discard packets sent to node not reachable
+ add kthread watchdog
+ add memcpy() workaround to work on no-cached pages
+ reserve port 7 for XSMLL messages
+ axiom-scheduler
+ add new script to change scheduler parameters of axiom-nic kthread
* User space applications
+ axiom-init
+ start discovery protocol on a specific request
+ fix discovery algorithm to work on FORTH bitstream
+ axiom-netperf
+ change throughput unit (1 gigabit = 10^9bits on SI)
+ axiom-run
+ add feature to handle scheduling parameters
+ add vimar profile
+ fix sync on child startup
+ axiom-utility
+ add feature to send request to axiom-init to start discovery
* GASNet
+ add workaround to support RDMA addresses not aligned to 128bit
+ change default bind port to 4
+ small fixes
* NANOS
+ add feature to change scheduling parameters on working and communication
thread
+ add feature to force the number of OS pthread to use
## axiom-v0.15 (09/11/2017)
* All sub-projects
+ small fixes and impovements on deb package generation
* axiom-nic
+ add support of FORTH bitstream (20171024_1944_axiom_ni)
+ new register layout (removed GPIO)
+ support USB-C reversible
+ update datasheet
* User space applications
+ axiom-init
+ add feature to save routing table
+ axiom-info
+ add more debug info
+ small fixes and impovements
* Update BSC repositories with latest available (nanox, mcxx, extrae)
## axiom-v0.14 (15/09/2017)
* All sub-projects
+ add x86 DEB and FS compilation support
+ improve compilation system
* axiom-nic
+ add support of FORTH bitstream
+ fix kthread main loop
+ improve retransmission of LONG messages
+ add statistics in the driver
+ add x86 skeleton STUB driver
* User space applications
+ axiom-netperf
- add support of RDMA test (sync and async)
- add multi-thread support
+ axiom-ethtap
- add multi-thread support
+ small fixes
* GASNet
+ fix not aligned access on RDMA zone
+ small fixes
* QEMU
+ no longer supported (use axiom-v0.13)
## axiom-v0.13 (13/06/2017)
* All sub-projects
+ add PetaLinux/Linaro compilation support
+ add DEB packages generation support
* QEMU
+ replace buildroot FS with Ubuntu FS from real AXIOM board
## axiom-v0.12 (11/05/2017)
* QEMU
+ remove LOOPBACK bit in the status register
+ remove AVLIRQ register
+ change LONG_BUF_BASE[n] registers
* axiom-nic
+ update new registers provided by FORTH
+ fix rdma wait/wakeup
+ add new RDMA async APIs
+ extended axiom_rdma_check() API
* User space applications
+ add axiom-ethtap (user space program for virtual ethernet device on nodes)
+ add new testasync
+ axiom-init
- add end of discovery script
* GASNet
+ add blocking operations support
+ use new async AXIOM user API
+ update to gasnet-1.29.3
+ small fixes
## axiom-v0.11 (30/01/2017)
* User space library
+ add Extrae (tracing) support in the AXIOM NIC API
+ fix doxygen documentation
+ small bug fix
* User space applications
+ axiom-init
- fix spawner function
+ axiom-run
- fix exit cleanup
- fix profiles
- add propagation of EXTRAE_ var enviroments
+ tests:
- add regression tests (raw, long, rdma)
* Memory allocator
+ Add Extrae (tracing) support in the AXIOM Allocator API
* GASNet
+ small bug fix to run all gasnet regression tests
* OmpSS (mcxx + nanox + extrae)
+ add NX_EXTRAE_AVOID_MERGE env to disable extrae merge
+ add scripts to cross-compile OmpSS for AXIOM board
+ Extrae:
- add --enable-aarch64 config parameter
- some fix in Makefiles
- add wrapper to trace IOCTLs
* Tests
+ Add several regression tests for the AXIOM software stack, GASNet
and OmpSS
+ Add Makefiles to automate the execution of tests
## axiom-v0.10 (13/01/2017)
* axiom-nic
+ add support to no-blocking RDMA operation
+ some code cleanup
+ fix RDMA code
+ fix API docs
* QEMU
+ add parameter to enqueue overflow LONG messages
* User space library
+ add support to no-blocking RDMA operation
+ compiled as Shared Library
+ fix headers dependency and Makefiles
* Memory allocator
+ fix headers dependency and Makefiles
* GASNet
+ add initially implementation of axiom-conduit
* OmpSS
+ add support to axiom-conduit
## axiom-v0.9 (04/11/2016)
* axiom-nic
+ add multiple chrdev to handle poll/select
+ add iovec support on send/recv functions
+ add support of new axiom-allocator
+ add debug IOCTLs
+ fix RDMA kthread worker
+ fix NOBLOCK support on RDMA operations
+ fix LONG implementation
* QEMU
+ new registers layout discussed with FORTH:
- removed ACKIRQ register
- change size of RAW and RDMA DESC registers
- add new AVLIRQ register to set IRQ threshold
+ fix handling of packet loss
+ add 2 internal queues to handle RAW and RDMA packets
* User space library
+ add new APIs
- axiom_recv()/axiom_send() to send/recv RAW or LONG depending on the
size
- axiom_get_fds() to be used on poll/select
- IOV API to send/recv RAW or LONG
+ small change in the RDMA API
+ small bug fix
* User space applications
+ axiom-init
- change master ID to 1 (configurable at compile time)
- add L1 allocator support
+ axiom-netperf
- add LONG message support
+ axiom-run
- add RPC API to talk with axiom-run master
- add L2 allocator support
- add allocator service
+ use of generic axiom_recv()/axiom_send() on several applications
+ use of IOV send/recv API on several applications
+ small bug fix
* Memory allocator
+ add initially implementation of 3 level axiom-allocator
- L1 and L2 protocol
- L3 support of multiple implementation (HW or SW)
- L3 SW implementation (based on LMM)
## axiom-v0.8 (05/09/2016)
* axiom-nic
+ add LONG message driver support
+ add error flag in the packet header
* QEMU
+ add LONG message emulation
+ fix QEMU reordering bug (will be included in QEMU 2.8)
+ fix RDMA bugs
* User space library
+ add LONG APIs:
- axiom_send_long() / axiom_send_long_avail()
- axiom_recv_long() / axiom_recv_long_avail()
- axiom_flush_long()
+ add axiom-init library
+ add axiom-run library
+ small bug fix
* User space applications
+ add axiom-init spawn service
+ add common utilities library
+ add axiom-run:
- spawner of applications on multiple nodes
+ add axiom-send/axiom-recv:
- send/receive raw and long messages
+ small bug fix
## axiom-v0.7 (21/07/2016)
* axiom-nic
+ add RDMA driver support (RDMA zone currently handled internally, to be
changed in future releases)
+ add kernel threads in the driver to dequeue packets
+ add multiple waitqueue (one per port)
+ add unique message ID in each packets (RAW and RDMA)
* QEMU
+ add RDMA emulation support
+ fix qemu backend reordering issue (patch sent to qemu-devel mailing list)
* User space library
+ add RDMA APIs:
- axiom_rdma_write()
- axiom_rdma_read()
- axiom_rdma_mmap() / axiom_rdma_unmmap()
- axiom_set_flags() / axiom_unset_flags()
+ add AXIOM_PORT_ANY to bind a random port available
+ add new flags: AXIOM_FLAGS_NOBLOCK and AXIOM_FLAG_NOFLUSH
+ small bug fixes
* User space applications
+ axiom-rdma
- new application to use RDMA features of Axiom NIC
+ axiom-netpef
- add new test with RDMA messages
* axiom_switch
+ add RDMA forwarding support
* Documentation
+ update datasheet and documentation following latest specification agreed
with FORTH
## axiom-v0.6 (14/06/2016)
* axiom-nic / QEMU
+ new registers layout provided by FORTH:
- only one descriptor per queue memory mapped to the CPU
- queues handled internally in HW
- change some registers name and offset
+ RAW payload extended to 128 byte
* User space library
+ change name in libaxiom_user_api.a
+ add no-blocking I/O support
+ use IOCTL to send/recv messages
+ add new APIs:
- axiom_get_num_nodes()
- axiom_send_raw_avail() / axiom_recv_raw_avail()
- axiom_flush_raw()
+ small bug fixes
* User space applications
+ axiom-netperf
- add more statistics
- use new payload size to increase the performance
+ axiom-info
- print more information
+ axiom-send-raw / axiom-recv-raw
- add support to non-blocking I/O
- more useful parameters
- payload specified as a list of bytes
+ axiom-init
- fix routing table overwrite
+ axiom-ping
- improve code using separated thread to send messages
## axiom-v0.5 (06/05/2016)
* 64 bit support
+ Ultrascale+ emulation in QEMU
+ Axiom-NIC for 64 bit architecture
+ User-Space application for 64 bit architecture
* Doxygen documentation
+ axiom-evi-nic and axiom-evi-apps doxygen documentation
## axiom-v0.4 (26/04/2016)
* user space applications
+ axiom-init deamon to respond to ping/netperf/traceroute messages
+ axiom-info
+ axiom-ping
+ axiom-traceroute
+ axiom-netperf
* axiom-nic
+ support for bind and port forwarding
* axiom_switch
+ mesh-2D topology auto-generation
+ additional topology support from file
+ communicate to QEMU the connected interface
* QEMU
+ fixed socket backend to avoid packet loss
+ support of control packet from the axiom_switch
* other small fixes
## axiom-v0.3.1 (07/04/2016)
* small fixes
* first public release to the AXIOM partners
## axiom-v0.3 (05/04/2016)
* QEMU
+ support for the register specification in the frontend
+ support for backend connection with the axiom-switch with sockets
* axiom-nic
+ revised register specification following discussions with FORTH
+ support limited to small raw/neighbor messages
+ no support for bind and port forwarding
+ functionalities exported using ioctl
* axiom switch
+ used to simulate the topology outside QEMU (see the video of v0.3 for more info)
+ limit to 2 connectors per board
+ topology available is currently only ring
+ some additional topologies (experimental) not available from command line
* user space applications
+ axiom-init working, with discovery, routing calculation and delivery
+ axiom-whoami
+ axiom-send-small
+ axiom-recv-small
* '''not recommended for usage''' (use the 0.3.1)
## v0.2
* revised specification with first implementation of the driver
* non-working stub in QEMU
* '''not recommended for usage'''
## v0.1
* first version started from FORTH specifications v5
* available only in the axiom-evi-nic repo, only specs without implementation
* '''not recommended for usage'''