[drmaa-wg] Java Binding Questions

Peter Troeger peter.troeger at hpi.uni-potsdam.de
Wed Nov 17 16:51:57 CST 2004


Daniel Templeton wrote:

> I don't see how the ODBC model can work for multiple concurrent 
> connections.  I actually don't see how it can work for concurrent 
> access to a single connection.  Maybe I'm missing something, but the 
> JDBC model seems much better suited to DRMAA's needs.  I would love to 
> hear arguments to the contrary, however.


You may try to see it from a C perspective. In the ODBC world, all C 
application's link to the same shared ODBC library. The availability of 
drivers is therefore a question of local system configuration. A 
database application starts with the ODBC connection method, which leads 
to the loading of a particular database driver library. The function 
returns some kind of connection handle, which is then used in all 
further method calls.

For DRMAA this would mean that we have one driver manager 
implementation, e.g. in C. Beside this there is a set of DRMAA driver 
libraries for the different DRM systems (libdrmaa2sge.so, 
libdrmaa2condor.so, ...).

What I like about the ODBC idea is that you could move some 
implementation effort exclusively to the driver manager, which makes 
life easier for DRM vendors. The manager could be responsible of parsing 
partial timestamps, while the driver interface only takes complete 
timestamp information in the job template. Consistency checks for job 
templates could be done in the manager only, so that the drivers can 
rely on valid job template structures as input. run_bulk_jobs() may be 
an optional method for a driver implementation - in case it is not 
supported the manager implementation could use a simple loop and the 
job_run() method.

The manager may also offer a DRMAA 1.0 as well as a 2.0 / 3.0 / ... 
DRMAA interface in the future, so that we have backward compatibility 
for the applications even if the specification evolves.

Another advantage is more or less C-specific : In the moment I need to 
re-link my application if I have more than one DRMAA library on the 
system and want to change the targeted DRMS. With a driver manager 
architecture I can have multiple DRMAA driver libraries on my harddisk 
and all of them are usable by the application without re-linking.

I know that we talk about a lot of stuff here. We should clearly figure 
out what are the most emerging things to be solved.
For me these are the once-only partial timestamp implementation and the 
C-library linkage issue.

Peter.


>
> Daniel
>
> Peter Troeger wrote:
>
>>> Clearly, Peter, you have something in mind, and I think that maybe I am
>>> missing your point.  Why don't you walk us through how you would
>>> implement the driver model...
>>
>>
>>
>> Ok, let's take one step back.
>> Maybe I am wrong, but I think the concepts of ODBC and JDBC differ 
>> for the role of the driver manager.
>>
>> In ODBC, all end-user applications talk only to the driver manager 
>> library. It offers some functions for submitting a query, fetching 
>> results, using cursors and so on. There is even a special ODBC SQL 
>> subset, which can be used by the application regardless of the driver 
>> type. Because of this concept, the driver manager is able to perform 
>> additional tasks for functionality offered to the application. It 
>> must also convert ODBC SQL to database-specific SQL and must map data 
>> types and error codes to the ODBC-specific definition.
>>
>> In JDBC, all drivers share a common interface. The driver manager is 
>> only responsible to load / maintain the driver instances, but the 
>> application performs functiona calls directly to the driver instance. 
>> Since the driver manager is left out during the work with the 
>> database, there is no possibility to implement parts of driver 
>> functionality (like cursor handling) in the driver manager.
>>
>> If this picture is correct, than we should first discuss which model 
>> is more appropriate for a scenario with multiple DRMAA libraries on 
>> one machine.
>>
>> Peter.
>>
>>
>





More information about the drmaa-wg mailing list