IBM®
Skip to main content
    United States change      Terms of use
 
 
Select a scope:    
     Home      Products      Services & industry solutions      Support & downloads      My account     
alphaWorks  >  Grid computing  >  

IBM Dynamic Application Virtualization

A technology that enables computationally-intensive applications to take advantage of accelerated libraries on remote, back-end systems (including Cell Broadband Engine), reducing time to deployment and disruption to business.


Date Posted: September 27, 2007
Overview Requirements DownloadFAQsForum Reviews

1. Where can I find the User Guide?
2. Need I install IBM® Dynamic Application Virtualization Tooling and Client on the same machine?
3. Where is the client-side execution log?
4. Where do I find the Tooling preferences.ini file (used to indicate a specific compiler)?
5. Where is the client-side configuration file?
6. What is semantic input for?
7. What happens if I supply incorrect semantics?
8. What does "IBM DAV Enabling the Application" mean?
9. What if I change anything in the header file?
10. Can I use the same port for more than one service on the same machine?
11. Can I start multiple services on same davStart?
12. How can I stop the services?
13. Must I start the Service Broker separately?
14. How can I stop the Service Broker?
15. Must I specify every listening port for the Service Broker?
16. Where is the execution log for the server-side davStart service?
17. Where is the server-side configuration file?
18. Can the location of the server-side IBM_DAV.conf file be configured?
19. Where are server-side shared objects located?
20. Can the library have a function with the same name as the header file?
21. Why does the automatic deployer not detect my IBM_DAV_PATH?
22. Does the Tooling currently support multi-dimensional arrays?
23. Does the application support library-side memory allocation for arrays?
24. Does the Tooling currently support #defined macros for array dimensions?
25. How many levels of header file "includes" does the Tooling support?
26. What happens if I attempt to use the same port for different services?
27. Why do I receive incorrect results when using char in Java?
28. Does IBM Dynamic Application Virtualization support Visual Basic Application (VBA)?
29. What "env" variables must I set on Linux in order to compile and run an IBM Dynamic Application Virtualization-enabled application?
30. Can I start the broker and the bridges on the same machine?
31. What is the dav.server.services.maxrequests entry in the IBM_DAV.conf for?
32. Must my header file and local deployment library have the same name?
33. Can I run more than one service with the same name?
34. Is there any logging for IBM DAV Tooling?
35. What is the connectiondetails.txt file?
36. Need the Service Broker and the services be started with root privileges?
37. How do I call an accelerated function through VBA?


1. Where can I find the User Guide?

The User Guide is located on the Requirements tab of this alphaWorks® Web page.
Back to top Back to top

2. Need I install IBM® Dynamic Application Virtualization Tooling and Client on the same machine?

In order to run the Tooling, the Client is also required; however, the IBM Dynamic Application Virtualization-enabled client application can be executed on a machine with only the Client installed.
Back to top Back to top

3. Where is the client-side execution log?

The log file's location can be configured in the IBM_DAV.conf file using the following parameters: dav.log.directory and dav.log.filename.
Back to top Back to top

4. Where do I find the Tooling preferences.ini file (used to indicate a specific compiler)?

Under the IBM Dynamic Application Virtualization Client installation area; this area is, by default as follows:
  • Windows: C:\Program Files\IBM\IBM DAV Tooling\davGen
  • Linux: /usr/davtooling/davGen
Back to top Back to top

5. Where is the client-side configuration file?

The default location is as follows:
  • Windows: C:\Program Files\IBM\DAV\IBM_DAV.conf
  • Linux: /usr/davclient/IBM_DAV.conf
Otherwise, the file can be found in the user-selected installation location for the IBM Dynamic Application Virtualization Client.
Back to top Back to top

6. What is semantic input for?

Semantic input is used to provide size information for array or pointer function parameters to the IBM Dynamic Application Virtualization Tooling stub generator.
Back to top Back to top

7. What happens if I supply incorrect semantics?

Compilation errors or unexpected behavior may occur. To avoid these errors, the semantic verifier should be used to test semantics locally, before deployment to the grid.
Back to top Back to top

8. What does "IBM DAV Enabling the Application" mean?

This phrase means that the client application is rebuilt using the IBM Dynamic Application Virtualization Tooling-generated stub libs. This rebuilding allows the client to connect to the IBM Dynamic Application Virtualization Service running on the remote server.
Back to top Back to top

9. What if I change anything in the header file?

The IBM Dynamic Application Virtualization Tooling process must be repeated.
Back to top Back to top

10. Can I use the same port for more than one service on the same machine?

No; please use a different port for each new service.
Back to top Back to top

11. Can I start multiple services on same davStart?

Yes, if different services have been specified in the IBM_DAV.conf file. You merely need call the following: ./dav start
Back to top Back to top

12. How can I stop the services?

Use the following: ./dav stop
Back to top Back to top

13. Must I start the Service Broker separately?

Yes, using the following: ./davServiceBroker
Back to top Back to top

14. How can I stop the Service Broker?

Use the following: ./davServiceBroker –s
Back to top Back to top

15. Must I specify every listening port for the Service Broker?

Yes, the port for the client and service interface must be defined in the IBM_DAV.conf file, as follows:
dav.broker.listen.services.port=4321
dav.broker.listen.clients.port=4320
Back to top Back to top

16. Where is the execution log for the server-side davStart service?

The log file's location can be configured in the IBM_DAV.conf file using the following parameters: dav.log.directory and dav.log.filename.
Back to top Back to top

17. Where is the server-side configuration file?

$IBM_DAV_PATH/IBM_DAV.conf
Back to top Back to top

18. Can the location of the server-side IBM_DAV.conf file be configured?

./dav will look for the IBM_DAV.conf in the current directory and under the $IBM-DAV_PATH.
Back to top Back to top

19. Where are server-side shared objects located?

By default, they are expected to be in $IBM_DAV_PATH/bin. The location can be configured.
Back to top Back to top

20. Can the library have a function with the same name as the header file?

Yes.
Back to top Back to top

21. Why does the automatic deployer not detect my IBM_DAV_PATH?

The automatic deployment tool requires that the IBM_DAV_PATH environment variable be set for the required users.
Back to top Back to top

22. Does the Tooling currently support multi-dimensional arrays?

Currently it supports only two-dimensional arrays.
Back to top Back to top

23. Does the application support library-side memory allocation for arrays?

Yes. Server-side memory allocation can be specified by using @param[out] in the semantics.
Back to top Back to top

24. Does the Tooling currently support #defined macros for array dimensions?

Not currently.
Back to top Back to top

25. How many levels of header file "includes" does the Tooling support?

One level is supported.
Back to top Back to top

26. What happens if I attempt to use the same port for different services?

The new service will not start. A different port must be taken.
Back to top Back to top

27. Why do I receive incorrect results when using char in Java?

In C, chars are 8-bit, unsigned integers, and IBM Dynamic Application Virtualization maps chars to bytes in Java. Because bytes in Java are 8-bit signed integers, when the result comes back, DAV returns the correct value to the Java client and Java then interprets the number as a signed number. This is the reason for the incorrect result.
Back to top Back to top

28. Does IBM Dynamic Application Virtualization support Visual Basic Application (VBA)?

Yes. A VBA function call to the relevant IBM Dynamic Application Virtualization stub lib should be created.

For VBA-to-C-type mapping, please see How to Access DLLs in Excel.

Back to top Back to top

29. What "env" variables must I set on Linux in order to compile and run an IBM Dynamic Application Virtualization-enabled application?

LD_LIBRARY_PATH must be exported to $IBM_DAV_PATH/lib:.
Back to top Back to top

30. Can I start the broker and the bridges on the same machine?

Yes, you merely need set in the IBM_DAV.conf file the following setting: dav.broker.listen.services.ip=127.0.0.1
Back to top Back to top

31. What is the dav.server.services.maxrequests entry in the IBM_DAV.conf for?

This number determines how many requests the service broker will allow to run simultaneously on the same node. It must be defined in the IBM_DAV.conf file of the execution node.
Back to top Back to top

32. Must my header file and local deployment library have the same name?

No. The @library semantic tag can be used to specify an alternate name.
Back to top Back to top

33. Can I run more than one service with the same name?

Yes, if they are on different nodes.
Back to top Back to top

34. Is there any logging for IBM DAV Tooling?

Logs are generated only if errors occur during code generation. The log file can be found in the client directory of the generated code.
Back to top Back to top

35. What is the connectiondetails.txt file?

This is the sample user list file included for automatic deployment. The first line of this file refers to the build machine (that is, where the *_oai.so library is built). The second and subsequent lines refer to the deployment (that is, where the libraries are deployed).
Back to top Back to top

36. Need the Service Broker and the services be started with root privileges?

No. They can be started by any user, but they must be stopped by the same user.
Back to top Back to top

37. How do I call an accelerated function through VBA?

When yourLibName_stub.dll is generated through DavGen from the C header file, it automatically prepares VBA equivalent function stubs. The VBA functions are denoted with the same name as their C/Java counterpart, but with a trailing _VBA. From your spreadsheet, declare the individual functions you wish to use from the dll. This declaration references the Lib yourLibName_stub.dll (which must be in your PATH), gives the DLL internal function name (such as calculate_Array_VBA) as an alias, and specifies the parameters in their VBA equivalents: ByRef for arrays and pointers, ByVal for values, As Long for C int, As Byte for C Char, etc. This is shown in Module 1 in the included sample:
Declare Function Library_calculate_remote Lib "Library_stub.dll" Alias "calculate_Array_VBA" 
(ByRef array1 As Double, ByRef array2 As Double, ByVal value As Long) As Double
The name used to declare the function is the one used to invoke the function from elsewhere in the spreadsheet:
Dim result As Double
result = Library_calculate_remote( array1(0), array2(0), arraySize )

Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both.
Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both.
IBM and alphaWorks are trademarks of IBM Corporation in the United States, other countries, or both.
Other company, product, or service names may be trademarks or service marks of others.
Back to top Back to top
Download now Download now

Related technologies

For platform(s):
32-bit xSeries (Intel Compat.), Linux - Red Hat, Linux/Intel, Other, Win32, Windows XP

For topics:
Cell Broadband Engine Architecture (CBEA), Eclipse, Grid computing, performance, virtualization


 

    About IBM Privacy Contact