Reusable software components for accelerator-based clusters

1234567891011121314151617181920
Across
  1. 3. It is a software development methodology in which features are first-class citizens in the software architecture.
  2. 5. Implemented a prototype of our design as lightweight libraries for each of the platforms.
  3. 8. This component prefetches the user specified input data and stores it in the framework according to the application requirement.
  4. 9. In this set of experiments, we focus on the performance of the mixin-layers based code generated for our studied ABC configurations.
  5. 10. Describe our prototype implementation, followed by the description of our experimentation testbed and the benchmarks that we have used to evaluate our designed components for reusability and performance, and then give the results.
  6. 12. In this section, we present an illustrative example of a real cluster to describe how different components of our design operate and interact with each other.
  7. 13. It is a component schedules the data read from the Input Reader for execution on the attached computational accelerator of the node.
  8. 16. Component encapsulates the methods required to communicate between different heterogeneous resources of the cluster.
  9. 17. Explore how the functionality can be effectively broken into reusable components, so that the required custom functionality can be clearly identified.
  10. 18. This component provides an interface to execute the device specific offload routines, such as application specific data processing and merging functions.
  11. 19. Exposes the interfaces to the programmer for including application-specific mechanisms for merging partial results from individual compute nodes into a combined result set, and the global merging criteria for producing the final results at the manager node.
  12. 20. Have shown how the functionality of ABC can be decomposed into distinct software components.
Down
  1. 1. A major challenge in designing a component-based system is to decide what functionality should be included into which software components.
  2. 2. accelerators, It is a common practice in large-scale systems, to leverage off-the-shelf hardware components for obtaining cheap and energy-efficient computational power.
  3. 4. Promotes reuse and increases separation of concerns, both of which improve programmer productivity.
  4. 6. It is a component manages a compute node.
  5. 7. It is at the compute node, prefetches blocks of data from the manager, and passes it to the Accelerator Scheduler component.
  6. 11. It is the process of designing and building an executable computer program to accomplish a specific computing result or to perform a specific task.
  7. 14. Receives the results from the Accelerator Scheduler, and sends them to the manager.
  8. 15. We conducted the experiments using our prototype implementation that uses the mixin-layers for building high-performance ABCs.