HPCViewer now supports opening databases located on remote hosts. This capability allows users to access and analyze performance data from remote locations seamlessly. The communication between hpcviewer and the remote host is highly secure, ensuring that all data transfers are protected.
To achieve this level of security, the communication between hpcviewer and the remote host is encapsulated within an SSH tunnel. This setup guarantees that all data exchanged between the client and server is encrypted, safeguarding it from unauthorized access or tampering. Additionally, the server uses a UNIX socket domain to connect with the client, providing an added layer of security by restricting the communication scope to the local environment on the server side.
A key advantage of this implementation is that no remote files are written to the local disk during the process. This design choice ensures that sensitive performance data remains solely on the remote host, mitigating the risk of data leakage or unauthorized local access. Users can interact with the remote database in real-time, viewing and analyzing performance metrics without the need to download or store any data locally.
To enable the opening of remote databases, one needs to build and install a program called hpcserver on the remote host. This application acts as the intermediary between hpcviewer and the remote database, facilitating secure and efficient communication. Written entirely in Java, hpcserver ensures cross-platform compatibility and robustness. It requires Java 17 or newer to function correctly, leveraging the latest Java features and security enhancements.
Requirements:
Build and install:
Checkout the main branch of hpcserver:
git clone https://gitlab.com/hpctoolkit/hpcserver
git checkout main
Build using Maven
mvn clean package
Install to a directory with the install.sh script
./scripts/install.sh /path/hpctoolkit
Steps to opening a remote database:
Click the menu File - Open remote database
On Remote connection window, type the required fields:
| Remote connection window |
|---|
![]() |
hpcserver is installedhpcserver installation. In the above case, it's /path/hpctoolkitTo facilitate the connection, hpcviewer allows to connect via three options:
$HOME/.ssh/config on most POSIX platforms.Once the configuration is set, one needs to click the OK button to start the connection.
If the connection succeeds, one has to choose an HPCToolkit database from the Remote database browser window. The window shows the current remote directory at the top, and the list of its content:
| Remote database browser window |
|---|
![]() |
icon represents a regular directory, and one can access it via double-click at the icon or the name of the folder.
icon represents an HPCToolkit database. Selecting this item will enable the OK button.Note: the OK button will remain disabled until one selects an HPCToolkit database.