forked from pop-team/pop-cpp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ReleaseNotes.txt
194 lines (150 loc) · 9.39 KB
/
ReleaseNotes.txt
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
POP-C++ 3.0: 04.09.2015
- Asynchronous creation of parallel objects
- Stabilization of version 2.9: Lots of bug fixes
- Support for Unified Domain Socket combox
- Switch to Git and Github
- Switch to CMake
- Refactorings / Cleanup of the source base
- Removal paroc_list, paroc_array and paroc_string: Use of std:: versions is
now possible
- Minimize the duplicated files between dynamic and pseudo-dynamic versions
- Improve exception catching and logging in the core of POP-C++
POP-C++ 2.9:
- Basic support for Windows
POP-C++ 2.8
- Reintroduce feature: Socket Communication Model (TCP/IP)
- Reintroduce feature: Global and Application services
- Optimize services folder with lib folder for further development
POP-C++ 2.6.5
- New build process with cmake
- Added feature: Hybrid Communication Model (UDS/MPI)
- Added feature: MPI Communication Model with pseudo-dynamic allocation
- Added feature: Parallel Object Group
- Added feature: New MPI support
- Added feature: XcalabeMP support
- Cross-compilation for the K Computer
- New compiler flag -mpi to enable MPI support during compilation
- New compiler flag -xmp to enable XMP support during compilation
- New compiler flag -advanced to enable link to the POP-C++ Advanced Library
- New compiler flag -static to use the MPI Communication model with pseudo-dynamic allocation
POP-C++ 2.5
- Add specific error message for unsupported C++ functionalities inside a parclass declaration
- Automatic detection of architecture in the configure script (no need to use CPPFLAGS=-DARCH_MAC anymore)
- Automatic detection of active interface at runtime for Mac OS X (no need to set POPC_IFACE anymore)
- Add simple typedef support inside parclass declaration
- Add better support of pure virtual parclass
- Allow the void parameter in function declaration
- Solve the problem when using 'namespace'
- Fix parser erroneous behavior when inheriting from template class before POPBase.
- Accept the [] syntax for arrays in method parameters
- Improve coherence of errors and warning messages
- Solve a compilation issue with when using Fedora
- Corrections of several minors bugs
- Add new command to SXXpopc "kill" to kill the POP-C++ runtime services.
- Add new command to SXXpopc "killnstart" to kill the POP-C++ runtime services and start it.
- Add new command to SXXpopc "clearlog" to clear the log file of POP-C++.
- Add new command to SXXpopc "log" to display the log file of POP-C++.
Release 2.0.1
- Improve the termination time of a parallel application
- Fix slowness of POP-C++ application on MAC OS X
- Add support for enum type inside a parclass declaration
- Removing useless directory in the release
Release 2.0:
changes internal POP-C++ :
to compile pop-c++ application (popcc) :
- option "-no-pipe" replaced by "-nopipe" to be in adequation with the other flags
- option "-paroc-static" replaced by "-popc-static"
- option "-paroc-nolib" replaced by "-popc-nolib"
- option "-parocld=<linker>" replaced by "popcld=<linker>"
- option "-parocdir" replaced by "popcdir"
- option "-version" added for popcc
to run pop-c++ application (popcrun) :
- flag "-debug" added to display debugging informations
- flag "-log=<file>" added to log messages displayed on stdout and stderr during compilation
- if no network is available the system tries to launch the objects on localhost
instead the application crashes
- option "-version" added for popcrun
Fixed bugs
- CONST keyword is correctly treated
- Usage of "this" works now but with little restrictions
- fix of some other minor bugs
New features :
- implementation of a new algorithm to find resources
- interoperability with POP-Java
- secure communications in ssh tunnel
- a warning message is displayed when a non-catched exception is raised in a remote method invocation
- possibility to use cmake instead of make
Documentation :
- user and installation guide was improved
- additional documents were added for the new features
- extended test applications
- more samples
Release : 1.3
- Add an object descriptor that checks the connection : od.checkConnection (project disconnect-1)
- Includes the POPC++ manual sources in Latex
- Comments added for Doxygen
- od.manual: a new object descriptor that simply prints the object launching command. (for debug)
- Add a od.url(host,arch) that can specify the architecture.
- Add std::string as a standard type. No marshalling funciton needs to be specified.
- Fix bug : Only list packed objects with -list/-listlong.
- For od.url() : You can now specify user@host{core}:port. (project DUO)
- Fix parser bugs :
- "::" is accepted in class initialization
- attributes can now be references
- Add parser.lex and parser.y to the archive
- Fix bug with g++ compiler version 4.3.3
- Can compile for uc-linux. (project DUO)
- Change attribution of IP/URL for objects : use the ip of default gateway interface
- Rename all environment variables from PAROC_ to POPC_ (+ run autoreconf, automake)
- Check that an async method does not have an output in parser
- Added YYERROR_VERBOSE so the parser error are more explicit. (experimental)
- Create scripts to launch POPC with PBS (+ reedit existant scripts)
- Rename all scripts with popc- instead of paroc-
- Marshalling of vector/list is automatic + parser manages templates
- Improve exception handling
- Improve execution of POP-C++ as a batch job : PBS,SGE,LSF (+class batchmgr)
- Added the possibility to set the working directory of remote obj. By default it is equal to the current local working directory
- Modify the setter of paroc_exception
- Add two tests cases to the archives : demopopc and chat
- Fix a bug for POP-C++ with MPI
- POP-C++ is working on Mac
- POP-C++ tested on Kerrighed cluster
VERSION 1.2
- New combox and combox factory interface.
- Receive thread cancellation: close combox.
- broker main: Initialization is moved to paroc_broker::Initialize and paroc_broker_factory::Create.
- Compiler: "typedef struct { ...} X;" should use "X" as the type name (fix null pointer passed to buffer::Push().
- Allow mix "struct" and "class" declarations:
struct X;
class X // --> error in POP-C++ 1.1.
{
....
}
- Add PAROC_RSH environment to the runtime allowing the user to specify the "rsh" command to start the execution on a specific host.
- JobMgr::Exec: now the query of "jobmgr" can return a consequence of commands.
- paroc_setup: local command to submit jobs will be in front of "webrun" in jobmgr.conf (avoid problem on starting the jobmgr service.
- Support pure virtual methods and pure class. Pure class can not create the object.
parclass PureClass=0 {...}
- If no constructor is specified, add the default one so that the object can be created
- Compiler: add "#pragma interface/broker/object = newbaseclass" directive to define new base class for interface, broker and object
- paroc_interface: add paroc_Dispatch and paroc_Response methods. The compiler will call this method to send/recv requuests
- Detect reference loop and automatically free the object (ObjectMonitor)
- Add option "-constructor=id" to object executable to automatically construct default object
- AppCoreService will load add-on services (RegisterService/QueryService interfaces) specified in etc/appservice.conf
- Update the parser to parse the template types.
- Support for marshalling C++ STL types: vector, list and dequeue
- Update the parser to parse the template types.
- Support for marshalling C++ STL types: vector, list and dequeue
VERSION 1.1
- JobMgr: rename and change "fixnode" to "nodetype" of NodeInfo.
- JobMgr: All non static nodes will be remove from neighbor list upon forwarding failures (Forwarding method).
- POP-C++ parser: sequential class can now derive from a "struct" type. POP-C++ 1.0 will generate an error in this situation.
- Add "JobCoreService" parclass that provides the interface to create objects (CreateObject). JobMgr now derives from JobCoreService.
- New class "paroc_broker_factory" added to manage the list of brokers
- New compiler: on generating the broker code, popc also generates an object of type "paroc_broker_factory" for the corresponding broker. This object's constructor will be executed before the "main" which will register the current broker. Therefore, no need to declare the "@pack". Instead, just add the .ph (or .stub.o) file to the compiler to generate the object code.
- New intermediate C++ code: the compiler generate separate code for each constructor: allocate a resource and then call a method _paroc_Construct(...) to invoke the corresponding server constructor. This will allow to customize the object creation (MPI support).
- New option of compiler to specify the start file for object. Option: "-object=<type>".
- New paroc_interface::LocalExec method: allow to create multiple objects.
- Fix potential bug when a connection is closed on the receiving thread but it is possibly still used in the serving thread: Add "Clone" method to the paroc_combox to clone the combox before passing it to the serving thread.
- Startup script: the temp key file now contains the user name to allow different users to start SXXparoc* on the same system.
- MPI support: sub dir "mpi" added to allow users to startMPI processes and attach them to parallel objects. Require: include "paroc_mpi.h" and add "-object=mpi" on generating object executables.