Skip to content

ITMO-PTDC-Team/nasl-tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nasl-tools

This project is the public part of the results of my research work dedicated to the development and evaluation of synchronization primitives for lightweight threads.

Project Structure

The project is organized as follows:

  • locks/: Contains header-only implementations of all our mutexes, along with useful utilities for their usage and integration into your projects.
  • benchmarks/: Includes three benchmark modules for each of the integrated lightweight threading libraries.
  • scripts/: Holds various scripts used for running test scenarios. These are not particularly elegant, but functional.
  • conda/: Provides two setup scripts and an environment configuration file, allowing most dependencies to be installed using miniconda.

How to Run

On first use, you need to install miniconda by running the script: scripts/activate-conda.sh. Then, create the required conda environments using: scripts/create-conda-envs.sh.

After setting up the environment, you can run one of the short helper scripts to execute benchmarks for a specific lightweight threading library:

  • Argobots: abt_run.sh
  • Boost Fibers: fibers_run.sh
  • Userver userver_run.sh

If you're lucky, running just one script after environment setup will be enough. Otherwise, you may need to spend some time resolving dependency-related issues.

To understand which mutexes and test scenarios are being executed, refer to the configuration file for the specific library. It is typically located at: benchmarks/<lib_name>/resource/config/config.json

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors