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 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423
|
Changes since GLADE 5.03a
=========================
New Functionnalities
--------------------
* GNATDIST is now fully project-aware that is -P and -X flags are
properly handled.
Integration
===========
* GNATDIST can be configured for either GLADE or PolyORB (use
--with-pcs configure flag).
Changes since GLADE 5.02a
=========================
Bug fixes
---------
* GLADE is fully ported on GNAT-5.02a (abortion of synchronous
remote subprogram invocation is still not working because of GNAT5
limitations).
Changes since GLADE 3.16a
=========================
Restrictions
------------
* Abortion of synchronous remote subprogram invocation is not
supported in zero-cost exception context because of current GNAT5
limitations.
New Functionnalities
--------------------
* These are user-transparent functionalities. They have been
introduced to use PolyORB as PCS instead of GARLIC.
Bug fixes
---------
* When a pure client partition was dying during a RPC, the server
was unable to terminate because it was trying forever to send the
result of the RPC.
Changes since GLADE 3.15a
=========================
New Functionnalities
--------------------
* GLADE used to propagate the client priority to the server during a
RPC. The server was executing the RPC at this priority level. It
provides now two priority policies like RT-CORBA :
Client_Propagated which corresponds to the previous policy and
Server_Propagated which executes the RPC request to a given
priority. This priority is set by the partition attribute
Priority. Implement the proposals from "Towards a Real-Time
Distributed Systems Annex in Ada", J. Gutierrez, M. Gonzales
Harbour, IRTAW'2000.
Bug fixes
---------
* Fix several bugs in the DSM storage implementation
Changes since GLADE 3.14a
=========================
New Functionnalities
--------------------
* The pragma Remote_Shell allows to decide which remote shell to use
when the main partition launches the other partitions.
Bug fixes
---------
* The lightweight PCS was incorrectly activated when RACW were
configured on a partition.
* Some problems were raised by the first implementation of the
passive partitions. There are fixed now. One of them was to
incorrectly allow a DSM data storage to be configured for a
passive partition when it is supposed to executed Li and Hudak's
algorithm. This release provides few new examples on shared
passive packages use and storage data configuration.
Changes since GLADE 3.13a
=========================
New Functionnalities
--------------------
* GLADE run-time is now implemented on the top of GNAT.Sockets.
* GLADE run-time does not drag tasking when not necessary. If a
partition does not include any RCI or RT unit, then the partition
is said to be a pure client partition. If a pure client partition
does not drag tasking because of its user code, then the tasking
will not be drag by the PCS.
* The multi data storages feature is now available. It is now
possible to define several data storage supports for shared
passive units. Therefore, in the future, the file storage support
will not be the only support available. Note that to do so, some
configuration parameters have been changed. Boot_Server is now
obsolete and replaced with Boot_Location. Storage_Dir is now
obsolete and replaced with Directory in order not to be confused
with the directory used by a file storage support.
* Passive partitions are now supported. It is now possible to define
partitions on storage node and not only on processing nodes.
* It is now possible to specify the default optimization level used
by GNATDIST when no -O or -g flag is used on its command line at
configure time. By default, no optimization at all is being done,
as with GNAT.
Bug Fixes
---------
* A race condition in the stream storage pool has been fixed.
Changes since GLADE 3.12a
=========================
New Functionnalities
--------------------
* The multi-protocols feature is now fully supported. It is now
possible for a partition to communicate with other partitions
using different protocol names or different protocol data.
* Partition_ID is now unlimited (it was bounded to 64 in the previous
versions). Partition ids of pure client partitions are now recycled.
* Now gnatdist under NT requires only standard Windows tool. It does not
requires anymore to have around some UNIX like tools (cp, mkdir...).
Bug Fixes
---------
* Boot mirror group communication has been improved (less messages and
better performance).
* Fix several memory leaks. All terminated tasks are now recycled
for later use instead of being deallocated.
* Remove potential deadlocks.
* Fix incorrect deletions in gnatdist (remove obj and ali files of rci
unit in partition directory when it is no longer configured on the
partition).
Changes since GLADE 3.11b
=========================
New Functionnalities
--------------------
* Shared_Passive packages can now be used.
* General performance improvements.
* The Windows NT version now uses the registry.
* GLADE can be used from non-standard location by setting the
GLADE_LIBRARY_DIR appropriately.
* Tracing Facilities of what is going on inside GLADE during a
distributed execution.
* Add fault-tolerance features. The main partition is no longer a
single point of failure. See Examples/Reconnection.
* It is now possible to configure the number of tasks executing
incoming remote procedure calls on a partition.
Bug Fixes
---------
* Fix a bug in partition death/revival that caused other partitions
to fail in some cases.
* E.4 (18) is now correctly implemented.
Changes since GLADE 1.03
========================
New Ports
---------
* GLADE has been ported on SGI and Windows NT. It is now also working
when the GNAT run-time is using FSU threads.
New Functionnalities
--------------------
* Full heterogeneous support
In GLADE 1.03, heterogeneous support was only available for 32
bits machines or for 64 bits machines only. Now, it is possible to
mix 32 and 64-bits machines in the same GLADE application.
* RACW in Remote_Types
It is now possible to declare remote access to class-wide types in
Remote_Types packages (this was already possible in
Remote_Call_Interface packages). This makes it possible to have a
reference to a remote object stored in another remote object and
to create complex data structures involving several partitions at
the same time.
* Generic RCI packages
GLADE now supports generic RCI packages. The pragma
Remote_Call_Interface must be applied on both the generic package
and the instantiation.
* Pragma All_Calls_Remote
GLADE now supports pragma All_Calls_Remote.
* New stubs compilation model
GNAT does not generate plain Ada stubs anymore but generates
object file directly instead. GNATDIST takes advantages from this
and compilation times are reduced by an important factor for
distributed programs that contain a lot of RCI packages.
* Building some partitions only
GNATDIST now allows to build partitions with an incomplete set of
sources. It is now no longer required to provide the body of a RCI
unit when we would only need the RCI spec.
* Parallel compilation
GNATDIST now partially supports the -jN flag, where N is the
maximum number of processes to launch at the same time (the
default being one). This support is not yet complete and is used
only by the build of the non-distributed application.
* Streams pool
The internal mechanism to allocate streams has been enhanced to
prevent stack blowups for large data. Dynamic allocation of small
streams is avoided using pre-allocated chunks of memory through
Ada95 storage pools.
* Reconnection policy
It is now possible to restart a partition once it has crashed. To
do this use partition reconnection attribute. Three policies are
available. The defaut is Rejected_On_Restart which prevents any
restart of a partition. When a client reconnection policy is set
to Failed_Until_Restart, the client will raise Communication_Error
on any attempt to connect to the server partition until this
partition has been restarted. Any attempt to connect to the server
partition will block the client until the partition has been
restarted when reconnection policy is set to Blocked_Until_Restart.
* Filters interface change
The filtering interface uses access types rather than arrays to
avoid blowing-up the stack when using large data.
* New default flags
When no optimization level (-O flag) and no debugging information (-g)
are selected, gnatdist defaults to -O2 to get smaller and more
efficient executables.
Bug Fixes
---------
* Filtering facilities have been re-written to fix problems
with filter key exchange.
* Some problems with the launching facilities have been fixed. It is
now possible to use a remote shell command different from rsh.
No more "-n" will be added on the command line if --with-remsh has
been chosen at configuration time.
* Remote access to subprogram now work correctly
* Remote access to class-wide types holding a null value can now be
compared to null successfully.
* Comparisons between remote access to class-wide types values now work
* GLADE now supports RACW whose designated type has primitive
operations with controlling arguments that are not of access mode.
* No more Storage_Size pragmas are needed on user tasks, unless they
would be needed in the non-distributed application.
* GNATDIST now checks that RCI children of a RCI package are configured
on the same partition.
Misc
----
* Less tasks are created by the partition communication subsystem
* Adapted for use with the GNU libc under Linux
* The version has been bumped to 3.11 to match the GNAT release
Changes since GLADE 1.02
========================
New Functionnalities
--------------------
* Local launching
If the host on which a partition must be launched is detected as
being the same as localhost (same official name or name
"localhost"), then rsh is not used any more and partitions are
launched using system().
* Light PCS
If a partition does not contain any RCI body and does not have the
possibility of defining local RACW entities, then no anonymous
task is ever started, in order to avoid creating tasks which will
never be used.
* Task pools
Up to GLADE 1.02, a new task was created for each incoming
request. Now, tasks are reused and are pre-created using a
low-priority background allocator to allow requests to be served
sooner. The number of awaiting tasks is configurable through
GNATDIST configuration files on a per-partition basis or system-wide.
* Informative exception messages
When the TCP module fails, the errno return code is stored in the
exception message to allow easier debugging.
* gnat.adc
GNATDIST handles gnat.adc.
* Version checks
If a RCI version id is a blank string, then the version check is
always considered as true.
New Ports
---------
* Digital Unix
GLADE now works correctly on Digital Unix. Heterogeneous
distribution involving Digital Unix platforms is not yet
supported. Compilation must use -O0 instead of -O2 to prevent a
bug at runtime. The zlib library seems to be broken on Digital
Unix. Therefore, the zip filter is not available.
Misc
----
* Various code cleanups.
Changes since GLADE 1.01
========================
New Functionnalities
--------------------
* Filters.
A filter is a set of subprograms which will be called
automatically before sending bytes on the communication channel
and after receiving them. An example (the ZIP filter) is bundled
and installed along with GLADE, which uses the zlib library.
There are new pragmas and attributes in GNATDIST to use this
feature.
* Trace and Replay
It is possible to pass two new predefined arguments --trace and
--replay to a partition. In tracing mode, network inputs and
outputs are logged in such a way that when the partition
executable is invoked with arguments --replay, inputs and outputs
are read from the log files. Therefore, you can easily debug your
distributed application without any non-deterministic side
effects.
Examples
---------
* LightBank
It is a simple example of client/server application written in
Ada 95 and Annex E. Shows in particular how a simple partition
(the client) can be duplicated at will.
* Bank
A more sophisticated example on the same theme. It demonstrates
distributed objects and filtering.
Bug Fixes
---------
* Float transmissions between different architectures with
different word sizes now work.
* Pathological cases in GNATDIST.
Misc
----
* Copies of buffers have been suppressed wherever possible, thus
decreasing execution time.
* The 'rsh' command can now be changed at installation time using the
--with-remsh parameter of configure (in preparation for HP support)
* Upgraded to automake 1.1n. If the user does modifies sensitive files
(such as Makefile.am) and does not have automake, then print a
message instead of crashing with an unclear error.
* Reorganisation of GNATDIST directory hierarchy.
* Clearer error messages for GNATDIST.
* New file NEWS (this file).
# Local Variables:
# mode: text
# End:
|