1. System Overview

1.1. System Configutation

The Quantum Simulator System consists of compute nodes for simulation (consisting of 512 FX 700), a jump server for login, a login server for job submission, a shared directory, a job scheduler, a private PyPI repository, a document server, and a proxy server for Internet access.

../_images/system_comp_en.png

The user logs in to the login server through the jump server. The compute nodes are available from the login server through the job scheduler Slurm. The compute nodes are connected by InfiniBand, and the quantum circuit is simulated while performing parallel calculation using MPI (Message Passing Interface).

The information for each server/node that makes up the quantum simulator system is as follows.

The role and IP address/hostname of each server

Name

IP / Host

Explanation

Jump Server

106.184.62.10
Port number: Notification from Fujitsu

Server in a DMZ

Login Server

login-server

User environment for utilizing computation
Accessible from the jump server

Compute Node

N/A

Cluster system for executing quantum program

Shared Directory

N/A

Directory for placing files shared between compute nodes

Private PyPI Repository

simulator-pypi

Private Python package repository for Fujitsu software packages (e.g. mpiQulacs)

Document Server

simulator-docs

Server that contains updated information and API manuals

HTTP Proxy Server

simulator-proxy

Proxy server used to access Internet from the compute node

Specifications for each server/node

Server name

Item

Login Server

OS

Rocky Linux 8.6

CPU

Intel(R) Xeon(R) Gold 6348 (2.6GHz) x 1core

Memory

32GB

Compute Node

OS

Rocky Linux 8.5

CPU

Fujitsu A64FX (2.0GHz) x 48cores

Memory

32GB

Shared Directory

File System

GlusterFS

Storage Capacity

3TB/group

Note

Use the jump server only as a relay to access the login server. Do not create or execute programs on the jump server.

Note

The initial storage capacity of the shared directory is 3 TB, but if you still run out of space after deleting unnecessary files, contact your Fujitsu representative.

1.2. Job Scheduler

The job scheduler is a system that divides multiple shared computer resources so that multiple users can execute jobs and manages them so that each user can occupy the compute node for a certain period of time. A job is a set of shell processing units that, when a command or script is submitted as a job, is executed when the requested resources are ready.
This system uses Slurm Workload Manger (Slurm) as the job scheduler.

The following figure shows the flow from the login server to the calculation node via the job scheduler Slurm, and the connection to the shared directory.
../_images/overview_en.png
① Log into the login server (loginvm- < three digits above group ID >)
② Run the Slurm command on the login server
③ Job scheduler schedules jobs based on the command and number of nodes required
④ Job scheduler submits jobs to compute nodes
⑤ Job runs on compute nodes

Note

The home directory of each user’s login server mounts the shared directory. The same directory is mounted on all compute nodes.

The following is an image of ③ job scheduler scheduling.
../_images/scheduler_en.png
The job scheduler uses queues to manage jobs submitted by users.

Interactive queue is a queue for logging in to compute nodes and executing commands interactively. It is mainly used to create an MPI execution environment on compute nodes, compile scripts, and check the normal operation before batch execution. It is assumed to allocate one or two nodes at a time in the Interactive queue.
Batch queue is a queue for submitting scripts from the login server to the compute nodes.

We will inform you separately about the total number of nodes available for Interactive and Batch queues.

Note

The number of nodes used and the maximum number of qubits are as follows, and quantum circuits up to 39 qubits can be executed when 512 nodes are used.

Number of nodes used

512

256

128

64

32

16

8

4

2

1

Maximum qubit number

39

38

37

36

35

34

33

32

31

30