Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Security, Trust, and Privacy in HPC: A Systematic Mapping Study of Threats, Key Technologies, and Challenges

Alessandro Cilardo, Bruno Casella, Lorenzo Brescia, Eliana Pastor and Iacopo Colonnelli

Overview

This repository contains all the artifacts mentioned in the paper:

  • Code to fetch papers: main.py
  • Intermediate data: Extracted papers and execution logs (output/)
  • Data visualization: Exploratory Data Analysis scripts (eda/)
  • Final corpus: The final selection of 90 papers (eda/final_papers.csv)
  • Complete protocol followed during the Systematic Mapping Study (SMS) is available in this Google Sheet. The spreadsheet includes a dedicated tab for each phase of the SMS, mapping the entire process from the initial pilot study used to define the search keywords to the final paper classification based on our proposed taxonomy.

Abstract

High-performance computing (HPC) is increasingly integrated with cloud infrastructures, AI factories, and federated learning environments, challenging the traditional assumption of fully trusted facilities. To investigate how trust is established and minimized in these settings, we conduct a Systematic Mapping Study (SMS) of 90 primary works on security and privacy in HPC and related large-scale systems. Using a reproducible methodology, we analyze threat models, enabling technologies, TCB reduction strategies, evaluation practices, and research trends. Results show a strong focus on confidentiality, integrity, and Trusted Execution Environments, while highlighting limited large-scale validation. We identify key research gaps and outline directions for designing trustworthy HPC systems.

Usage

Instruction for installing

python -m venv .fetching
source .fetching/bin/activate
pip install -r requirements.txt

Instruction for using

To collect papers from Scopus, you first need to obtain a Scopus API key. Once you have it, prepend SCOPUS_API_KEY="your_key" to each of the commands below.

Every command must be executed using the following syntax:

python main.py COMMAND

search command

For building the papers.csv containing all paper returned by the query use:

python main.py search

Sometime, the search fails for internal Scopus errors (500 like). To overcome this problem you can resume the search from a custom number (that is suggested in the error). For instance you can see error like that:

[!] Scopus API error 503: {"error-response":{"error-code":"Service Unavailable","error-message":"One of our services it is not currently available"}}
[i] Start again the script setting start to 500 to resume from the last successful fetch.

And you can resume with

python main.py search 500

refs command

It is possible to create a CSV file for each paper in previous search: papers.csv. The following command will create a folder containing as many CSV as papers in papers.csv, each containing the references.

You can use:

python main.py refs

Or as before, for starting by specific index:

python main.py refs 500

dedup command

This command read all CSVs of refs produced by refs command and create a single CSV avoiding duplications. The resulting CSV will be papers_snowball_interm.csv

python main.py dedup

populate command

Now we have a list with all the referenced paper by the papers returned by our query.

For each of these papers, we need to retrieve full information (title, abstract and keywords) in order to make locally a new query. With Scopus it is not possible to search just in a group of documents.

The populate command will create papers_snowball.csv. Again we can specify an argument to start from that index in case we reach the weekly quota or we get Scopus server error:

python main.py populate START_INDEX

query command

Finally, it is possible to perform a new query specifying new terms for ADD_G1, ADD_G2, ADD_G3 and ADD_G4.

The new query is performed without scopus APIs. It is performed locally on the papers_snowball.csv file. In this way, we can experiment terms without incurring quotas.

Run the query like this, will produce new_papers.csv

python main.py query

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages