embb | Embedded Multicore Building Blocks : Library
kandi X-RAY | embb Summary
kandi X-RAY | embb Summary
embb is a C++ library. embb has no bugs, it has no vulnerabilities and it has low support. However embb has a Non-SPDX License. You can download it from GitHub.
The Embedded Multicore Building Blocks (EMB²) are an easy to use yet powerful and efficient C/C++ library for the development of parallel applications. EMB² has been specifically designed for embedded systems and the typical requirements that accompany them, such as real-time capability and constraints on memory consumption. As a major advantage, low-level operations are hidden in the library which relieves software developers from the burden of thread management and synchronization. This not only improves productivity of parallel software development, but also results in increased reliability and performance of the applications. EMB² is independent of the hardware architecture (x86, ARM, …) and runs on various platforms, from small devices to large systems containing numerous processor cores. It builds on MTAPI, a standardized programming interface for leveraging task parallelism in embedded systems containing symmetric or asymmetric (heterogeneous) multicore processors. A core feature of MTAPI is low-overhead scheduling of fine-grained tasks among the available cores during runtime. Unlike existing libraries, EMB² supports task priorities and affinities, which allows the creation of soft real-time systems. Additionally, the scheduling strategy can be optimized for non-functional requirements such as minimal latency and fairness. Besides the task scheduler, EMB² provides basic parallel algorithms, concurrent data structures, and skeletons for implementing stream processing applications (see figure below). These building blocks are largely implemented in a non-blocking fashion, thus preventing frequently encountered pitfalls like lock contention, deadlocks, and priority inversion. As another advantage in real-time systems, the algorithms and data structures give certain progress guarantees. For example, wait-free data structures guarantee system-wide progress which means that every operation completes within a finite number of steps independently of any other concurrent operations on the same data structure. .
The Embedded Multicore Building Blocks (EMB²) are an easy to use yet powerful and efficient C/C++ library for the development of parallel applications. EMB² has been specifically designed for embedded systems and the typical requirements that accompany them, such as real-time capability and constraints on memory consumption. As a major advantage, low-level operations are hidden in the library which relieves software developers from the burden of thread management and synchronization. This not only improves productivity of parallel software development, but also results in increased reliability and performance of the applications. EMB² is independent of the hardware architecture (x86, ARM, …) and runs on various platforms, from small devices to large systems containing numerous processor cores. It builds on MTAPI, a standardized programming interface for leveraging task parallelism in embedded systems containing symmetric or asymmetric (heterogeneous) multicore processors. A core feature of MTAPI is low-overhead scheduling of fine-grained tasks among the available cores during runtime. Unlike existing libraries, EMB² supports task priorities and affinities, which allows the creation of soft real-time systems. Additionally, the scheduling strategy can be optimized for non-functional requirements such as minimal latency and fairness. Besides the task scheduler, EMB² provides basic parallel algorithms, concurrent data structures, and skeletons for implementing stream processing applications (see figure below). These building blocks are largely implemented in a non-blocking fashion, thus preventing frequently encountered pitfalls like lock contention, deadlocks, and priority inversion. As another advantage in real-time systems, the algorithms and data structures give certain progress guarantees. For example, wait-free data structures guarantee system-wide progress which means that every operation completes within a finite number of steps independently of any other concurrent operations on the same data structure. .
Support
Quality
Security
License
Reuse
Support
embb has a low active ecosystem.
It has 156 star(s) with 36 fork(s). There are 26 watchers for this library.
It had no major release in the last 12 months.
There are 7 open issues and 58 have been closed. On average issues are closed in 25 days. There are 1 open pull requests and 0 closed requests.
It has a neutral sentiment in the developer community.
The latest version of embb is v1.0.0
Quality
embb has no bugs reported.
Security
embb has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
License
embb has a Non-SPDX License.
Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.
Reuse
embb releases are available to install and integrate.
Installation instructions, examples and code snippets are available.
Top functions reviewed by kandi - BETA
kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of embb
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of embb
embb Key Features
No Key Features are available at this moment for embb.
embb Examples and Code Snippets
No Code Snippets are available at this moment for embb.
Community Discussions
No Community Discussions are available at this moment for embb.Refer to stack overflow page for discussions.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install embb
To generate and invoke the platform-specific build files, open a shell and change to the project’s root directory. Create a subdirectory, where you want to build the library, e.g., "build", and change to that subdirectory. In the following, it is assumed that the project’s root directory is the parent directory. Now you can generate the build files using CMake:.
To generate and invoke the platform-specific build files, open a Developer Command Prompt for Visual Studio and change to the project’s root directory. Create a subdirectory, where you want to build the library, e.g., "build", and change to that subdirectory. In the following, it is assumed that the project’s root directory is the parent directory. Now you can generate the build files using CMake (a list of supported CMake generators can be displayed by typing cmake --help). For example:.
EMB² provides several options which allow you to configure it to your needs. This section explains these options and describes the build process in more detail.
To generate and invoke the platform-specific build files, open a Developer Command Prompt for Visual Studio and change to the project’s root directory. Create a subdirectory, where you want to build the library, e.g., "build", and change to that subdirectory. In the following, it is assumed that the project’s root directory is the parent directory. Now you can generate the build files using CMake (a list of supported CMake generators can be displayed by typing cmake --help). For example:.
EMB² provides several options which allow you to configure it to your needs. This section explains these options and describes the build process in more detail.
Support
Repository: - https://github.com/siemens/embb.git (HTTP) - git@github.com:siemens/embb.git (SSH). Mailing list: - embb-announcements@googlegroups.com (low volume, release announcements, news, etc.)<br/> Join: https://groups.google.com/forum/#!forum/embb-announcements/join. Community (help, bug reports, etc.): - https://github.com/siemens/embb/issues (for help, create an issue labeled with 'question').
Find more information at:
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page