Project Proposal: Trinity

Karthik Ganesan karthik.ganesan at
Mon Nov 14 16:23:05 UTC 2016


I would like to propose the creation of a new Project: Project Trinity.

This Project would explore enhanced execution of bulk aggregate 
calculations over Streams through offloading calculations to hardware 

Streams allow developers to express calculations such that data 
parallelism can be efficiently exploited. Such calculations are prime 
candidates for leveraging enhanced data-oriented instructions on CPUs 
(such as SIMD instructions) or offloading to hardware accelerators (such 
as the SPARC Data Accelerator co-processor, further referred to as DAX [1]).

To identify a path to improving performance and power efficiency, 
Project Trinity will explore how libraries like Streams can be enhanced 
to leverage data processing hardware features to execute Streams more 

Directions for exploration include:
- Building a streams-like library optimized for offload to
-- hardware accelerators (such as DAX), or
-- a GPU, or
-- SIMD instructions;
- Optimizations in the Graal compiler to automatically transform 
suitable Streams pipelines, taking advantage of data processing hardware 
- Explorations with Project Valhalla to expand the range of effective 
acceleration to Streams of value types.

Success will be evaluated based upon:
(1) speedups and resource efficiency gains achieved for a broad range of 
representative streams calculations under offload,
(2) ease of use of the hardware acceleration capability, and
(3) ensuring that there is no time or space overhead for non-accelerated 

Can I please request the support of the Core Libraries Group as the 
Sponsoring Group with myself as the Project Lead.

Warm Regards,
Karthik Ganesan


More information about the discuss mailing list