The STE||AR Group
The STE||AR Group - Shaping a Scalable Future
The STE||AR group (which stands for Systems Technologies, Emergent Parallelism, and Algorithms Research) is a group of students, researchers, and faculty members focusing on developing tools supporting future execution models for tomorrow's computer architectures. Many of those ideas are applicable to solving some of today's problems we face when writing parallel applications for modern multi-core machines. For this reason we center our effort around HPX (High Performance ParalleX), a general purpose C++ runtime system for parallel and distributed applications of any scale, which implements many of those ideas.
The goal for HPX is to create a high quality, freely available, open source implementation of the ParalleX model for conventional systems, such as classic Linux based Beowulf clusters or multi-socket highly parallel SMP nodes. At the same time, we want to have a very modular and well designed runtime system architecture which would allow us to port our implementation onto new computer system architectures. We use real world applications to drive the development of the runtime system, coining out required functionalities and converging onto an stable API which will provide a smooth migration path for developers. The API exposed by HPX is modeled after the interfaces defined by the C++ ISO standard and adheres to the programming guidelines used by the Boost collection of C++ libraries.
HPX has an active development team that has increased non-stop since 2007 (ref: http://www.openhub.net/p/stellar-hpx) thanks to a modular design that enables features to be added easily.
The STE||AR Group 2016 Projects
HPX DebuggerDebugging distributed HPX applications with regular tools is a tedious task and not always helpful. A distributed debugger that understands...
Implement a Map/Reduce FrameworkMap/Reduce frameworks are getting more and more popular for big data processing (for example Hadoop). By utilising the unified and standards...
Plugin Mechanism for thread schedulers in HPXThread Scheduling in HPX HPX currently supports seven types of schedulers: Priority Local Scheduling Static Priority Scheduling Local Scheduling...
Working on parallel algorithms for hpx::vectorExtend existing parallel algorithms of hpx::vector to work for the distributed case. See issue #1338. At the end of GSoC at least two simple...