-
Notifications
You must be signed in to change notification settings - Fork 5
BigPicture
The AllScale (http://www.allscale.eu) environment aims at facilitating the development of parallel application codes for very large distributed memory systems without application developers having to concern themselves with details of the underlying runtime systems and hardware.
The following figure shows a topological overview of the components of AllScale:
The AllScale environment combines two essential aspects in developing large scale parallel applications. First, it aims at maximizing the developer's productivity during application development, requiring a development setup with a small footprint and few dependencies. Second, it needs to offer scalable performance and resilience for large distributed memory systems, requiring additional tools such as a resilience manager.
In order to meet both requirements, the AllScale environment provides two toolchains, one for each use case:
- The Standard toolchain supports the development of applications using the AllScale API on shared memory systems with a minimal footprint, only requiring a C++14-compliant compiler and standard library.
- The AllScale toolchain supports the deployment of applications using the AllScale API on large distributed memory systems, featuring resilience, multi-objective optimization and developer feedback.
| Standard Toolchain | AllScale Toolchain | |
|---|---|---|
| Supports parallel operator primitives and data structures | ✓ | ✓ |
| Requires C++14-compliant compiler | ✓ | ✓ |
| Supports shared memory parallelism | ✓ | ✓ |
| Supports short development cycles | ✓ | |
| Supports standard development and debugging tools | ✓ | |
| Requires third party libraries | ✓ | |
| Supports distributed memory parallelism | ✓ | |
| Supports resilience features | ✓ | |
| Supports OpenCL devices | ✓ | |
| Supports multi-objective optimization | ✓ | |
| Supports online monitoring | ✓ |
Part of the AllScale project - http://www.allscale.eu