-
Notifications
You must be signed in to change notification settings - Fork 1
/
ChangeLog
182 lines (153 loc) · 8.03 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
The current Tsunami protocol version is: v1.1
Improvements and protocol version compliant new features
are added in the cvs builds.
v1.1 CvsBuild 42
- changes to realtime server code:
- added EVN 2009 filename aux info parsing so that the
format with 'ccvvvvv' 2-char code plus value (versus old
format 'cc=vvvvv') is supported for the data length field
v1.1 CvsBuild 41
- changed default 'rateadjust' to No
v1.1 CvsBuild 40
- changes to client code:
- added 'rateadjust' setting: rate for next file transfer is set to
the previously achieved effective throughput +20%
- at end of transfer, server now stopped first and disk flush done
after this, not vice versa, to further avoid kernel "UDP checksum error"
errors that are due to socket receive buffer overflow
- changes to server code:
- partial feedback messages now treated properly, instead
of blocking on TCP until full message and then discarding it
- transmit rate is throttled to 1/10th at the final block
v1.1 CvsBuild 39
- changes to client code:
- client statistics output now shows state-flags
- smoother access to ring buffer
- fix sending of feedback even during pending transfer restart,
this gets rid of the "no hearbeat" server messages
- changes to server code:
- TCP uses read() and write() wrappers that insure full-size operations
- fix missing clears of some string buffers before receiving client strings
- fix Ubuntu Karmic compile warnings
v1.1 CvsBuild 38
- unfortunately the include/tsunami-cvs-buildnr.h in the 38dev was already 38
so we skip this build and name the new one 39!
v1.1 CvsBuild 38dev (testing version!)
- changes to client code:
- make use of "xfer->restart_wireclearidx" variable as upper limit to ignored blocks
after a REQUEST_RESTART - now even on very high loss networks the transfer won't get stuck
- transcript.c to show "mbyte" (mbyte_transmitted)
- show Mbit amount of File Data and real final throughput
- in these figures, transmit restarts and their "new" data are not counted as "throughput"
-...
v1.1 CvsBuild 37:
- changes to server code:
- progress printf: current IPD target is printed as floating point not integer
- UDP packet spacing: spacing of small <=4kB packets was not accurate (too fast)
on some systems, changed the delay/spacing method to iperf-style,
seems much more accurate now accross 1..32kB packet sizes
- heartbeat lost: interval 350ms increased to 500ms
v1.1 CvsBuild 36:
- changes to client code:
- client core receive loop refactored: shorter, more readable and more robust
- pending transmission-restart: on-wire blocks stored and not discarded
- threading: remaining blocks count is decremented in receive loop not io.c
to fix a suspected threading issue
- client feedback: feedback to server is sent even when the ringbuffer is full,
client no longer disconnected due to very slow disk and hbtimeout
- transfer statistics are improved:
show goodput vs throughput
separate counts for received original and retransmitted blocks
- Mac OX X support: small changes (typecasts) to allow compile on Mac OS X
- changes to server code:
- Mac OX X support: small changes (typecasts) to allow compile on Mac OS X
- removed unused #include <mcheck.h> which is not present on Mac OS X
- rtserver Makefile.am '-lm' moved to correct place i.e. to LDFLAGS
v1.1 CvsBuild 35:
- server, rtserver now perform finer and more gradual rate
adjustment in the speed-up and slow-down phases
- current_ipd time (tsunami-server.h) is now double instead of int32
v1.1 CvsBuild 34:
- server, rtserver main.c IPD delay call now uses tighter
delay adjust just like in the v1.2 petabit Tsunami version
v1.1 CvsBuild 33:
- client code cleanup (client.h -> include/tsunami-client.h)
- rtclient write_vsib_block() now uses fwrite()
- cleaned out 64-bit compile warnings
v1.1 CvsBuild 32:
- 'heartbeat lost' messages now spaced in at most 350ms intervals
and not shorter
- realtime server vsibctl.c now uses fread() not read(), now seeking
and reading from the VSIB no longer has to be multiples of 4096 bytes
v1.1 CvsBuild 31:
- added proto_version and software_version into
transcripts of clients, servers
- servers disconnect on loss of client heartbeat
- added '--hbtimeout' server command line parameter, default 15s
- realtime server timeout behaviour: if local backup used,
timeout termination not done earlier than at final
TS_BLOCK_TERMINATE to insure local backup is complete
- file server timeout behaviour: as before, if no
reports from client in 15s then disconnect
- realtime server, if doing local backup, continues sending
to the end even if client completely tcp-disconnected and
then eventually times out after last block sent/written
v1.1 CvsBuild 30:
- cosmetic, printf() of 'dir' file lengths the proper unsigned int now
- 15s timeout only for file server, realtime server TODO
v1.1 CvsBuild 29:
- fixed another Big Endian endiannes problem and now large transfers
work, too
v1.1 CvsBuild 28:
- added early support for Big Endian platforms e.g. Playstation3,
to enable you have to edit ./common/Makefile.am before running 'configure'
v1.1 CvsBuild 27:
- file server and file client support shared file listing
via the "dir" command (client/command.c command_dir()).
v1.1 CvsBuild 26:
- added gapless_till_block client side counter that is later
needed by the 'tsunamifs' FUSE filesystem
v1.1 CvsBuild 24:
- fixed client crashing with nForce2 server in Wettzell by
having recvfrom() not fill out packet source infos, these
infos were not used anywhere in the first place.
- server closes client connection after 15s timeout if no
client side TCP feedback during a transfer, 350ms is the
required feedback interval from the client so 15s is plenty
v1.1 CvsBuild 22:
- real-time server, disabled throttling by VSIB and instead use again
normal IPD wait as in file server (after a REQUEST_RESTART old blocks
are sent as TS_BLOCK_ORIGINAL, but a VSIB does not throttle these old
ones, so it blasts at 1 Gbit/s and bombs...)
- client, ttp_request_retransmit additional check at start so that
already received blocks are not queued up for later retransmit batch-request
v1.1 CvsBuild 21:
- client, increased UDP port upping limit from 16 to 256 concurrent client
download sessions, added a warning that shows current nr of reserved
client UDP ports
- client, enabled RETX_REQBLOCK_SORTING in Makefile.am
- server, changed block_new into block_type flag, and real-time server
skips throttling for TS_BLOCK_ORIGINAL only (VSIB does throttling) so
the final TS_BLOCK_TERMINATE block(s) are not blasted out at 1 Gbit/s
v1.1 CvsBuild 20:
- added lossless, losswindow, blockdump settings to client transcript printouts
- fixed rtserver/Makefile.am, rtclient/Makefile.am to define -DVSIB_REALTIME
- server prints client IP before auth takes place
- added client transcript file to Octave plot generator script, under ./util/
v1.1 CvsBuild 19:
- client, cleaned up the GET * code a lot, file list can contain up
to 65530 files (although, as 'tsunamid' currently gets * files as
command line arguments, the maximum argument length is the current limit)
V1.1 CvsBuild 18:
- client, replaced 'set noretransmit' option with 'lossless' (yes/no) and
'losswindow' (milliseconds) options to allow for near-time lossless transmissions
e.g. from limited VSIB memory buffer
- reduced client ring buffer size from 8192 to 4096
V1.1 CvsBuild 17:
- realtime server, removed extra delay before sending newly read VSIB block
V1.1 CvsBuild 16:
- client, added 'set passphrase' option so the user is not prompted for the password, this
is used for e.g. scripting (of course, plaintext password in scripts then)
V1.1 CvsBuild 15:
- client, "get *", if the server sends full path names, place files in that same path
on client side if the path exists, otherwise place in current working directory