Skip to content

A no-dependency fully functional prototype of a AllScale runtime system.

Notifications You must be signed in to change notification settings

allscale/allscale_runtime_prototype

Repository files navigation

allscale_runtime_prototype

A prototype implementation of the AllScale runtime system providing a foundation for the development of the data item manager, data migration, inter node load balancing and resilience.

Installation

This project is a development project, results will be integrated in the actual AllScale runtime system. Thus, no installation supported.

Dependencies

See scripts/dependencies/README.md for more details. Otherwise do

$ scripts/dependencies/installer boost

Configuration

Following options can be supplied to CMake

Option Values
-DCMAKE_BUILD_TYPE Release / Debug
-DBUILD_SHARED_LIBS ON / OFF
-DBUILD_TESTS ON / OFF
-DBUILD_DOCS ON / OFF
-DBUILD_COVERAGE ON / OFF
-DUSE_ASSERT ON / OFF
-DUSE_VALGRIND ON / OFF
-DTHIRD_PARTY_DIR <path>

The files cmake/build_settings.cmake and code/CMakeLists.txt state their default value.

Building / Testing

$ mkdir build
$ cd build
$ ../scripts/dependencies/third_party_linker
$ cmake ../code
$ make -j8
$ ctest -j8

Development

Adding new Modules

The setup script can be run again to add new modules, just provide the same project name.

$ scripts/setup/run allscale_runtime_prototype frontend backend utils

Adding new Parts to Modules

There is a utility script to add new parts to an existing module. The project name and module name must be provided followed by a list of parts to generate. Folders will be created along the way.

$ scripts/setup/add_part allscale_runtime_prototype frontend sema extensions/malloc_extension

This will add the files sema.h, sema.cpp and sema_test.cc to the frontend module. Furthermore new subfolders extensions will be created containing malloc_extension.h, malloc_extension.cpp and malloc_extension_test.cc in their respective subdirectories.

Executable Bit

When working on Windows via SMB share, consider setting following Git setting.

$ git config core.filemode false

Licensor

A script, together with a Git hook, is provided to automatically add a license header to each source file upon commit. See scripts/license.

Visual Studio Solution

$ cmake -G "Visual Studio 15 2017 Win64" -DBUILD_SHARED_LIBS=OFF Z:\path\to\project

Add path for third-party libraries when needed.

Coverage

Building the coverage us currently only supported on Linux, as Perl and Bash are required. To build and view the coverage set the corresponding CMake flag to ON and run:

$ make
$ make coverage
$ xdg-open coverage/index.html

About

A no-dependency fully functional prototype of a AllScale runtime system.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages